/* /Components/Common/AppActionPill.razor.rz.scp.css */
/* Porta de AppActionPill.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: app-action-pill */
.app-action-pill[b-1e5kz6j1y7] {
  display: inline-flex;
  align-items: center;
  background: white;
  border: 1px solid #F1ECE5;
  border-radius: 100px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(139, 98, 56, 0.04);
  transition: all 0.2s ease;
  padding: 0;
  vertical-align: middle;
}

.app-action-pill:hover[b-1e5kz6j1y7] {
  box-shadow: 0 2px 6px rgba(139, 98, 56, 0.08);
  transform: translateY(-0.5px);
}

[b-1e5kz6j1y7] .app-action-pill__btn {
  border: none;
  background: transparent;
  margin: 0;
  padding: 0;
  height: 22px;
  width: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  cursor: pointer;
  outline: none;
}

[b-1e5kz6j1y7] .app-action-pill__btn .el-icon {
  font-size: 11px;
}

[b-1e5kz6j1y7] .app-action-pill__btn--edit {
  background: white;
  color: #8B6238;
}

[b-1e5kz6j1y7] .app-action-pill__btn--edit:hover {
  background: #FAF8F6;
  color: #6F4E2C;
}

[b-1e5kz6j1y7] .app-action-pill__btn--groups {
  background: #409EFF;
  color: white;
}

[b-1e5kz6j1y7] .app-action-pill__btn--groups:hover {
  background: #66b1ff;
}

[b-1e5kz6j1y7] .app-action-pill__btn--print {
  background: #67C23A;
  color: white;
}

[b-1e5kz6j1y7] .app-action-pill__btn--print:hover {
  background: #85ce61;
}

[b-1e5kz6j1y7] .app-action-pill__btn--delete {
  background: #FF7676;
  color: white;
}

[b-1e5kz6j1y7] .app-action-pill__btn--delete:hover {
  background: #FF5A5A;
}

[b-1e5kz6j1y7] .app-action-pill__btn .el-icon svg {
  margin: auto;
}
/* /Components/Common/AppPagination.razor.rz.scp.css */
/* Porta de AppPagination.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: app-pagination */
.app-pagination[b-e9ogvx8ech] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 14px 0 4px;
  flex-wrap: wrap;
}

[b-e9ogvx8ech] .app-pagination__center, [b-e9ogvx8ech] .app-pagination__goto {
  display: flex;
  align-items: center;
  gap: 12px;
}

[b-e9ogvx8ech] .app-pagination__center {
  justify-content: center;
  flex: 1;
  flex-wrap: wrap;
}

[b-e9ogvx8ech] .app-pagination__total, [b-e9ogvx8ech] .app-pagination__goto {
  color: #6b7280;
  font-size: 14px;
}

[b-e9ogvx8ech] .app-pagination__pages {
  display: flex;
  align-items: center;
  gap: 6px;
}

[b-e9ogvx8ech] .app-pagination__page, [b-e9ogvx8ech] .app-pagination__arrow {
  border: 1px solid #e5ddd3;
  background: #fff;
  color: #5d4037;
  min-width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  cursor: pointer;
  transition: all 0.2s ease;
}

[b-e9ogvx8ech] .app-pagination__page:hover:not(:disabled), [b-e9ogvx8ech] .app-pagination__arrow:hover:not(:disabled) {
  border-color: #d1a561;
  color: #7b552e;
}

[b-e9ogvx8ech] .app-pagination__page--active {
  background: #d1a561;
  border-color: #d1a561;
  color: #fff;
}

[b-e9ogvx8ech] .app-pagination__page:disabled, [b-e9ogvx8ech] .app-pagination__arrow:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.app-pagination__goto[b-e9ogvx8ech] {
  white-space: nowrap;
}

.app-pagination__goto[b-e9ogvx8ech]  .el-input-number,
.app-pagination__goto[b-e9ogvx8ech]  .sf-field-host {
  width: 64px !important;
}

@media (max-width: 900px) {
    .app-pagination[b-e9ogvx8ech] {
        justify-content: center;
      }
}
/* /Components/Common/AppSearchInput.razor.rz.scp.css */
/* Porta de AppSearchInput.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: app-search-input */
.app-search-input[b-68nwhw1ffv] {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
}

[b-68nwhw1ffv] .app-search-input__icon {
  color: #a0aec0;
  flex-shrink: 0;
}

[b-68nwhw1ffv] .app-search-input__field {
  flex: 1;
  min-width: 0;
}
/* /Components/Common/AuditHistoryDialog.razor.rz.scp.css */
/* Porta de AuditHistoryDialog.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: audit-history */
.audit-history[b-b9jwroog71] {
  min-height: 220px;
}

[b-b9jwroog71] .audit-history__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  color: #64748b;
  font-size: 13px;
  font-weight: 800;
}

[b-b9jwroog71] .audit-history__empty {
  min-height: 180px;
  display: grid;
  place-items: center;
  color: #64748b;
  font-size: 14px;
  font-weight: 800;
}

[b-b9jwroog71] .audit-history__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-height: 520px;
  overflow: auto;
}

[b-b9jwroog71] .audit-history__item {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  padding: 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
}

[b-b9jwroog71] .audit-history__icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #eef2f7;
  color: #475569;
}

[b-b9jwroog71] .audit-history__content {
  min-width: 0;
}

[b-b9jwroog71] .audit-history__topline {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: baseline;
  color: #111827;
  font-size: 13px;
}

[b-b9jwroog71] .audit-history__topline strong {
  font-weight: 900;
}

[b-b9jwroog71] .audit-history__topline span {
  font-weight: 750;
}

[b-b9jwroog71] .audit-history__topline time {
  margin-left: auto;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}

[b-b9jwroog71] .audit-history__fields {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

[b-b9jwroog71] .audit-history__changes {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 10px;
}

[b-b9jwroog71] .audit-history__change {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr) 18px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding: 7px 8px;
  border-radius: 6px;
  background: #f8fafc;
  color: #475569;
  font-size: 12px;
}

[b-b9jwroog71] .audit-history__change strong, [b-b9jwroog71] .audit-history__change span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[b-b9jwroog71] .audit-history__change strong {
  color: #111827;
}

[b-b9jwroog71] .audit-history__arrow {
  text-align: center;
  color: #94a3b8;
}
/* /Components/Dashboard/Charts/DashBarList.razor.rz.scp.css */
/* Porta de DashBarList.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: bar-list, is-compact */
.bar-list[b-b5s2vzxpsn] {
  position: relative;
  display: flex;
  flex-direction: column;
  
  justify-content: center;
  justify-content: safe center;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

[b-b5s2vzxpsn] .bar-list__items {
  display: grid;
  align-content: start;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bar-list.is-compact[b-b5s2vzxpsn]  .bar-list__items {
  gap: 6px;
}

[b-b5s2vzxpsn] .bar-list__head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

.bar-list.is-compact[b-b5s2vzxpsn]  .bar-list__head {
  margin-bottom: 2px;
}

[b-b5s2vzxpsn] .bar-list__label {
  flex: 1;
  min-width: 0;
  font-size: 0.75rem;
  font-weight: 600;
  color: #334155;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[b-b5s2vzxpsn] .bar-list__value {
  font-size: 0.75rem;
  font-weight: 800;
  color: #0f172a;
  white-space: nowrap;
}

[b-b5s2vzxpsn] .bar-list__badge {
  padding: 1px 6px;
  border-radius: 999px;
  font-size: 0.625rem;
  font-weight: 800;
  white-space: nowrap;
}

[b-b5s2vzxpsn] .bar-list__badge.is-neutral {
  background: #f1f5f9;
  color: #64748b;
}

[b-b5s2vzxpsn] .bar-list__badge.is-warning {
  background: #fef3c7;
  color: #b45309;
}

[b-b5s2vzxpsn] .bar-list__badge.is-danger {
  background: #fee2e2;
  color: #b91c1c;
}

[b-b5s2vzxpsn] .bar-list__badge.is-success {
  background: #d1fae5;
  color: #047857;
}

[b-b5s2vzxpsn] .bar-list__track {
  height: 6px;
  border-radius: 999px;
  background: #f1f5f9;
  overflow: hidden;
}

.bar-list.is-compact[b-b5s2vzxpsn]  .bar-list__track {
  height: 4px;
}

[b-b5s2vzxpsn] .bar-list__fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  transition: width 0.35s ease;
}

[b-b5s2vzxpsn] .bar-list__hint {
  display: block;
  margin-top: 3px;
  font-size: 0.625rem;
  color: #94a3b8;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[b-b5s2vzxpsn] .bar-list__more {
  margin: 4px 0 0;
  font-size: 0.625rem;
  font-weight: 700;
  color: #94a3b8;
}
/* /Components/Dashboard/Charts/DashDonutChart.razor.rz.scp.css */
/* Porta de DashDonutChart.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: donut-chart */
.donut-chart[b-lt1qw1vfnq] {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

[b-lt1qw1vfnq] .donut-chart__graphic {
  position: relative;
  flex-shrink: 0;
}

[b-lt1qw1vfnq] .donut-chart__graphic svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

[b-lt1qw1vfnq] .donut-chart__track, [b-lt1qw1vfnq] .donut-chart__segment {
  fill: none;
  stroke-width: 15;
}

[b-lt1qw1vfnq] .donut-chart__track {
  stroke: #f1f5f9;
}

[b-lt1qw1vfnq] .donut-chart__segment {
  stroke-linecap: butt;
}

[b-lt1qw1vfnq] .donut-chart__center {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  text-align: center;
}

[b-lt1qw1vfnq] .donut-chart__center strong {
  font-weight: 800;
  line-height: 1;
  color: #0f172a;
}

[b-lt1qw1vfnq] .donut-chart__center small {
  font-size: 0.625rem;
  font-weight: 700;
  color: #94a3b8;
}

[b-lt1qw1vfnq] .donut-chart__legend {
  display: grid;
  align-content: center;
  gap: 5px;
  flex: 1;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-y: auto;
}

[b-lt1qw1vfnq] .donut-chart__legend li {
  display: grid;
  grid-template-columns: 8px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 8px;
}

[b-lt1qw1vfnq] .donut-chart__dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
}

[b-lt1qw1vfnq] .donut-chart__label {
  font-size: 0.6875rem;
  font-weight: 600;
  color: #64748b;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[b-lt1qw1vfnq] .donut-chart__legend strong {
  font-size: 0.75rem;
  font-weight: 800;
  color: #0f172a;
}

[b-lt1qw1vfnq] .donut-chart__legend small {
  font-size: 0.625rem;
  font-weight: 600;
  color: #94a3b8;
  min-width: 26px;
  text-align: right;
}

@container (max-width: 260px) {
    [b-lt1qw1vfnq] .donut-chart__legend li {
        grid-template-columns: 8px minmax(0, 1fr) auto;
      }

    [b-lt1qw1vfnq] .donut-chart__legend small {
        display: none;
      }
}
/* /Components/Dashboard/Charts/DashTrendChart.razor.rz.scp.css */
/* Porta de DashTrendChart.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: trend */
.trend[b-w2auescz36] {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
}

[b-w2auescz36] .trend__plot {
  position: relative;
  flex: 1;
  
  min-height: 130px;
}

[b-w2auescz36] .trend__svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

[b-w2auescz36] .trend__grid {
  stroke: #eef2f7;
  stroke-width: 1;
}

[b-w2auescz36] .trend__line {
  fill: none;
  stroke-width: 2;
  stroke-linejoin: round;
  stroke-linecap: round;
}

[b-w2auescz36] .trend__dot {
  fill: #fff;
  stroke-width: 1.8;
}

[b-w2auescz36] .trend__labels {
  display: flex;
  justify-content: space-between;
  gap: 4px;
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
  font-size: 0.625rem;
  font-weight: 600;
  color: #94a3b8;
  text-transform: capitalize;
}

[b-w2auescz36] .trend__labels li {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* /Components/Dashboard/DashboardCard.razor.rz.scp.css */
/* Porta de DashboardCard.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: dashboard-card, is-tight */
.dashboard-card[b-6qy417dk10] {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  container-type: inline-size;
  padding: 10px 12px 12px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 1px 2px rgb(15 23 42 / 0.04);
}

[b-6qy417dk10] .dashboard-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

[b-6qy417dk10] .dashboard-card__title {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

[b-6qy417dk10] .dashboard-card__title h2 {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #0f172a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[b-6qy417dk10] .dashboard-card__icon {
  font-size: 15px;
  color: #3b82f6;
  flex-shrink: 0;
}

[b-6qy417dk10] .dashboard-card__filters {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  cursor: default;
}

[b-6qy417dk10] .dashboard-card__meta {
  margin-top: 6px;
}

[b-6qy417dk10] .dashboard-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  margin-top: 8px;
}

.dashboard-card.is-tight[b-6qy417dk10] {
  padding: 8px 10px 10px;
}

.dashboard-card.is-tight[b-6qy417dk10]  .dashboard-card__body {
  margin-top: 5px;
}

[b-6qy417dk10] .dashboard-card__empty {
  margin: auto;
  padding: 12px 8px;
  text-align: center;
  font-size: 0.75rem;
  color: #94a3b8;
}
/* /Components/Dashboard/DashboardWidgetFrame.razor.rz.scp.css */
/* Porta de DashboardWidgetFrame.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: widget-frame, mode-free, mode-grid, is-active, is-sorting */
.widget-frame[b-cpknmwokmp] {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  cursor: grab;
}

.widget-frame.mode-free[b-cpknmwokmp] {
  position: absolute;
}

.widget-frame.is-sorting[b-cpknmwokmp] {
  opacity: 0.28;
  pointer-events: none;
}

.widget-frame.is-active[b-cpknmwokmp] {
  cursor: grabbing;
  z-index: 80 !important;
}

[b-cpknmwokmp] .widget-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
}

.widget-body[b-cpknmwokmp] >  * {
  flex: 1;
  min-width: 0;
  min-height: 0;
}

.mode-free[b-cpknmwokmp]  .widget-body {
  overflow: hidden;
}

.mode-free .widget-body[b-cpknmwokmp] >  * {
  height: 100%;
  overflow: hidden;
}

[b-cpknmwokmp] .resize-handle {
  position: absolute;
  z-index: 2;
  opacity: 0;
  background: #93c5fd;
  border: 1px solid #3b82f6;
  border-radius: 2px;
  transition: opacity 0.15s ease;
}

.widget-frame:hover[b-cpknmwokmp]  .resize-handle, .widget-frame.is-active[b-cpknmwokmp]  .resize-handle {
  opacity: 1;
}

[b-cpknmwokmp] .handle-n, [b-cpknmwokmp] .handle-s {
  left: 18px;
  right: 18px;
  height: 6px;
}

[b-cpknmwokmp] .handle-e, [b-cpknmwokmp] .handle-w {
  top: 18px;
  bottom: 18px;
  width: 6px;
}

[b-cpknmwokmp] .handle-n {
  top: -3px;
  cursor: ns-resize;
}

[b-cpknmwokmp] .handle-s {
  bottom: -3px;
  cursor: ns-resize;
}

[b-cpknmwokmp] .handle-e {
  right: -3px;
  cursor: ew-resize;
}

[b-cpknmwokmp] .handle-w {
  left: -3px;
  cursor: ew-resize;
}

[b-cpknmwokmp] .handle-ne, [b-cpknmwokmp] .handle-nw, [b-cpknmwokmp] .handle-se, [b-cpknmwokmp] .handle-sw {
  width: 12px;
  height: 12px;
  border-radius: 3px;
}

[b-cpknmwokmp] .handle-ne {
  top: -5px;
  right: -5px;
  cursor: nesw-resize;
}

[b-cpknmwokmp] .handle-nw {
  top: -5px;
  left: -5px;
  cursor: nwse-resize;
}

[b-cpknmwokmp] .handle-se {
  bottom: -5px;
  right: -5px;
  cursor: nwse-resize;
}

[b-cpknmwokmp] .handle-sw {
  bottom: -5px;
  left: -5px;
  cursor: nesw-resize;
}

@media (max-width: 1200px) {
    .widget-frame.mode-grid[b-cpknmwokmp] {
        grid-column: span 6 !important;
      }
}

@media (max-width: 720px) {
    .widget-frame[b-cpknmwokmp], .widget-frame.mode-grid[b-cpknmwokmp], .widget-frame.mode-free[b-cpknmwokmp] {
        position: relative;
        left: auto !important;
        top: auto !important;
        width: 100% !important;
        height: auto !important;
        grid-column: 1 / -1 !important;
        cursor: default;
      }

    [b-cpknmwokmp] .resize-handle {
        display: none;
      }

    .mode-free .widget-body[b-cpknmwokmp] >  * {
        height: auto;
        overflow: visible;
      }
}
/* /Components/Documents/DeliveryNoteZplPrintModal.razor.rz.scp.css */
/* Porta de DeliveryNoteZplPrintModal.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: delivery-note-print__header, delivery-note-print__body, delivery-note-print__footer, delivery-note-print__option-detail */
.delivery-note-print__header[b-ttmro3j84t] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding-right: 28px;
}

[b-ttmro3j84t] .delivery-note-print__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--el-text-color-primary);
  line-height: 1.3;
}

[b-ttmro3j84t] .delivery-note-print__hint {
  margin: 6px 0 0;
  color: var(--el-text-color-secondary);
  font-size: 13px;
  line-height: 1.5;
  max-width: 620px;
}

.delivery-note-print__body[b-ttmro3j84t] {
  min-height: 620px;
}

[b-ttmro3j84t] .delivery-note-print__grid {
  display: grid;
  grid-template-columns: minmax(360px, 0.9fr) minmax(480px, 1.2fr);
  gap: 24px;
  align-items: stretch;
}

[b-ttmro3j84t] .delivery-note-print__panel {
  border: 1px solid var(--el-border-color-lighter);
  border-radius: 14px;
  background: var(--el-fill-color-blank);
  padding: 16px;
}

[b-ttmro3j84t] .delivery-note-print__panel-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  font-size: 14px;
  font-weight: 600;
  color: var(--el-text-color-primary);
}

[b-ttmro3j84t] .delivery-note-print__panel-title > .el-icon {
  margin-right: 6px;
}

[b-ttmro3j84t] .delivery-note-print__layout-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

[b-ttmro3j84t] .delivery-note-print__layout-card {
  border: 1px solid var(--el-border-color-lighter);
  border-radius: 12px;
  padding: 12px 14px;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

[b-ttmro3j84t] .delivery-note-print__layout-card:hover {
  border-color: var(--el-color-primary-light-5);
}

[b-ttmro3j84t] .delivery-note-print__layout-card--active {
  border-color: var(--el-color-primary);
  box-shadow: 0 0 0 1px rgba(64, 158, 255, 0.15);
}

[b-ttmro3j84t] .delivery-note-print__layout-card--selected {
  background: linear-gradient(180deg, #fff 0%, #fafcff 100%);
}

[b-ttmro3j84t] .delivery-note-print__layout-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

[b-ttmro3j84t] .delivery-note-print__layout-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 120px;
  gap: 12px;
  margin-top: 12px;
}

[b-ttmro3j84t] .delivery-note-print__field label {
  display: block;
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--el-text-color-secondary);
}

.delivery-note-print__field--qty[b-ttmro3j84t]  .el-input-number {
  width: 100%;
}

[b-ttmro3j84t] .delivery-note-print__field--product {
  grid-column: 1 / -1;
}

.delivery-note-print__option-detail[b-ttmro3j84t] {
  float: right;
  color: var(--el-text-color-secondary);
  font-size: 12px;
}

[b-ttmro3j84t] .delivery-note-print__preview-meta {
  min-width: 0;
}

[b-ttmro3j84t] .delivery-note-print__preview-heading {
  display: flex;
  align-items: center;
  gap: 8px;
}

[b-ttmro3j84t] .delivery-note-print__preview-printer {
  margin: 4px 0 0;
  font-size: 12px;
  color: var(--el-text-color-secondary);
}

[b-ttmro3j84t] .delivery-note-print__preview-frame {
  min-height: 680px;
  height: min(78vh, 820px);
  border-radius: 12px;
  border: 1px dashed var(--el-border-color);
  background: linear-gradient(180deg, #faf7f2 0%, #f3eee6 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

[b-ttmro3j84t] .delivery-note-print__preview-image {
  width: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(52, 33, 21, 0.08);
}

[b-ttmro3j84t] .delivery-note-print__preview-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  color: var(--el-text-color-secondary);
  font-size: 13px;
}

.delivery-note-print__footer[b-ttmro3j84t] {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

[b-ttmro3j84t] .full-width {
  width: 100%;
}

/* Como no Vue, estas duas regras não chegam a aplicar-se: o scope id do componente não passa do ElTeleport que é a raiz do
   el-dialog, e aqui nenhum antepassado do .el-dialog tem o atributo de isolamento. */
[b-ttmro3j84t] .delivery-note-print-dialog .el-dialog__header {
  margin-right: 0;
  padding-bottom: 8px;
}

[b-ttmro3j84t] .delivery-note-print-dialog .el-dialog__body {
  padding-top: 8px;
}

@media (max-width: 1100px) {
    [b-ttmro3j84t] .delivery-note-print__grid {
        grid-template-columns: 1fr;
      }

    [b-ttmro3j84t] .delivery-note-print__preview-frame {
        min-height: 480px;
        height: min(60vh, 640px);
      }

    [b-ttmro3j84t] .delivery-note-print__layout-fields {
        grid-template-columns: 1fr;
      }
}
/* /Components/Documents/GenerateFromDocumentModal.razor.rz.scp.css */
/* Porta de GenerateFromDocumentModal.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: generate-grid */
/* Os :deep(.el-dialog) / :deep(.el-dialog__body) do Vue não chegam a aplicar-se (o scope id do componente não passa do
   ElTeleport que é a raiz do el-dialog); aqui também não, porque nenhum antepassado do .el-dialog tem o atributo. */
[b-wmqvoznbfa] .el-dialog {
  max-height: 92vh;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}

[b-wmqvoznbfa] .el-dialog__body {
  overflow: auto;
  padding-top: 12px;
}

.generate-grid[b-wmqvoznbfa] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

[b-wmqvoznbfa] .generate-panel h4 {
  margin: 0 0 8px;
}

@media (max-width: 1100px) {
    .generate-grid[b-wmqvoznbfa] {
        grid-template-columns: 1fr;
      }
}

[b-wmqvoznbfa] .empty-selection-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f8fafc;
  border-radius: 8px;
  border: 2px dashed #e2e8f0;
}

[b-wmqvoznbfa] .animate-fade-in {
  animation: fadeIn-b-wmqvoznbfa 0.3s ease-out;
}

@keyframes fadeIn-b-wmqvoznbfa {
  from { opacity: 0; transform: translateX(10px); }
  to { opacity: 1; transform: translateX(0); }
}
/* /Components/Kpi/ContextKPIPanel.razor.rz.scp.css */
/* Porta de ContextKPIPanel.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: kpi-analysis-panel */
.kpi-analysis-panel[b-5mzoy6a5r2] {
  background: white;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  margin-bottom: 24px;
  border: 1px solid #ebeef5;
  overflow: hidden;
}

[b-5mzoy6a5r2] .kpi-analysis-header {
  padding: 10px 16px;
  border-bottom: 1px solid #ebeef5;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fafafa;
}

[b-5mzoy6a5r2] .kpi-analysis-header h3 {
  margin: 0;
  font-size: 14px;
  color: #303133;
}

[b-5mzoy6a5r2] .kpi-analysis-content {
  display: flex;
  height: 360px;
}

[b-5mzoy6a5r2] .kpi-sidebar {
  width: 220px;
  border-right: 1px solid #ebeef5;
  background: #fff;
  display: flex;
  flex-direction: column;
}

[b-5mzoy6a5r2] .kpi-scroll {
  flex: 1;
}

[b-5mzoy6a5r2] .kpi-list-container {
  padding: 12px;
}

[b-5mzoy6a5r2] .kpi-item {
  display: flex;
  align-items: center;
  padding: 8px 10px;
  margin-bottom: 4px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
  color: #606266;
  border: 1px solid transparent;
}

[b-5mzoy6a5r2] .kpi-item:hover {
  background: #f5f7fa;
}

[b-5mzoy6a5r2] .kpi-item.active {
  background: #ecf5ff;
  color: #409eff;
  border-color: #c6e2ff;
  font-weight: 500;
}

[b-5mzoy6a5r2] .kpi-item .el-icon {
  margin-right: 10px;
  font-size: 16px;
}

[b-5mzoy6a5r2] .kpi-name {
  font-size: 13px;
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[b-5mzoy6a5r2] .kpi-main {
  flex: 1;
  background: #fafafa;
  overflow-y: auto;
  position: relative;
}

[b-5mzoy6a5r2] .kpi-empty-state {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  color: #909399;
}

[b-5mzoy6a5r2] .kpi-empty-state p {
  margin-top: 16px;
  font-size: 14px;
}

[b-5mzoy6a5r2] .kpi-execution-panel {
  padding: 14px;
}

[b-5mzoy6a5r2] .slide-down-enter-active, [b-5mzoy6a5r2] .slide-down-leave-active {
  transition: all 0.3s ease-in-out;
}

[b-5mzoy6a5r2] .slide-down-enter-from, [b-5mzoy6a5r2] .slide-down-leave-to {
  opacity: 0;
  transform: translateY(-20px);
}
/* /Components/Kpi/EntityKPITab.razor.rz.scp.css */
/* Porta de EntityKPITab.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: entity-kpi-container */
.entity-kpi-container[b-yy1nn7a2m0] {
  margin-top: 10px;
}

[b-yy1nn7a2m0] .card-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
}

[b-yy1nn7a2m0] .kpi-item {
  padding: 10px 15px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 4px;
  transition: background 0.2s;
}

[b-yy1nn7a2m0] .kpi-item:hover {
  background-color: #f5f7fa;
}

[b-yy1nn7a2m0] .kpi-item.active {
  background-color: #ecf5ff;
  color: #409eff;
  font-weight: 600;
}

[b-yy1nn7a2m0] .empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 400px;
  color: #909399;
}

[b-yy1nn7a2m0] .kpi-info-header {
  margin-bottom: 20px;
}

[b-yy1nn7a2m0] .kpi-info-header h3 {
  margin: 0 0 8px 0;
}

[b-yy1nn7a2m0] .kpi-info-header p {
  color: #606266;
  font-size: 14px;
  margin: 0;
}

[b-yy1nn7a2m0] .form-actions, [b-yy1nn7a2m0] .no-params-actions {
  margin-top: 20px;
  display: flex;
  justify-content: flex-end;
}

[b-yy1nn7a2m0] .results-card {
  margin-top: 20px;
}

[b-yy1nn7a2m0] .results-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
/* /Components/Kpi/GenericKPIExecutionCard.razor.rz.scp.css */
/* Porta de GenericKPIExecutionCard.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: kpi-execution-card */
[b-9s7qms3j95] .kpi-info-header {
  margin-bottom: 20px;
}

[b-9s7qms3j95] .kpi-info-header h3 {
  margin: 0 0 8px 0;
}

[b-9s7qms3j95] .kpi-info-header p {
  color: #606266;
  font-size: 14px;
  margin: 0;
}

[b-9s7qms3j95] .form-actions, [b-9s7qms3j95] .no-params-actions {
  margin-top: 20px;
  display: flex;
  justify-content: flex-end;
}

[b-9s7qms3j95] .results-card {
  margin-top: 20px;
}

[b-9s7qms3j95] .results-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

[b-9s7qms3j95] .card-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
}
/* /Components/Kpi/KPIScheduleModal.razor.rz.scp.css */
/* Porta de KPIScheduleModal.vue (<style scoped>) — mesmo critério de scripts/vue-style-to-isolated.py com as raízes nativas do markup
   dentro do el-dialog (form-section, dialog-footer); o SCSS aninhado está achatado. Isolado (não em views.css) porque as classes são
   genéricas: .form-section, .field-hint, .dialog-footer e .user-name existem noutras vistas. .recipient-card está num ElCard (raiz de
   um componente filho) e leva ::deep a partir das raízes. */
.form-section[b-sexyou3uli] {
  margin-bottom: 20px;
  padding: 15px;
  background: #fcfcfd;
  border-radius: 8px;
  border: 1px solid #f0f2f5;
}

[b-sexyou3uli] .section-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  font-weight: 600;
  color: #409eff;
}

[b-sexyou3uli] .field-hint { font-size: 12px; color: #909399; margin-top: 4px; }

[b-sexyou3uli] .recipients-list { max-height: 250px; overflow-y: auto; }

[b-sexyou3uli] .recipient-card {
  margin-bottom: 8px;
  border-radius: 8px;
}

[b-sexyou3uli] .recipient-card .el-card__body { padding: 8px 12px; }

[b-sexyou3uli] .recipient-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

[b-sexyou3uli] .user-info {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
}

[b-sexyou3uli] .user-details { display: flex; flex-direction: column; }
[b-sexyou3uli] .user-name { font-weight: 600; font-size: 13px; color: #303133; }
[b-sexyou3uli] .user-email { font-size: 11px; color: #909399; }

[b-sexyou3uli] .user-scheduling { display: flex; align-items: center; gap: 8px; }

.dialog-footer[b-sexyou3uli] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

[b-sexyou3uli] .schedule-summary {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #606266;
}

[b-sexyou3uli] .footer-actions { display: flex; gap: 10px; }

/* <transition-group name="list">: sem equivalente no Blazor (as classes nunca são aplicadas) */
[b-sexyou3uli] .list-enter-active, [b-sexyou3uli] .list-leave-active { transition: all 0.3s ease; }
[b-sexyou3uli] .list-enter-from { opacity: 0; transform: translateX(-20px); }
[b-sexyou3uli] .list-leave-to { opacity: 0; transform: translateX(20px); }
/* /Components/Manufacturing/ManufacturingStructureEditor.razor.rz.scp.css */
/* Porta de ManufacturingStructureEditor.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: process-setup */
.process-setup[b-7k5tzro67j] {
  display: flex;
  min-height: 420px;
  height: auto;
  max-height: none;
  background: #fcfbf9;
  border-radius: 12px;
  overflow: hidden;
  border: none;
}

[b-7k5tzro67j] .process-sidebar {
  width: 200px;
  min-width: 200px;
  max-width: 200px;
  background: white;
  border-right: 1px solid rgba(104, 76, 53, 0.1);
  display: flex;
  flex-direction: column;
  transition: width 0.2s ease, min-width 0.2s ease, max-width 0.2s ease;
}

[b-7k5tzro67j] .process-sidebar--collapsed {
  width: 52px;
  min-width: 52px;
  max-width: 52px;
}

[b-7k5tzro67j] .sidebar-header {
  padding: 10px 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 4px;
  border-bottom: 1px solid rgba(104, 76, 53, 0.05);
}

[b-7k5tzro67j] .process-sidebar--collapsed .sidebar-header {
  flex-direction: column;
  padding: 8px 4px;
}

[b-7k5tzro67j] .sidebar-header-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

[b-7k5tzro67j] .process-sidebar--collapsed .sidebar-header-actions {
  flex-direction: column;
}

[b-7k5tzro67j] .sidebar-toggle-btn {
  flex-shrink: 0;
}

[b-7k5tzro67j] .sidebar-title {
  font-size: 0.9rem;
  font-weight: 600;
  color: #42260e;
  margin: 0;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[b-7k5tzro67j] .process-list {
  flex: 1;
  overflow-y: auto;
  padding: 6px;
}

[b-7k5tzro67j] .add-proc-btn-collapsed {
  display: block;
  margin: 4px auto 0;
}

[b-7k5tzro67j] .process-card-item {
  padding: 8px;
  border-radius: 10px;
  background: white;
  margin-bottom: 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid transparent;
  transition: all 0.2s ease;
  position: relative;
}

[b-7k5tzro67j] .process-card-item--collapsed {
  justify-content: center;
  padding: 6px;
  margin-bottom: 4px;
}

[b-7k5tzro67j] .process-card-item--collapsed .proc-icon {
  width: 28px;
  height: 28px;
}

[b-7k5tzro67j] .process-card-item:hover {
  background: #fdfaf7;
  border-color: rgba(230, 178, 91, 0.2);
}

[b-7k5tzro67j] .process-card-item--active {
  background: #fdfaf7 !important;
  border-color: #e6b25b !important;
  box-shadow: 0 4px 12px rgba(230, 178, 91, 0.1);
}

[b-7k5tzro67j] .proc-icon {
  width: 30px;
  height: 30px;
  background: #f5f0eb;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #a67c52;
}

[b-7k5tzro67j] .proc-name {
  font-weight: 600;
  font-size: 0.8rem;
  color: #2d3748;
  margin: 0;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[b-7k5tzro67j] .proc-summary {
  min-width: 0;
  flex: 1;
}

[b-7k5tzro67j] .process-sidebar--collapsed .proc-summary--hidden {
  display: none;
}

[b-7k5tzro67j] .process-config {
  flex: 1;
  display: flex;
  flex-direction: column;
  background: white;
  min-width: 0;
  min-height: 0;
  height: auto;
}

[b-7k5tzro67j] .config-header {
  padding: 8px 14px;
  border-bottom: 1px solid rgba(104, 76, 53, 0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  gap: 8px;
  flex-shrink: 0;
}

[b-7k5tzro67j] .config-title-group {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
}

[b-7k5tzro67j] .config-process-name {
  flex: 1;
  min-width: 140px;
  max-width: 360px;
}

[b-7k5tzro67j] .config-eyebrow {
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #e6b25b;
  font-weight: 700;
  white-space: nowrap;
}

[b-7k5tzro67j] .config-scroll-area {
  flex: 1;
  min-height: 0;
  overflow: hidden;
  padding: 4px 12px 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

[b-7k5tzro67j] .config-grid-section {
  background: #fcfbf9;
  border-radius: 10px;
  padding: 8px 10px 2px;
  flex-shrink: 0;
}

[b-7k5tzro67j] .grid-section-title {
  font-size: 0.72rem;
  font-weight: 700;
  color: #42260e;
  margin: 0 0 6px 0;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

[b-7k5tzro67j] .general-form-item {
  margin-bottom: 8px;
}

[b-7k5tzro67j] .general-form-item--compact .el-form-item__label {
  font-size: 0.66rem;
  font-weight: 700;
  color: #718096;
  line-height: 1.1;
  margin-bottom: 2px !important;
  padding: 0 !important;
}

[b-7k5tzro67j] .general-form-item--compact .el-form-item__content {
  line-height: 1;
}

[b-7k5tzro67j] .general-form-item .el-input-number {
  width: 100%;
}

@media (max-width: 1200px) {
    [b-7k5tzro67j] .general-form-item {
        margin-bottom: 8px;
      }
}

[b-7k5tzro67j] .spec-tabs {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

[b-7k5tzro67j] .spec-tabs .el-tabs__header {
  margin: 0;
  flex-shrink: 0;
}

[b-7k5tzro67j] .spec-tabs .el-tabs__nav-wrap {
  padding: 0 2px;
}

[b-7k5tzro67j] .spec-tabs .el-tabs__content {
  flex: 1;
  min-height: 0;
  padding-top: 6px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

[b-7k5tzro67j] .spec-tabs .el-tab-pane {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

[b-7k5tzro67j] .spec-tab-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

[b-7k5tzro67j] .spec-tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: #edf2f7;
  color: #4a5568;
  font-size: 0.68rem;
  font-weight: 700;
}

[b-7k5tzro67j] .spec-tab-panel {
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: 0;
  min-width: 0;
  border: 1px solid rgba(104, 76, 53, 0.1);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}

[b-7k5tzro67j] .spec-tab-toolbar {
  display: flex;
  justify-content: flex-end;
  padding: 2px 8px;
  border-bottom: 1px solid rgba(104, 76, 53, 0.08);
  background: #fcfbf9;
  flex-shrink: 0;
}

.spec-tab-panel[b-7k5tzro67j]  .line-items-table-host {
  flex: none;
  min-height: 0;
  min-width: 0;
}

@media (max-width: 1100px) {
    .process-setup[b-7k5tzro67j] {
        flex-direction: column;
        height: auto;
        min-height: 520px;
      }

    [b-7k5tzro67j] .process-sidebar, [b-7k5tzro67j] .process-sidebar--collapsed {
        width: 100%;
        min-width: 0;
        max-width: none;
        max-height: 140px;
        border-right: none;
        border-bottom: 1px solid rgba(104, 76, 53, 0.1);
      }

    [b-7k5tzro67j] .process-sidebar--collapsed .sidebar-header {
        flex-direction: row;
      }

    [b-7k5tzro67j] .process-list {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 6px;
        padding-bottom: 4px;
      }

    [b-7k5tzro67j] .process-card-item, [b-7k5tzro67j] .process-card-item--collapsed {
        min-width: 140px;
        margin-bottom: 0;
        flex-shrink: 0;
        justify-content: flex-start;
        padding: 8px;
      }

    [b-7k5tzro67j] .process-sidebar--collapsed .proc-summary--hidden {
        display: block;
      }
}

[b-7k5tzro67j] .select-process-placeholder {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* /Components/Manufacturing/ProcessLineItemsTable.razor.rz.scp.css */
/* Porta de ProcessLineItemsTable.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: line-items-table-host */
.line-items-table-host[b-i3ed2u5nxr] {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 160px;
  min-width: 0;
}

[b-i3ed2u5nxr] .line-items-table-wrap {
  flex: 1;
  min-height: 0;
  width: 100%;
  overflow-x: auto;
  overflow-y: auto;
}

[b-i3ed2u5nxr] .line-items-table {
  width: 100%;
  min-width: 760px;
}

[b-i3ed2u5nxr] .line-items-table .el-table__header-wrapper, [b-i3ed2u5nxr] .line-items-table .el-table__body-wrapper {
  overflow: visible !important;
}

/* Só o scrollbar da tabela — NÃO o do el-select (senão overflow:visible parte o scroll do dropdown).
   No Vue o select é teleportado para o body, por isso a regra larga :deep(.el-scrollbar__wrap) não o atingia. */
[b-i3ed2u5nxr] .line-items-table .el-table__header-wrapper .el-scrollbar__wrap,
[b-i3ed2u5nxr] .line-items-table .el-table__body-wrapper .el-scrollbar__wrap {
  overflow: visible !important;
}

[b-i3ed2u5nxr] .line-items-table .el-table__header th {
  background: #f8fafc;
  color: #64748b;
  font-size: 0.68rem;
  font-weight: 600;
  padding: 4px 6px;
}

[b-i3ed2u5nxr] .line-items-table .el-table__header th .cell {
  white-space: nowrap;
  line-height: 1.2;
  word-break: keep-all;
}

[b-i3ed2u5nxr] .col-header-nowrap {
  white-space: nowrap;
}

[b-i3ed2u5nxr] .line-items-table .el-table__cell {
  padding: 1px 4px;
  vertical-align: middle;
}

[b-i3ed2u5nxr] .line-items-table .el-table__row {
  height: 30px;
}

[b-i3ed2u5nxr] .line-items-table .el-input-number, [b-i3ed2u5nxr] .line-items-table .el-select, [b-i3ed2u5nxr] .line-items-table .el-input {
  width: 100%;
}

[b-i3ed2u5nxr] .line-items-table .el-input-number .el-input__inner {
  text-align: center;
}

[b-i3ed2u5nxr] .line-items-table-pager {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 4px 6px 0;
  border-top: 1px solid #edf2f7;
  flex-shrink: 0;
}

[b-i3ed2u5nxr] .line-items-table-pager__info {
  font-size: 0.72rem;
  color: #718096;
}

@media (max-width: 900px) {
    [b-i3ed2u5nxr] .line-items-table .col-alt {
        display: none;
      }
}
/* /Components/Manufacturing/TechnicalSheetComparator.razor.rz.scp.css */
/* Porta de TechnicalSheetComparator.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: dialog-custom-header, comparator-layout, comparator-footer */
/* Omitidas de propósito as três regras ".premium-comparator-dialog :deep(.el-dialog / .el-dialog__header / .el-dialog__body)"
   do Vue (border-radius 24px + sombra; padding 0 no cabeçalho; padding 0 + fundo #fffaf7 no corpo): lá nunca apanham nada,
   porque a classe vai para o próprio .el-dialog (via $attrs do el-dialog-content) e o scope id do componente não passa do
   ElTeleport que é a raiz do el-dialog, logo ".premium-comparator-dialog[data-v] .el-dialog__body" nunca casa. Reproduzi-las
   com "::deep .premium-comparator-dialog ..." (o --fix do razor-css-scope-check) aplicaria estilos que o Vue nunca aplicou. */
.dialog-custom-header[b-4m3vb699ec] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 32px;
  background: white;
  border-bottom: 1px solid rgba(52, 33, 21, 0.06);
}

[b-4m3vb699ec] .title-area {
  display: flex;
  align-items: center;
  gap: 16px;
}

[b-4m3vb699ec] .title-icon {
  font-size: 26px;
  color: #bd8e51;
  background: #fff9f0;
  padding: 10px;
  border-radius: 12px;
  box-shadow: inset 0 0 0 1px rgba(189, 142, 81, 0.1);
}

[b-4m3vb699ec] .title-text h3 {
  margin: 0;
  font-size: 1.25rem;
  color: #342115;
  font-weight: 800;
  letter-spacing: -0.02em;
}

[b-4m3vb699ec] .title-text p {
  margin: 4px 0 0;
  font-size: 0.85rem;
  color: #8b7a67;
}

[b-4m3vb699ec] .header-source-summary {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 16px;
  background: #fdfaf7;
  border-radius: 100px;
  border: 1px solid rgba(189, 142, 81, 0.15);
}

[b-4m3vb699ec] .header-source-summary .label {
  font-size: 10px;
  font-weight: 800;
  color: #bd8e51;
  letter-spacing: 0.05em;
}

[b-4m3vb699ec] .header-source-summary .version-badge {
  font-weight: 800;
  color: #342115;
}

.comparator-layout[b-4m3vb699ec] {
  display: flex;
  height: 78vh;
}

[b-4m3vb699ec] .comparator-sidebar {
  width: 300px;
  background: white;
  border-right: 1px solid rgba(52, 33, 21, 0.08);
  display: flex;
  flex-direction: column;
}

[b-4m3vb699ec] .sidebar-header {
  padding: 24px;
  font-weight: 800;
  font-size: 0.9rem;
  color: #342115;
  border-bottom: 1px solid rgba(52, 33, 21, 0.04);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

[b-4m3vb699ec] .version-list-container {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
}

[b-4m3vb699ec] .version-drag-card {
  padding: 16px;
  background: #fdfdfc;
  border: 1px solid #f0ede8;
  border-radius: 16px;
  margin-bottom: 12px;
  cursor: grab;
  transition: all 0.2s ease;
}

[b-4m3vb699ec] .version-drag-card:hover {
  border-color: #bd8e51;
  background: white;
  box-shadow: 0 4px 12px rgba(52, 33, 21, 0.05);
  transform: translateY(-1px);
}

[b-4m3vb699ec] .version-drag-card.is-active {
  opacity: 0.5;
  border-style: dashed;
  pointer-events: none;
}

[b-4m3vb699ec] .card-v-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

[b-4m3vb699ec] .v-pill {
  font-size: 11px;
  font-weight: 800;
  background: #342115;
  color: white;
  padding: 2px 8px;
  border-radius: 6px;
}

[b-4m3vb699ec] .v-date {
  font-size: 11px;
  color: #8b7a67;
}

[b-4m3vb699ec] .v-name {
  font-size: 0.9rem;
  font-weight: 600;
  color: #342115;
  margin-bottom: 12px;
}

[b-4m3vb699ec] .drag-handle-hint {
  font-size: 10px;
  font-weight: 700;
  color: #bd8e51;
  display: flex;
  align-items: center;
  gap: 6px;
  opacity: 0.6;
}

[b-4m3vb699ec] .comparator-main {
  flex: 1;
  background: #fdfaf7;
  position: relative;
  transition: background 0.3s ease;
}

[b-4m3vb699ec] .comparator-main.is-dragging-over {
  background: #fff3e6;
  outline: 3px dashed #bd8e51;
  outline-offset: -12px;
}

[b-4m3vb699ec] .empty-drop-zone {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 40px;
}

[b-4m3vb699ec] .drop-illustration {
  position: relative;
  margin-bottom: 24px;
}

[b-4m3vb699ec] .main-icon {
  font-size: 56px;
  color: #bd8e51;
  opacity: 0.2;
}

[b-4m3vb699ec] .animated-arrows {
  position: absolute;
  top: 50%;
  right: -40px;
  transform: translateY(-50%);
  font-size: 24px;
  color: #bd8e51;
  animation: slideRight-b-4m3vb699ec 1.5s infinite;
}

@keyframes slideRight-b-4m3vb699ec {
  0% { transform: translate(-10px, -50%); opacity: 0; }
  50% { opacity: 1; }
  100% { transform: translate(10px, -50%); opacity: 0; }
}

[b-4m3vb699ec] .empty-drop-zone h3 {
  font-size: 1.4rem;
  color: #342115;
  margin-bottom: 12px;
}

[b-4m3vb699ec] .empty-drop-zone p {
  color: #8b7a67;
  max-width: 400px;
  line-height: 1.6;
}

[b-4m3vb699ec] .comparison-viewport {
  height: 100%;
  display: flex;
  flex-direction: column;
}

[b-4m3vb699ec] .comparison-header-row {
  display: flex;
  background: white;
  border-bottom: 1px solid rgba(52, 33, 21, 0.1);
  box-shadow: 0 4px 6px -4px rgba(52, 33, 21, 0.05);
  z-index: 5;
}

[b-4m3vb699ec] .comparator-sidebar.is-dragging-over-sidebar {
  background: #fffcfc;
  border-right-color: #feb2b2;
}

[b-4m3vb699ec] .sidebar-drop-hint {
  margin-top: 32px;
  padding: 24px 16px;
  border: 2px dashed rgba(189, 142, 81, 0.15);
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  color: #bd8e51;
  text-align: center;
  background: rgba(189, 142, 81, 0.02);
  transition: all 0.2s ease;
}

[b-4m3vb699ec] .sidebar-drop-hint .el-icon {
  font-size: 24px;
  transform: rotate(180deg);
  opacity: 0.5;
}

[b-4m3vb699ec] .sidebar-drop-hint span {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.4;
}

[b-4m3vb699ec] .is-dragging-over-sidebar .sidebar-drop-hint {
  border-color: #f56c6c;
  color: #f56c6c;
  background: #fff5f5;
  transform: scale(1.02);
}

[b-4m3vb699ec] .is-dragging-over-sidebar .sidebar-drop-hint .el-icon {
  opacity: 1;
  animation: bounceLeft-b-4m3vb699ec 1s infinite;
}

@keyframes bounceLeft-b-4m3vb699ec {
  0%, 100% { transform: rotate(180deg) translateX(0); }
  50% { transform: rotate(180deg) translateX(5px); }
}

[b-4m3vb699ec] .prop-col {
  width: 240px;
  padding: 20px 24px;
  border-right: 1px solid rgba(52, 33, 21, 0.04);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

[b-4m3vb699ec] .prop-col > div {
  display: flex;
  align-items: center;
  gap: 12px;
}

[b-4m3vb699ec] .prop-col .el-icon {
  font-size: 16px;
  color: #bd8e51;
  opacity: 0.7;
}

[b-4m3vb699ec] .prop-col span {
  font-size: 10px;
  font-weight: 800;
  color: #8b7a67;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

[b-4m3vb699ec] .invert-btn {
  color: #bd8e51;
  background: #fdfaf7;
  border: 1px solid rgba(189, 142, 81, 0.2);
}

[b-4m3vb699ec] .invert-btn:hover {
  background: #342115;
  color: white;
  border-color: #342115;
}

[b-4m3vb699ec] .value-col {
  flex: 1;
  padding: 20px 24px;
  min-width: 0;
  cursor: grab;
  transition: background 0.2s ease;
}

[b-4m3vb699ec] .value-col:active {
  cursor: grabbing;
}

[b-4m3vb699ec] .value-col:hover {
  background: rgba(189, 142, 81, 0.02);
}

[b-4m3vb699ec] .inline-val {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

[b-4m3vb699ec] .diff-hint {
  font-size: 10px;
  font-weight: 700;
  color: #bd8e51;
  opacity: 0.8;
  display: block;
}

[b-4m3vb699ec] .removed-item {
  text-decoration: line-through;
  opacity: 0.5;
  color: #c53030;
}

[b-4m3vb699ec] .col-head {
  display: flex;
  flex-direction: column;
  gap: 4px;
  position: relative;
}

[b-4m3vb699ec] .col-head .tag {
  font-size: 9px;
  font-weight: 900;
  color: #bd8e51;
  letter-spacing: 0.1em;
}

[b-4m3vb699ec] .col-head strong {
  font-size: 1.25rem;
  color: #342115;
  font-weight: 800;
}

[b-4m3vb699ec] .col-head .date {
  font-size: 11px;
  color: #8b7a67;
}

[b-4m3vb699ec] .comparison-scroll-area {
  flex: 1;
  overflow-y: auto;
  padding: 32px;
}

[b-4m3vb699ec] .process-comparison-block {
  background: white;
  border-radius: 20px;
  border: 1px solid rgba(52, 33, 21, 0.06);
  margin-bottom: 24px;
  overflow: hidden;
  box-shadow: 0 10px 30px -10px rgba(52, 33, 21, 0.05);
}

[b-4m3vb699ec] .block-header {
  background: #fdfaf7;
  padding: 14px 24px;
  font-size: 0.75rem;
  font-weight: 900;
  color: #bd8e51;
  border-bottom: 1px solid rgba(189, 142, 81, 0.08);
}

[b-4m3vb699ec] .compare-row, [b-4m3vb699ec] .compare-list-row {
  display: flex;
  border-bottom: 1px solid transparent;
  transition: background 0.2s ease;
}

[b-4m3vb699ec] .compare-row:hover, [b-4m3vb699ec] .compare-list-row:hover {
  background: #fdfdfc;
}

[b-4m3vb699ec] .compare-row .value-col {
  display: flex;
  align-items: center;
  font-size: 0.9rem;
  color: #342115;
  font-weight: 500;
}

[b-4m3vb699ec] .compare-row .value-col.target.is-different-text {
  color: #bd8e51;
  font-weight: 800;
  background: #fffdfa;
}

[b-4m3vb699ec] .compare-list-row .value-col {
  padding: 14px 24px;
}

[b-4m3vb699ec] .mini-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

[b-4m3vb699ec] .mini-list li {
  font-size: 13px;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #342115;
}

[b-4m3vb699ec] .mini-list li.empty { color: #8b7a67; font-style: italic; opacity: 0.5; }

[b-4m3vb699ec] .status-tag {
  font-size: 8px;
  font-weight: 900;
  padding: 1px 6px;
  border-radius: 4px;
  text-transform: uppercase;
  background: #f0fff4;
  color: #2f855a;
  letter-spacing: 0.02em;
}

[b-4m3vb699ec] .comparison-summary-panel {
  padding: 20px 32px;
  background: white;
  border-top: 1px solid rgba(52, 33, 21, 0.06);
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-height: 80px;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

[b-4m3vb699ec] .comparison-summary-panel.is-expanded {
  max-height: 500px;
}

[b-4m3vb699ec] .summary-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}

[b-4m3vb699ec] .summary-label {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #bd8e51;
  font-weight: 900;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
}

[b-4m3vb699ec] .summary-count {
  font-weight: 600;
  color: #8b7a67;
  opacity: 0.6;
}

[b-4m3vb699ec] .summary-content {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  padding: 8px 0 16px;
  border-top: 1px solid rgba(189, 142, 81, 0.08);
}

[b-4m3vb699ec] .summary-version-block {
  min-width: 300px;
  max-width: 300px;
  background: #fdfaf7;
  border: 1px solid rgba(189, 142, 81, 0.1);
  border-radius: 16px;
  padding: 16px;
  flex-shrink: 0;
}

[b-4m3vb699ec] .v-block-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

[b-4m3vb699ec] .v-tag {
  font-weight: 900;
  font-size: 1rem;
  color: #342115;
}

[b-4m3vb699ec] .v-badges {
  display: flex;
  gap: 6px;
}

[b-4m3vb699ec] .s-badge {
  font-size: 8px;
  font-weight: 900;
  padding: 2px 8px;
  border-radius: 6px;
  text-transform: uppercase;
}

[b-4m3vb699ec] .s-badge.add { background: #f0fff4; color: #2f855a; }

[b-4m3vb699ec] .s-badge.rem { background: #fff5f5; color: #c53030; }

[b-4m3vb699ec] .s-badge.mod { background: #fffaf0; color: #bd8e51; }

[b-4m3vb699ec] .v-details-list {
  list-style: none;
  padding: 0;
  margin: 0;
  max-height: 180px;
  overflow-y: auto;
}

[b-4m3vb699ec] .v-details-list li {
  font-size: 11px;
  color: #4a3728;
  margin-bottom: 6px;
  padding-left: 12px;
  position: relative;
  line-height: 1.4;
}

[b-4m3vb699ec] .v-details-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 6px;
  width: 3px;
  height: 3px;
  background: #bd8e51;
  border-radius: 50%;
}

[b-4m3vb699ec] .no-details {
  font-size: 11px;
  color: #8b7a67;
  font-style: italic;
}

.comparator-footer[b-4m3vb699ec] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 32px;
  background: #fdfdfd;
  border-top: 1px solid rgba(52, 33, 21, 0.08);
}

[b-4m3vb699ec] .legend { display: flex; gap: 24px; }

[b-4m3vb699ec] .legend-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
  color: #342115;
}

[b-4m3vb699ec] .dot { width: 8px; height: 8px; border-radius: 50%; }

[b-4m3vb699ec] .legend-item.mod .dot { background: #bd8e51; }

[b-4m3vb699ec] .legend-item.add .dot { background: #48bb78; }

[b-4m3vb699ec] .btn-close {
  border-radius: 12px;
  font-weight: 700;
  padding: 10px 24px;
}
/* /Components/Products/ProductFoodInformationForm.razor.rz.scp.css */
/* Porta de ProductFoodInformationForm.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: food-information-form */
[b-0pxug9de0d] .food-information-form__alert {
  margin-bottom: 20px;
}

[b-0pxug9de0d] .food-information-form__section h3 {
  margin: 0 0 18px;
  color: var(--espresso, #3f2c22);
  font-size: 16px;
}

[b-0pxug9de0d] .food-information-form__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
}

[b-0pxug9de0d] .food-information-form__heading h3 {
  margin: 0;
}

[b-0pxug9de0d] .food-information-form__unit {
  margin-left: 8px;
  color: #8b7568;
  font-size: 12px;
}
/* /Components/Quality/QualityQuestionnaireInline.razor.rz.scp.css */
/* Porta de QualityQuestionnaireInline.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: quality-inline-card */
/* Ajuste ao gerado: .choice-group está no <ElRadioGroup>/<ElCheckboxGroup> (raiz sem atributo de scope no Blazor), por isso
   ".choice-group ::deep .x" passou a "::deep .choice-group .x" (= ".choice-group[data-v] .x" do Vue). */
.quality-inline-card[b-tu31qzfxc0] {
  background: #fff;
  border-radius: 16px;
  border: 1px solid #e2e8f0;
  overflow: hidden;
  box-shadow: 0 12px 28px -8px rgba(15, 23, 42, 0.08), 0 4px 10px -4px rgba(15, 23, 42, 0.04);
  margin-top: 20px;
}

[b-tu31qzfxc0] .quality-premium-header {
  padding: 20px 22px 18px;
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  border-bottom: 1px solid #e2e8f0;
}

[b-tu31qzfxc0] .premium-header-content {
  display: flex;
  gap: 16px;
  margin-bottom: 20px;
}

[b-tu31qzfxc0] .quality-icon-badge {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  flex-shrink: 0;
  box-shadow: 0 8px 16px -4px rgba(0, 0, 0, 0.15);
}

[b-tu31qzfxc0] .quality-icon-badge.before {
  background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);
  color: white;
}

[b-tu31qzfxc0] .quality-icon-badge.after {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: white;
}

[b-tu31qzfxc0] .premium-header-text {
  flex: 1;
}

[b-tu31qzfxc0] .premium-title {
  margin: 0 0 2px;
  font-size: 1.1rem;
  font-weight: 800;
  color: #1e293b;
}

[b-tu31qzfxc0] .premium-subtitle {
  margin: 0 0 10px;
  font-size: 0.9rem;
  color: #64748b;
  line-height: 1.5;
  font-weight: 500;
}

[b-tu31qzfxc0] .timing-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 14px;
  border-radius: 8px;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  height: 28px;
  box-sizing: border-box;
}

[b-tu31qzfxc0] .timing-badge.before {
  background: #e0e7ff;
  color: #4338ca;
}

[b-tu31qzfxc0] .timing-badge.after {
  background: #d1fae5;
  color: #065f46;
}

[b-tu31qzfxc0] .badges-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  flex-wrap: wrap;
}

[b-tu31qzfxc0] .source-info-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 14px;
  border-radius: 8px;
  font-size: 0.75rem;
  font-weight: 800;
  background: #fff;
  color: #64748b;
  border: 1px solid #e2e8f0;
  box-shadow: 0 2px 4px rgba(0,0,0,0.02);
  height: 28px;
  box-sizing: border-box;
  text-transform: uppercase;
}

[b-tu31qzfxc0] .quality-progress-container {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

[b-tu31qzfxc0] .progress-labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
  font-weight: 700;
  color: #64748b;
}

[b-tu31qzfxc0] .quality-questions-list {
  padding: 22px 22px 8px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  background: #fff;
}

[b-tu31qzfxc0] .quality-question-item {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  border: 1px solid #f1f5f9;
  border-radius: 12px;
  background: #fcfdfe;
}

[b-tu31qzfxc0] .quality-question-item:hover {
  border-color: #e2e8f0;
  background: #fff;
}

[b-tu31qzfxc0] .quality-question-label {
  font-size: 0.92rem;
  font-weight: 700;
  color: #0f172a;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.45;
}

[b-tu31qzfxc0] .q-number {
  background: #f1f5f9;
  color: #64748b;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  font-weight: 800;
  flex-shrink: 0;
}

[b-tu31qzfxc0] .required-dot {
  color: #ef4444;
  margin-left: 2px;
}

[b-tu31qzfxc0] .choice-group {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

[b-tu31qzfxc0] .choice-group .el-radio, [b-tu31qzfxc0] .choice-group .el-checkbox {
  margin-right: 0;
  padding: 11px 14px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  width: 100%;
  height: auto;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
  display: flex;
}

[b-tu31qzfxc0] .choice-group .el-radio:hover, [b-tu31qzfxc0] .choice-group .el-checkbox:hover {
  border-color: #cbd5e1;
  background: #f8fafc;
}

[b-tu31qzfxc0] .choice-group .el-radio.is-checked, [b-tu31qzfxc0] .choice-group .el-checkbox.is-checked {
  border-color: #93c5fd;
  background: #eff6ff;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

[b-tu31qzfxc0] .bool-switch-row {
  background: #f8fafc;
  padding: 12px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

[b-tu31qzfxc0] .attachment-upload-area {
  background: #f8fafc;
  padding: 16px;
  border-radius: 12px;
  border: 1px dashed #cbd5e1;
}

[b-tu31qzfxc0] .attachment-preview {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: white;
  padding: 12px;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
}

[b-tu31qzfxc0] .file-info {
  display: flex;
  align-items: center;
  gap: 12px;
}

[b-tu31qzfxc0] .file-icon {
  font-size: 20px;
  color: #6366f1;
  background: #f5f3ff;
  padding: 8px;
  border-radius: 8px;
}

[b-tu31qzfxc0] .file-details {
  display: flex;
  flex-direction: column;
}

[b-tu31qzfxc0] .file-name {
  font-size: 0.9rem;
  font-weight: 600;
  color: #1e293b;
}

[b-tu31qzfxc0] .file-size {
  font-size: 0.75rem;
  color: #64748b;
}

[b-tu31qzfxc0] .el-upload__tip {
  font-size: 0.75rem;
  color: #94a3b8;
  margin-top: 8px;
}

[b-tu31qzfxc0] .quality-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 22px 18px;
  background: #fff;
  border-top: 1px solid #f1f5f9;
}

[b-tu31qzfxc0] .mandatory-note {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8rem;
  font-weight: 600;
  color: #b45309;
  background: #fffbeb;
  border: 1px solid #fef3c7;
  border-radius: 10px;
  padding: 8px 14px;
}

[b-tu31qzfxc0] .submit-btn {
  font-weight: 750;
  padding: 12px 24px;
  height: auto;
  border-radius: 12px;
  font-size: 0.95rem;
  background: linear-gradient(180deg, #3b82f6 0%, #2563eb 100%);
  border: none;
  box-shadow: 0 8px 16px -4px rgba(37, 99, 235, 0.28);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

[b-tu31qzfxc0] .submit-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 20px -6px rgba(37, 99, 235, 0.35);
}
/* /Components/Quality/QualityQuestionnaireModal.razor.rz.scp.css */
/* Porta de QualityQuestionnaireModal.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: quality-dialog-body, quality-dialog-footer */
/* Ajuste ao gerado: .choice-group está no <ElRadioGroup>/<ElCheckboxGroup> (raiz sem atributo de scope no Blazor), por isso
   ".choice-group ::deep .x" passou a "::deep .choice-group .x" (= ".choice-group[data-v] .x" do Vue). As três regras
   ".quality-dialog ::deep .el-dialog…" ficam como no Vue, onde também não apanham nada (a classe está no próprio .el-dialog, sem scope). */
.quality-dialog[b-lcgrc0dvva]  .el-dialog {
  border-radius: 20px;
  overflow: hidden;
  border: none;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.quality-dialog[b-lcgrc0dvva]  .el-dialog__header {
  display: none; 
}

.quality-dialog[b-lcgrc0dvva]  .el-dialog__body {
  padding: 0;
  background-color: #ffffff;
}

[b-lcgrc0dvva] .quality-premium-header {
  padding: 24px 24px 20px;
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  border-bottom: 1px solid #e2e8f0;
}

[b-lcgrc0dvva] .premium-header-content {
  display: flex;
  gap: 16px;
  margin-bottom: 18px;
}

[b-lcgrc0dvva] .quality-icon-badge {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  flex-shrink: 0;
  box-shadow: 0 8px 16px -4px rgba(0, 0, 0, 0.1);
}

[b-lcgrc0dvva] .quality-icon-badge.before {
  background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);
  color: white;
}

[b-lcgrc0dvva] .quality-icon-badge.after {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: white;
}

[b-lcgrc0dvva] .premium-header-text {
  flex: 1;
}

[b-lcgrc0dvva] .premium-title {
  margin: 0 0 4px;
  font-size: 1.15rem;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -0.02em;
}

[b-lcgrc0dvva] .premium-subtitle {
  margin: 0 0 10px;
  font-size: 0.88rem;
  color: #64748b;
  line-height: 1.5;
}

[b-lcgrc0dvva] .timing-badge {
  display: inline-flex;
  padding: 4px 12px;
  border-radius: 8px;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

[b-lcgrc0dvva] .timing-badge.before {
  background: #e0e7ff;
  color: #4338ca;
}

[b-lcgrc0dvva] .timing-badge.after {
  background: #d1fae5;
  color: #065f46;
}

[b-lcgrc0dvva] .quality-progress-container {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

[b-lcgrc0dvva] .progress-labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
  font-weight: 600;
  color: #94a3b8;
}

[b-lcgrc0dvva] .quality-questions-list {
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-height: 52vh;
  overflow-y: auto;
  background: #fff;
}

[b-lcgrc0dvva] .quality-question-item {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid #f1f5f9;
  border-radius: 12px;
  background: #fcfdfe;
}

[b-lcgrc0dvva] .quality-question-label {
  font-size: 0.95rem;
  font-weight: 700;
  color: #0f172a;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.45;
}

[b-lcgrc0dvva] .q-number {
  background: #f1f5f9;
  color: #64748b;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  font-weight: 800;
  flex-shrink: 0;
}

[b-lcgrc0dvva] .required-dot {
  color: #ef4444;
  margin-left: 2px;
}

[b-lcgrc0dvva] .choice-group {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

[b-lcgrc0dvva] .choice-group .el-radio, [b-lcgrc0dvva] .choice-group .el-checkbox {
  margin-right: 0;
  padding: 14px 18px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  width: 100%;
  height: auto;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
}

[b-lcgrc0dvva] .choice-group .el-radio:hover, [b-lcgrc0dvva] .choice-group .el-checkbox:hover {
  border-color: #cbd5e1;
  background: #f8fafc;
}

[b-lcgrc0dvva] .choice-group .el-radio.is-checked, [b-lcgrc0dvva] .choice-group .el-checkbox.is-checked {
  border-color: #93c5fd;
  background: #eff6ff;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

[b-lcgrc0dvva] .choice-group .el-radio__label, [b-lcgrc0dvva] .choice-group .el-checkbox__label {
  font-weight: 600;
  color: #334155;
  font-size: 0.95rem;
}

[b-lcgrc0dvva] .bool-switch-row {
  background: #f8fafc;
  padding: 16px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.quality-dialog-footer[b-lcgrc0dvva] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 24px 20px;
  background: #fff;
  border-top: 1px solid #f1f5f9;
}

[b-lcgrc0dvva] .mandatory-note {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.85rem;
  font-weight: 600;
  color: #b45309;
  background: #fffbeb;
  border: 1px solid #fef3c7;
  border-radius: 12px;
  padding: 10px 16px;
}

[b-lcgrc0dvva] .submit-btn {
  font-weight: 750;
  padding: 12px 24px;
  height: auto;
  border-radius: 12px;
  font-size: 0.95rem;
  background: linear-gradient(180deg, #3b82f6 0%, #2563eb 100%);
  border: none;
  box-shadow: 0 8px 16px -4px rgba(37, 99, 235, 0.28);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

[b-lcgrc0dvva] .submit-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 20px -6px rgba(37, 99, 235, 0.35);
}

[b-lcgrc0dvva] .submit-btn:active {
  transform: translateY(0);
}
/* /Components/Quality/QualityResponsesModal.razor.rz.scp.css */
/* Porta de QualityResponsesModal.vue — conteúdo scoped; chrome do diálogo em views.css (.quality-history-dialog) */
.responses-container[b-02ujs4pp9j] {
  min-height: 200px;
  max-height: 62vh;
  overflow-y: auto;
  padding-right: 4px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

[b-02ujs4pp9j] .response-group {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 16px 18px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

[b-02ujs4pp9j] .group-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
  gap: 12px;
  flex-wrap: wrap;
}

[b-02ujs4pp9j] .header-left {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

[b-02ujs4pp9j] .timing-tag {
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: 0.04em;
  font-size: 10px;
  border-radius: 6px;
}

[b-02ujs4pp9j] .q-title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 750;
  color: #0f172a;
}

[b-02ujs4pp9j] .header-right {
  color: #94a3b8;
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

[b-02ujs4pp9j] .group-actions {
  display: flex;
  gap: 2px;
  margin-left: 4px;
  border-left: 1px solid #e2e8f0;
  padding-left: 10px;
}

[b-02ujs4pp9j] .group-actions .el-button {
  padding: 4px;
  color: #94a3b8;
}

[b-02ujs4pp9j] .group-actions .el-button:hover {
  color: var(--el-color-primary);
}

[b-02ujs4pp9j] .answered-at,
[b-02ujs4pp9j] .operator-name {
  display: flex;
  align-items: center;
  gap: 4px;
}

[b-02ujs4pp9j] .operator-name {
  color: #64748b;
  font-weight: 650;
}

[b-02ujs4pp9j] .entity-info {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #64748b;
  margin-bottom: 14px;
  background: #f8fafc;
  padding: 6px 10px;
  border-radius: 8px;
  border: 1px solid #eef2f6;
}

[b-02ujs4pp9j] .answers-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  border-top: 1px solid #f1f5f9;
  padding-top: 14px;
}

[b-02ujs4pp9j] .answer-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

[b-02ujs4pp9j] .question-text {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 0.8rem;
  font-weight: 650;
  color: #64748b;
}

[b-02ujs4pp9j] .response-value {
  font-size: 0.9rem;
  color: #0f172a;
  background: #f8fafc;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid #eef2f6;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 550;
  line-height: 1.4;
}

[b-02ujs4pp9j] .response-value.is-attachment {
  color: var(--el-color-primary);
  font-weight: 700;
  background: #eff6ff;
  border-color: #dbeafe;
}

.modal-footer[b-02ujs4pp9j] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  gap: 12px;
}

[b-02ujs4pp9j] .footer-left {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

[b-02ujs4pp9j] .rejected-tag {
  font-size: 10px;
  height: 18px;
  padding: 0 6px;
}

[b-02ujs4pp9j] .answer-item.is-rejected .response-value {
  border-color: #fecaca;
  background: #fef2f2;
  color: #b91c1c;
}
/* /Components/Quality/QualityView.razor.rz.scp.css */
/* Porta de QualityView.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: quality-view */
/* Ajuste ao gerado: .draft-field/.name-input/.desc-input estão em <ElInput Class=…> (raiz sem atributo de scope no Blazor), por isso
   ".x ::deep .y" passou a "::deep .x .y" (= ".x[data-v] .y" do Vue, com a mesma especificidade). */
.quality-view[b-baewo89tr2] {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: calc(100vh - 140px);
  background: #f1f5f9;
}

[b-baewo89tr2] .quality-master-detail {
  display: flex;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  margin: 0 4px 4px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

[b-baewo89tr2] .quality-sidebar {
  width: min(300px, 32vw);
  min-width: 260px;
  border-right: none;
  display: flex;
  flex-direction: column;
  background: #fff;
  transition: width 0.24s ease, min-width 0.24s ease;
  flex-shrink: 0;
}

[b-baewo89tr2] .quality-sidebar--collapsed {
  width: 60px;
  min-width: 60px;
}

[b-baewo89tr2] .sidebar-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
  border-bottom: 1px solid #eef2f7;
  background: #fff;
}

[b-baewo89tr2] .sidebar-head__label {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  flex: 1;
}

[b-baewo89tr2] .sidebar-head__title {
  font-size: 0.875rem;
  font-weight: 700;
  color: #334155;
  white-space: nowrap;
}

[b-baewo89tr2] .sidebar-head__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 0.7rem;
  font-weight: 700;
  flex-shrink: 0;
}

[b-baewo89tr2] .sidebar-add-btn {
  width: 26px;
  height: 26px;
  border: none;
  border-radius: 7px;
  background: #3b82f6;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.15s ease, transform 0.15s ease;
}

[b-baewo89tr2] .sidebar-add-btn:hover {
  background: #2563eb;
}

[b-baewo89tr2] .sidebar-icon-btn {
  width: 26px;
  height: 26px;
  border: 1px solid #e2e8f0;
  border-radius: 7px;
  background: #fff;
  color: #94a3b8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

[b-baewo89tr2] .sidebar-icon-btn:hover {
  background: #f8fafc;
  color: #3b82f6;
  border-color: #bfdbfe;
}

[b-baewo89tr2] .quality-sidebar--collapsed .sidebar-head {
  flex-direction: column;
  padding: 8px 6px;
  gap: 6px;
}

[b-baewo89tr2] .quality-sidebar--collapsed .sidebar-head__label {
  justify-content: center;
}

[b-baewo89tr2] .sidebar-search {
  padding: 10px 12px;
  border-bottom: 1px solid #eef2f7;
  background: #fafbfc;
}

.sidebar-search[b-baewo89tr2]  .el-input__wrapper {
  border-radius: 10px;
  box-shadow: 0 0 0 1px #e2e8f0 inset;
}

[b-baewo89tr2] .questionnaire-list {
  flex: 1;
  overflow-y: auto;
  padding: 10px 8px 12px;
  scrollbar-width: thin;
}

[b-baewo89tr2] .questionnaire-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 12px;
  border-radius: 12px;
  cursor: pointer;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
  margin-bottom: 6px;
  position: relative;
  border: 1px solid transparent;
}

[b-baewo89tr2] .questionnaire-item--collapsed {
  justify-content: center;
  padding: 10px 8px;
}

[b-baewo89tr2] .questionnaire-item:hover {
  background: #f1f5f9;
}

[b-baewo89tr2] .questionnaire-item.active {
  background: #eff6ff;
  border-color: #bfdbfe;
  box-shadow: 0 4px 14px rgba(59, 130, 246, 0.08);
}

[b-baewo89tr2] .questionnaire-item--draft {
  align-items: flex-start;
  cursor: default;
  padding: 12px;
}

[b-baewo89tr2] .questionnaire-item--draft:hover {
  background: #eff6ff;
}

[b-baewo89tr2] .item-content--draft {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
}

[b-baewo89tr2] .draft-field .el-input__wrapper, [b-baewo89tr2] .draft-field .el-textarea__inner {
  box-shadow: 0 0 0 1px #dbeafe inset;
  background: #fff;
}

[b-baewo89tr2] .draft-type-select {
  width: 100%;
}

[b-baewo89tr2] .draft-cancel-btn {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: #94a3b8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  margin-top: 2px;
  transition: background 0.15s ease, color 0.15s ease;
}

[b-baewo89tr2] .draft-cancel-btn:hover {
  background: #fee2e2;
  color: #ef4444;
}

[b-baewo89tr2] .editor-draft-label {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #64748b;
}

[b-baewo89tr2] .item-icon {
  width: 30px;
  height: 30px;
  background: #f1f5f9;
  color: #64748b;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  flex-shrink: 0;
}

[b-baewo89tr2] .questionnaire-item--collapsed .item-icon {
  width: 28px;
  height: 28px;
  font-size: 14px;
  border-radius: 7px;
}

[b-baewo89tr2] .active .item-icon {
  background: #3b82f6 !important;
  color: #fff !important;
}

[b-baewo89tr2] .item-content {
  flex: 1;
  min-width: 0;
}

[b-baewo89tr2] .item-name {
  font-size: 0.9rem;
  font-weight: 700;
  color: #1e293b;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[b-baewo89tr2] .item-meta {
  font-size: 0.74rem;
  color: #64748b;
  margin: 3px 0 0;
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}

[b-baewo89tr2] .meta-type {
  font-weight: 600;
  color: #475569;
}

[b-baewo89tr2] .meta-dot {
  color: #cbd5e1;
}

[b-baewo89tr2] .item-arrow {
  font-size: 14px;
  color: #94a3b8;
  opacity: 0;
  transition: opacity 0.2s;
  flex-shrink: 0;
}

[b-baewo89tr2] .questionnaire-item:hover .item-arrow, [b-baewo89tr2] .questionnaire-item.active .item-arrow {
  opacity: 1;
}

[b-baewo89tr2] .empty-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 24px 16px;
  text-align: center;
}

[b-baewo89tr2] .empty-list__text {
  margin: 0;
  font-size: 0.82rem;
  color: #94a3b8;
}

[b-baewo89tr2] .empty-list__link {
  border: none;
  background: none;
  padding: 0;
  font-size: 0.82rem;
  font-weight: 600;
  color: #3b82f6;
  cursor: pointer;
}

[b-baewo89tr2] .empty-list__link:hover {
  color: #2563eb;
  text-decoration: underline;
}

[b-baewo89tr2] .empty-list--collapsed {
  padding: 16px 8px;
}

[b-baewo89tr2] .quality-sidebar-splitter {
  width: 8px;
  flex-shrink: 0;
  border: none;
  background: #f8fafc;
  border-left: 1px solid #e2e8f0;
  border-right: 1px solid #e2e8f0;
  color: #94a3b8;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: background 0.18s ease, color 0.18s ease;
}

[b-baewo89tr2] .quality-sidebar-splitter:hover {
  background: #eff6ff;
  color: #3b82f6;
}

[b-baewo89tr2] .quality-sidebar-splitter .el-icon {
  font-size: 10px;
}

[b-baewo89tr2] .quality-main-editor {
  flex: 1;
  min-width: 0;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

[b-baewo89tr2] .sidebar-reopen-inline {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  padding: 5px 10px;
  border-radius: 8px;
  border: 1px solid #dbeafe;
  background: #f8fbff;
  color: #1d4ed8;
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

[b-baewo89tr2] .sidebar-reopen-inline .el-icon {
  font-size: 13px;
}

[b-baewo89tr2] .sidebar-reopen-inline:hover {
  background: #eff6ff;
  border-color: #93c5fd;
}

[b-baewo89tr2] .sidebar-reopen-inline--empty {
  margin-bottom: 4px;
}

[b-baewo89tr2] .editor-container {
  display: flex;
  flex-direction: column;
  height: 100%;
}

[b-baewo89tr2] .meta-version {
  font-weight: 700;
  color: #94a3b8;
}

[b-baewo89tr2] .version-info {
  display: flex;
  align-items: center;
  gap: 8px;
}

[b-baewo89tr2] .version-label {
  font-size: 11px;
  font-weight: 800;
  color: #94a3b8;
  background: #f1f5f9;
  padding: 2px 8px;
  border-radius: 6px;
  white-space: nowrap;
}

[b-baewo89tr2] .status-active {
  color: #10b981;
  font-weight: 600;
  font-size: 12px;
}

[b-baewo89tr2] .status-inactive {
  color: #94a3b8;
  font-size: 12px;
}

[b-baewo89tr2] .version-preview-container {
  max-height: 60vh;
  overflow-y: auto;
  padding: 8px;
}

[b-baewo89tr2] .preview-q-item {
  padding: 16px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  margin-bottom: 12px;
}

[b-baewo89tr2] .preview-q-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

[b-baewo89tr2] .q-idx {
  font-weight: 800;
  color: #6366f1;
  font-size: 14px;
}

[b-baewo89tr2] .q-type-badge {
  font-size: 10px;
  font-weight: 700;
  color: #64748b;
  text-transform: uppercase;
  background: white;
  padding: 2px 6px;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
}

[b-baewo89tr2] .preview-q-text {
  font-weight: 600;
  color: #1e293b;
  margin: 0 0 12px 0;
}

[b-baewo89tr2] .preview-q-options {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

[b-baewo89tr2] .opt-tag {
  background: white;
}

[b-baewo89tr2] .editor-header__content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

[b-baewo89tr2] .editor-header__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

[b-baewo89tr2] .type-select {
  width: 150px;
}

[b-baewo89tr2] .editor-header {
  padding: 14px 20px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid #eef2f7;
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 2;
}

[b-baewo89tr2] .viewing-warning {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 24px;
  padding: 10px 14px;
  border-radius: 10px;
  background: #fffbeb;
  border: 1px solid #fde68a;
  color: #92400e;
  font-size: 0.86rem;
}

[b-baewo89tr2] .editor-title-group {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

[b-baewo89tr2] .name-input .el-input__wrapper {
  padding: 0;
  box-shadow: none !important;
  background: transparent;
}

[b-baewo89tr2] .name-input .el-input__inner {
  font-size: 1.05rem;
  font-weight: 700;
  color: #1e293b;
  height: auto;
  line-height: 1.3;
}

[b-baewo89tr2] .desc-input .el-input__wrapper {
  padding: 0;
  box-shadow: none !important;
  background: transparent;
}

[b-baewo89tr2] .desc-input .el-input__inner {
  font-size: 0.95rem;
  color: #64748b;
  height: auto;
}

[b-baewo89tr2] .editor-actions {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

[b-baewo89tr2] .save-btn {
  font-weight: 600;
}

[b-baewo89tr2] .field-type-selector-wrapper {
  margin: 12px 20px 16px;
  padding: 14px 16px;
  background: #f8faff;
  border: 1px solid #e0e7ff;
  border-radius: 12px;
  animation: slideDown-b-baewo89tr2 0.25s ease;
}

@keyframes slideDown-b-baewo89tr2 {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

[b-baewo89tr2] .selector-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

[b-baewo89tr2] .selector-header h3 {
  margin: 0;
  font-size: 0.88rem;
  color: #1e3a8a;
  font-weight: 700;
}

[b-baewo89tr2] .field-type-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

[b-baewo89tr2] .type-card {
  background: white;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 7px 11px;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

[b-baewo89tr2] .type-card:hover {
  background: #f8fafc;
  border-color: #a5b4fc;
  box-shadow: 0 2px 8px rgba(99, 102, 241, 0.1);
}

[b-baewo89tr2] .type-icon {
  width: 26px;
  height: 26px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

[b-baewo89tr2] .type-card span {
  font-size: 0.78rem;
  font-weight: 600;
  color: #475569;
  white-space: nowrap;
}

[b-baewo89tr2] .questions-scroll-area {
  flex: 1;
  overflow-y: auto;
  padding: 12px 20px 20px;
  scrollbar-width: thin;
}

[b-baewo89tr2] .questions-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}

[b-baewo89tr2] .questions-header h3 {
  margin: 0;
  font-size: 0.95rem;
  color: #334155;
  font-weight: 700;
}

[b-baewo89tr2] .questions-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

[b-baewo89tr2] .questions-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 36px 24px;
  margin-top: 4px;
  border: 1px dashed #cbd5e1;
  border-radius: 12px;
  background: #fafbfc;
  text-align: center;
}

[b-baewo89tr2] .questions-empty__title {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 700;
  color: #475569;
}

[b-baewo89tr2] .questions-empty__hint {
  margin: 0 0 4px;
  max-width: 320px;
  font-size: 0.82rem;
  color: #94a3b8;
  line-height: 1.45;
}

[b-baewo89tr2] .question-card-item {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 16px 18px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

[b-baewo89tr2] .question-card-item:hover {
  border-color: #cbd5e1;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
  background: #fff;
}

[b-baewo89tr2] .q-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
  gap: 12px;
}

[b-baewo89tr2] .q-card-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 700;
  color: #475569;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

[b-baewo89tr2] .q-card-badge .el-icon {
  font-size: 13px;
  color: #6366f1;
}

[b-baewo89tr2] .q-card-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

[b-baewo89tr2] .footer-switches {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 24px;
  margin-bottom: 14px;
}

[b-baewo89tr2] .acceptance-criteria-box {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 14px 14px 12px;
  margin-bottom: 14px;
}

[b-baewo89tr2] .criteria-header {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.72rem;
  font-weight: 800;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 12px;
}

[b-baewo89tr2] .criteria-header .el-icon {
  color: #22c55e;
  font-size: 14px;
}

[b-baewo89tr2] .criteria-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

[b-baewo89tr2] .criteria-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
}

[b-baewo89tr2] .criteria-separator {
  font-size: 12px;
  color: #94a3b8;
  font-weight: 600;
}

[b-baewo89tr2] .criteria-label {
  font-size: 13px;
  color: #475569;
  font-weight: 500;
}

[b-baewo89tr2] .criteria-empty {
  font-size: 12px;
  color: #94a3b8;
  font-style: italic;
  padding: 4px 0;
}

[b-baewo89tr2] .q-card-body {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

[b-baewo89tr2] .q-card-body .el-textarea__inner,
[b-baewo89tr2] .q-card-body .el-input__wrapper {
  border-radius: 8px;
}

[b-baewo89tr2] .q-card-body .el-input__wrapper.is-focus,
[b-baewo89tr2] .q-card-body .el-textarea__inner:focus {
  box-shadow: 0 0 0 1px #6366f1 inset !important;
}

[b-baewo89tr2] .q-card-footer {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding-top: 14px;
  border-top: 1px solid #f1f5f9;
}

[b-baewo89tr2] .q-options-manager {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

[b-baewo89tr2] .options-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  max-width: 420px;
}

[b-baewo89tr2] .option-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}

[b-baewo89tr2] .option-item .el-input {
  flex: 1;
  min-width: 0;
}

[b-baewo89tr2] .q-options-manager > .el-button {
  margin-left: 2px;
}

[b-baewo89tr2] .editor-empty {
  flex: 1;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px 24px;
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}

[b-baewo89tr2] .big-icon {
  color: #6366f1;
  background: #eef2ff;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
}

[b-baewo89tr2] .empty-card {
  max-width: 420px;
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 28px 24px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.05);
}

[b-baewo89tr2] .empty-card h2 {
  margin: 0;
  font-size: 1.25rem;
  color: #1e293b;
}

[b-baewo89tr2] .empty-card p {
  margin: 0;
  color: #64748b;
  line-height: 1.5;
}

[b-baewo89tr2] .criteria-row-column {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

[b-baewo89tr2] .criteria-label {
  font-size: 12px;
  color: #64748b;
  margin-left: 4px;
}

[b-baewo89tr2] .mt-2 {
  margin-top: 8px;
}

@media (max-width: 960px) {
    [b-baewo89tr2] .quality-sidebar {
        width: min(300px, 42vw);
        min-width: 240px;
      }

    [b-baewo89tr2] .editor-header {
        flex-direction: column;
        align-items: stretch;
      }

    [b-baewo89tr2] .editor-actions {
        width: 100%;
        justify-content: flex-end;
        flex-wrap: wrap;
      }
}

@media (max-width: 720px) {
    [b-baewo89tr2] .quality-master-detail {
        margin: 0;
        border-radius: 12px;
      }

    [b-baewo89tr2] .quality-sidebar:not(.quality-sidebar--collapsed) {
        position: absolute;
        z-index: 5;
        height: calc(100% - 8px);
        margin-top: 4px;
        box-shadow: 8px 0 24px rgba(15, 23, 42, 0.12);
      }

    [b-baewo89tr2] .quality-master-detail {
        position: relative;
      }
}
/* /Components/Settings/AbsenceTypesSettings.razor.rz.scp.css */
/* Porta de AbsenceTypesSettings.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: settings-view-container */
[b-in4wtaw16k] .absence-name-cell {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

[b-in4wtaw16k] .absence-color-dot {
  width: 12px;
  height: 12px;
  border-radius: 4px;
  flex-shrink: 0;
}

[b-in4wtaw16k] .absence-name-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

[b-in4wtaw16k] .absence-name-text strong {
  color: #2d3748;
  font-weight: 600;
}

[b-in4wtaw16k] .absence-name-text small {
  color: #a0aec0;
  font-size: 11px;
  letter-spacing: 0.04em;
}

[b-in4wtaw16k] .absence-config-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

[b-in4wtaw16k] .absence-levels {
  margin-top: 4px;
  padding: 14px;
  border: 1px solid rgba(139, 98, 56, 0.14);
  border-radius: 12px;
  background: rgba(250, 250, 250, 0.6);
}

[b-in4wtaw16k] .absence-levels__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

[b-in4wtaw16k] .absence-levels__header h4 {
  margin: 0;
  color: #42260e;
  font-size: 14px;
  font-weight: 700;
}

[b-in4wtaw16k] .absence-levels__empty {
  margin: 0;
  color: #718096;
  font-size: 13px;
}

[b-in4wtaw16k] .absence-level-row {
  display: grid;
  grid-template-columns: 86px 150px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
}

[b-in4wtaw16k] .absence-level-row + .absence-level-row {
  margin-top: 8px;
}

[b-in4wtaw16k] .absence-level-badge {
  color: #718096;
  font-size: 12px;
  font-weight: 700;
}

[b-in4wtaw16k] .absence-level-type, [b-in4wtaw16k] .absence-level-target {
  width: 100%;
}

@media (max-width: 900px) {
    [b-in4wtaw16k] .absence-level-row {
        grid-template-columns: 1fr;
      }
}
/* /Components/Settings/AttendanceMapSettings.razor.rz.scp.css */
/* Porta de AttendanceMapSettings.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: settings-view-container */
[b-gx8chxpve6] .attendance-toolbar {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

[b-gx8chxpve6] .attendance-range {
  width: 340px;
  max-width: 100%;
}

[b-gx8chxpve6] .legend {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-left: auto;
  color: #718096;
  font-size: 12px;
  flex-wrap: wrap;
}

[b-gx8chxpve6] .legend-dot {
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-right: 6px;
  border-radius: 4px;
  vertical-align: -2px;
}

[b-gx8chxpve6] .filter-count {
  display: inline-flex;
  min-width: 18px;
  height: 18px;
  margin-left: 6px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #edf2f7;
  color: #4a5568;
  font-size: 11px;
  font-weight: 700;
}

[b-gx8chxpve6] .vacation { background: #f6c453; }

[b-gx8chxpve6] .pending { background: #68b984; }

[b-gx8chxpve6] .absence { background: #a78bfa; }

[b-gx8chxpve6] .weekend { background: #edf2f7; }

[b-gx8chxpve6] .holiday { background: #90cdf4; }

[b-gx8chxpve6] .attendance-table-wrap {
  overflow: auto;
}

[b-gx8chxpve6] .attendance-table {
  width: max-content;
  min-width: 100%;
  border-collapse: collapse;
  color: #2d3748;
  font-size: 12px;
  table-layout: fixed;
}

[b-gx8chxpve6] .attendance-table th, [b-gx8chxpve6] .attendance-table td {
  height: 34px;
  border-right: 1px solid #edf2f7;
  border-bottom: 1px solid #edf2f7;
  text-align: center;
}

[b-gx8chxpve6] .col-user {
  width: 300px;
}

[b-gx8chxpve6] .col-day {
  width: 54px;
}

[b-gx8chxpve6] .attendance-table thead th {
  background: #f7fafc;
  color: #718096;
  font-weight: 700;
}

[b-gx8chxpve6] .attendance-table .month-row th {
  height: 26px;
  border-bottom: 1px solid #e2e8f0;
}

[b-gx8chxpve6] .attendance-table .month-cell {
  background: #f1f5f9;
  color: #4a5568;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

[b-gx8chxpve6] .attendance-table .month-corner {
  background: #f1f5f9;
}

[b-gx8chxpve6] .user-col, [b-gx8chxpve6] .user-cell {
  position: sticky;
  left: 0;
  z-index: 2;
  padding: 0 14px;
  text-align: left !important;
  background: #fff;
}

[b-gx8chxpve6] .user-col {
  background: #f7fafc;
}

[b-gx8chxpve6] .avatar {
  display: inline-flex;
  width: 26px;
  height: 26px;
  margin-right: 10px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  vertical-align: middle;
}

[b-gx8chxpve6] .user-name {
  color: #4a5568;
  font-weight: 600;
}

[b-gx8chxpve6] .day-cell {
  color: #2f855a;
  font-weight: 600;
}

[b-gx8chxpve6] .day-cell.filled {
  background: #f0fff4;
  box-shadow: inset 0 -2px 0 #68b984;
  cursor: pointer;
}

[b-gx8chxpve6] .day-cell.filled:hover {
  background: #e6ffed;
}

[b-gx8chxpve6] .day-cell.vacation {
  background: #fffaf0;
  box-shadow: inset 0 -2px 0 #f6c453;
  color: #975a16;
  cursor: pointer;
}

[b-gx8chxpve6] .day-cell.pending {
  background: #f0fff4;
  box-shadow: inset 0 -2px 0 #68b984;
  color: #276749;
  cursor: pointer;
}

[b-gx8chxpve6] .day-cell.absence {
  background: #f8f5ff;
  box-shadow: inset 0 -2px 0 #a78bfa;
  color: #6b46c1;
  cursor: pointer;
}

[b-gx8chxpve6] .day-cell.vacation:hover, [b-gx8chxpve6] .day-cell.pending:hover, [b-gx8chxpve6] .day-cell.absence:hover {
  filter: brightness(0.98);
}

[b-gx8chxpve6] .attendance-table th.weekend, [b-gx8chxpve6] .attendance-table td.weekend {
  background: #f7f8fa;
}

[b-gx8chxpve6] .attendance-table thead th.holiday {
  background: #e6f3fb;
  color: #2b6cb0;
}

[b-gx8chxpve6] .attendance-table td.day-cell.holiday {
  background: #f2f9fe;
}

[b-gx8chxpve6] .attendance-table td.day-cell.holiday.filled {
  background: #eaf6f8;
}

[b-gx8chxpve6] .day-head {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.1;
}

[b-gx8chxpve6] .day-head__weekday {
  color: #a0aec0;
  font-size: 9px;
  font-weight: 600;
}

[b-gx8chxpve6] .day-head--holiday {
  cursor: help;
  color: #2b6cb0;
  font-weight: 700;
}

[b-gx8chxpve6] .day-head--holiday .day-head__weekday {
  color: #63b3ed;
}

[b-gx8chxpve6] .stat-card--clickable {
  cursor: pointer;
}

[b-gx8chxpve6] .settings-stats-row .stat-icon.holiday {
  background: #ebf8ff;
  color: #3182ce;
}

[b-gx8chxpve6] .holiday-national {
  margin-bottom: 18px;
  padding: 12px 14px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #f7fbff;
}

[b-gx8chxpve6] .holiday-national__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

[b-gx8chxpve6] .holiday-national__header h4 {
  margin: 0;
  color: #2b6cb0;
  font-size: 13px;
  font-weight: 700;
}

[b-gx8chxpve6] .holiday-national__year {
  width: 96px;
}

[b-gx8chxpve6] .holiday-national__list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 28px;
}

[b-gx8chxpve6] .holiday-section-title {
  margin: 0 0 10px;
  color: #2d3748;
  font-size: 13px;
  font-weight: 700;
}

[b-gx8chxpve6] .holiday-form {
  padding: 4px 0 0;
}

[b-gx8chxpve6] .holiday-form__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-bottom: 18px;
  flex-wrap: wrap;
}

[b-gx8chxpve6] .holiday-recurring {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #718096;
  font-size: 13px;
}

[b-gx8chxpve6] .holiday-table {
  width: 100%;
}

[b-gx8chxpve6] .holiday-name {
  display: flex;
  align-items: center;
  gap: 10px;
}

[b-gx8chxpve6] .holiday-marker {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  background: #3182ce;
  flex-shrink: 0;
}

[b-gx8chxpve6] .holiday-name strong {
  display: block;
  color: #2d3748;
  font-weight: 600;
}

[b-gx8chxpve6] .holiday-name small {
  color: #a0aec0;
  font-size: 12px;
}

[b-gx8chxpve6] .holiday-empty {
  color: #a0aec0;
  font-size: 13px;
}

[b-gx8chxpve6] .empty {
  height: 72px;
  color: #a0aec0;
}

[b-gx8chxpve6] .filter-control {
  width: 100%;
}

[b-gx8chxpve6] .days-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

[b-gx8chxpve6] .days-filter .el-checkbox-button__inner {
  border: 1px solid #e2e8f0;
  border-radius: 8px !important;
  box-shadow: none;
}

[b-gx8chxpve6] .filters-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

[b-gx8chxpve6] .attendance-detail-dialog .el-dialog__header {
  display: none;
}

[b-gx8chxpve6] .detail-modal {
  padding: 4px 0 0;
  color: #4a5568;
}

[b-gx8chxpve6] .detail-header {
  padding: 0 2px 14px;
}

[b-gx8chxpve6] .detail-header h2 {
  margin: 0 0 12px;
  color: #2d3748;
  font-size: 18px;
  font-weight: 700;
}

[b-gx8chxpve6] .detail-date {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #718096;
  font-size: 13px;
}

[b-gx8chxpve6] .detail-section {
  margin-top: 16px;
}

[b-gx8chxpve6] .detail-section h3 {
  margin: 0 0 12px;
  color: #718096;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

[b-gx8chxpve6] .detail-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

[b-gx8chxpve6] .detail-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
}

[b-gx8chxpve6] .detail-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #ebf8ff;
  color: #3182ce;
}

[b-gx8chxpve6] .detail-card-icon.line {
  background: #f0fff4;
  color: #38a169;
}

[b-gx8chxpve6] .detail-absence-dot {
  width: 14px;
  height: 14px;
  border-radius: 4px;
}

[b-gx8chxpve6] .detail-card-body {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 3px;
}

[b-gx8chxpve6] .detail-card-body strong {
  color: #2d3748;
  font-size: 13px;
  font-weight: 600;
}

[b-gx8chxpve6] .detail-card-body span {
  color: #718096;
  font-size: 12px;
}

[b-gx8chxpve6] .hours-pill {
  min-width: 44px;
  padding: 5px 8px;
  border-radius: 8px;
  background: #ebf8ff;
  color: #2b6cb0;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
}

[b-gx8chxpve6] .detail-empty {
  margin: 0;
  padding: 14px;
  border: 1px dashed #e2e8f0;
  border-radius: 12px;
  color: #a0aec0;
  font-size: 13px;
}

[b-gx8chxpve6] .detail-footer {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 20px;
  padding-top: 14px;
  border-top: 1px solid #edf2f7;
  color: #718096;
  font-weight: 600;
}

[b-gx8chxpve6] .detail-footer strong {
  color: #2d3748;
  font-size: 22px;
  font-weight: 700;
}

@media (max-width: 1200px) {
    [b-gx8chxpve6] .attendance-toolbar {
        align-items: flex-start;
      }

    [b-gx8chxpve6] .attendance-range {
        width: 100%;
      }

    [b-gx8chxpve6] .legend {
        width: 100%;
        margin-left: 0;
      }
}
/* /Components/Settings/CreateDocumentConfiguration.razor.rz.scp.css */
/* Porta de CreateDocumentConfiguration.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: app-premium-page */
.app-premium-page[b-8b3x05r82v] {
  padding-top: 8px !important;
}

[b-8b3x05r82v] .app-premium-header {
  margin-bottom: 8px !important;
}

[b-8b3x05r82v] .app-premium-title {
  margin-bottom: 2px !important;
}

[b-8b3x05r82v] .app-premium-subtitle {
  margin: 0 !important;
}

[b-8b3x05r82v] .app-premium-card {
  padding-top: 10px !important;
}

[b-8b3x05r82v] .create-document-header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

[b-8b3x05r82v] .form-section {
  padding: 10px 0;
}

[b-8b3x05r82v] .section-title {
  margin: 0 0 12px;
  font-size: 16px;
  color: var(--espresso);
}

[b-8b3x05r82v] .nested-section {
  margin-top: 12px;
  padding: 16px;
  border: 1px solid rgba(104, 76, 53, 0.12);
  border-radius: 14px;
  background: rgba(255, 252, 247, 0.7);
}

[b-8b3x05r82v] .nested-title {
  margin: 0 0 14px;
  font-size: 14px;
  color: rgba(61, 43, 31, 0.8);
}

[b-8b3x05r82v] .app-premium-footer {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(104, 76, 53, 0.1);
}
/* /Components/Settings/DocumentConfigurationSettings.razor.rz.scp.css */
/* Porta de DocumentConfigurationSettings.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: settings-view-container */
/* O bloco :global(.app-tutorial-target) do Vue não se repete aqui: o seletor já existe em wwwroot/css/style.css (com !important em
   position/z-index/border-radius/box-shadow) e a única declaração que não é anulada (transition) está em wwwroot/css/views.css. */

[b-hwizgkdts5] .document-config-header-actions {
  gap: 12px;
}

[b-hwizgkdts5] .document-config-stats {
  margin-bottom: 24px;
}

[b-hwizgkdts5] .stat-card {
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  transition: transform 0.2s, box-shadow 0.2s;
  background: #ffffff;
}

[b-hwizgkdts5] .stat-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

[b-hwizgkdts5] .stat-content {
  display: flex;
  align-items: center;
  gap: 16px;
}

[b-hwizgkdts5] .stat-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
}

[b-hwizgkdts5] .stat-icon.all { background: #ebf8ff; color: #3182ce; }

[b-hwizgkdts5] .stat-icon.active { background: #f0fff4; color: #38a169; }

[b-hwizgkdts5] .stat-icon.system { background: #fff7ed; color: #c05621; }

[b-hwizgkdts5] .stat-info {
  display: flex;
  flex-direction: column;
}

[b-hwizgkdts5] .stat-label {
  font-size: 0.875rem;
  color: #718096;
  font-weight: 500;
}

[b-hwizgkdts5] .stat-value {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  color: #1a202c;
}
/* /Components/Settings/DocumentWorkflowSettings.razor.rz.scp.css */
/* Porta de DocumentWorkflowSettings.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: settings-view-container */
/* Raízes de componentes filhos (ElInput .workflow-node__name-input, ElRadio .initial-picker-radio): ::deep antes da classe, porque o Blazor não põe o atributo de isolamento na raiz dos filhos. */
[b-p8koxculf4] .settings-view-container {
  padding-top: 0 !important;
}

[b-p8koxculf4] .settings-view-header {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.settings-view-container[b-p8koxculf4] {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 120px);
}

[b-p8koxculf4] .workflow-layout {
  display: grid;
  grid-template-columns: clamp(260px, 24vw, 360px) minmax(0, 1fr);
  align-items: start;
  gap: clamp(8px, 1.1vw, 14px);
  flex: 1;
  min-height: calc(100vh - 180px);
}

[b-p8koxculf4] .sidebar-card, [b-p8koxculf4] .canvas-card {
  padding: 16px !important;
}

[b-p8koxculf4] .canvas-card {
  display: flex;
  flex-direction: column;
  min-height: clamp(420px, 68vh, 860px);
}

[b-p8koxculf4] .sidebar-section h3, [b-p8koxculf4] .canvas-header h3 {
  margin: 0;
  color: #42260e;
  font-size: 15px;
}

[b-p8koxculf4] .section-subtitle, [b-p8koxculf4] .canvas-header p {
  margin: 6px 0 0;
  color: rgba(61, 43, 31, 0.66);
  font-size: 13px;
}

[b-p8koxculf4] .sidebar-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 0;
  overflow: visible;
}

[b-p8koxculf4] .sidebar-section {
  border: 1px solid rgba(139, 98, 56, 0.12);
  border-radius: 12px;
  padding: 10px;
  background: #fffdf9;
  display: flex;
  flex-direction: column;
  flex: initial;
}

[b-p8koxculf4] .workflow-header-controls {
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

[b-p8koxculf4] .workflow-name-input {
  width: 280px;
}

[b-p8koxculf4] .palette-list {
  display: grid;
  gap: 8px;
  flex: initial;
  max-height: min(56vh, 520px);
  overflow: auto;
  padding-right: 4px;
}

[b-p8koxculf4] .palette-empty {
  padding: 10px;
  border: 1px dashed rgba(139, 98, 56, 0.3);
  border-radius: 10px;
  color: rgba(61, 43, 31, 0.64);
  font-size: 13px;
}

[b-p8koxculf4] .palette-item {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px dashed rgba(139, 98, 56, 0.3);
  border-radius: 12px;
  padding: 10px;
  cursor: grab;
  background: #fffdf9;
}

[b-p8koxculf4] .palette-item:active {
  cursor: grabbing;
}

[b-p8koxculf4] .canvas-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

[b-p8koxculf4] .canvas-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

[b-p8koxculf4] .workflow-canvas {
  position: relative;
  flex: 1;
  min-height: clamp(380px, 62vh, 780px);
  border-radius: 14px;
  border: 1px solid rgba(209, 165, 97, 0.28);
  background:
    radial-gradient(circle at 1px 1px, rgba(171, 129, 87, 0.14) 1px, transparent 0) 0 0/22px 22px,
    #fff;
  overflow: hidden;
}

[b-p8koxculf4] .workflow-links {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

[b-p8koxculf4] .workflow-link {
  fill: none;
  stroke: #60a5fa;
  stroke-width: 3;
  stroke-linecap: round;
  pointer-events: all;
  cursor: pointer;
}

[b-p8koxculf4] .workflow-node {
  position: absolute;
  width: 240px;
  border: 1px solid rgba(139, 98, 56, 0.2);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(83, 58, 38, 0.1);
  cursor: grab;
}

[b-p8koxculf4] .workflow-node:active {
  cursor: grabbing;
}

[b-p8koxculf4] .workflow-node--selected {
  border-color: #2f80ed;
}

[b-p8koxculf4] .workflow-node--connecting {
  border-color: #22c55e;
  box-shadow: 0 10px 20px rgba(34, 197, 94, 0.2);
}

[b-p8koxculf4] .workflow-node--dragging {
  opacity: 0.9;
}

[b-p8koxculf4] .workflow-node--initial {
  border-color: rgba(34, 197, 94, 0.55);
  box-shadow: 0 8px 22px rgba(34, 197, 94, 0.15);
}

[b-p8koxculf4] .workflow-node__head {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding: 8px 8px 8px 10px;
  border-bottom: 1px solid rgba(139, 98, 56, 0.12);
}

[b-p8koxculf4] .workflow-node__title-block {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
  gap: 4px;
}

[b-p8koxculf4] .workflow-node__drag-handle {
  flex-shrink: 0;
  padding: 4px 0;
  font-size: 12px;
  line-height: 1;
  letter-spacing: -2px;
  color: rgba(61, 43, 31, 0.35);
  cursor: grab;
  user-select: none;
}

[b-p8koxculf4] .workflow-node__drag-handle:active {
  cursor: grabbing;
}

[b-p8koxculf4] .workflow-node__name-input {
  flex: 1;
  min-width: 0;
}

[b-p8koxculf4] .workflow-node__name-input .el-input__wrapper {
  box-shadow: none;
  background: transparent;
  padding-left: 4px;
  padding-right: 4px;
}

[b-p8koxculf4] .workflow-node__name-input .el-input__inner {
  font-weight: 700;
  font-size: 13px;
  color: #42260e;
  text-overflow: ellipsis;
}

[b-p8koxculf4] .workflow-node__flow-start-btn {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(139, 98, 56, 0.25);
  border-radius: 10px;
  background: #fff;
  color: rgba(61, 43, 31, 0.55);
  cursor: pointer;
  transition:
    color 0.15s ease,
    background 0.15s ease,
    border-color 0.15s ease;
}

[b-p8koxculf4] .workflow-node__flow-start-btn:hover {
  color: #15803d;
  border-color: rgba(34, 197, 94, 0.45);
  background: rgba(34, 197, 94, 0.08);
}

[b-p8koxculf4] .workflow-node__flow-start-btn--on {
  color: #166534;
  border-color: rgba(34, 197, 94, 0.65);
  background: linear-gradient(145deg, rgba(187, 247, 208, 0.85) 0%, rgba(134, 239, 172, 0.35) 100%);
}

[b-p8koxculf4] .workflow-node__flow-start-icon {
  font-size: 1.1rem;
}

[b-p8koxculf4] .workflow-node__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 6px;
  justify-content: flex-start;
  align-items: center;
  padding: 6px 8px;
}

[b-p8koxculf4] .workflow-node__initial-badge {
  margin-right: 2px;
}

[b-p8koxculf4] .workflow-node__connect-hint {
  margin: 0;
  padding: 0 8px 8px;
  font-size: 11px;
  line-height: 1.35;
  font-weight: 600;
  color: #2563eb;
}

[b-p8koxculf4] .canvas-empty {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: rgba(61, 43, 31, 0.5);
  font-weight: 600;
}

[b-p8koxculf4] .initial-picker-lead {
  margin: 0 0 14px;
  color: rgba(61, 43, 31, 0.75);
  font-size: 14px;
  line-height: 1.45;
}

[b-p8koxculf4] .initial-picker-radios {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
}

[b-p8koxculf4] .initial-picker-radio {
  margin: 0;
  height: auto;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(139, 98, 56, 0.15);
  background: rgba(255, 252, 247, 0.65);
}

[b-p8koxculf4] .initial-picker-radio .el-radio__label {
  white-space: normal;
  line-height: 1.35;
}

@media (max-width: 1280px) {
    [b-p8koxculf4] .settings-view-container {
        padding-top: 10px !important;
      }

    [b-p8koxculf4] .settings-view-header {
        align-items: center;
        gap: 10px;
        padding-bottom: 10px;
      }

    [b-p8koxculf4] .settings-header-left {
        align-items: center;
        gap: 12px;
      }

    [b-p8koxculf4] .settings-view-title {
        font-size: 30px;
        line-height: 1.1;
      }

    [b-p8koxculf4] .workflow-header-controls {
        width: auto;
        justify-content: flex-end;
      }

    [b-p8koxculf4] .workflow-name-input {
        width: 240px;
      }

    [b-p8koxculf4] .workflow-layout {
        grid-template-columns: 280px minmax(0, 1fr);
        min-height: calc(100vh - 170px);
        gap: 10px;
      }

    [b-p8koxculf4] .workflow-canvas {
        min-height: clamp(340px, 58vh, 680px);
      }
}

@media (max-width: 980px) {
    [b-p8koxculf4] .settings-view-container {
        padding: 8px 10px !important;
      }

    .settings-view-container[b-p8koxculf4] {
        min-height: 0;
      }

    [b-p8koxculf4] .settings-view-header {
        padding-bottom: 8px;
        gap: 8px;
      }

    [b-p8koxculf4] .settings-view-title {
        font-size: 28px;
        line-height: 1.08;
      }

    [b-p8koxculf4] .workflow-header-controls {
        gap: 6px;
      }

    [b-p8koxculf4] .workflow-name-input {
        width: 100%;
      }

    [b-p8koxculf4] .workflow-layout {
        grid-template-columns: 1fr;
        flex: initial;
        min-height: 0;
        gap: 8px;
      }

    [b-p8koxculf4] .sidebar-card {
        order: 1;
      }

    [b-p8koxculf4] .canvas-card {
        order: 2;
      }

    [b-p8koxculf4] .canvas-header {
        flex-direction: column;
        align-items: flex-start;
      }

    [b-p8koxculf4] .workflow-canvas {
        min-height: clamp(280px, 48vh, 520px);
      }

    [b-p8koxculf4] .palette-list {
        grid-template-columns: 1fr;
        max-height: 280px;
      }

    [b-p8koxculf4] .sidebar-card, [b-p8koxculf4] .canvas-card {
        padding: 10px !important;
      }
}

[b-p8koxculf4] .workflow-subtitle {
  font-size: 0.8125rem;
  color: #6b7280;
  margin-top: 2px;
  display: block;
}
/* /Components/Settings/EditDocumentConfiguration.razor.rz.scp.css */
/* Porta de EditDocumentConfiguration.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: app-premium-page */
.app-premium-page[b-6nhtlpwhda] {
  padding-top: 8px !important;
}

[b-6nhtlpwhda] .app-premium-header {
  margin-bottom: 8px !important;
}

[b-6nhtlpwhda] .app-premium-title {
  margin-bottom: 2px !important;
}

[b-6nhtlpwhda] .app-premium-subtitle {
  margin: 0 !important;
}

[b-6nhtlpwhda] .app-premium-card {
  padding-top: 10px !important;
}

[b-6nhtlpwhda] .create-document-header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

[b-6nhtlpwhda] .system-hint {
  margin: 6px 0 0;
  color: rgba(61, 43, 31, 0.72);
  font-size: 14px;
}

[b-6nhtlpwhda] .form-section {
  padding: 10px 0;
}

[b-6nhtlpwhda] .section-title {
  margin: 0 0 12px;
  font-size: 16px;
  color: var(--espresso);
}

[b-6nhtlpwhda] .nested-section {
  margin-top: 12px;
  padding: 16px;
  border: 1px solid rgba(104, 76, 53, 0.12);
  border-radius: 14px;
  background: rgba(255, 252, 247, 0.7);
}

[b-6nhtlpwhda] .nested-title {
  margin: 0 0 14px;
  font-size: 14px;
  color: rgba(61, 43, 31, 0.8);
}

[b-6nhtlpwhda] .app-premium-footer {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(104, 76, 53, 0.1);
}
/* /Components/Settings/GroupsSettings.razor.rz.scp.css */
/* Porta de GroupsSettings.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: settings-view-container */
[b-srzqtet6k7] .form-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }

[b-srzqtet6k7] .el-transfer { width: 100%; }

[b-srzqtet6k7] .transfer-label-disabled {
  color: #c0c4cc;
  font-style: italic;
  cursor: not-allowed;
}

[b-srzqtet6k7] .el-transfer {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

[b-srzqtet6k7] .el-transfer__buttons {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0 10px;
}

[b-srzqtet6k7] .el-transfer__buttons .el-button {
  margin-left: 0;
  width: 45px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
}

[b-srzqtet6k7] .el-transfer-panel {
  width: 43%;
  max-width: 43%;
}

[b-srzqtet6k7] .perm-preview { display: grid; gap: 8px; margin-top: 4px; }

[b-srzqtet6k7] .perm-preview__item { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }

[b-srzqtet6k7] .perm-preview__tag { text-transform: lowercase; }
/* /Components/Settings/IndustrialSettings.razor.rz.scp.css */
/* Porta de IndustrialSettings.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: settings-view-container */
[b-c112yyovbn] .industrial-content {
  min-height: 0;
}

[b-c112yyovbn] .industrial-tabs .el-tabs__header {
  margin-bottom: 8px;
}

[b-c112yyovbn] .industrial-tabs .el-tabs__content {
  padding: 0;
}

[b-c112yyovbn] .field-hint {
  font-size: 12px;
  color: #909399;
  margin-top: 4px;
}

[b-c112yyovbn] .family-name-cell {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex-wrap: wrap;
}

[b-c112yyovbn] .family-name-cell__label {
  font-weight: 600;
  color: #111827;
}

[b-c112yyovbn] .family-name-cell__tag {
  flex-shrink: 0;
}

[b-c112yyovbn] .family-name-cell__count {
  font-size: 0.75rem;
  color: #9ca3af;
}

[b-c112yyovbn] .family-expand-panel {
  padding: 8px 12px 10px 44px;
  background: #fafafa;
}

[b-c112yyovbn] .family-expand-tree {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

[b-c112yyovbn] .family-expand-node {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

[b-c112yyovbn] .family-expand-node--sub {
  padding-left: 16px;
  border-left: 2px solid #e5e7eb;
}

[b-c112yyovbn] .family-expand-node__head {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

[b-c112yyovbn] .family-expand-node__label {
  font-weight: 600;
  color: #111827;
}

[b-c112yyovbn] .family-expand-node__count {
  font-size: 0.75rem;
  color: #9ca3af;
}

[b-c112yyovbn] .family-expand-empty {
  margin: 0;
  font-size: 0.8125rem;
  color: #9ca3af;
}

[b-c112yyovbn] .family-member-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

[b-c112yyovbn] .family-member-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.8125rem;
}

[b-c112yyovbn] .family-member-list__code {
  min-width: 72px;
  color: #6b7280;
  font-family: ui-monospace, monospace;
}

[b-c112yyovbn] .family-member-list__name {
  flex: 1;
  min-width: 0;
  font-weight: 600;
  color: #111827;
}

[b-c112yyovbn] .family-dialog__form .el-form-item {
  margin-bottom: 12px;
}

.family-dialog--wide[b-c112yyovbn]  .el-dialog__body {
  padding-top: 12px;
  max-height: calc(92vh - 130px);
  overflow: hidden;
}

[b-c112yyovbn] .family-editor-layout {
  display: grid;
  grid-template-columns: minmax(280px, 320px) minmax(0, 1fr);
  gap: 16px;
  min-height: 440px;
}

[b-c112yyovbn] .family-editor-sidebar {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

[b-c112yyovbn] .family-editor-sidebar__name {
  margin-bottom: 8px;
}

[b-c112yyovbn] .family-nav {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 0;
  flex: 1;
}

[b-c112yyovbn] .family-nav__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

[b-c112yyovbn] .family-nav__title {
  font-size: 0.75rem;
  font-weight: 600;
  color: #374151;
}

[b-c112yyovbn] .family-nav__list {
  flex: 1;
  min-height: 120px;
  max-height: min(320px, calc(92vh - 280px));
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 8px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fafafa;
}

[b-c112yyovbn] .family-nav__item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  text-align: left;
  transition: border-color 0.15s, background-color 0.15s;
}

[b-c112yyovbn] .family-nav__item:hover {
  border-color: #dbeafe;
}

[b-c112yyovbn] .family-nav__item.is-active {
  background: #eff6ff;
  border-color: #93c5fd;
}

[b-c112yyovbn] .family-nav__item-name {
  flex: 1;
  min-width: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #111827;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[b-c112yyovbn] .family-nav__sub {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 4px;
  align-items: center;
  padding: 6px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: #fff;
  transition: border-color 0.15s, background-color 0.15s;
}

[b-c112yyovbn] .subfamilies-block {
  margin-bottom: 8px;
}

[b-c112yyovbn] .subfamilies-block__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

[b-c112yyovbn] .subfamilies-block__label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #374151;
}

[b-c112yyovbn] .family-nav__list--dialog {
  max-height: min(360px, 50vh);
}

[b-c112yyovbn] .family-nav__sub:hover {
  border-color: #dbeafe;
}

[b-c112yyovbn] .family-nav__sub.is-active {
  background: #eff6ff;
  border-color: #93c5fd;
}

[b-c112yyovbn] .family-nav__count {
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: #f3f4f6;
  color: #6b7280;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 22px;
  text-align: center;
}

[b-c112yyovbn] .family-nav__sub.is-active .family-nav__count, [b-c112yyovbn] .family-nav__item.is-active .family-nav__count {
  background: #dbeafe;
  color: #1d4ed8;
}

[b-c112yyovbn] .family-nav__empty {
  margin: 8px 4px;
  font-size: 0.75rem;
  color: #9ca3af;
  text-align: center;
}

[b-c112yyovbn] .family-editor-main {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
}

[b-c112yyovbn] .family-editor-main__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

[b-c112yyovbn] .family-editor-main__title {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #111827;
}

[b-c112yyovbn] .family-editor-main__hint {
  font-size: 0.72rem;
  color: #9ca3af;
  text-align: right;
}

[b-c112yyovbn] .membership-container {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

[b-c112yyovbn] .family-type-block {
  margin-bottom: 12px;
  padding: 10px 12px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fafafa;
}

[b-c112yyovbn] .family-type-block__label {
  margin: 0 0 8px;
  font-size: 0.75rem;
  font-weight: 600;
  color: #374151;
}

[b-c112yyovbn] .family-type-block__options {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.family-type-block__options[b-c112yyovbn]  .el-radio {
  align-items: flex-start;
  height: auto;
  margin-right: 0;
  white-space: normal;
}

[b-c112yyovbn] .family-type-block__option-title {
  display: block;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #111827;
  line-height: 1.3;
}

[b-c112yyovbn] .family-type-block__option-desc {
  display: block;
  margin-top: 2px;
  font-size: 0.75rem;
  color: #6b7280;
  line-height: 1.35;
}

[b-c112yyovbn] .family-path-preview {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding: 8px 10px;
  border-radius: 8px;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
}

[b-c112yyovbn] .family-path-preview__label {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6b7280;
  flex-shrink: 0;
}

[b-c112yyovbn] .family-path-preview__value {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #111827;
}

[b-c112yyovbn] .membership-hint {
  font-size: 12px;
  color: #6b7280;
  margin: 0;
}

@keyframes fadeIn-b-c112yyovbn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
/* /Components/Settings/MobileAppSettings.razor.rz.scp.css */
/* Porta de MobileAppSettings.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: settings-view-container */
[b-bsn4xf6l3s] .mobile-app-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

[b-bsn4xf6l3s] .mobile-app-card__content {
  min-width: 0;
}

[b-bsn4xf6l3s] .mobile-app-card__version {
  margin: 0 0 16px;
  font-size: 0.875rem;
  font-weight: 600;
  color: #8b6238;
}

[b-bsn4xf6l3s] .mobile-app-card__download {
  display: inline-block;
  color: #cb8e5c;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9375rem;
}

[b-bsn4xf6l3s] .mobile-app-card__download:hover {
  text-decoration: underline;
}

[b-bsn4xf6l3s] .mobile-app-card__qr {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  background: #f8fafc;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid rgba(139, 98, 56, 0.08);
}

[b-bsn4xf6l3s] .mobile-app-card__qr-title {
  margin: 12px 0 0;
  font-weight: 500;
  color: #64748b;
  font-size: 0.75rem;
}

@media (max-width: 720px) {
    [b-bsn4xf6l3s] .mobile-app-card {
        flex-direction: column;
        align-items: stretch;
      }

    [b-bsn4xf6l3s] .mobile-app-card__qr {
        align-self: center;
      }
}
/* /Components/Settings/NfcCardsSettings.razor.rz.scp.css */
/* Porta de NfcCardsSettings.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: settings-view-container */
[b-noqtucld5p] .full-width {
  width: 100%;
}

[b-noqtucld5p] .nfc-user-cell {
  display: grid;
  gap: 3px;
  min-width: 0;
}

[b-noqtucld5p] .nfc-user-cell strong, [b-noqtucld5p] .nfc-user-option strong {
  color: #2f3136;
  font-weight: 700;
}

[b-noqtucld5p] .nfc-user-cell span, [b-noqtucld5p] .nfc-user-option span {
  color: #7b8190;
  font-size: 12px;
}

[b-noqtucld5p] .nfc-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

[b-noqtucld5p] .nfc-read-card-button {
  --el-button-bg-color: #ffffff;
  --el-button-border-color: #d1d5db;
  --el-button-text-color: #4b5563;
  --el-button-hover-bg-color: #f9fafb;
  --el-button-hover-border-color: #9ca3af;
  --el-button-hover-text-color: #374151;
  border-radius: 8px;
  font-weight: 600;
}

[b-noqtucld5p] .nfc-toggle-button {
  background: #fff5f5;
  border-color: #ffb4b4;
  color: #f56c6c;
}

[b-noqtucld5p] .nfc-toggle-button:hover, [b-noqtucld5p] .nfc-toggle-button:focus {
  background: #ff6b6b;
  border-color: #ff6b6b;
  color: #ffffff;
}

[b-noqtucld5p] .nfc-toggle-button--off {
  background: #ff6b6b;
  border-color: #ff6b6b;
  color: #ffffff;
  box-shadow: 0 6px 16px rgba(245, 108, 108, 0.28);
}

[b-noqtucld5p] .nfc-toggle-button--off:hover, [b-noqtucld5p] .nfc-toggle-button--off:focus {
  background: #e54d4d;
  border-color: #e54d4d;
  color: #ffffff;
}

[b-noqtucld5p] .nfc-user-option {
  display: grid;
  gap: 2px;
  line-height: 1.3;
  padding: 8px 0;
  min-height: 44px;
  align-content: center;
}

[b-noqtucld5p] .nfc-reader-button {
  width: 100%;
  min-height: 92px;
  border: 1px dashed #d6b785;
  border-radius: 14px;
  background: #fffaf2;
  color: #3f3f46;
  display: grid;
  grid-template-columns: 72px 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 14px 18px;
  cursor: text;
  text-align: left;
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    box-shadow 0.2s ease;
}

[b-noqtucld5p] .nfc-reader-button:hover, [b-noqtucld5p] .nfc-reader-button:focus, [b-noqtucld5p] .nfc-reader-button--focused {
  border-color: #d79a52;
  background: #f8ead4;
  box-shadow: 0 0 0 3px rgba(215, 154, 82, 0.12);
  outline: none;
}

[b-noqtucld5p] .nfc-reader-button__image-wrap {
  width: 64px;
  height: 64px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: #ffffff;
  border: 1px solid rgba(157, 98, 47, 0.14);
  overflow: hidden;
}

[b-noqtucld5p] .nfc-reader-button__image {
  width: 54px;
  height: 54px;
  object-fit: contain;
  display: block;
}

[b-noqtucld5p] .nfc-reader-button__text {
  font-size: 15px;
  font-weight: 700;
  color: #3f3f46;
}

[b-noqtucld5p] .nfc-reader-button__status {
  border-radius: 999px;
  background: #ffffff;
  color: #a86730;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 10px;
  white-space: nowrap;
}

[b-noqtucld5p] .nfc-reader-button__status--read {
  color: #2f8f54;
}

[b-noqtucld5p] .nfc-hidden-input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

[b-noqtucld5p] .nfc-read-dialog {
  display: grid;
  gap: 18px;
}

[b-noqtucld5p] .nfc-read-result {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #ffffff;
}

[b-noqtucld5p] .nfc-read-result > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

[b-noqtucld5p] .nfc-read-result span {
  color: #7b8190;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

[b-noqtucld5p] .nfc-read-result strong {
  color: #2f3136;
  font-size: 14px;
  font-weight: 700;
  overflow-wrap: anywhere;
}

[b-noqtucld5p] .nfc-read-result small {
  color: #7b8190;
  font-size: 12px;
  overflow-wrap: anywhere;
}

[b-noqtucld5p] .nfc-user-select-dropdown .el-select-dropdown__item {
  height: auto;
  min-height: 58px;
  padding-top: 4px;
  padding-bottom: 4px;
  line-height: normal;
}

[b-noqtucld5p] .nfc-user-select-dropdown .el-select-dropdown__item.is-hovering {
  background-color: #f5f7fa;
}

[b-noqtucld5p] .nfc-card-dialog {
  border-radius: 14px;
}

[b-noqtucld5p] .nfc-card-dialog .el-dialog__header {
  padding: 18px 20px 8px;
  margin-right: 0;
}

[b-noqtucld5p] .nfc-card-dialog .el-dialog__title {
  font-size: 20px;
  font-weight: 600;
  color: #3f3f46;
}

[b-noqtucld5p] .nfc-card-dialog .el-dialog__body {
  padding: 6px 20px 16px;
}

[b-noqtucld5p] .nfc-card-dialog .el-dialog__footer {
  padding: 8px 20px 18px;
}

[b-noqtucld5p] .nfc-card-dialog-form {
  padding-top: 4px;
}

[b-noqtucld5p] .nfc-card-dialog-form .el-form-item {
  margin-bottom: 18px;
}

[b-noqtucld5p] .nfc-card-dialog-form .el-form-item__label {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  color: #5b5f66;
  font-size: 14px;
  font-weight: 600;
  padding-right: 14px;
  line-height: 1.2;
  min-height: 42px;
}

[b-noqtucld5p] .nfc-card-dialog-form .el-input__wrapper, [b-noqtucld5p] .nfc-card-dialog-form .el-select__wrapper {
  min-height: 42px;
  border-radius: 8px;
}

[b-noqtucld5p] .nfc-card-dialog-cancel {
  min-width: 110px;
}

@media (max-width: 640px) {
    [b-noqtucld5p] .nfc-read-result {
        grid-template-columns: 1fr;
      }
}
/* /Components/Settings/PermissionsSettings.razor.rz.scp.css */
/* Porta de PermissionsSettings.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: settings-view-container */
[b-rsfixyobnx] .table-card {
  border-radius: 24px;
  overflow: hidden;
}

[b-rsfixyobnx] .el-dialog.app-premium-dialog {
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.15);
}

[b-rsfixyobnx] .app-premium-dialog .el-dialog__header {
  padding: 24px 32px;
  margin: 0;
  border-bottom: 1px solid rgba(0,0,0,0.05);
}

[b-rsfixyobnx] .app-premium-dialog .el-dialog__title {
  font-size: 20px;
  font-weight: 800;
  color: var(--espresso);
}

[b-rsfixyobnx] .app-premium-dialog .el-dialog__body {
  padding: 32px;
}

[b-rsfixyobnx] .form-grid {
  display: grid;
  grid-template-columns: auto 1fr 1fr;
  gap: 16px;
  align-items: flex-start;
}

[b-rsfixyobnx] .assigned-name-cell {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--espresso);
  font-weight: 600;
  font-size: 13px;
}

[b-rsfixyobnx] .assigned-icon {
  font-size: 16px;
  color: var(--wheat);
}

[b-rsfixyobnx] .assigned-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 180px;
}

[b-rsfixyobnx] .not-assigned {
  color: #909399;
  font-style: italic;
  font-size: 13px;
}

[b-rsfixyobnx] .form-help {
  margin: 6px 0 0;
  font-size: 11px;
  color: #909399;
  font-style: italic;
  line-height: 1.3;
}

[b-rsfixyobnx] .permissions-section {
  margin-top: 32px;
}

[b-rsfixyobnx] .section-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(0,0,0,0.05);
}

[b-rsfixyobnx] .section-title {
  font-size: 16px;
  font-weight: 800;
  color: var(--espresso);
  margin: 0;
}

[b-rsfixyobnx] .section-subtitle {
  font-size: 13px;
  color: #909399;
  margin: 4px 0 0;
}

[b-rsfixyobnx] .section-controls {
  display: flex;
  gap: 12px;
  align-items: center;
}

[b-rsfixyobnx] .permissions-table-container {
  border: 1px solid rgba(139, 98, 56, 0.1);
  border-radius: 16px;
  max-height: 420px;
  overflow-y: auto;
  background: #ffffff;
}

[b-rsfixyobnx] .perms-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

[b-rsfixyobnx] .perms-table th {
  position: sticky;
  top: 0;
  background: #fdfaf5;
  z-index: 10;
  padding: 16px 20px;
  color: var(--espresso);
  font-size: 11px;
  font-weight: 800;
  border-bottom: 1px solid rgba(139, 98, 56, 0.1);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

[b-rsfixyobnx] .perms-table td {
  padding: 14px 20px;
  border-bottom: 1px solid rgba(139, 98, 56, 0.05);
  font-size: 14px;
  vertical-align: middle;
}

[b-rsfixyobnx] .perms-table tr:hover td {
  background-color: rgba(253, 250, 245, 0.5);
}

[b-rsfixyobnx] .text-left { text-align: left !important; width: 220px; }

[b-rsfixyobnx] .text-center { text-align: center !important; }

[b-rsfixyobnx] .entity-name {
  font-weight: 700;
  color: var(--espresso);
  display: flex;
  align-items: center;
  gap: 12px;
}

[b-rsfixyobnx] .entity-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--wheat);
  flex-shrink: 0;
}

[b-rsfixyobnx] .perms-table .el-checkbox__inner {
  border-width: 2px;
  width: 18px;
  height: 18px;
  border-color: rgba(139, 98, 56, 0.2);
}

[b-rsfixyobnx] .perms-table .el-checkbox__inner::after {
  border-width: 2px;
}

[b-rsfixyobnx] .perms-table .el-checkbox {
  height: auto;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}

[b-rsfixyobnx] .dialog-footer {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 24px 32px;
  background: #fdfaf5;
  border-top: 1px solid rgba(0,0,0,0.05);
}

[b-rsfixyobnx] .app-radio-pill .el-radio-button__inner {
  border-radius: 10px !important;
  margin-right: 8px !important;
  border: 1px solid #dcdfe6 !important;
  box-shadow: none !important;
}

[b-rsfixyobnx] .app-radio-pill .el-radio-button__original-radio:checked + .el-radio-button__inner {
  background-color: var(--wheat);
  border-color: var(--wheat) !important;
  color: white;
}

[b-rsfixyobnx] .system-cell {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

[b-rsfixyobnx] .creator-info {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}

[b-rsfixyobnx] .creator-label {
  font-size: 10px;
  color: #909399;
  text-transform: uppercase;
}

[b-rsfixyobnx] .creator-name {
  font-size: 12px;
  color: #606266;
  font-weight: 500;
}
/* /Components/Settings/PrintersSettings.razor.rz.scp.css */
/* Porta de PrintersSettings.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: settings-view-container */

[b-lrruvti86t] .full-width {
  width: 100%;
}

[b-lrruvti86t] .printer-dialog {
  border-radius: 14px;
}

[b-lrruvti86t] .printer-dialog .el-dialog__header {
  padding: 18px 20px 8px;
  margin-right: 0;
}

[b-lrruvti86t] .printer-dialog .el-dialog__title {
  font-size: 20px;
  font-weight: 600;
  color: #3f3f46;
}

[b-lrruvti86t] .printer-dialog .el-dialog__body {
  padding: 6px 20px 16px;
}

[b-lrruvti86t] .printer-dialog .el-dialog__footer {
  padding: 8px 20px 18px;
}

[b-lrruvti86t] .printer-dialog-form {
  padding-top: 4px;
}

[b-lrruvti86t] .printer-dialog-form .el-form-item {
  margin-bottom: 18px;
}

[b-lrruvti86t] .printer-dialog-form .el-form-item__label {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  color: #5b5f66;
  font-size: 14px;
  font-weight: 600;
  padding-right: 14px;
  line-height: 1.2;
  min-height: 42px;
}

[b-lrruvti86t] .printer-dialog-form .el-input__wrapper, [b-lrruvti86t] .printer-dialog-form .el-input-number, [b-lrruvti86t] .printer-dialog-form .el-select__wrapper {
  min-height: 42px;
  border-radius: 8px;
}

[b-lrruvti86t] .printer-dialog-form .el-input__inner, [b-lrruvti86t] .printer-dialog-form .el-input-number .el-input__inner, [b-lrruvti86t] .printer-dialog-form .el-select__placeholder {
  font-size: 14px;
}

[b-lrruvti86t] .printer-dialog-form .el-input-number .el-input__inner {
  text-align: left;
}

[b-lrruvti86t] .printer-dialog-cancel {
  min-width: 110px;
}
/* /Components/Settings/ProductDossierSettings.razor.rz.scp.css */
/* Porta de ProductDossierSettings.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: settings-view-container */
[b-vpypxivjg4] .form-section {
  padding: 10px 0;
}

[b-vpypxivjg4] .section-title {
  margin: 0 0 12px;
  font-size: 16px;
  color: var(--espresso);
}

[b-vpypxivjg4] .nested-section {
  margin-top: 12px;
  padding: 16px;
  border: 1px solid rgba(104, 76, 53, 0.12);
  border-radius: 14px;
  background: rgba(255, 252, 247, 0.7);
}

[b-vpypxivjg4] .nested-title {
  margin: 0 0 14px;
  font-size: 14px;
  color: rgba(61, 43, 31, 0.8);
}

[b-vpypxivjg4] .app-premium-footer {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 32px;
  padding-top: 16px;
  border-top: 1px solid rgba(104, 76, 53, 0.1);
}
/* /Components/Settings/ProductionLinesSettings.razor.rz.scp.css */
/* Porta de ProductionLinesSettings.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: settings-view-container */
[b-8jc7ts6h3o] .inline-color-editor {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  background: #f8fafc;
  padding: 16px;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
}

[b-8jc7ts6h3o] .custom-color-section {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 32px;
}

[b-8jc7ts6h3o] .hex-input-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  width: 100px;
}

[b-8jc7ts6h3o] .hex-input-wrapper span {
  font-size: 10px;
  font-weight: 700;
  color: #64748b;
}

.hex-input-wrapper[b-8jc7ts6h3o]  .el-input__inner {
  text-align: left;
  padding-left: 8px;
  font-family: monospace;
}

/* O bloco :global(.app-tutorial-target) do Vue já existe em wwwroot/css/style.css (não se repete). */
/* /Components/Settings/ProductivityRulesSettings.razor.rz.scp.css */
/* Porta de ProductivityRulesSettings.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: productivity-rules-settings */
.productivity-rules-settings[b-r6ptijo0bs] {
  padding: 16px;
}

[b-r6ptijo0bs] .settings-subpage-header {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 20px;
}

[b-r6ptijo0bs] .settings-subpage-header h1 {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--espresso);
}

[b-r6ptijo0bs] .create-btn {
  margin-left: auto;
}

[b-r6ptijo0bs] .settings-subpage-header p {
  margin: 6px 0 0;
  color: #6b7280;
  font-size: 0.875rem;
}

[b-r6ptijo0bs] .empty-state {
  border: 1px dashed #d1d5db;
  border-radius: 12px;
  padding: 24px;
  background: #fff;
}

[b-r6ptijo0bs] .empty-state h3 {
  margin: 0 0 6px;
  color: #111827;
}

[b-r6ptijo0bs] .empty-state p {
  margin: 0;
  color: #6b7280;
}

[b-r6ptijo0bs] .rules-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 12px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
/* /Components/Settings/ZplLayoutsSettings.razor.rz.scp.css */
/* Porta de ZplLayoutsSettings.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: settings-view-container */
[b-wj7oxi9sq9] .zpl-layouts-header-right {
  gap: 12px;
}

[b-wj7oxi9sq9] .full-width {
  width: 100%;
}

/* Omitida de propósito a regra "types-dialog-table" do Vue (margin-bottom de 12px): lá nunca apanha nada, porque a classe
   vai em <AppDataTable class="types-dialog-table"> e AppDataTable.vue tem inheritAttrs: false com v-bind="$attrs" no el-table
   interior — a classe fica no el-table e não na raiz (el-card), o único elemento do filho que recebe o atributo de scope
   deste componente, logo o seletor compilado com [data-v] nunca casa e a tabela do diálogo de tipos fica sem margem antes
   do el-divider. Reproduzi-la com "::deep" aplicaria 12px que o Vue nunca aplicou. A classe mantém-se no markup (DOM igual).
   Ver docs/desvios-vue.md. */

[b-wj7oxi9sq9] .stat-icon.generic {
  background: #fff7ed;
  color: #c05621;
}

[b-wj7oxi9sq9] .layout-editor-row {
  align-items: stretch;
}

[b-wj7oxi9sq9] .layout-preview-frame {
  min-height: 360px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  border: 1px dashed #d0d5dd;
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(248, 250, 252, 0.95), rgba(239, 246, 255, 0.9));
}

[b-wj7oxi9sq9] .layout-preview-image {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 10px;
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.12);
  cursor: zoom-in;
  background: #fff;
}

[b-wj7oxi9sq9] .layout-preview-empty {
  color: #667085;
  text-align: center;
  line-height: 1.5;
}

[b-wj7oxi9sq9] .layout-preview-actions {
  display: flex;
  justify-content: flex-end;
}

[b-wj7oxi9sq9] .preview-thumb-button {
  width: 68px;
  height: 68px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
  border: 1px solid #d0d5dd;
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

[b-wj7oxi9sq9] .preview-thumb-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
}

[b-wj7oxi9sq9] .preview-thumb-image {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

[b-wj7oxi9sq9] .preview-empty-text {
  color: #98a2b3;
  font-size: 12px;
}

[b-wj7oxi9sq9] .preview-dialog-content {
  display: flex;
  justify-content: center;
  padding: 8px 0 16px;
}

[b-wj7oxi9sq9] .preview-dialog-image {
  max-width: 100%;
  max-height: 70vh;
  object-fit: contain;
  border-radius: 12px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.16);
  background: #fff;
}

[b-wj7oxi9sq9] .zpl-layout-standalone-card {
  padding: 18px 20px 22px;
}

[b-wj7oxi9sq9] .layout-page-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid #edf2f7;
}

[b-wj7oxi9sq9] .layout-page-toolbar__back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #6b7280;
  font-size: 14px;
  cursor: pointer;
}

[b-wj7oxi9sq9] .layout-page-toolbar__actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

[b-wj7oxi9sq9] .layout-page-section-title {
  margin-top: 16px;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid #edf2f7;
  color: #2f6fec;
  font-size: 15px;
  font-weight: 600;
}

[b-wj7oxi9sq9] .layout-page-form {
  padding-top: 2px;
}

[b-wj7oxi9sq9] .layout-page-tabs {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-top: 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e6edf5;
}

[b-wj7oxi9sq9] .layout-page-tab {
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  padding: 0 0 10px;
  color: #556070;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  transition: color 0.2s ease, border-color 0.2s ease;
}

[b-wj7oxi9sq9] .layout-page-tab:hover {
  color: #2f6fec;
}

[b-wj7oxi9sq9] .layout-page-tab--active {
  border-bottom-color: #2f6fec;
  color: #2f6fec;
}

[b-wj7oxi9sq9] .layout-page-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.95fr) minmax(280px, 0.95fr);
  gap: 28px;
}

[b-wj7oxi9sq9] .layout-page-main, [b-wj7oxi9sq9] .layout-page-preview {
  min-width: 0;
}

[b-wj7oxi9sq9] .layout-page-preview__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
  font-size: 15px;
  font-weight: 600;
  color: #374151;
}

[b-wj7oxi9sq9] .layout-page-preview__actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

[b-wj7oxi9sq9] .layout-page-preview {
  display: flex;
  flex-direction: column;
}

[b-wj7oxi9sq9] .layout-preview-frame--page {
  min-height: 420px;
  max-height: 760px;
}

[b-wj7oxi9sq9] .layout-page-preview .layout-preview-image {
  width: auto;
  max-width: min(100%, 420px);
  max-height: min(68vh, 700px);
}

[b-wj7oxi9sq9] .layout-dimensions-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

[b-wj7oxi9sq9] .layout-clients-view {
  padding: 20px 0 6px;
}

[b-wj7oxi9sq9] .layout-clients-banner {
  margin: 0 auto 24px;
  max-width: 640px;
  border: 1px solid #dcefd8;
  border-radius: 14px;
  background: linear-gradient(180deg, #f4fbef 0%, #eef8e9 100%);
  padding: 14px 22px;
}

[b-wj7oxi9sq9] .layout-clients-banner__eyebrow {
  margin-bottom: 4px;
  color: #8b9b80;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

[b-wj7oxi9sq9] .layout-clients-banner__title {
  color: #334155;
  font-size: 14px;
  font-weight: 700;
}

[b-wj7oxi9sq9] .layout-clients-transfer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: stretch;
  gap: 26px;
  max-width: 760px;
  margin: 0 auto;
}

[b-wj7oxi9sq9] .layout-clients-panel {
  min-height: 410px;
  border: 1px solid #e4eaf2;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

[b-wj7oxi9sq9] .layout-clients-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid #edf2f7;
  background: #f8fafc;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
}

[b-wj7oxi9sq9] .layout-clients-search {
  padding: 14px 16px 10px;
}

[b-wj7oxi9sq9] .layout-clients-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: 286px;
  padding: 0 16px 16px;
  overflow-y: auto;
}

[b-wj7oxi9sq9] .layout-clients-list .el-checkbox {
  margin-right: 0;
  align-items: flex-start;
}

[b-wj7oxi9sq9] .layout-clients-list .el-checkbox__label {
  white-space: normal;
  line-height: 1.4;
  color: #475467;
}

[b-wj7oxi9sq9] .layout-clients-transfer__actions {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
}

[b-wj7oxi9sq9] .layout-clients-transfer__actions .el-button {
  width: 46px;
  height: 46px;
  margin: 0;
  border-color: #b9d6ff;
  color: #2f6fec;
  background: #eef5ff;
}

[b-wj7oxi9sq9] .layout-clients-actions {
  display: flex;
  justify-content: center;
  margin-top: 28px;
}

@media (max-width: 1100px) {
    [b-wj7oxi9sq9] .layout-page-grid {
        grid-template-columns: 1fr;
    }

    [b-wj7oxi9sq9] .layout-preview-frame--page {
        min-height: 320px;
    }

    [b-wj7oxi9sq9] .layout-clients-transfer {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    [b-wj7oxi9sq9] .layout-clients-transfer__actions {
        flex-direction: row;
    }

    [b-wj7oxi9sq9] .layout-clients-panel {
        min-height: 320px;
    }
}

@media (max-width: 720px) {
    [b-wj7oxi9sq9] .layout-page-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    [b-wj7oxi9sq9] .layout-page-toolbar__actions {
        justify-content: flex-end;
        flex-wrap: wrap;
    }

    [b-wj7oxi9sq9] .layout-page-tabs {
        gap: 18px;
        overflow-x: auto;
    }

    [b-wj7oxi9sq9] .layout-dimensions-row {
        grid-template-columns: 1fr;
    }
}
/* /Components/Traceability/TraceabilityNodeCard.razor.rz.scp.css */
/* Porta de TraceabilityNodeCard.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: traceability-node-card */
.traceability-node-card[b-n00kym7rvu] {
  width: 210px;
  background: #ffffff;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
  padding: 10px;
  box-shadow: 
    0 4px 6px -1px rgba(0, 0, 0, 0.05),
    0 2px 4px -1px rgba(0, 0, 0, 0.03);
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  user-select: none;
}

.traceability-node-card:hover[b-n00kym7rvu] {
  transform: translateY(-4px);
  box-shadow: 
    0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -2px rgba(0, 0, 0, 0.05);
  border-color: #3b82f6;
}

.traceability-node-card.is-active[b-n00kym7rvu] {
  background: linear-gradient(135deg, #ffffff 0%, #f0f7ff 100%);
  border: 2px solid #3b82f6;
  box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.15);
}

[b-n00kym7rvu] .card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

[b-n00kym7rvu] .node-date {
  font-size: 10px;
  color: #94a3b8;
  font-weight: 500;
}

[b-n00kym7rvu] .more-icon {
  font-size: 14px;
  color: #cbd5e1;
  cursor: pointer;
}

[b-n00kym7rvu] .more-icon:hover {
  color: #64748b;
}

[b-n00kym7rvu] .card-body {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

[b-n00kym7rvu] .product-header-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}

[b-n00kym7rvu] .type-badge {
  display: inline-flex;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  width: fit-content;
  border: 1px solid #e2e8f0;
  color: #64748b;
}

[b-n00kym7rvu] .type-badge.is-production {
  background: #f0fff4;
  color: #38a169;
  border-color: #c6f6d5;
}

[b-n00kym7rvu] .type-badge.is-purchase {
  background: #fffaf0;
  color: #dd6b20;
  border-color: #feebc8;
}

[b-n00kym7rvu] .type-badge.is-packaging {
  background: #f7fee7;
  color: #4d7c0f;
  border-color: #d9f99d;
}

[b-n00kym7rvu] .type-badge.is-intermediate {
  background: #f0f5ff;
  color: #4c51bf;
  border-color: #c3dafe;
}

[b-n00kym7rvu] .type-badge.is-sale {
  background: #ebf8ff;
  color: #2b6cb0;
  border-color: #bee3f8;
}

[b-n00kym7rvu] .type-badge.is-packaging {
  background: #faf5ff;
  color: #6b46c1;
  border-color: #e9d8fd;
}

[b-n00kym7rvu] .type-badge.is-resource {
  background: #f1f5f9;
  color: #475569;
  border-color: #cbd5e1;
}

[b-n00kym7rvu] .product-name {
  font-size: 13px;
  font-weight: 800;
  color: #1e293b;
  text-transform: uppercase;
  line-height: 1.25;
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[b-n00kym7rvu] .product-code {
  display: flex;
  gap: 4px;
  font-size: 11px;
  color: #64748b;
}

[b-n00kym7rvu] .product-code .label {
  color: #94a3b8;
}

[b-n00kym7rvu] .product-code .value {
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[b-n00kym7rvu] .lot-info {
  display: flex;
  gap: 4px;
  font-size: 11px;
}

[b-n00kym7rvu] .lot-info .label {
  color: #94a3b8;
}

[b-n00kym7rvu] .lot-info .value.clickable {
  cursor: pointer;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  color: #2563eb;
}

[b-n00kym7rvu] .lot-info .value.clickable:hover {
  color: #1e40af;
  text-decoration-thickness: 2px;
}

[b-n00kym7rvu] .quantity-primary {
  display: flex;
  align-items: baseline;
  gap: 4px;
  color: #0f172a;
}

[b-n00kym7rvu] .quantity-primary .label {
  font-size: 11px;
  font-weight: 500;
  color: #94a3b8;
}

[b-n00kym7rvu] .quantity-primary .value {
  font-size: 14px;
  font-weight: 800;
}

[b-n00kym7rvu] .quantity-secondary {
  font-size: 11px;
  color: #64748b;
  font-weight: 500;
}

[b-n00kym7rvu] .process-info {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px dashed #e2e8f0;
  display: flex;
  align-items: center;
  gap: 6px;
}

[b-n00kym7rvu] .process-icon {
  font-size: 13px;
  color: #94a3b8;
}

[b-n00kym7rvu] .process-val {
  font-size: 11px;
  font-weight: 600;
  color: #64748b;
  font-style: italic;
}

[b-n00kym7rvu] .role-badge {
  position: absolute;
  top: -6px;
  right: 12px;
  font-size: 9px;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  z-index: 10;
}

[b-n00kym7rvu] .role-input {
  background: #3b82f6;
  color: white;
}

[b-n00kym7rvu] .role-output {
  background: #10b981;
  color: white;
}

[b-n00kym7rvu] .role-source {
  background: #f59e0b;
  color: white;
}

[b-n00kym7rvu] .role-selected {
  background: #6366f1;
  color: white;
}

[b-n00kym7rvu] .role-resource {
  background: #475569;
  color: white;
}
/* /Layout/AppSidebar.razor.rz.scp.css */
/* Sidebar = DeTrigo.Next MainLayout (.sidebar): verde industrial, marcas de letra, ativo creme. */

.app-sidebar[b-twgl344qnj] {
  width: 260px;
  min-width: 260px;
  height: 100vh;
  padding: var(--e-5) var(--e-4);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: var(--cor-barra-texto);
  background: linear-gradient(180deg, var(--cor-barra) 0%, var(--cor-barra-fundo) 100%);
  font-family: var(--letra);
  position: sticky;
  top: 0;
  transition: width var(--transicao), min-width var(--transicao), padding var(--transicao);
}

.app-sidebar--collapsed[b-twgl344qnj] {
  width: 74px;
  min-width: 74px;
  padding: var(--e-5) var(--e-3);
}

[b-twgl344qnj] .app-sidebar__logo {
  margin-bottom: var(--e-6);
  min-height: var(--alvo-min);
}

[b-twgl344qnj] .app-sidebar__logo-link {
  display: flex;
  align-items: center;
  gap: var(--e-3);
  color: inherit;
  text-decoration: none;
  min-height: var(--alvo-min);
}

[b-twgl344qnj] .app-sidebar__logo-link:focus-visible {
  outline: 2px solid var(--cor-barra-realce);
  outline-offset: 2px;
}

[b-twgl344qnj] .app-sidebar__brand-mark {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: var(--alvo-min);
  height: var(--alvo-min);
  border-radius: var(--raio-m);
  background: var(--cor-barra-marca);
  color: var(--cor-barra);
  font-weight: var(--peso-forte);
  font-size: var(--t-s);
}

[b-twgl344qnj] .app-sidebar__brand-name {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

[b-twgl344qnj] .app-sidebar__brand-name strong {
  display: block;
  font-size: var(--t-l);
  line-height: var(--altura-apertada);
  font-weight: var(--peso-forte);
}

[b-twgl344qnj] .app-sidebar__brand-name small {
  display: block;
  color: var(--cor-barra-texto-suave);
  font-size: var(--t-xs);
}

.app-sidebar--collapsed[b-twgl344qnj]  .app-sidebar__brand-name,
.app-sidebar--collapsed[b-twgl344qnj]  .app-sidebar__profile-text,
.app-sidebar--collapsed[b-twgl344qnj]  .app-sidebar__nav-section,
.app-sidebar--collapsed[b-twgl344qnj]  .app-sidebar__logout .app-sidebar__logout-label {
  display: none;
}

.app-sidebar--collapsed[b-twgl344qnj]  .app-sidebar__logo-link,
.app-sidebar--collapsed[b-twgl344qnj]  .app-sidebar__item,
.app-sidebar--collapsed[b-twgl344qnj]  .app-sidebar__logout {
  justify-content: center;
  padding-left: 0;
  padding-right: 0;
}

[b-twgl344qnj] .app-sidebar__nav {
  flex: 1;
  display: grid;
  gap: var(--e-1);
  overflow-y: auto;
  overflow-x: hidden;
  align-content: start;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.18) transparent;
}

[b-twgl344qnj] .app-sidebar__nav::-webkit-scrollbar {
  width: 4px;
}

[b-twgl344qnj] .app-sidebar__nav::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.18);
  border-radius: 4px;
}

[b-twgl344qnj] .app-sidebar__nav-section {
  margin: var(--e-4) var(--e-3) var(--e-1);
  color: var(--cor-barra-texto-suave);
  font-size: var(--t-xs);
  font-weight: var(--peso-forte);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

[b-twgl344qnj] .app-sidebar__item {
  display: flex;
  align-items: center;
  gap: var(--e-3);
  min-height: var(--alvo-min);
  padding: 0 var(--e-3);
  border-radius: var(--raio-s);
  color: var(--cor-barra-texto-suave);
  text-decoration: none;
  font-family: var(--letra);
  font-size: var(--t-m);
  font-weight: var(--peso-normal);
  line-height: var(--altura-apertada);
  border: 0;
  white-space: nowrap;
  transition: background var(--transicao), color var(--transicao);
}

[b-twgl344qnj] .app-sidebar__item:hover:not(.app-sidebar__item--disabled):not(.app-sidebar__item--active) {
  color: var(--cor-barra-texto);
  background: rgba(255, 255, 255, 0.08);
}

[b-twgl344qnj] .app-sidebar__item:focus-visible {
  outline: 2px solid var(--cor-barra-realce);
  outline-offset: 2px;
}

[b-twgl344qnj] .app-sidebar__item--active {
  color: var(--cor-barra) !important;
  background: var(--cor-barra-realce) !important;
  font-weight: var(--peso-forte);
}

[b-twgl344qnj] .app-sidebar__item--disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

[b-twgl344qnj] .app-sidebar__item .el-icon {
  flex: 0 0 auto;
  width: 1.25em;
  height: 1.25em;
  font-size: 18px;
  color: inherit;
}

[b-twgl344qnj] .app-sidebar__item--active .el-icon {
  color: var(--cor-barra);
}

[b-twgl344qnj] .app-sidebar__logout .el-icon {
  font-size: 16px;
}

[b-twgl344qnj] .app-sidebar--collapsed .app-sidebar__logout .el-icon {
  margin: 0;
}

[b-twgl344qnj] .app-sidebar__footer {
  margin-top: auto;
  display: grid;
  gap: var(--e-1);
  padding-top: var(--e-4);
}

[b-twgl344qnj] .app-sidebar__profile {
  display: flex;
  align-items: center;
  gap: var(--e-3);
  min-height: var(--alvo-min);
  padding: 0 var(--e-3);
  width: 100%;
  border: 0;
  border-radius: var(--raio-s);
  background: transparent;
  color: inherit;
  cursor: pointer;
  text-align: left;
  font-family: var(--letra);
}

[b-twgl344qnj] .app-sidebar__profile:hover {
  background: rgba(255, 255, 255, 0.08);
}

[b-twgl344qnj] .app-sidebar__avatar {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  border-radius: var(--raio-m);
  background: var(--cor-marca-clara);
  color: var(--cor-barra-texto);
  font-size: var(--t-s);
  font-weight: var(--peso-forte);
}

[b-twgl344qnj] .app-sidebar__profile-name {
  margin: 0;
  color: var(--cor-barra-texto);
  font-size: var(--t-s);
  font-weight: var(--peso-forte);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[b-twgl344qnj] .app-sidebar__profile-meta {
  margin: 0;
  color: var(--cor-barra-texto-suave);
  font-size: var(--t-xs);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[b-twgl344qnj] .app-sidebar__logout {
  display: flex !important;
  align-items: center;
  gap: var(--e-3);
  min-height: var(--alvo-min);
  padding: 0 var(--e-3) !important;
  width: 100%;
  border-radius: var(--raio-s);
  color: var(--cor-barra-texto-suave) !important;
  font-size: var(--t-m) !important;
  font-weight: var(--peso-normal) !important;
  justify-content: flex-start;
  background: transparent !important;
  border: 0 !important;
}

[b-twgl344qnj] .app-sidebar__logout:hover {
  color: var(--cor-barra-texto) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

@media (max-width: 1024px) {
  .app-sidebar[b-twgl344qnj],
  .app-sidebar--collapsed[b-twgl344qnj] {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 60;
    width: min(300px, 84vw);
    min-width: 0;
    height: 100dvh;
    padding: calc(var(--altura-topo) + var(--e-3)) var(--e-4) var(--e-5);
    transform: translateX(-100%);
    transition: transform var(--transicao);
    overflow-y: auto;
  }

  :global(.app-shell.is-menu-open) .app-sidebar[b-twgl344qnj],
  :global(.app-shell.is-menu-open) .app-sidebar--collapsed[b-twgl344qnj] {
    transform: translateX(0);
  }

  [b-twgl344qnj] .app-sidebar__logo {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .app-sidebar[b-twgl344qnj] {
    transition: none;
  }
}

/* Estilo Enki: pill de pesquisa (Ctrl K), itens arredondados e barra de realce no ativo. */
.app-sidebar__search[b-twgl344qnj] {
  display: flex;
  align-items: center;
  gap: var(--e-2);
  width: 100%;
  height: 42px;
  margin: 0 0 var(--e-3);
  padding: 0 10px 0 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.07);
  color: var(--cor-barra-texto-suave);
  font: var(--t-s) var(--letra);
  cursor: pointer;
  box-sizing: border-box;
  transition: background var(--transicao), border-color var(--transicao), color var(--transicao);
}

.app-sidebar__search span[b-twgl344qnj] {
  flex: 1;
  min-width: 0;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-sidebar__search:hover[b-twgl344qnj] {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.22);
  color: var(--cor-barra-texto);
}

.app-sidebar__search:focus-visible[b-twgl344qnj] {
  outline: 2px solid var(--cor-barra-realce);
  outline-offset: 2px;
}

.app-sidebar__search kbd[b-twgl344qnj] {
  flex: none;
  padding: 2px 5px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.2);
  font: 600 10px var(--letra);
  line-height: 1.2;
}

.app-sidebar--collapsed .app-sidebar__search[b-twgl344qnj] {
  width: 44px;
  margin: 0 auto var(--e-3);
  padding: 0;
  justify-content: center;
}

[b-twgl344qnj] .app-sidebar__item {
  border-radius: 10px;
}

/* Logótipo no topo: cartão suave com separador inferior. */
[b-twgl344qnj] .app-sidebar__logo {
  margin: 0 0 var(--e-4);
  padding-bottom: var(--e-4);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

[b-twgl344qnj] .app-sidebar__logo-link {
  justify-content: center;
  padding: var(--e-2);
  border-radius: 10px;
  transition: background var(--transicao);
}

[b-twgl344qnj] .app-sidebar__logo-link:hover {
  background: rgba(255, 255, 255, 0.06);
}

[b-twgl344qnj] .app-sidebar__brand-logo {
  display: block;
  width: 100%;
  max-width: 104px;
  height: auto;
  max-height: 34px;
  object-fit: contain;
  /* Realça o laranja do logótipo sobre o verde escuro. */
  filter: brightness(1.12) saturate(1.1);
}

.app-sidebar--collapsed[b-twgl344qnj]  .app-sidebar__logo-link {
  padding: 0;
  background: transparent;
  border-color: transparent;
}

/* Itens: espaçamento e ícones mais arejados. */
[b-twgl344qnj] .app-sidebar__nav {
  gap: 2px;
  padding-right: 2px;
}

[b-twgl344qnj] .app-sidebar__item {
  min-height: 42px;
}

[b-twgl344qnj] .app-sidebar__item .el-icon {
  opacity: 0.85;
}

[b-twgl344qnj] .app-sidebar__item--active .el-icon {
  opacity: 1;
}

[b-twgl344qnj] .app-sidebar__item--active {
  box-shadow: inset 3px 0 0 var(--cor-destaque), 0 4px 14px rgba(0, 0, 0, 0.18);
}

[b-twgl344qnj] .app-sidebar__nav-section {
  display: flex;
  align-items: center;
  gap: var(--e-2);
}

[b-twgl344qnj] .app-sidebar__nav-section::after {
  content: "";
  flex: 1;
  height: 1px;
  background: rgba(255, 255, 255, 0.1);
}

/* Rodapé: utilizador num cartão, separado da navegação. */
[b-twgl344qnj] .app-sidebar__footer {
  margin-top: var(--e-3);
  padding-top: var(--e-3);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

[b-twgl344qnj] .app-sidebar__profile {
  padding: var(--e-2) var(--e-3);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.05);
}

[b-twgl344qnj] .app-sidebar__profile:hover {
  background: rgba(255, 255, 255, 0.1);
}

.app-sidebar--collapsed[b-twgl344qnj]  .app-sidebar__profile {
  padding: var(--e-2) 0;
  justify-content: center;
}

[b-twgl344qnj] .app-sidebar__item--active {
  box-shadow: inset 3px 0 0 var(--cor-destaque);
}
/* /Layout/AppTabsBar.razor.rz.scp.css */
/* Porta de AppTabsBar.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: app-tabs-container */
.app-tabs-container[b-pyp37rirva] {
  display: flex;
  align-items: stretch;
  background: color-mix(in srgb, var(--cor-fundo, #f4f1ea) 88%, transparent);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--cor-linha, #ded8cc);
  position: relative;
  z-index: 10;
  flex-shrink: 0;
  height: 40px;
  max-height: 40px;
  min-height: 40px;
  overflow: hidden;
}

[b-pyp37rirva] .app-sidebar-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  background: transparent;
  border: none;
  width: 44px;
  flex: 0 0 44px;
  min-height: 40px;
  padding: 0;
  cursor: pointer;
  color: #5f6368;
  border-right: 1px solid rgba(0, 0, 0, 0.05);
  transition: all 0.2s ease;
}

[b-pyp37rirva] .app-sidebar-toggle:hover {
  background: #f8f9fa;
  color: #4b5563;
}

[b-pyp37rirva] .app-tabs-bar {
  flex: 1;
  padding: 0 10px;
  min-width: 0;
  display: flex;
  align-items: flex-end;
}

[b-pyp37rirva] .app-tabs-bar__scroll {
  display: flex;
  align-items: flex-end;
  gap: 4px;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  height: 100%;
  padding: 2px 0 0;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

[b-pyp37rirva] .app-tabs-bar__scroll::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

[b-pyp37rirva] .app-tabs-bar__tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 120px;
  max-width: 240px;
  padding: 6px 12px;
  margin-bottom: -1px;
  border: 1px solid transparent;
  border-bottom: none;
  border-radius: 10px 10px 0 0;
  background: transparent;
  color: var(--cor-texto-suave, #4d5b55);
  font-size: 13px;
  font-weight: 500;
  font-family: "Outfit", "Inter", system-ui, sans-serif;
  cursor: pointer;
  transition: all 0.2s ease;
  user-select: none;
  position: relative;
  height: 34px;
}

[b-pyp37rirva] .app-tabs-bar__tab:not(:last-child):not(.app-tabs-bar__tab--active):not(
    :has(+ .app-tabs-bar__tab--active)
  )::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 22px;
  width: 1px;
  background: rgba(0, 0, 0, 0.15); 
}

[b-pyp37rirva] .app-tabs-bar__tab:hover {
  background: var(--cor-superficie-suave, #faf8f4);
  color: var(--cor-texto, #17312b);
}

[b-pyp37rirva] .app-tabs-bar__tab--active {
  background: var(--cor-superficie, #ffffff);
  color: var(--cor-texto, #17312b);
  box-shadow: inset 0 2px 0 var(--cor-destaque, #8c5620);
  z-index: 5;
  font-weight: 600;
  border: 1px solid var(--cor-linha, #ded8cc);
  border-bottom: 1px solid var(--cor-superficie, #ffffff);
}

[b-pyp37rirva] .app-tabs-bar__tab--active::after {
  display: none;
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0px;
  height: 3px;
  background: var(--cor-destaque, #8c5620);
  border-radius: 4px 4px 0 0;
}

[b-pyp37rirva] .app-tabs-bar__label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[b-pyp37rirva] .app-tabs-bar__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  padding: 0;
  margin-left: 4px;
  border-radius: 50%;
  color: #a0aec0;
  flex-shrink: 0;
  transition: all 0.2s;
}

[b-pyp37rirva] .app-tabs-bar__close:hover {
  background: rgba(107, 114, 128, 0.14);
  color: #4b5563;
  transform: scale(1.1);
}

[b-pyp37rirva] .app-tabs-bar__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 30px;
  margin-bottom: 2px;
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  background: #fff;
  color: #5f6368;
  cursor: pointer;
  flex-shrink: 0;
}

[b-pyp37rirva] .app-tabs-bar__more:hover {
  background: #f8f9fa;
  color: #202124;
}

[b-pyp37rirva] .app-tabs-bar__tab--active .app-tabs-bar__close {
  color: #8c8c8c;
}

[b-pyp37rirva] .app-tabs-bar__tab--active .app-tabs-bar__close:hover {
  background: #e5e7eb;
  color: #374151;
}

[b-pyp37rirva] .app-tabs-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
}

[b-pyp37rirva] .app-tabs-icon-button {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #ffffff;
  color: #5f6368;
  cursor: pointer;
  transition: all 0.2s ease;
}

[b-pyp37rirva] .app-tabs-icon-button:hover {
  background: #f8f9fa;
  color: #202124;
  border-color: rgba(0, 0, 0, 0.15);
  transform: scale(1.05);
}

.app-tabs-notifications-button[b-pyp37rirva]  .el-badge__content {
  transform: translateY(-35%) translateX(55%);
}

[b-pyp37rirva] .notifications-panel {
  color: #111827;
}

[b-pyp37rirva] .notifications-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #eef2f7;
}

[b-pyp37rirva] .notifications-panel__header div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

[b-pyp37rirva] .notifications-panel__header strong {
  font-size: 14px;
  font-weight: 800;
}

[b-pyp37rirva] .notifications-panel__header span, [b-pyp37rirva] .notifications-panel__empty span, [b-pyp37rirva] .notification-item__content small {
  color: #64748b;
  font-size: 12px;
  font-weight: 600;
}

[b-pyp37rirva] .notifications-panel__refresh {
  border: 0;
  background: transparent;
  color: #1d5fa8;
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
}

[b-pyp37rirva] .notifications-panel__body {
  min-height: 180px;
  max-height: 460px;
  overflow: auto;
  padding-top: 8px;
}

[b-pyp37rirva] .notification-item {
  width: 100%;
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px 4px;
  border: 0;
  border-bottom: 1px solid #f1f5f9;
  background: transparent;
  cursor: pointer;
  text-align: left;
}

[b-pyp37rirva] .notification-item:hover {
  background: #f8fafc;
}

[b-pyp37rirva] .notification-item__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

[b-pyp37rirva] .notification-item__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

[b-pyp37rirva] .notification-item__content strong {
  overflow: hidden;
  color: #111827;
  font-size: 13px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[b-pyp37rirva] .notification-item__actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

[b-pyp37rirva] .notification-action {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border: 1px solid #e2e8f0;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
}

[b-pyp37rirva] .notification-action--approve {
  color: #15803d;
}

[b-pyp37rirva] .notification-action--approve:hover {
  background: #dcfce7;
  border-color: #bbf7d0;
}

[b-pyp37rirva] .notification-action--reject {
  color: #dc2626;
}

[b-pyp37rirva] .notification-action--reject:hover {
  background: #fee2e2;
  border-color: #fecaca;
}

[b-pyp37rirva] .notifications-panel__empty {
  min-height: 110px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 4px;
  text-align: center;
}

[b-pyp37rirva] .notifications-panel__empty strong {
  color: #111827;
  font-size: 14px;
  font-weight: 800;
}

[b-pyp37rirva] .global-search-panel {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

[b-pyp37rirva] .global-search-panel__results {
  min-height: 260px;
  max-height: 460px;
  overflow: auto;
}

[b-pyp37rirva] .global-search-result {
  width: 100%;
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 11px 8px;
  border: 0;
  border-bottom: 1px solid #f1f5f9;
  background: #fff;
  cursor: pointer;
  text-align: left;
}

[b-pyp37rirva] .global-search-result:hover {
  background: #f8fafc;
}

[b-pyp37rirva] .global-search-result__label {
  width: fit-content;
  max-width: 96px;
  padding: 4px 7px;
  border-radius: 4px;
  background: #eef2f7;
  color: #475569;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

[b-pyp37rirva] .global-search-result__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

[b-pyp37rirva] .global-search-result__content strong {
  overflow: hidden;
  color: #111827;
  font-size: 14px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[b-pyp37rirva] .global-search-result__content small {
  overflow: hidden;
  color: #64748b;
  font-size: 12px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[b-pyp37rirva] .global-search-panel__empty {
  min-height: 240px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 5px;
  color: #64748b;
  text-align: center;
}

[b-pyp37rirva] .global-search-panel__empty strong {
  color: #111827;
  font-size: 15px;
  font-weight: 850;
}

[b-pyp37rirva] .global-search-panel__empty span {
  font-size: 13px;
  font-weight: 600;
}
/* /Pages/Dashboard/Dashboard.razor.rz.scp.css */
/* Porta de DashboardView.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: dashboard-page */
.dashboard-page[b-6tnuj986cf] {
  min-height: 100%;
  padding: 14px 16px 20px;
  background: #f8fafc;
  color: #1e293b;
}

[b-6tnuj986cf] .dashboard-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

[b-6tnuj986cf] .dashboard-header__title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #0f172a;
}

[b-6tnuj986cf] .dashboard-header__subtitle {
  margin: 2px 0 0;
  font-size: 0.8125rem;
  color: #64748b;
}

[b-6tnuj986cf] .dashboard-header__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

[b-6tnuj986cf] .layout-mode {
  display: inline-flex;
  padding: 3px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
}

[b-6tnuj986cf] .layout-mode button {
  padding: 5px 12px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #64748b;
  font: inherit;
  font-size: 0.8125rem;
  font-weight: 700;
  cursor: pointer;
}

[b-6tnuj986cf] .layout-mode button.is-active {
  background: #0f172a;
  color: #fff;
}

[b-6tnuj986cf] .dashboard-empty {
  margin: 0 0 16px;
  font-size: 0.8125rem;
  color: #94a3b8;
}

[b-6tnuj986cf] .widget-board {
  width: 100%;
}

[b-6tnuj986cf] .widget-board.mode-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 10px;
  
  align-items: stretch;
  grid-auto-flow: row dense;
}

[b-6tnuj986cf] .widget-board.mode-free {
  position: relative;
}

[b-6tnuj986cf] .widget-board.is-sorting {
  cursor: grabbing;
}

[b-6tnuj986cf] .stat-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 1px 2px rgb(15 23 42 / 0.04);
}

[b-6tnuj986cf] .stat-card.is-clickable {
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

[b-6tnuj986cf] .stat-card.is-clickable:hover {
  border-color: #c7d2fe;
  box-shadow: 0 4px 12px rgb(15 23 42 / 0.08);
}

[b-6tnuj986cf] .stat-card__icon {
  width: 32px;
  height: 32px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 15px;
  flex-shrink: 0;
}

[b-6tnuj986cf] .stat-card__label {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 600;
  color: #64748b;
}

[b-6tnuj986cf] .stat-card__value {
  margin: 1px 0 0;
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.1;
  color: #0f172a;
}

[b-6tnuj986cf] .stat-card__hint {
  margin: 2px 0 0;
  font-size: 0.6875rem;
  color: #94a3b8;
}

@media (max-width: 640px) {
    .dashboard-page[b-6tnuj986cf] {
        padding: 16px;
      }

    [b-6tnuj986cf] .dashboard-header__actions {
        width: 100%;
      }
}
/* /Pages/Documents/CreateDocument.razor.rz.scp.css */
/* Porta de CreateDocumentView.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: app-premium-page */
[b-3n02y6795r] .documents-barcode-btn-icon {
  margin-right: 6px;
  vertical-align: text-bottom;
}

[b-3n02y6795r] .is-invalid-select .el-select__wrapper, [b-3n02y6795r] .is-invalid-select .el-input__wrapper {
  box-shadow: 0 0 0 1px var(--el-color-danger, #f56c6c) inset !important;
}

[b-3n02y6795r] .field-with-settings {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}

[b-3n02y6795r] .field-with-settings__btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: 1px solid var(--el-border-color);
  border-radius: 50%;
  background: var(--el-fill-color-blank);
  color: var(--el-text-color-regular);
  cursor: pointer;
  padding: 0;
}

[b-3n02y6795r] .field-with-settings__btn:hover {
  color: var(--el-color-primary);
  border-color: var(--el-color-primary-light-5);
}

[b-3n02y6795r] .field-with-settings__control {
  flex: 1;
  min-width: 0;
}

/* Linhas com Lote+Validade: scroll horizontal sem cortar Ações / datepicker */
[b-3n02y6795r] .document-lines-scroll {
  width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 4px;
}

[b-3n02y6795r] .document-lines-table {
  min-width: 960px;
}

[b-3n02y6795r] .document-lines-table .el-table__body-wrapper,
[b-3n02y6795r] .document-lines-table .el-table__header-wrapper {
  overflow: visible;
}

[b-3n02y6795r] .app-premium-footer {
  flex-wrap: wrap;
  gap: 10px;
}

[b-3n02y6795r] .app-premium-footer .el-button {
  flex-shrink: 0;
  white-space: nowrap;
}

@media (max-width: 900px) {
  [b-3n02y6795r] .document-lines-table {
    min-width: 720px;
  }
}
/* /Pages/Documents/DocumentsList.razor.rz.scp.css */
/* Porta de DocumentsListView.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: technical-sheets-page */
[b-sx570nfn8u] .stats-overview .stat-card {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
}

[b-sx570nfn8u] .stats-overview .stat-content {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 62px;
}

[b-sx570nfn8u] .stats-overview .stat-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}

[b-sx570nfn8u] .stats-overview .stat-icon.blue {
  background: #ebf8ff;
  color: #3182ce;
}

[b-sx570nfn8u] .stats-overview .stat-icon.green {
  background: #f0fff4;
  color: #38a169;
}

[b-sx570nfn8u] .stats-overview .stat-icon.orange {
  background: #fff7ed;
  color: #dd6b20;
}

[b-sx570nfn8u] .stats-overview .stat-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

[b-sx570nfn8u] .stats-overview .stat-info .label {
  display: block;
  font-size: 12px;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.1;
}

[b-sx570nfn8u] .stats-overview .stat-info .value {
  display: block;
  font-size: 22px;
  font-weight: 700;
  color: #2d3748;
  line-height: 1.1;
}

[b-sx570nfn8u] .list-container {
  background: #ffffff;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

[b-sx570nfn8u] .topbar {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}

[b-sx570nfn8u] .topbar-left {
  display: flex;
  align-items: center;
}

.list-container[b-sx570nfn8u]  .app-data-table {
  width: 100%;
}

.list-container[b-sx570nfn8u]  .app-pagination {
  width: 100%;
  margin-top: 16px;
}

@media (max-width: 900px) {
    [b-sx570nfn8u] .topbar {
        flex-direction: column;
        align-items: stretch;
      }
}
/* /Pages/Documents/EditDocument.razor.rz.scp.css */
/* Porta de EditDocumentView.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: app-premium-page */
[b-6ropzmt1tg] .documents-barcode-btn-icon {
  margin-right: 6px;
  vertical-align: text-bottom;
}

[b-6ropzmt1tg] .is-invalid-select .el-select__wrapper, [b-6ropzmt1tg] .is-invalid-select .el-input__wrapper {
  box-shadow: 0 0 0 1px var(--el-color-danger, #f56c6c) inset !important;
}

[b-6ropzmt1tg] .field-with-settings {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}

[b-6ropzmt1tg] .field-with-settings__btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: 1px solid var(--el-border-color);
  border-radius: 50%;
  background: var(--el-fill-color-blank);
  color: var(--el-text-color-regular);
  cursor: pointer;
  padding: 0;
}

[b-6ropzmt1tg] .field-with-settings__btn:hover {
  color: var(--el-color-primary);
  border-color: var(--el-color-primary-light-5);
}

[b-6ropzmt1tg] .field-with-settings__control {
  flex: 1;
  min-width: 0;
}

[b-6ropzmt1tg] .document-title-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

[b-6ropzmt1tg] .document-status-tag {
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* Linhas com Lote+Validade: scroll horizontal sem cortar Ações / datepicker */
[b-6ropzmt1tg] .document-lines-scroll {
  width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 4px;
}

[b-6ropzmt1tg] .document-lines-table {
  min-width: 960px;
}

[b-6ropzmt1tg] .document-lines-table .el-table__body-wrapper,
[b-6ropzmt1tg] .document-lines-table .el-table__header-wrapper {
  overflow: visible;
}

[b-6ropzmt1tg] .app-premium-footer {
  flex-wrap: wrap;
  gap: 10px;
}

[b-6ropzmt1tg] .app-premium-footer .el-button {
  flex-shrink: 0;
  white-space: nowrap;
}

@media (max-width: 900px) {
  [b-6ropzmt1tg] .document-lines-table {
    min-width: 720px;
  }
}
/* /Pages/Entities/CreateEntity.razor.rz.scp.css */
/* Porta de CreateEntity.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: app-premium-page */
[b-ziflm77mh5] .form-section {
  padding: 20px 0;
}

[b-ziflm77mh5] .nested-manager {
  padding: 10px 0;
}

[b-ziflm77mh5] .nested-manager[data-tutorial] {
  border-radius: 18px;
  background: #ffffff;
}

[b-ziflm77mh5] .nested-manager[data-tutorial] {
  border-radius: 18px;
  background: #ffffff;
}

[b-ziflm77mh5] .nested-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

[b-ziflm77mh5] .nested-header__hint {
  font-size: 13px;
  color: rgba(61, 43, 31, 0.55);
}

[b-ziflm77mh5] .address-item {
  margin-bottom: 20px;
  padding: 20px;
  background: rgba(255, 246, 231, 0.4);
  border-radius: 16px;
  border: 1px solid rgba(139, 98, 56, 0.08);
}

[b-ziflm77mh5] .address-item__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(139, 98, 56, 0.06);
}

[b-ziflm77mh5] .address-item__header span {
  font-weight: bold;
  font-size: 14px;
  color: #8b6238;
}

[b-ziflm77mh5] .custom-table {
  --el-table-bg-color: transparent;
  --el-table-header-bg-color: rgba(139, 98, 56, 0.05);
}

[b-ziflm77mh5] .entity-form-page__tutorial-block {
  border-radius: 16px;
  padding: 14px 16px 4px;
  background: #ffffff;
}

[b-ziflm77mh5] .entity-form-page__tutorial-block {
  border-radius: 16px;
  padding: 14px 16px 4px;
  background: #ffffff;
}

[b-ziflm77mh5] .main-form .vue-tel-input {
  width: 100%;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  box-shadow: 0 0 0 1px #dcdfe6 inset;
  background-color: #ffffff;
  transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  height: 32px;
  line-height: 32px;
}

[b-ziflm77mh5] .main-form .vue-tel-input:hover {
  border-color: #c0c4cc;
  box-shadow: 0 0 0 1px #c0c4cc inset;
}

[b-ziflm77mh5] .main-form .vue-tel-input:focus-within {
  border-color: #be8a46;
  box-shadow: 0 0 0 1px #be8a46 inset;
}

[b-ziflm77mh5] .main-form .vti__dropdown {
  display: flex;
  align-items: center;
  padding: 0 5px;
  border-right: 1px solid #dcdfe6;
}
/* /Pages/Entities/EditEntity.razor.rz.scp.css */
/* Porta de EditEntity.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: app-premium-page */
.app-premium-page[b-a80f5ulfbr] {
  padding-top: 8px !important;
}

[b-a80f5ulfbr] .app-premium-header {
  margin-bottom: 8px !important;
}

[b-a80f5ulfbr] .app-premium-title {
  margin-bottom: 2px !important;
}

[b-a80f5ulfbr] .app-premium-subtitle {
  margin: 0 !important;
}

[b-a80f5ulfbr] .app-premium-card {
  position: relative;
  padding-top: 8px !important;
}

[b-a80f5ulfbr] .form-section {
  padding: 4px 0 0;
}

[b-a80f5ulfbr] .entity-edit-card__topbar {
  position: absolute;
  top: 8px;
  right: 12px;
  z-index: 3;
  margin-bottom: 0;
}

[b-a80f5ulfbr] .entity-edit-card__topbar-spacer {
  display: none;
}

[b-a80f5ulfbr] .entity-edit-card__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

[b-a80f5ulfbr] .main-form {
  margin-top: 0;
}

[b-a80f5ulfbr] .app-premium-tabs > .el-tabs__header {
  margin: 0 0 4px;
  padding-right: 120px;
}

[b-a80f5ulfbr] .app-premium-tabs > .el-tabs__content {
  padding-top: 0;
}

[b-a80f5ulfbr] .nested-manager {
  padding: 10px 0;
}

[b-a80f5ulfbr] .nested-manager[data-tutorial] {
  border-radius: 18px;
  background: #ffffff;
}

[b-a80f5ulfbr] .nested-manager[data-tutorial] {
  border-radius: 18px;
  background: #ffffff;
}

[b-a80f5ulfbr] .nested-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

[b-a80f5ulfbr] .nested-header__hint {
  font-size: 13px;
  color: rgba(61, 43, 31, 0.55);
}

[b-a80f5ulfbr] .custom-table {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(139, 98, 56, 0.1);
}

[b-a80f5ulfbr] .address-item {
  margin-bottom: 20px;
  padding: 20px;
  background: rgba(255, 246, 231, 0.4);
  border-radius: 16px;
  border: 1px solid rgba(139, 98, 56, 0.08);
}

[b-a80f5ulfbr] .address-item__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(139, 98, 56, 0.06);
}

[b-a80f5ulfbr] .address-item__header span {
  font-weight: bold;
  font-size: 14px;
  color: #8b6238;
}

[b-a80f5ulfbr] .custom-table {
  --el-table-bg-color: transparent;
  --el-table-header-bg-color: rgba(139, 98, 56, 0.05);
}

[b-a80f5ulfbr] .entity-form-page__tutorial-block {
  border-radius: 16px;
  padding: 8px 16px 0;
  background: #ffffff;
}

[b-a80f5ulfbr] .entity-form-page__tutorial-block {
  border-radius: 16px;
  padding: 8px 16px 0;
  background: #ffffff;
}

[b-a80f5ulfbr] .main-form .vue-tel-input {
  width: 100%;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  box-shadow: 0 0 0 1px #dcdfe6 inset;
  background-color: #ffffff;
  transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  height: 32px;
  line-height: 32px;
}

[b-a80f5ulfbr] .main-form .vue-tel-input:hover:not(.disabled) {
  border-color: #c0c4cc;
  box-shadow: 0 0 0 1px #c0c4cc inset;
}

[b-a80f5ulfbr] .main-form .vue-tel-input:focus-within:not(.disabled) {
  border-color: #be8a46;
  box-shadow: 0 0 0 1px #be8a46 inset;
}

[b-a80f5ulfbr] .main-form .vue-tel-input.disabled {
  background-color: #f5f7fa;
  cursor: not-allowed;
}

[b-a80f5ulfbr] .main-form .vti__dropdown {
  display: flex;
  align-items: center;
  padding: 0 5px;
  border-right: 1px solid #dcdfe6;
}

@media (max-width: 900px) {
    [b-a80f5ulfbr] .entity-edit-card__topbar {
        flex-direction: column;
        align-items: stretch;
        margin-bottom: 12px;
      }

    [b-a80f5ulfbr] .entity-edit-card__topbar-spacer {
        display: none;
      }

    [b-a80f5ulfbr] .entity-edit-card__actions {
        width: 100%;
      }
}
/* /Pages/Entities/EntitiesList.razor.rz.scp.css */
/* Porta de EntitiesList.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: entities-page */
.entities-page[b-keo5qcfepx] {
  padding: 16px 20px 24px;
  background: var(--app-bg-premium);
  min-height: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: clip;
}

@media (max-width: 900px) {
  .entities-page[b-keo5qcfepx] {
    padding: 16px;
  }
}

[b-keo5qcfepx] .entities-page__actions {
  display: flex;
  gap: 12px;
  align-items: center;
}

[b-keo5qcfepx] .entities-page__content {
  background: #fff;
  border-radius: 12px;
  padding: 14px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

[b-keo5qcfepx] .entities-page__content-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 12px;
  border-bottom: 1px solid rgba(104, 76, 53, 0.12);
  padding-bottom: 8px;
}

.entities-page__filters-highlight[b-keo5qcfepx]  .el-tabs__nav-wrap::after {
  display: none;
}

[b-keo5qcfepx] .entities-page__content-topbar-add {
  flex-shrink: 0;
}

[b-keo5qcfepx] .custom-tabs {
  margin-bottom: 0;
}

[b-keo5qcfepx] .entities-page__filters-highlight {
  flex: 1;
  background: #ffffff;
}

[b-keo5qcfepx] .custom-tabs .el-tabs__header {
  margin: 0;
}

[b-keo5qcfepx] .custom-tabs .el-tabs__item {
  display: flex;
  align-items: center;
  gap: 8px;
}

[b-keo5qcfepx] .type-tags {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

[b-keo5qcfepx] .type-tags .el-tag {
  max-width: 100%;
  justify-content: center;
}

[b-keo5qcfepx] .entities-page__stats {
  margin-bottom: 0;
  min-width: 0;
  width: 100%;
}

[b-keo5qcfepx] .stat-card {
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  transition: transform 0.2s, box-shadow 0.2s;
}

[b-keo5qcfepx] .stat-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

[b-keo5qcfepx] .stat-content {
  display: flex;
  align-items: center;
  gap: 12px;
}

[b-keo5qcfepx] .stat-icon {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
}

[b-keo5qcfepx] .stat-icon.all { background: #ebf8ff; color: #3182ce; }

[b-keo5qcfepx] .stat-icon.client { background: #f0fff4; color: #38a169; }

[b-keo5qcfepx] .stat-icon.supplier { background: #fffaf0; color: #dd6b20; }

[b-keo5qcfepx] .stat-info {
  display: flex;
  flex-direction: column;
}

[b-keo5qcfepx] .stat-label {
  font-size: 0.75rem;
  color: #718096;
  font-weight: 500;
}

[b-keo5qcfepx] .stat-value {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
  color: #1a202c;
}
/* /Pages/Kpi/CreateKpi.razor.rz.scp.css */
/* Porta de CreateKPIView.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: app-premium-page */
[b-xu0hcc2d04] .context-flags {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 8px;
  padding: 12px;
  background: #f5f7fa;
  border-radius: 4px;
}

[b-xu0hcc2d04] .context-flags .flag-item { display: flex; justify-content: space-between; align-items: center;
}

[b-xu0hcc2d04] .context-flags .flag-label { font-size: 13px; color: #606266;
}

[b-xu0hcc2d04] .fields-list .field-item { margin-bottom: 16px;
}

[b-xu0hcc2d04] .fields-list .field-header { display: flex; justify-content: space-between; align-items: center; font-weight: 600;
}

[b-xu0hcc2d04] .fields-list .add-field-btn { width: 100%; margin-top: 8px;
}

[b-xu0hcc2d04] .fields-list .field-hint { font-size: 12px; color: #909399; margin-top: 4px; line-height: 1.4;
}
/* /Pages/Kpi/EditKpi.razor.rz.scp.css */
/* Porta de EditKPIView.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: app-premium-page */
[b-p6yg3695zs] .kpi-edit-card__topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

[b-p6yg3695zs] .kpi-edit-card__actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

[b-p6yg3695zs] .context-flags {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 8px;
  padding: 12px;
  background: #f5f7fa;
  border-radius: 4px;
}

[b-p6yg3695zs] .context-flags .flag-item { display: flex; justify-content: space-between; align-items: center;
}

[b-p6yg3695zs] .context-flags .flag-label { font-size: 13px; color: #606266;
}

[b-p6yg3695zs] .fields-list .field-item { margin-bottom: 16px;
}

[b-p6yg3695zs] .fields-list .field-header { display: flex; justify-content: space-between; align-items: center; font-weight: 600;
}

[b-p6yg3695zs] .fields-list .add-field-btn { width: 100%; margin-top: 8px;
}

[b-p6yg3695zs] .fields-list .field-hint { font-size: 12px; color: #909399; margin-top: 4px; line-height: 1.4;
}
/* /Pages/Kpi/KpiManagement.razor.rz.scp.css */
/* Porta de KPIManagementTab.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: app-premium-page */
[b-n4wp13qmcy] .management-content {
  background: white;
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08);
  padding: 20px;
}
/* /Pages/Kpi/Kpis.razor.rz.scp.css */
/* Análise de KPIs — painéis alinhados aos tokens Next. */

[b-mfe9ml0c68] .kpi-layout {
  display: flex;
  gap: var(--e-4);
  height: calc(100vh - 200px);
  min-height: 420px;
}

[b-mfe9ml0c68] .kpi-sidebar {
  width: 300px;
  flex-shrink: 0;
  background: var(--cor-superficie);
  border: 1px solid var(--cor-linha);
  border-radius: var(--raio-l);
  box-shadow: var(--sombra-assente);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

[b-mfe9ml0c68] .sidebar-header {
  display: flex;
  align-items: center;
  gap: var(--e-2);
  padding: var(--e-3);
  border-bottom: 1px solid var(--cor-linha);
  min-width: 0;
}

[b-mfe9ml0c68] .sidebar-header .el-input {
  flex: 1 1 auto;
  min-width: 0;
}

[b-mfe9ml0c68] .sidebar-header .el-button {
  flex: 0 0 auto;
}

[b-mfe9ml0c68] .categories-scroll {
  flex: 1;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
}

[b-mfe9ml0c68] .categories-scroll .el-scrollbar__wrap {
  overflow-x: hidden;
}

[b-mfe9ml0c68] .category-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 10px;
  background: var(--cor-marca-fundo);
  color: var(--cor-marca);
  font-size: 11px;
  height: 18px;
  min-width: 18px;
  font-weight: var(--peso-forte);
}

[b-mfe9ml0c68] .categories-list {
  padding: 0 var(--e-2) var(--e-3);
}

[b-mfe9ml0c68] .category-group {
  margin-bottom: var(--e-1);
}

[b-mfe9ml0c68] .category-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 32px;
  padding: 0 var(--e-2);
  margin-top: var(--e-2);
  border-radius: var(--raio-s);
  cursor: pointer;
  user-select: none;
}

[b-mfe9ml0c68] .category-header:hover {
  background: var(--cor-superficie-fria);
}

[b-mfe9ml0c68] .category-left {
  display: flex;
  align-items: center;
  gap: var(--e-2);
  flex: 1;
  min-width: 0;
}

[b-mfe9ml0c68] .category-name {
  font-weight: var(--peso-forte);
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--cor-texto-suave);
  font-family: var(--letra);
}

[b-mfe9ml0c68] .category-badge {
  display: inline-flex;
  align-items: center;
}

[b-mfe9ml0c68] .chevron-icon {
  font-size: 12px;
  transition: transform var(--transicao);
  color: var(--cor-texto-suave);
}

[b-mfe9ml0c68] .chevron-icon.expanded {
  transform: rotate(90deg);
}

[b-mfe9ml0c68] .category-actions {
  opacity: 0;
  transition: opacity var(--transicao);
}

[b-mfe9ml0c68] .category-header:hover .category-actions {
  opacity: 1;
}

[b-mfe9ml0c68] .kpi-list {
  min-width: 0;
  padding: 2px 0 var(--e-1) var(--e-2);
  margin-left: 11px;
  border-left: 1px solid var(--cor-linha);
  display: grid;
  gap: 2px;
}

[b-mfe9ml0c68] .kpi-item {
  position: relative;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: var(--e-2);
  height: 34px;
  min-height: 0;
  padding: 0 var(--e-2) 0 var(--e-3);
  border-radius: var(--raio-s);
  cursor: pointer;
  font-size: 13.5px;
  line-height: 1;
  color: var(--cor-texto);
  font-family: var(--letra);
  transition: background var(--transicao), color var(--transicao);
}

[b-mfe9ml0c68] .kpi-item > .el-icon,
[b-mfe9ml0c68] .kpi-item > i {
  flex-shrink: 0;
  font-size: 15px;
  color: var(--cor-texto-suave);
}

[b-mfe9ml0c68] .kpi-item:hover {
  background: var(--cor-superficie-fria);
}

[b-mfe9ml0c68] .kpi-item.active {
  background: var(--cor-marca-fundo);
  color: var(--cor-marca);
  font-weight: var(--peso-forte);
}

[b-mfe9ml0c68] .kpi-item.active > .el-icon,
[b-mfe9ml0c68] .kpi-item.active > i {
  color: var(--cor-marca);
}

[b-mfe9ml0c68] .kpi-item.active::before {
  content: "";
  position: absolute;
  left: calc(-1 * var(--e-2) - 1px);
  top: 7px;
  bottom: 7px;
  width: 3px;
  border-radius: 2px;
  background: var(--cor-marca);
}

[b-mfe9ml0c68] .kpi-name {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[b-mfe9ml0c68] .kpi-item .edit-kpi-btn {
  display: none;
  flex-shrink: 0;
  height: 24px;
  min-height: 0;
  padding: 0 4px;
}

[b-mfe9ml0c68] .kpi-item:hover .edit-kpi-btn {
  display: inline-flex;
}

[b-mfe9ml0c68] .kpi-main {
  flex: 1;
  min-width: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: var(--e-3);
}

[b-mfe9ml0c68] .empty-state {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--e-3);
  background: var(--cor-superficie);
  border: 1px solid var(--cor-linha);
  border-radius: var(--raio-l);
  box-shadow: var(--sombra-assente);
  color: var(--cor-texto-fraco);
  font-size: var(--t-m);
  font-family: var(--letra);
  padding: var(--e-6);
}

[b-mfe9ml0c68] .kpi-panel {
  display: flex;
  flex-direction: column;
  gap: var(--e-3);
}

[b-mfe9ml0c68] .card-title {
  display: flex;
  align-items: center;
  gap: var(--e-2);
  font-weight: var(--peso-forte);
  font-size: var(--t-l);
  color: var(--cor-texto);
  font-family: var(--letra);
}

[b-mfe9ml0c68] .form-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: var(--e-2);
  gap: var(--e-2);
}

[b-mfe9ml0c68] .empty-title {
  margin: 0;
  font-size: var(--t-l);
  font-weight: var(--peso-forte);
  color: var(--cor-texto);
}

[b-mfe9ml0c68] .empty-hint {
  margin: 0 0 var(--e-2);
  color: var(--cor-texto-suave);
  max-width: 380px;
  text-align: center;
}

/* ── cabeçalho do KPI ── */
[b-mfe9ml0c68] .kpi-head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--e-2) var(--e-3);
  padding: var(--e-3) var(--e-4);
  background: var(--cor-superficie);
  border: 1px solid var(--cor-linha);
  border-radius: var(--raio-l);
  box-shadow: var(--sombra-assente);
}

[b-mfe9ml0c68] .kpi-head-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: var(--raio-m, 12px);
  background: var(--cor-marca-fundo);
  color: var(--cor-marca);
}

[b-mfe9ml0c68] .kpi-head-text {
  flex: 1 1 280px;
  min-width: 0;
}

[b-mfe9ml0c68] .kpi-head-text h2 {
  margin: 0;
  line-height: 1.3;
  font-size: 18px;
  font-weight: var(--peso-forte);
  color: var(--cor-texto);
  font-family: var(--letra);
}

[b-mfe9ml0c68] .kpi-head-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--e-2);
  margin-top: 2px;
  color: var(--cor-texto-suave);
  font-size: var(--t-m);
}

[b-mfe9ml0c68] .kpi-chip-static {
  padding: 1px 8px;
  border-radius: 999px;
  background: var(--cor-superficie-fria);
  border: 1px solid var(--cor-linha);
  font-size: 12px;
  color: var(--cor-texto-suave);
}

[b-mfe9ml0c68] .kpi-head-desc {
  flex: 1 1 100%;
  line-height: 1.4;
}

[b-mfe9ml0c68] .kpi-head-actions {
  display: flex;
  align-items: center;
  gap: var(--e-2);
  flex-shrink: 0;
  margin-left: auto;
}

/* ── filtros ── */
[b-mfe9ml0c68] .kpi-filters {
  display: flex;
  flex-direction: column;
  gap: var(--e-3);
  padding: var(--e-3) var(--e-4) var(--e-4);
  background: var(--cor-superficie);
  border: 1px solid var(--cor-linha);
  border-radius: var(--raio-l);
  box-shadow: var(--sombra-assente);
}

[b-mfe9ml0c68] .kpi-presets {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--e-2);
}

[b-mfe9ml0c68] .kpi-presets-label {
  font-size: 12px;
  font-weight: var(--peso-forte);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--cor-texto-fraco);
  margin-right: var(--e-1);
}

[b-mfe9ml0c68] .kpi-chip {
  height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid var(--cor-linha);
  background: var(--cor-superficie);
  color: var(--cor-texto-suave);
  font-family: var(--letra);
  font-size: 13px;
  cursor: pointer;
  transition: background var(--transicao), color var(--transicao), border-color var(--transicao);
}

[b-mfe9ml0c68] .kpi-chip:hover {
  background: var(--cor-superficie-fria);
  color: var(--cor-texto);
}

[b-mfe9ml0c68] .kpi-chip.active {
  background: var(--cor-marca-fundo);
  border-color: var(--cor-marca);
  color: var(--cor-marca);
  font-weight: var(--peso-forte);
}

[b-mfe9ml0c68] .kpi-chip-clear {
  border-style: dashed;
}

[b-mfe9ml0c68] .kpi-fields {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0 var(--e-4);
  align-items: end;
}

[b-mfe9ml0c68] .kpi-fields .el-form-item {
  margin-bottom: var(--e-2);
}

[b-mfe9ml0c68] .kpi-run {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  margin-bottom: var(--e-2);
  grid-column: -2 / -1;
}

/* ── resumo ── */
[b-mfe9ml0c68] .kpi-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: var(--e-3);
}

[b-mfe9ml0c68] .kpi-tile {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  padding: var(--e-3) var(--e-4);
  background: var(--cor-superficie);
  border: 1px solid var(--cor-linha);
  border-radius: var(--raio-l);
  box-shadow: var(--sombra-assente);
}

[b-mfe9ml0c68] .kpi-tile-main {
  background: var(--cor-marca-fundo);
  border-color: transparent;
}

[b-mfe9ml0c68] .kpi-tile-label {
  font-size: 12px;
  font-weight: var(--peso-forte);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--cor-texto-fraco);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[b-mfe9ml0c68] .kpi-tile-value {
  font-size: 26px;
  line-height: 1.2;
  font-weight: var(--peso-forte);
  color: var(--cor-texto);
  font-family: var(--letra);
  font-variant-numeric: tabular-nums;
}

[b-mfe9ml0c68] .kpi-tile-main .kpi-tile-value {
  color: var(--cor-marca);
}

[b-mfe9ml0c68] .kpi-tile-note {
  font-size: 12px;
  color: var(--cor-texto-suave);
}

/* ── resultados: barra, gráfico e tabela ── */
[b-mfe9ml0c68] .kpi-results {
  display: flex;
  flex-direction: column;
  gap: var(--e-3);
  padding: var(--e-3) var(--e-4) var(--e-4);
  background: var(--cor-superficie);
  border: 1px solid var(--cor-linha);
  border-radius: var(--raio-l);
  box-shadow: var(--sombra-assente);
}

[b-mfe9ml0c68] .kpi-results-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--e-3);
}

[b-mfe9ml0c68] .kpi-results-spacer {
  flex: 1;
}

[b-mfe9ml0c68] .kpi-seg {
  display: inline-flex;
  padding: 3px;
  border-radius: 10px;
  background: var(--cor-superficie-fria);
  border: 1px solid var(--cor-linha);
}

[b-mfe9ml0c68] .kpi-seg button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 28px;
  padding: 0 12px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--cor-texto-suave);
  font-family: var(--letra);
  font-size: 13px;
  cursor: pointer;
}

[b-mfe9ml0c68] .kpi-seg button.active {
  background: var(--cor-superficie);
  color: var(--cor-marca);
  font-weight: var(--peso-forte);
  box-shadow: var(--sombra-assente);
}

[b-mfe9ml0c68] .kpi-metric {
  display: inline-flex;
  align-items: center;
  gap: var(--e-2);
  font-size: 13px;
  color: var(--cor-texto-suave);
}

[b-mfe9ml0c68] .kpi-chart {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: var(--e-1) 0;
}

[b-mfe9ml0c68] .kpi-bar-row {
  display: grid;
  grid-template-columns: minmax(120px, 240px) 1fr 110px;
  align-items: center;
  gap: var(--e-3);
  font-size: var(--t-m);
}

[b-mfe9ml0c68] .kpi-bar-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--cor-texto);
}

[b-mfe9ml0c68] .kpi-bar-track {
  height: 18px;
  border-radius: 9px;
  background: var(--cor-superficie-fria);
  overflow: hidden;
}

[b-mfe9ml0c68] .kpi-bar-fill {
  height: 100%;
  border-radius: 9px;
  background: var(--cor-marca);
  min-width: 2px;
  transition: width var(--transicao);
}

[b-mfe9ml0c68] .kpi-bar-value {
  text-align: right;
  font-weight: var(--peso-forte);
  font-variant-numeric: tabular-nums;
  color: var(--cor-texto);
}

[b-mfe9ml0c68] .kpi-chart-note {
  margin: var(--e-1) 0 0;
  font-size: 12px;
  color: var(--cor-texto-fraco);
}

[b-mfe9ml0c68] .slide-fade-enter-active {
  transition: all var(--transicao) ease-out;
}

[b-mfe9ml0c68] .slide-fade-leave-active {
  transition: all var(--transicao) ease-in;
}

[b-mfe9ml0c68] .slide-fade-enter-from,
[b-mfe9ml0c68] .slide-fade-leave-to {
  transform: translateY(-6px);
  opacity: 0;
}
/* /Pages/Login.razor.rz.scp.css */
/* Porta de LoginView.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: login-page */
.login-page[b-bqhw5o62c2] {
  display: flex;
  height: 100vh;
  width: 100vw;
  overflow: hidden;
  background-color: #fff9f0;
  font-family: "Inter", sans-serif;
}

/* Em viewports baixas o cartão de login precisa de scroll interno (senão o título fica cortado). */
@media (max-height: 820px) {
  [b-bqhw5o62c2] .form-section {
    align-items: flex-start;
    overflow-y: auto;
  }

  [b-bqhw5o62c2] .form-wrapper {
    margin: auto 0;
    padding: 24px 0;
  }
}

[b-bqhw5o62c2] .visual-section {
  flex: 1.2;
  position: relative;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 60px;
  color: white;
}

[b-bqhw5o62c2] .visual-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: inherit;
  background-size: cover;
  background-position: center;
  filter: saturate(0.92) contrast(1.02) brightness(0.96);
  transform: scale(1.02) scaleX(-1);
}

[b-bqhw5o62c2] .overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(72, 52, 35, 0.64) 0%,
    rgba(168, 133, 92, 0.18) 100%
  );
  z-index: 1;
}

[b-bqhw5o62c2] .visual-content {
  position: relative;
  z-index: 2;
  max-width: 100%;
  display: flex;
  justify-content: flex-start;
}

[b-bqhw5o62c2] .slogan-wrapper {
  max-width: 500px;
  padding: 26px 30px;
  border-radius: 24px;
  background: rgba(32, 24, 18, 0.34);
  border: 1px solid rgba(255, 244, 231, 0.14);
  box-shadow: 0 20px 44px rgba(0, 0, 0, 0.14);
  backdrop-filter: blur(8px);
}

[b-bqhw5o62c2] .slogan {
  font-size: 48px;
  line-height: 1.15;
  font-weight: 800;
  margin-bottom: 24px;
  color: #f1c48f;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.24);
}

[b-bqhw5o62c2] .description {
  font-size: 18px;
  line-height: 1.6;
  color: white;
  opacity: 0.92;
  max-width: 500px;
}

[b-bqhw5o62c2] .visual-footer {
  position: absolute;
  bottom: 40px;
  left: 60px;
  z-index: 2;
  font-size: 14px;
  opacity: 0.78;
}

[b-bqhw5o62c2] .form-section {
  flex: 1;
  background:
    radial-gradient(
      circle at top right,
      rgba(215, 154, 82, 0.16),
      transparent 28%
    ),
    linear-gradient(180deg, #fffdf8 0%, #f6ede0 100%);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px;
}

[b-bqhw5o62c2] .form-wrapper {
  width: 100%;
  max-width: 440px;
}

[b-bqhw5o62c2] .form-header {
  margin-bottom: 40px;
}

[b-bqhw5o62c2] .form-logo {
  width: 170px;
  height: auto;
  display: block;
  margin-bottom: 24px;
}

[b-bqhw5o62c2] .form-title {
  font-size: 32px;
  font-weight: 800;
  color: #3d2b1f;
  margin: 0 0 12px;
  display: block;
  width: fit-content;
  max-width: 100%;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

[b-bqhw5o62c2] .form-title::after,
[b-bqhw5o62c2] .form-title::before {
  content: none !important;
  display: none !important;
}

[b-bqhw5o62c2] .form-subtitle {
  color: #7a6757;
  font-size: 16px;
}

[b-bqhw5o62c2] .input-label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #4a3c31;
  margin-bottom: 8px;
}

[b-bqhw5o62c2] .label-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

[b-bqhw5o62c2] .forgot-hint {
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.5;
  color: #6e5d4e;
}

[b-bqhw5o62c2] .forgot-link {
  font-size: 13px;
  color: #9d622f;
  font-weight: 600;
  text-decoration: none;
}

[b-bqhw5o62c2] .login-form .el-input__wrapper {
  min-height: 52px;
  border-radius: 12px;
  box-shadow: 0 0 0 1px rgba(157, 98, 47, 0.14) inset;
  background: rgba(255, 251, 246, 0.98);
}

[b-bqhw5o62c2] .login-form .el-input__wrapper.is-focus {
  box-shadow: 0 0 0 1px #c57d3b inset;
}

/* Inner input sem caixa própria (next-app/autofill pintavam azul por dentro). */
[b-bqhw5o62c2] .login-form .el-input__inner {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  color: #3d2b1f !important;
  -webkit-text-fill-color: #3d2b1f;
}

[b-bqhw5o62c2] .login-form input.el-input__inner:-webkit-autofill,
[b-bqhw5o62c2] .login-form input.el-input__inner:-webkit-autofill:hover,
[b-bqhw5o62c2] .login-form input.el-input__inner:-webkit-autofill:focus {
  -webkit-text-fill-color: #3d2b1f;
  caret-color: #3d2b1f;
  transition: background-color 99999s ease-out;
  box-shadow: 0 0 0 1000px rgba(255, 251, 246, 0.98) inset !important;
}

[b-bqhw5o62c2] .submit-button {
  width: 100%;
  height: 54px;
  background: linear-gradient(135deg, #d79a52 0%, #a86730 100%);
  border: none;
  font-size: 16px;
  font-weight: 700;
  border-radius: 12px;
  margin-top: 10px;
  transition: all 0.2s;
}

[b-bqhw5o62c2] .submit-button:hover {
  background: linear-gradient(135deg, #c88843 0%, #945625 100%);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(157, 98, 47, 0.22);
}

[b-bqhw5o62c2] .form-footer {
  margin-top: 32px;
  text-align: center;
  font-size: 14px;
  color: #7a6757;
}

[b-bqhw5o62c2] .support-link {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  font: inherit;
  font-size: 14px;
  color: #6c4120;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

[b-bqhw5o62c2] .support-link:hover {
  color: #9d622f;
}

[b-bqhw5o62c2] .support-contact-dialog .el-dialog__header {
  margin: 0;
  padding: 0;
  border-bottom: none;
}

[b-bqhw5o62c2] .support-contact-dialog .el-dialog__body {
  padding: 0 22px 8px;
}

[b-bqhw5o62c2] .support-contact-dialog .el-dialog__footer {
  padding: 12px 22px 22px;
  border-top: 1px solid rgba(122, 92, 65, 0.12);
}

[b-bqhw5o62c2] .support-dlg__header {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 52px 18px 22px;
  background: linear-gradient(
    135deg,
    rgba(215, 154, 82, 0.22) 0%,
    rgba(168, 103, 48, 0.12) 100%
  );
  border-radius: 12px 12px 0 0;
  margin: -16px -16px 0 -16px;
  min-height: 88px;
  box-sizing: border-box;
}

[b-bqhw5o62c2] .support-dlg__close-x {
  position: absolute;
  top: 16px;
  right: 14px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  color: #5c4330;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 2px 8px rgba(74, 55, 40, 0.08);
  transition:
    background 0.2s,
    color 0.2s,
    transform 0.15s;
}

[b-bqhw5o62c2] .support-dlg__close-x:hover {
  background: #fff;
  color: #3d2d22;
  transform: scale(1.04);
}

[b-bqhw5o62c2] .support-dlg__close-x:focus-visible {
  outline: 2px solid #c57d3b;
  outline-offset: 2px;
}

[b-bqhw5o62c2] .support-dlg__icon-ring {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, #fff9f0 0%, #f0e4d4 100%);
  box-shadow:
    0 4px 14px rgba(108, 65, 32, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.85);
  color: #a86730;
}

[b-bqhw5o62c2] .support-dlg__icon {
  font-size: 28px;
}

[b-bqhw5o62c2] .support-dlg__titles {
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-align: left;
}

[b-bqhw5o62c2] .support-dlg__company {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #9d622f;
}

[b-bqhw5o62c2] .support-dlg__title {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  color: #4a3728;
  line-height: 1.2;
}

[b-bqhw5o62c2] .support-dlg__body {
  padding-top: 8px;
}

[b-bqhw5o62c2] .support-dlg__lead {
  margin: 0 0 18px;
  font-size: 14px;
  line-height: 1.55;
  color: #6e5d4e;
}

[b-bqhw5o62c2] .support-dlg__row {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 14px;
  margin-bottom: 10px;
  border-radius: 14px;
  text-decoration: none;
  color: inherit;
  background: rgba(255, 251, 246, 0.95);
  border: 1px solid rgba(157, 98, 47, 0.14);
  transition:
    background 0.2s,
    border-color 0.2s,
    transform 0.15s;
}

[b-bqhw5o62c2] .support-dlg__row:hover:not(.support-dlg__row--static) {
  background: #fff;
  border-color: rgba(197, 125, 59, 0.35);
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(108, 65, 32, 0.08);
}

[b-bqhw5o62c2] .support-dlg__row--static {
  cursor: default;
}

[b-bqhw5o62c2] .support-dlg__row-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(215, 154, 82, 0.18);
  color: #8b5a2b;
  font-size: 20px;
}

[b-bqhw5o62c2] .support-dlg__row-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  text-align: left;
}

[b-bqhw5o62c2] .support-dlg__row-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #9a8474;
}

[b-bqhw5o62c2] .support-dlg__row-value {
  font-size: 15px;
  font-weight: 600;
  color: #4a3728;
  word-break: break-word;
}

[b-bqhw5o62c2] .support-dlg__hint {
  margin: 16px 0 0;
  font-size: 12px;
  line-height: 1.5;
  color: #9a8474;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(157, 98, 47, 0.06);
}

[b-bqhw5o62c2] .animate-fade-in-down {
  animation: fadeInDown-b-bqhw5o62c2 0.8s ease-out;
}

[b-bqhw5o62c2] .animate-fade-in-up {
  animation: fadeInUp-b-bqhw5o62c2 0.8s ease-out 0.2s backwards;
}

[b-bqhw5o62c2] .animate-scale-in {
  animation: scaleIn-b-bqhw5o62c2 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

[b-bqhw5o62c2] .animate-fade-in {
  animation: fadeIn-b-bqhw5o62c2 1s ease-out 0.5s backwards;
}

@keyframes fadeInDown-b-bqhw5o62c2 {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInUp-b-bqhw5o62c2 {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes scaleIn-b-bqhw5o62c2 {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes fadeIn-b-bqhw5o62c2 {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@media (max-width: 1024px) {
    [b-bqhw5o62c2] .visual-section {
        display: none;
      }

    [b-bqhw5o62c2] .form-section {
        flex: 1;
        padding: 28px 22px;
      }
}
/* /Pages/Manufacturing/EditTechnicalSheet.razor.rz.scp.css */
/* Porta de EditTechnicalSheet.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: edit-technical-sheet-page */
.edit-technical-sheet-page[b-vaw46u9d7l] {
  display: flex;
  flex-direction: column;
  padding: 12px 16px 16px;
  background: #ffffff;
  min-height: 100%;
  height: 100%;
  box-sizing: border-box;
}

[b-vaw46u9d7l] .header-nav {
  margin-bottom: 16px;
}

[b-vaw46u9d7l] .technical-sheet-page-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px !important;
}

[b-vaw46u9d7l] .technical-sheet-page-header .header-title-container {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1 1 auto;
  min-width: 0;
}

[b-vaw46u9d7l] .technical-sheet-page-header .header-text-group {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

[b-vaw46u9d7l] .technical-sheet-page-header .app-premium-title {
  margin: 0 !important;
  font-size: 1.125rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}

[b-vaw46u9d7l] .technical-sheet-page-header .app-header-actions {
  margin-left: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
  align-items: center;
  min-height: 0;
}

[b-vaw46u9d7l] .header-main-title {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

[b-vaw46u9d7l] .metadata-grid {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 24px;
  background: white;
  padding: 24px;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
  width: 100%;
}

[b-vaw46u9d7l] .meta-main-row, [b-vaw46u9d7l] .meta-secondary-row {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  width: 100%;
}

[b-vaw46u9d7l] .meta-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

[b-vaw46u9d7l] .meta-field label {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #718096;
  letter-spacing: 0.05em;
}

[b-vaw46u9d7l] .flex-3 {
  flex: 3;
}

[b-vaw46u9d7l] .flex-2 {
  flex: 2;
}

[b-vaw46u9d7l] .flex-1 {
  flex: 1;
}

[b-vaw46u9d7l] .flex-0 {
  flex: 0 0 auto;
}

[b-vaw46u9d7l] .version-display {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 32px;
}

[b-vaw46u9d7l] .version-number {
  font-size: 1.1rem;
  font-weight: 600;
  color: #cbd5e0;
}

[b-vaw46u9d7l] .version-btn {
  padding: 0;
  font-size: 0.85rem;
}

[b-vaw46u9d7l] .date-range-container {
  display: flex;
  align-items: center;
  gap: 4px;
}

[b-vaw46u9d7l] .date-range {
  display: flex;
  align-items: center;
  gap: 8px;
}

[b-vaw46u9d7l] .range-sep {
  font-size: 0.8rem;
  color: #a0aec0;
}

[b-vaw46u9d7l] .editor-container {
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  flex: 0 0 auto;
  min-height: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.editor-container[b-vaw46u9d7l]  .process-setup {
  flex: 1;
  min-height: 0;
}

[b-vaw46u9d7l] .cost-summary-card {
  margin-top: 10px;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  padding: 10px 14px;
  overflow: hidden;
  flex-shrink: 0;
}

[b-vaw46u9d7l] .cost-summary-card--collapsed {
  padding: 8px 12px;
}

[b-vaw46u9d7l] .cost-summary-card__toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

[b-vaw46u9d7l] .cost-summary-card--collapsed .cost-summary-card__toolbar {
  margin-bottom: 0;
}

[b-vaw46u9d7l] .cost-summary-card__headline {
  min-width: 0;
  flex: 1;
}

[b-vaw46u9d7l] .cost-summary-card__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

[b-vaw46u9d7l] .cost-collapse-btn {
  flex-shrink: 0;
}

[b-vaw46u9d7l] .cost-summary-card__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 10px;
}

[b-vaw46u9d7l] .cost-summary-card__title {
  margin: 0;
  font-size: 0.95rem;
  color: #2d3748;
}

[b-vaw46u9d7l] .cost-summary-card__subtitle {
  margin: 4px 0 0;
  color: #718096;
  font-size: 0.78rem;
}

[b-vaw46u9d7l] .cost-summary-card__total {
  font-size: 1.1rem;
  font-weight: 700;
  color: #2f855a;
  white-space: nowrap;
}

[b-vaw46u9d7l] .cost-summary-card:not(.cost-summary-card--collapsed) .cost-summary-card__toolbar {
  margin-bottom: 10px;
  align-items: flex-start;
}

[b-vaw46u9d7l] .history-modal__body {
  min-height: 180px;
  max-height: 70vh;
  overflow-y: auto;
  padding-right: 4px;
}

[b-vaw46u9d7l] .history-modal__empty {
  color: #718096;
  font-size: 0.9rem;
}

[b-vaw46u9d7l] .history-entry {
  border: 1px solid #edf2f7;
  border-radius: 12px;
  padding: 12px;
  margin-bottom: 12px;
  background: #fff;
}

[b-vaw46u9d7l] .history-entry__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

[b-vaw46u9d7l] .history-entry__meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  color: #4a5568;
  font-size: 0.85rem;
}

[b-vaw46u9d7l] .history-entry__reason {
  color: #7b552e;
}

[b-vaw46u9d7l] .duplicate-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

[b-vaw46u9d7l] .duplicate-form__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

[b-vaw46u9d7l] .duplicate-form__field label {
  font-size: 0.85rem;
  font-weight: 600;
  color: #4a5568;
}

[b-vaw46u9d7l] .history-entry__changes {
  border-top: 1px solid #f1f5f9;
  padding-top: 8px;
}

[b-vaw46u9d7l] .history-change {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 10px;
  padding: 6px 4px;
  border-radius: 8px;
}

[b-vaw46u9d7l] .history-change--head {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #718096;
  font-weight: 700;
}

[b-vaw46u9d7l] .history-change__field {
  color: #2d3748;
  font-weight: 600;
}

[b-vaw46u9d7l] .history-change__before {
  color: #9b2c2c;
}

[b-vaw46u9d7l] .history-change__after {
  color: #2f855a;
}

[b-vaw46u9d7l] .meta-card-premium {
  display: block;
  margin-bottom: 8px;
  padding: 0 !important;
  row-gap: 10px !important;
  column-gap: 14px !important;
  overflow: hidden;
}

[b-vaw46u9d7l] .meta-card-premium--collapsed {
  margin-bottom: 6px;
}

[b-vaw46u9d7l] .meta-card-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 12px;
  background: #faf8f5;
  border-bottom: 1px solid #f0ede8;
}

[b-vaw46u9d7l] .meta-card-premium--collapsed .meta-card-toolbar {
  border-bottom: none;
  align-items: flex-start;
}

[b-vaw46u9d7l] .meta-toolbar-title {
  font-size: 0.72rem;
  font-weight: 800;
  color: #a0aec0;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

[b-vaw46u9d7l] .meta-collapse-btn {
  flex-shrink: 0;
}

[b-vaw46u9d7l] .meta-summary-bar {
  display: grid;
  grid-template-columns: minmax(160px, 1.4fr) minmax(160px, 1.2fr) minmax(280px, 1.6fr);
  gap: 12px;
  flex: 1;
  min-width: 0;
  align-items: end;
}

[b-vaw46u9d7l] .meta-summary-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

[b-vaw46u9d7l] .meta-summary-label {
  font-size: 0.68rem;
  font-weight: 800;
  color: #a0aec0;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

[b-vaw46u9d7l] .meta-summary-dates {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

[b-vaw46u9d7l] .meta-date-sep {
  color: #cbd5e0;
  font-size: 0.8rem;
  flex-shrink: 0;
}

[b-vaw46u9d7l] .meta-card-body {
  padding: 14px 16px;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 14px;
}

[b-vaw46u9d7l] .meta-group {
  gap: 4px !important;
}

[b-vaw46u9d7l] .meta-label {
  margin-bottom: 0 !important;
}

[b-vaw46u9d7l] .date-range-compact {
  gap: 8px !important;
}

.meta-card-premium[b-vaw46u9d7l]  .el-checkbox.is-disabled.is-bordered {
  background-color: var(--el-disabled-bg-color, #f5f7fa) !important;
  border-color: var(--el-disabled-border-color, #e4e7ed) !important;
}

[b-vaw46u9d7l] .technical-sheet-general-wrapper {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
}

@media (max-width: 1100px) {
    .edit-technical-sheet-page[b-vaw46u9d7l] {
        padding: 10px 12px 14px;
      }

    [b-vaw46u9d7l] .technical-sheet-page-header {
        flex-direction: column;
        align-items: flex-start;
      }

    [b-vaw46u9d7l] .technical-sheet-page-header .app-header-actions {
        margin-left: 0;
        width: 100%;
        justify-content: flex-start;
      }

    [b-vaw46u9d7l] .meta-summary-bar {
        grid-template-columns: 1fr;
        align-items: stretch;
      }
}
/* /Pages/Manufacturing/ProductionOrderDetail.razor.rz.scp.css */
/* Porta de ProductionOrderDetailView.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: op-detail-view */
.op-detail-view[b-v57edzd3g7] {
  padding: 0;
  background: #f8fafc;
  min-height: 100vh;
}

[b-v57edzd3g7] .quality-review-shortcut {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  margin: 0;
  padding: 12px 16px;
  border: 1px solid #bbf7d0;
  border-radius: 12px;
  background: linear-gradient(180deg, #f0fdf4 0%, #ecfdf5 100%);
  color: #15803d;
  font-size: 0.875rem;
  font-weight: 650;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

[b-v57edzd3g7] .quality-review-shortcut:hover {
  border-color: #86efac;
  box-shadow: 0 4px 12px rgba(22, 163, 74, 0.12);
  background: #f0fdf4;
}

[b-v57edzd3g7] .quality-review-shortcut .el-icon {
  font-size: 18px;
  color: #16a34a;
}

[b-v57edzd3g7] .quality-review-shortcut strong {
  font-weight: 800;
  color: #166534;
}

[b-v57edzd3g7] .detail-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  padding: 10px 16px;
  background: #fff;
  border-bottom: 1px solid #e2e8f0;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

[b-v57edzd3g7] .back-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  color: #64748b;
  font-weight: 500;
  font-size: 13px;
  flex-shrink: 0;
  transition: color 0.2s;
}

[b-v57edzd3g7] .back-link:hover {
  color: var(--el-color-primary);
}

[b-v57edzd3g7] .v-separator {
  width: 1px;
  height: 28px;
  background: #e2e8f0;
  flex-shrink: 0;
}

[b-v57edzd3g7] .order-info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  flex: 1 1 240px;
  min-width: 0;
}

[b-v57edzd3g7] .order-info-text {
  flex: 1 1 360px;
  min-width: 0;
  max-width: 100%;
}

[b-v57edzd3g7] .order-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

[b-v57edzd3g7] .order-title {
  font-size: 1.125rem;
  font-weight: 650;
  margin: 0;
  line-height: 1.25;
}

[b-v57edzd3g7] .order-subtitle {
  margin: 4px 0 0 0;
  font-size: 12px;
  color: #64748b;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 14px;
  line-height: 1.4;
}

[b-v57edzd3g7] .meta-chunk {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  max-width: 100%;
}

[b-v57edzd3g7] .meta-chunk strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: min(100%, 36rem);
}

[b-v57edzd3g7] .meta-divider {
  margin: 0 10px;
  color: #e2e8f0;
  font-weight: 300;
}

[b-v57edzd3g7] .meta-resource {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #475569;
}

[b-v57edzd3g7] .resource-icon {
  font-size: 14px;
  color: #94a3b8;
}

[b-v57edzd3g7] .line-pill {
  background: #f1f5f9;
  color: #64748b;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  margin-left: 4px;
  border: 1px solid #e2e8f0;
}

[b-v57edzd3g7] .qty-edit-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #f8fafc;
  padding: 1px 6px;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
  transition: all 0.2s;
}

[b-v57edzd3g7] .qty-edit-wrapper:hover, [b-v57edzd3g7] .qty-edit-wrapper:focus-within {
  border-color: #4f46e5;
  background: #fff;
}

[b-v57edzd3g7] .inline-qty-input {
  width: 70px !important;
}

/* .inline-qty-input vai em <ElInputNumber Class="...">: o .el-input-number é markup do filho e não recebe o atributo de
   isolamento, por isso o ::deep tem de vir antes (no Vue o el-input-number é single-root e recebe o data-v da vista). */
[b-v57edzd3g7] .inline-qty-input .el-input__wrapper {
  box-shadow: none !important;
  padding: 0 !important;
  background: transparent !important;
}

[b-v57edzd3g7] .inline-qty-input .el-input__inner {
  text-align: center;
  font-weight: 700;
  color: #4f46e5;
  font-size: 13px;
  padding: 0 !important;
}

[b-v57edzd3g7] .unit {
  font-size: 11px;
  color: #94a3b8;
  font-weight: 500;
}

[b-v57edzd3g7] .header-complete-btn {
  flex-shrink: 0;
  align-self: center;
}

[b-v57edzd3g7] .detail-content {
  padding: 12px 16px 20px;
  max-width: 100%;
  margin: 0 auto;
}

[b-v57edzd3g7] .main-layout-row {
  align-items: flex-start;
}

[b-v57edzd3g7] .main-layout-row .el-col {
  display: flex;
  flex-direction: column;
}

[b-v57edzd3g7] .col-fit-height {
  align-self: flex-start;
}

[b-v57edzd3g7] .steps-card {
  border-radius: 10px;
  border: 1px solid #e2e8f0;
  width: 100%;
  flex: 0 0 auto;
}

[b-v57edzd3g7] .steps-card .card-header h3 {
  margin: 0;
  font-size: 13px;
  font-weight: 650;
  color: #334155;
}

[b-v57edzd3g7] .steps-card .el-card__header {
  padding: 8px 12px;
}

[b-v57edzd3g7] .steps-card .el-card__body {
  padding: 12px 14px 14px;
}

[b-v57edzd3g7] .steps-timeline {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

[b-v57edzd3g7] .step-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
  border: 1px solid transparent;
}

[b-v57edzd3g7] .step-item:hover { background: #f1f5f9; }

[b-v57edzd3g7] .step-item.active {
  background: #eef2ff;
  border-color: #c7d2fe;
}

[b-v57edzd3g7] .step-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #f1f5f9;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 14px;
  color: #64748b;
}

[b-v57edzd3g7] .step-item.completed .step-icon { background: #dcfce7; color: #16a34a; }

[b-v57edzd3g7] .step-item.active .step-icon { background: #4f46e5; color: #fff; }

[b-v57edzd3g7] .step-label {
  display: flex;
  flex-direction: column;
}

[b-v57edzd3g7] .step-label .name { font-weight: 600; font-size: 14px; color: #334155; overflow-wrap: break-word; word-break: break-word; }

[b-v57edzd3g7] .step-label .status { font-size: 11px; text-transform: uppercase; color: #94a3b8; }

[b-v57edzd3g7] .workspace {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  flex: 0 0 auto;
}

[b-v57edzd3g7] .po-io-row {
  align-items: flex-start;
}

[b-v57edzd3g7] .po-io-row .el-col {
  display: flex;
  flex-direction: column;
}

[b-v57edzd3g7] .process-banner {
  background: #fff;
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
  width: 100%;
  flex: 0 0 auto;
}

[b-v57edzd3g7] .banner-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
}

[b-v57edzd3g7] .banner-title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 650;
  line-height: 1.3;
}

[b-v57edzd3g7] .banner-tag {
  flex-shrink: 0;
}

[b-v57edzd3g7] .banner-meta {
  margin: 4px 0 0 0;
  color: #64748b;
  font-size: 12px;
}

[b-v57edzd3g7] .section-card {
  border-radius: 10px;
  border: 1px solid #e2e8f0;
  width: 100%;
  flex: 0 0 auto;
}

[b-v57edzd3g7] .section-card .el-card__header {
  padding: 10px 14px;
  border-bottom: 1px solid #f1f5f9;
}

[b-v57edzd3g7] .section-card .el-card__body {
  padding: 12px 14px;
}

[b-v57edzd3g7] .section-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  gap: 8px 12px;
}

[b-v57edzd3g7] .section-header .title {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 14px;
}

[b-v57edzd3g7] .input-entry {
  padding: 10px 12px;
  background: #f1f5f9;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  margin-bottom: 8px;
}

[b-v57edzd3g7] .input-entry:last-child {
  margin-bottom: 0;
}

[b-v57edzd3g7] .input-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  flex-wrap: wrap;
}

[b-v57edzd3g7] .prod-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}

[b-v57edzd3g7] .prod-name {
  font-size: 14px;
  line-height: 1.35;
  overflow-wrap: break-word;
  word-break: break-word;
}

[b-v57edzd3g7] .prod-info .req {
  font-size: 12px;
  color: #64748b;
}

[b-v57edzd3g7] .alloc-btn {
  flex-shrink: 0;
  padding: 0 4px;
  margin-top: 1px;
}

[b-v57edzd3g7] .allocations-list {
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

[b-v57edzd3g7] .alloc-tag {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  padding: 6px 12px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}

[b-v57edzd3g7] .lot-info-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  padding: 2px 8px;
  border-radius: 6px;
  border: 1px solid #f1f5f9;
}

[b-v57edzd3g7] .alloc-tag .lot { color: #475569; font-weight: 500; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; letter-spacing: -0.5px;}

[b-v57edzd3g7] .alloc-tag .expiry { font-size: 11px; color: #ef4444; background: #fef2f2; padding: 2px 6px; border-radius: 4px; font-weight: 500;}

[b-v57edzd3g7] .alloc-tag .remove { cursor: pointer; color: #94a3b8; transition: color 0.2s; padding: 4px; border-radius: 4px; }

[b-v57edzd3g7] .alloc-tag .remove:hover { color: #ef4444; background-color: #fee2e2;}

[b-v57edzd3g7] .empty-alloc {
  font-size: 12px;
  color: #94a3b8;
  width: 100%;
  line-height: 1.35;
}

[b-v57edzd3g7] .output-entry {
  padding: 10px 12px;
  border-left: 3px solid #a855f7;
  background: #faf5ff;
  margin-bottom: 8px;
  border-radius: 6px;
}

[b-v57edzd3g7] .output-entry:last-child {
  margin-bottom: 0;
}

[b-v57edzd3g7] .output-entry .prod-info {
  gap: 2px;
}

[b-v57edzd3g7] .lot-prev {
  margin-top: 6px;
  font-size: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: baseline;
}

[b-v57edzd3g7] .lot-prev .label {
  color: #7e22ce;
  font-weight: 500;
}

[b-v57edzd3g7] .lot-prev .value {
  color: #581c87;
}

[b-v57edzd3g7] .purple-theme .el-card__header {
  background: #faf5ff;
  border-bottom-color: #f3e8ff;
}

[b-v57edzd3g7] .warehouse-selection-content {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 0;
}

[b-v57edzd3g7] .destination-confirm-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

[b-v57edzd3g7] .destination-confirm-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

[b-v57edzd3g7] .destination-confirm-row__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #ecfdf5;
  color: #16a34a;
  flex-shrink: 0;
}

[b-v57edzd3g7] .destination-confirm-row__meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

[b-v57edzd3g7] .destination-confirm-row strong {
  color: #0f172a;
  font-size: 0.95rem;
  font-weight: 750;
}

[b-v57edzd3g7] .destination-confirm-row span {
  color: #15803d;
  font-size: 0.875rem;
  font-weight: 700;
}

[b-v57edzd3g7] .dialog-hint {
  margin: 0;
  color: #64748b;
  font-size: 0.9rem;
  line-height: 1.5;
}

[b-v57edzd3g7] .warehouse-radio-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

[b-v57edzd3g7] .warehouse-option {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 14px 16px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
}

[b-v57edzd3g7] .warehouse-option:hover {
  background: #f8fafc;
  border-color: #cbd5e1;
}

[b-v57edzd3g7] .warehouse-option.is-active {
  background: #f0f7ff;
  border-color: #3b82f6;
  box-shadow: 0 0 0 1px #3b82f6;
}

.warehouse-option[b-v57edzd3g7]  .el-radio {
  width: 100%;
  margin-right: 0;
  height: auto;
}

[b-v57edzd3g7] .wh-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-left: 8px;
}

[b-v57edzd3g7] .wh-label-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

[b-v57edzd3g7] .suggest-tag {
  font-weight: 700;
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.5px;
}

[b-v57edzd3g7] .wh-name {
  font-weight: 600;
  font-size: 15px;
  color: #1e293b;
  display: inline-block;
  max-width: 250px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: bottom;
}

[b-v57edzd3g7] .wh-code {
  font-size: 12px;
  color: #64748b;
}

[b-v57edzd3g7] .dialog-footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 4px;
}

/* Modais OP (saída / armazém / desperdício) — hierarquia premium partilhada */
[b-v57edzd3g7] .op-premium-dialog {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 24px 48px rgba(15, 23, 42, 0.14);
}

[b-v57edzd3g7] .op-premium-dialog .el-dialog__header {
  margin-right: 0;
  padding: 20px 24px 14px;
  border-bottom: 1px solid #f1f5f9;
}

[b-v57edzd3g7] .op-premium-dialog .el-dialog__title {
  font-weight: 750;
  font-size: 1.05rem;
  color: #0f172a;
  letter-spacing: -0.01em;
}

[b-v57edzd3g7] .op-premium-dialog .el-dialog__body {
  padding: 18px 24px 8px;
}

[b-v57edzd3g7] .op-premium-dialog .el-dialog__footer {
  padding: 12px 24px 20px;
  border-top: 1px solid #f8fafc;
}

[b-v57edzd3g7] .op-dialog-primary {
  font-weight: 700;
  border-radius: 10px;
  padding: 10px 18px;
}

[b-v57edzd3g7] .op-dialog-alert {
  border-radius: 12px;
}

[b-v57edzd3g7] .op-dialog-ok-banner {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid #bbf7d0;
  background: #f0fdf4;
  color: #166534;
  font-size: 0.84rem;
  font-weight: 650;
  line-height: 1.45;
}

[b-v57edzd3g7] .op-dialog-ok-banner .el-icon {
  flex-shrink: 0;
  margin-top: 1px;
  color: #16a34a;
  font-size: 16px;
}

[b-v57edzd3g7] .output-verification-content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

[b-v57edzd3g7] .output-verification-product {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
}

[b-v57edzd3g7] .output-verification-product__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #eff6ff;
  color: #2563eb;
  flex-shrink: 0;
}

[b-v57edzd3g7] .output-verification-product__meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

[b-v57edzd3g7] .output-verification-product span {
  color: #0f172a;
  font-size: 0.95rem;
  font-weight: 750;
}

[b-v57edzd3g7] .output-verification-product strong {
  color: #64748b;
  font-size: 0.82rem;
  font-weight: 700;
}

[b-v57edzd3g7] .output-verification-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

[b-v57edzd3g7] .output-verification-label {
  color: #334155;
  font-size: 0.82rem;
  font-weight: 750;
}

[b-v57edzd3g7] .output-verification-input-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

[b-v57edzd3g7] .output-verification-input {
  width: 200px;
}

[b-v57edzd3g7] .output-verification-input-row .unit {
  color: #94a3b8;
  font-size: 0.85rem;
  font-weight: 700;
}

[b-v57edzd3g7] .output-verification-deviation {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  padding: 8px 12px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 0.82rem;
  font-weight: 700;
}

[b-v57edzd3g7] .output-verification-deviation strong {
  color: #16a34a;
  font-variant-numeric: tabular-nums;
}

[b-v57edzd3g7] .output-verification-deviation.is-ok {
  background: #ecfdf5;
  color: #166534;
}

[b-v57edzd3g7] .output-verification-deviation.is-warning {
  background: #fffbeb;
  color: #92400e;
}

[b-v57edzd3g7] .output-verification-deviation.is-warning strong {
  color: #d97706;
}

[b-v57edzd3g7] .output-verification-reason {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

[b-v57edzd3g7] .motivo-dialog-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

[b-v57edzd3g7] .waste-disposition-group {
  margin-top: 0;
  width: 100%;
  display: flex;
}

[b-v57edzd3g7] .waste-disposition-group.el-radio-group {
  display: flex;
  width: 100%;
}

[b-v57edzd3g7] .waste-disposition-group .el-radio-button {
  flex: 1;
}

[b-v57edzd3g7] .waste-disposition-group .el-radio-button__inner {
  width: 100%;
  border-radius: 0;
  font-weight: 700;
}

[b-v57edzd3g7] .waste-disposition-group .el-radio-button:first-child .el-radio-button__inner {
  border-radius: 10px 0 0 10px;
}

[b-v57edzd3g7] .waste-disposition-group .el-radio-button:last-child .el-radio-button__inner {
  border-radius: 0 10px 10px 0;
}

[b-v57edzd3g7] .reused-quantity-row {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 4px;
  padding: 14px;
  border: 1px solid #fde68a;
  border-radius: 12px;
  background: #fffbeb;
}

[b-v57edzd3g7] .reused-hint {
  color: #92400e;
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.4;
}

/* Modal selecionar lote — hierarquia premium (intencional vs Vue scoped que nunca aplicava). */
[b-v57edzd3g7] .lot-select-dialog {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 24px 48px rgba(15, 23, 42, 0.14);
}

[b-v57edzd3g7] .lot-select-dialog .el-dialog__header {
  margin-right: 0;
  padding: 20px 24px 16px;
  border-bottom: 1px solid #f1f5f9;
}

[b-v57edzd3g7] .lot-select-dialog .el-dialog__title {
  font-weight: 700;
  font-size: 1.05rem;
  color: #0f172a;
}

[b-v57edzd3g7] .lot-select-dialog .el-dialog__body {
  padding: 16px 24px 24px;
}

[b-v57edzd3g7] .lot-select-dialog__search {
  margin-bottom: 14px;
}

[b-v57edzd3g7] .lot-select-dialog__table {
  max-height: 440px;
  overflow: auto;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
}

[b-v57edzd3g7] .lot-select-dialog__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 48px 24px;
  color: #94a3b8;
  text-align: center;
}

[b-v57edzd3g7] .lot-select-dialog__empty .el-icon {
  font-size: 28px;
  color: #cbd5e1;
}

[b-v57edzd3g7] .lot-select-dialog__empty p {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 600;
  color: #64748b;
}

[b-v57edzd3g7] .lot-select-table__lot {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-weight: 600;
  color: #334155;
  letter-spacing: -0.02em;
}

[b-v57edzd3g7] .lot-select-table__stock {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  color: #334155;
}

[b-v57edzd3g7] .lot-select-table__qty-row {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: flex-end;
}

[b-v57edzd3g7] .lot-select-table .el-table__row:hover > td.el-table__cell {
  background: #f8fafc !important;
}

[b-v57edzd3g7] .priority-picker {
  margin-left: 8px;
}

[b-v57edzd3g7] .priority-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 8px;
  background: #94a3b8;
}

[b-v57edzd3g7] .priority-dot.low { background: #38bdf8; }

[b-v57edzd3g7] .priority-dot.normal { background: #94a3b8; }

[b-v57edzd3g7] .priority-dot.high { background: #fbbf24; }

[b-v57edzd3g7] .priority-dot.urgent { background: #f87171; }

[b-v57edzd3g7] .header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
  margin-left: auto;
}

[b-v57edzd3g7] .text-danger {
  color: var(--el-color-danger) !important;
}

[b-v57edzd3g7] .el-dropdown-menu__item.text-danger:hover {
  background-color: var(--el-color-danger-light-9) !important;
  color: var(--el-color-danger) !important;
}

[b-v57edzd3g7] .line-pill {
  background: #f1f5f9;
  color: #475569;
  padding: 2px 8px;
  border-radius: 99px;
  font-size: 11px;
  font-weight: 600;
  margin-left: 6px;
  border: 1px solid #e2e8f0;
}

[b-v57edzd3g7] .origin-shortcut-section {
  margin-bottom: 24px;
}

[b-v57edzd3g7] .origin-btn {
  width: 100%;
  height: auto;
  padding: 16px;
  display: flex !important;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 15px;
  border-radius: 12px !important;
  transition: all 0.2s;
  background-color: #f0f7ff !important;
  border: 1.5px solid #bfdbfe !important;
}

[b-v57edzd3g7] .custom-radio-circle {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1.5px solid #dcdfe6;
  background-color: #ffffff;
  display: inline-block;
  position: relative;
  margin-right: 8px;
  flex-shrink: 0;
  transition: all 0.15s ease;
}

[b-v57edzd3g7] .custom-radio-circle::after {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #ffffff;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: transform 0.15s ease-in-out;
}

[b-v57edzd3g7] .custom-radio-circle.is-checked {
  border-color: #3b82f6;
  background-color: #3b82f6;
}

[b-v57edzd3g7] .custom-radio-circle.is-checked::after {
  transform: translate(-50%, -50%) scale(1);
}

[b-v57edzd3g7] .origin-btn.is-active .custom-radio-circle {
  border-color: #ffffff !important;
  background-color: #ffffff !important;
}

[b-v57edzd3g7] .origin-btn.is-active .custom-radio-circle::after {
  background-color: #3b82f6 !important;
}

[b-v57edzd3g7] .origin-btn.is-active {
  background-color: #3b82f6 !important; 
  border-color: #2563eb !important;
  color: #ffffff !important;
}

[b-v57edzd3g7] .origin-btn.is-active strong {
  color: #ffffff !important;
}

[b-v57edzd3g7] .origin-btn.is-active .el-icon {
  color: #ffffff !important;
}

[b-v57edzd3g7] .origin-btn strong {
  margin-left: 4px;
  color: #1d4ed8;
    max-width: 150px;             
  display: inline-block;       
  white-space: nowrap;          
  overflow: hidden;            
  text-overflow: ellipsis;  
  vertical-align: bottom;    
}

[b-v57edzd3g7] .origin-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.15);
  background-color: #e0f2fe !important;
}

[b-v57edzd3g7] .divider {
  display: flex;
  align-items: center;
  text-align: center;
  margin: 16px 0;
  color: #94a3b8;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

[b-v57edzd3g7] .divider::before, [b-v57edzd3g7] .divider::after {
  content: '';
  flex: 1;
  border-bottom: 1px solid #e2e8f0;
}

[b-v57edzd3g7] .divider:not(:empty)::before {
  margin-right: 12px;
}

[b-v57edzd3g7] .divider:not(:empty)::after {
  margin-left: 12px;
}

[b-v57edzd3g7] .meta-chunk.link-chunk {
  cursor: pointer;
  color: var(--el-color-primary);
  transition: opacity 0.2s;
}

[b-v57edzd3g7] .meta-chunk.link-chunk:hover {
  opacity: 0.8;
  text-decoration: underline;
}

[b-v57edzd3g7] .notes-card {
  margin-top: 16px;
  border-left: 4px solid var(--el-color-primary) !important;
}

[b-v57edzd3g7] .notes-content {
  font-size: 14px;
  line-height: 1.6;
  color: #475569;
  white-space: pre-wrap;
  padding: 8px 0;
}

[b-v57edzd3g7] .mt-4 {
  margin-top: 16px;
}

[b-v57edzd3g7] .produced-qty-row {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed #e2e8f0;
  display: flex;
  align-items: center;
  gap: 8px;
}

[b-v57edzd3g7] .produced-qty-row .label {
  font-size: 12px;
  font-weight: 600;
  color: #64748b;
}

[b-v57edzd3g7] .qty-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  font-size: 14px;
  padding: 2px 8px;
  border-radius: 6px;
}

[b-v57edzd3g7] .qty-status.status-low {
  color: #ef4444;
  background-color: #fef2f2;
}

[b-v57edzd3g7] .qty-status.status-ok {
  color: #10b981;
  background-color: #ecfdf5;
}

[b-v57edzd3g7] .qty-status.status-high {
  color: #3b82f6;
  background-color: #eff6ff;
}

[b-v57edzd3g7] .meta-operator {
  color: #0f172a;
  display: inline-flex;
  align-items: center;
}

[b-v57edzd3g7] .operator-signature {
  margin-left: 12px;
  font-size: 12px;
  font-weight: normal;
  color: #64748b;
  font-style: italic;
}

[b-v57edzd3g7] .exclusive-quality-container {
  max-width: 1500px;
  width: 98%;
  margin: 10px auto;
}

.exclusive-quality-container[b-v57edzd3g7]  .quality-inline-card {
  margin-top: 0;
  border: 1px solid #e2e8f0;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

[b-v57edzd3g7] .quality-status-bar {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 20px;
  border-radius: 12px;
  margin-bottom: 16px;
  border: 1px solid transparent;
}

[b-v57edzd3g7] .quality-status-bar.is-pending {
  background-color: #fffbeb;
  border-color: #fef3c7;
  color: #92400e;
}

[b-v57edzd3g7] .quality-status-bar.is-completed {
  background-color: #f0fdf4;
  border-color: #dcfce7;
  color: #166534;
}

[b-v57edzd3g7] .quality-status-bar.is-rejected {
  background-color: #fef2f2;
  border-color: #fee2e2;
  color: #991b1b;
}

[b-v57edzd3g7] .status-icon {
  font-size: 20px;
  display: flex;
  align-items: center;
}

[b-v57edzd3g7] .status-text {
  flex: 1;
  display: flex;
  flex-direction: column;
}

[b-v57edzd3g7] .status-title {
  font-weight: 800;
  font-size: 0.95rem;
}

[b-v57edzd3g7] .status-desc {
  font-size: 0.8rem;
  opacity: 0.8;
}

[b-v57edzd3g7] .blocked-alert {
  background: #fef2f2;
  border: 1px solid #fee2e2;
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  animation: pulse-b-v57edzd3g7 2s infinite;
}

[b-v57edzd3g7] .blocked-content {
  display: flex;
  align-items: center;
  gap: 16px;
}

[b-v57edzd3g7] .blocked-icon {
  font-size: 24px;
  color: #ef4444;
}

[b-v57edzd3g7] .blocked-text h3 {
  margin: 0;
  font-size: 14px;
  font-weight: 800;
  color: #991b1b;
  letter-spacing: 0.5px;
}

[b-v57edzd3g7] .blocked-text p {
  margin: 2px 0 0;
  font-size: 13px;
  color: #b91c1c;
}

@keyframes pulse-b-v57edzd3g7 {
  0% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4); }
  70% { box-shadow: 0 0 0 10px rgba(239, 68, 68, 0); }
  100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); }
}

[b-v57edzd3g7] .btn-text-content {
  display: inline-flex;
  align-items: center;
  max-width: calc(100% - 24px);
  overflow: hidden;
  white-space: nowrap;
}

[b-v57edzd3g7] .truncated-text {
  display: inline-block;
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: bottom;
  margin-left: 4px;
}
/* /Pages/Manufacturing/ProductionOrdersList.razor.rz.scp.css */
/* Porta de ProductionOrdersListView.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: technical-sheets-page */
[b-m7vziylvop] .order-expansion {
  padding: 16px 24px;
  background: #f8fafc;
}

[b-m7vziylvop] .expansion-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  font-weight: 600;
  color: #475569;
  font-size: 14px;
}

[b-m7vziylvop] .list-container {
  width: 100%;
}

[b-m7vziylvop] .stat-card {
  border-radius: 12px;
  background: #ffffff;
}

[b-m7vziylvop] .stat-content {
  display: grid;
  gap: 4px;
  min-width: 0;
}

[b-m7vziylvop] .stat-icon {
  display: none;
}

[b-m7vziylvop] .stat-icon.blue {
  background: #eff6ff;
  color: #3b82f6;
}

[b-m7vziylvop] .stat-icon.slate {
  background: #f1f5f9;
  color: #64748b;
}

[b-m7vziylvop] .stat-icon.orange {
  background: #fff7ed;
  color: #f97316;
}

[b-m7vziylvop] .stat-icon.green {
  background: #f0fdf4;
  color: #22c55e;
}

[b-m7vziylvop] .stat-icon.red {
  background: #fef2f2;
  color: #ef4444;
}

[b-m7vziylvop] .stat-icon.purple {
  background: #faf5ff;
  color: #a855f7;
}

[b-m7vziylvop] .stat-info .label {
  display: block;
  font-size: 11px;
  color: #64748b;
  text-transform: uppercase;
  font-weight: 600;
}

[b-m7vziylvop] .stat-info .value {
  font-size: 20px;
  font-weight: 700;
  color: #1e293b;
}

[b-m7vziylvop] .el-table__expanded-cell {
  padding: 0 !important;
}
/* /Pages/Manufacturing/ProductionScheduler.razor.rz.scp.css */
/* Porta de ProductionSchedulerView.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: command-center */
.command-center[b-zfdiqbjzml] {
  height: calc(100vh - 80px);
  display: flex;
  flex-direction: column;
  padding: 20px !important;
  background: var(--app-bg-premium);
}

[b-zfdiqbjzml] .control-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 12px 24px;
  margin-bottom: 0px;
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(20px);
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  box-shadow: 0 8px 32px rgba(139, 98, 56, 0.05);
}

[b-zfdiqbjzml] .header-main {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  min-width: 0;
}

[b-zfdiqbjzml] .page-title {
  margin: 0;
  font-size: 18px;
  font-weight: 900;
  color: var(--espresso);
  letter-spacing: -0.02em;
  white-space: nowrap;
}

[b-zfdiqbjzml] .mini-stats {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

[b-zfdiqbjzml] .mini-stat {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  color: #785c45;
  white-space: nowrap;
}

[b-zfdiqbjzml] .mini-stat .value {
  color: var(--espresso);
  font-weight: 900;
  font-size: 14px;
  margin-left: 2px;
}

[b-zfdiqbjzml] .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}

[b-zfdiqbjzml] .dot.pending {
  background: #94a3b8;
}

[b-zfdiqbjzml] .dot.planned {
  background: #3b82f6;
}

[b-zfdiqbjzml] .dot.active {
  background: #10b981;
}

[b-zfdiqbjzml] .dot.danger {
  background: #ef4444;
}

[b-zfdiqbjzml] .dot.success {
  background: #5e72e4;
}

[b-zfdiqbjzml] .header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

/* Toolbar unificada: botões e date picker com o mesmo chrome */
[b-zfdiqbjzml] .header-actions .el-button-group {
  display: inline-flex;
  align-items: stretch;
  gap: 0;
}

[b-zfdiqbjzml] .header-actions .el-button-group .el-button {
  margin: 0;
  border-radius: 0;
  border-color: rgba(139, 98, 56, 0.18);
  background: #fff;
  color: var(--espresso, #17312b);
  font-weight: 600;
}

[b-zfdiqbjzml] .header-actions .el-button-group > .el-button {
  border-radius: 0;
}

[b-zfdiqbjzml] .header-actions .el-button-group > .el-button:last-child {
  border-radius: 0 8px 8px 0;
}

[b-zfdiqbjzml] .header-actions .el-button-group .el-button:hover {
  background: rgba(139, 98, 56, 0.06);
  border-color: rgba(139, 98, 56, 0.28);
  color: var(--espresso, #17312b);
}

[b-zfdiqbjzml] .total-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: var(--espresso);
  color: white;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 800;
}

[b-zfdiqbjzml] .total-badge.luxe {
  background: linear-gradient(135deg, var(--espresso), #4a3423);
  box-shadow: 0 4px 12px rgba(139, 98, 56, 0.2);
}

[b-zfdiqbjzml] .main-workspace {
  display: flex;
  gap: 20px;
  flex: 1;
  overflow: hidden;
  margin-top: 16px;
}

[b-zfdiqbjzml] .gantt-board-container {
  flex: 1;
  display: flex;
  background: #fdfcfb;
  border-radius: 24px;
  border: 1px solid rgba(139, 98, 56, 0.15);
  overflow: hidden;
  position: relative;
  box-shadow: 0 20px 50px rgba(139, 98, 56, 0.1);
}

[b-zfdiqbjzml] .machine-sidebar {
  width: 280px;
  background: rgba(255, 255, 255, 0.8);
  border-right: 1px solid #d7dfe9;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  position: relative;
  z-index: 10;
}

[b-zfdiqbjzml] .sidebar-corner {
  height: 60px;
  border-bottom: 1px solid #d7dfe9;
  background: #f8fafc;
}

[b-zfdiqbjzml] .sidebar-hierarchical {
  display: flex;
  flex: 1;
}

[b-zfdiqbjzml] .sidebar-group-column {
  width: 120px;
  border-right: 1px solid #d7dfe9;
  background: #f8fafc;
}

[b-zfdiqbjzml] .sidebar-sub-column {
  flex: 1;
}

[b-zfdiqbjzml] .group-header-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  border-bottom: 1px solid #d7dfe9;
  background: transparent;
  text-align: center;
  box-sizing: border-box;
}

[b-zfdiqbjzml] .group-text {
  font-weight: 700;
  font-size: 13px;
  color: #1e293b;
  text-transform: uppercase;
  writing-mode: vertical-lr;
  transform: rotate(180deg);
}

[b-zfdiqbjzml] .sub-header-cell {
  height: 100px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 15px;
  border-bottom: 1px solid #d7dfe9;
  box-sizing: border-box;
}

[b-zfdiqbjzml] .sub-text {
  font-weight: 600;
  font-size: 12px;
  color: #475569;
  display: block;
  max-width: 140px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[b-zfdiqbjzml] .sub-count {
  font-size: 10px;
  color: #94a3b8;
  margin-top: 4px;
}

[b-zfdiqbjzml] .luxe-date-picker {
  margin-right: 0;
  --el-date-editor-width: 160px;
}

[b-zfdiqbjzml] .luxe-date-picker .el-input__wrapper {
  background: #fff;
  box-shadow: 0 0 0 1px rgba(139, 98, 56, 0.18) inset;
  border-radius: 8px 0 0 8px;
  min-height: var(--alvo-min, 40px);
}

[b-zfdiqbjzml] .luxe-date-picker .el-input__inner {
  color: var(--espresso);
  font-weight: 700;
}

[b-zfdiqbjzml] .gantt-scroller {
  flex: 1;
  overflow-x: auto;
  overflow-y: auto;
  position: relative;
  display: flex;
  flex-direction: column;
}

[b-zfdiqbjzml] .gantt-scroller::-webkit-scrollbar {
  height: 8px;
  width: 8px;
}

[b-zfdiqbjzml] .gantt-scroller::-webkit-scrollbar-track {
  background: rgba(139, 98, 56, 0.05);
}

[b-zfdiqbjzml] .gantt-scroller::-webkit-scrollbar-thumb {
  background: rgba(139, 98, 56, 0.3);
  border-radius: 4px;
}

[b-zfdiqbjzml] .gantt-scroller::-webkit-scrollbar-thumb:hover {
  background: rgba(139, 98, 56, 0.5);
}

[b-zfdiqbjzml] .gantt-board {
  flex: none;
  position: relative;
  background: white;
  min-height: 100%;
  box-sizing: content-box;
  
}

[b-zfdiqbjzml] .grid-vertical-line {
  position: absolute;
  top: 60px;
  bottom: 0;
  width: 1px;
  background: #d7dfe9;
  pointer-events: none;
  z-index: 0;
}

[b-zfdiqbjzml] .grid-vertical-line:nth-child(4n) {
  background: #d7dfe9;
}

[b-zfdiqbjzml] .machine-row {
  height: 100px;
  position: relative;
  border-bottom: 1px solid #d7dfe9;
  background: transparent;
  box-sizing: border-box;
}

[b-zfdiqbjzml] .machine-row:hover {
  background: rgba(139, 98, 56, 0.03);
}

[b-zfdiqbjzml] .time-ruler-row {
  height: 60px;
  position: sticky;
  top: 0;
  background: #f8fafc;
  z-index: 45;
  border-bottom: 1px solid #d7dfe9;
}

[b-zfdiqbjzml] .time-label {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 11px;
  font-weight: 700;
  color: #64748b;
  white-space: nowrap;
  padding-left: 2px;
  border-left: 1px solid #d7dfe9;
  height: 100%;
  display: flex;
  align-items: center;
  padding-left: 8px;
}

[b-zfdiqbjzml] .current-time-vertical {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #ef4444;
  z-index: 10;
  pointer-events: none;
}

[b-zfdiqbjzml] .now-flag {
  position: absolute;
  top: -25px;
  left: -20px;
  background: #ef4444;
  color: white;
  font-size: 10px;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: 4px;
}

[b-zfdiqbjzml] .gantt-card {
  position: absolute;
  top: 28px;
  height: 44px;
  background: white;
  border-radius: 8px;
  border-right: 2px solid rgba(0, 0, 0, 0.05);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  border: 1px solid rgba(0, 0, 0, 0.03);
  display: flex;
  cursor: grab;
  transition:
    transform 0.2s,
    box-shadow 0.2s;
  overflow: hidden;
  z-index: 10;
  user-select: none;
}

[b-zfdiqbjzml] .gantt-links-layer {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 5;
}

[b-zfdiqbjzml] .dependency-path {
  opacity: 0.5;
  transition: opacity 0.3s;
  animation: flowLine-b-zfdiqbjzml 30s linear infinite;
}

@keyframes flowLine-b-zfdiqbjzml {
  from {
    stroke-dashoffset: 200;
  }
  to {
    stroke-dashoffset: 0;
  }
}

[b-zfdiqbjzml] .gantt-card:hover ~ .gantt-links-layer .dependency-path {
  opacity: 0.8;
  stroke-width: 3;
}

[b-zfdiqbjzml] .step-badge {
  font-size: 9px;
  background: rgba(0, 0, 0, 0.08);
  padding: 1px 4px;
  border-radius: 4px;
  margin-left: auto;
  font-weight: 700;
  color: #475569;
  flex-shrink: 0;
}

[b-zfdiqbjzml] .gantt-card:hover {
  transform: translateY(-30px); 
  height: 80px; 
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2);
  z-index: 100;
  overflow: visible;
  background: white !important;
}

[b-zfdiqbjzml] .gantt-card:hover .card-body-mini {
  padding-bottom: 10px;
  background: white;
  min-width: 180px;
  box-shadow: 10px 0 15px rgba(0, 0, 0, 0.1);
  border-radius: 0 8px 8px 0;
}

[b-zfdiqbjzml] .gantt-card:hover .card-title-line, [b-zfdiqbjzml] .gantt-card:hover .card-time-badge, [b-zfdiqbjzml] .gantt-card:hover .card-product {
  width: max-content; 
  min-width: 150px;
}

[b-zfdiqbjzml] .card-status-stripe {
  width: 5px;
  border-top-left-radius: 7px;
  border-bottom-left-radius: 7px;
  background-image: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0.2),
    transparent
  );
}

[b-zfdiqbjzml] .gantt-card.is-small-card:not(:hover) .card-time-badge, [b-zfdiqbjzml] .gantt-card.is-small-card:not(:hover) .card-product, [b-zfdiqbjzml] .gantt-card.is-small-card:not(:hover) .card-qty, [b-zfdiqbjzml] .gantt-card.is-small-card:not(:hover) .step-badge, [b-zfdiqbjzml] .gantt-card.is-small-card:not(:hover) .card-actions-mini {
  display: none !important;
}

[b-zfdiqbjzml] .gantt-card.is-small-card:not(:hover) .card-body-mini {
  justify-content: center;
  align-items: center;
  padding-left: 0;
}

[b-zfdiqbjzml] .gantt-card:hover .gantt-card-sticky-container {
  transform: none !important;
}

[b-zfdiqbjzml] .card-body-mini {
  flex: 1;
  display: flex;
  flex-direction: column;
  position: relative;
  align-items: flex-start;
  padding-left: 5px;
  padding-right: 3px;
  padding-top: 3px;
  overflow: hidden;
  justify-content: space-around;
}

[b-zfdiqbjzml] .gantt-card-sticky-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  pointer-events: none;
  z-index: 10;

  
  
  transform: translateX(
    clamp(
      0px,
      var(--scroll-left, 0px) - var(--card-left, 0px),
      var(--card-width, 1000px) - 200px
    )
  );
  transition: transform 0.1s linear;
}

[b-zfdiqbjzml] .gantt-card {
  
  --card-left: calc(var(--item-left-px, 0px));
  --card-width: calc(var(--item-width-px, 0px));
}

[b-zfdiqbjzml] .card-title-line {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 2px;
  width: 100%;
  white-space: nowrap;
}

[b-zfdiqbjzml] .card-actions-mini {
  margin-left: auto;
  margin-right: 8px;
  display: flex;
  gap: 4px;
  z-index: 20;
  position: relative;
  pointer-events: auto;
}

[b-zfdiqbjzml] .card-actions-mini .el-button {
  padding: 4px;
  height: 24px;
  width: 24px;
  transition: all 0.2s ease;
}

[b-zfdiqbjzml] .lock-btn:hover {
  transform: scale(1.2);
  z-index: 10;
}

[b-zfdiqbjzml] .lock-btn.el-button--danger {
  box-shadow: 0 0 8px rgba(245, 108, 108, 0.4);
}

[b-zfdiqbjzml] .card-number {
  font-family: monospace;
  font-size: 8px;
  font-weight: 800;
  color: #94a3b8;
  overflow: hidden;
  text-overflow: ellipsis;
}

[b-zfdiqbjzml] .card-qty {
  font-size: 10px;
  font-weight: 900;
  color: var(--espresso);
  background: rgba(255, 255, 255, 0.7);
  border-radius: 4px;
  padding: 0 4px;
}

[b-zfdiqbjzml] .card-product {
  font-size: 10px;
  font-weight: 800;
  color: var(--espresso);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 2px;
}

[b-zfdiqbjzml] .card-time-badge {
  font-size: 8px;
  font-weight: 800;
  color: white;
  background: var(--espresso);
  padding: 1px 4px;
  border-radius: 3px;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  width: fit-content;
  margin-top: auto;
  margin-bottom: 2px;
  opacity: 0.9;
}

[b-zfdiqbjzml] .truncated-icon {
  color: #ef4444;
  font-size: 14px;
  margin-left: 4px;
  animation: pulse-b-zfdiqbjzml 2s infinite;
}

@keyframes pulse-b-zfdiqbjzml {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
  }
}

[b-zfdiqbjzml] .is-truncated::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 30px;
  background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.7));
  pointer-events: none;
}

[b-zfdiqbjzml] .gantt-card.in_production {
  border: 2px solid #10b981;
}

[b-zfdiqbjzml] .gantt-card.paused {
  border: 2px solid #f59e0b;
}

[b-zfdiqbjzml] .gantt-card.ready {
  border: 2px solid #8b5cf6;
}

[b-zfdiqbjzml] .gantt-card.completed, [b-zfdiqbjzml] .gantt-card.closed {
  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%) !important;
  border: 1.5px solid #86efac !important;
  opacity: 0.95;
  filter: none;
  box-shadow: 0 4px 12px rgba(34, 197, 94, 0.1);
  cursor: default !important;
}

[b-zfdiqbjzml] .cleaning-block-horizontal {
  position: absolute;
  top: 0;
  bottom: 0;
  background-image: repeating-linear-gradient(
    -45deg,
    rgba(99, 102, 241, 0.05),
    rgba(99, 102, 241, 0.05) 10px,
    transparent 10px,
    transparent 20px
  );
  border-left: 1px dashed rgba(99, 102, 241, 0.2);
  border-right: 1px dashed rgba(99, 102, 241, 0.2);
}

[b-zfdiqbjzml] .cleaning-block-horizontal.is-conflict {
  background-image: repeating-linear-gradient(
    -45deg,
    rgba(245, 158, 11, 0.1),
    rgba(245, 158, 11, 0.1) 10px,
    transparent 10px,
    transparent 20px
  );
  border-left: 1px dashed rgba(245, 158, 11, 0.4);
  border-right: 1px dashed rgba(245, 158, 11, 0.4);
}

[b-zfdiqbjzml] .cleaning-block-horizontal.is-conflict .cleaning-pill {
  border-color: #f59e0b;
  color: #d97706;
  box-shadow: 0 2px 8px rgba(245, 158, 11, 0.2);
}

[b-zfdiqbjzml] .cleaning-content {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  overflow: visible;
  
  background: rgba(255, 255, 255, 0.02);
  backdrop-filter: blur(2px);
}

[b-zfdiqbjzml] .cleaning-pill {
  display: flex;
  align-items: center;
  background: white;
  padding: 2px 8px;
  border-radius: 12px;
  color: #4f46e5;
  font-size: 10px;
  font-weight: 800;
  box-shadow: 0 2px 8px rgba(99, 102, 241, 0.2);
  border: 1px solid rgba(99, 102, 241, 0.3);
  white-space: nowrap;
  z-index: 5;
  transition: transform 0.2s ease;
}

[b-zfdiqbjzml] .cleaning-pill:hover {
  transform: scale(1.1);
  box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3);
}

[b-zfdiqbjzml] .smart-backlog {
  width: 280px;
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(20px);
  border-radius: 24px;
  border: 1px solid rgba(139, 98, 56, 0.1);
  display: flex;
  flex-direction: column;
  padding: 20px;
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1),
              padding 0.3s cubic-bezier(0.4, 0, 0.2, 1),
              min-width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
  flex-shrink: 0;
}

[b-zfdiqbjzml] .smart-backlog.is-collapsed {
  width: 62px;
  min-width: 62px;
  padding: 16px 10px;
}

[b-zfdiqbjzml] .smart-backlog.is-collapsed .backlog-items {
  display: none;
}

[b-zfdiqbjzml] .backlog-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  flex-shrink: 0;
}

[b-zfdiqbjzml] .smart-backlog.is-collapsed .backlog-header {
  flex-direction: column;
  gap: 8px;
  margin-bottom: 0;
  align-items: center;
}

[b-zfdiqbjzml] .backlog-header h3 {
  margin: 0;
  color: var(--espresso);
  font-size: 16px;
  font-weight: 800;
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
}

[b-zfdiqbjzml] .pill {
  background: var(--espresso);
  color: white;
  border-radius: 99px;
  padding: 2px 10px;
  font-size: 11px;
  font-weight: 800;
}

[b-zfdiqbjzml] .pill-collapsed {
  padding: 2px 7px;
}

[b-zfdiqbjzml] .backlog-collapse-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(139, 98, 56, 0.08);
  border: none;
  border-radius: 8px;
  width: 28px;
  height: 28px;
  cursor: pointer;
  color: var(--espresso);
  flex-shrink: 0;
  transition: background 0.2s, transform 0.2s;
}

[b-zfdiqbjzml] .backlog-collapse-btn:hover {
  background: rgba(139, 98, 56, 0.16);
}

[b-zfdiqbjzml] .backlog-collapse-btn svg {
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

[b-zfdiqbjzml] .smart-backlog.is-collapsed .backlog-collapse-btn svg {
  transform: rotate(180deg) !important;
}

[b-zfdiqbjzml] .backlog-items {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

[b-zfdiqbjzml] .card-line-color-stripe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 4px;
  z-index: 2;
  border-top-left-radius: 12px;
  border-bottom-left-radius: 12px;
  opacity: 0.8;
}

[b-zfdiqbjzml] .backlog-mini-card {
  background: white;
  padding: 14px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(139, 98, 56, 0.05);
  cursor: grab;
  transition: transform 0.2s;
}

[b-zfdiqbjzml] .backlog-mini-card:hover {
  transform: translateX(6px);
  border-color: var(--wheat);
}

[b-zfdiqbjzml] .mini-info {
  flex: 1;
}

[b-zfdiqbjzml] .mini-code {
  font-family: monospace;
  font-size: 10px;
  font-weight: 700;
  color: #94a3b8;
}

[b-zfdiqbjzml] .mini-product {
  margin: 4px 0 0;
  font-size: 13px;
  font-weight: 700;
  color: var(--espresso);
}

[b-zfdiqbjzml] .mini-priority {
  width: 4px;
  height: 24px;
  border-radius: 2px;
  flex-shrink: 0;
}

[b-zfdiqbjzml] .backlog-empty {
  text-align: center;
  color: #94a3b8;
  padding: 40px 0;
}

[b-zfdiqbjzml] .backlog-empty .el-icon {
  font-size: 40px;
  margin-bottom: 12px;
  color: #10b981;
  opacity: 0.4;
}

@keyframes fadeIn-b-zfdiqbjzml {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 1400px) {
    [b-zfdiqbjzml] .header-main {
        gap: 16px;
      }

    [b-zfdiqbjzml] .mini-stats {
        gap: 12px;
      }
}

@media (max-width: 900px) {
    [b-zfdiqbjzml] .mini-stat .label {
        display: none;
      }
}

@media (max-width: 950px) {
    [b-zfdiqbjzml] .control-bar {
        padding: 12px 16px;
        justify-content: center;
      }

    [b-zfdiqbjzml] .header-main {
        justify-content: center;
        width: 100%;
      }

    [b-zfdiqbjzml] .header-actions {
        justify-content: center;
        width: 100%;
      }
}

[b-zfdiqbjzml] .scheduler-assignment-container {
  padding: 8px 4px;
}

[b-zfdiqbjzml] .dialog-header-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

[b-zfdiqbjzml] .dialog-subtitle {
  font-size: 14px;
  font-weight: 600;
  color: var(--toast);
}

[b-zfdiqbjzml] .add-operator-btn {
  background-color: var(--toast) !important;
  border-color: var(--toast) !important;
  color: white !important;
  transition: all 0.2s ease;
}

[b-zfdiqbjzml] .add-operator-btn:hover {
  background-color: var(--espresso) !important;
  border-color: var(--espresso) !important;
  transform: scale(1.08);
}

[b-zfdiqbjzml] .operator-list {
  max-height: 280px;
  overflow-y: auto;
  padding-right: 4px;
  margin-bottom: 24px;
}

[b-zfdiqbjzml] .operator-row-card {
  display: flex;
  gap: 12px;
  margin-bottom: 12px;
  align-items: center;
  background: rgba(143, 92, 44, 0.03);
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid rgba(143, 92, 44, 0.08);
  transition: all 0.2s ease;
}

[b-zfdiqbjzml] .operator-row-card:hover {
  background: rgba(143, 92, 44, 0.06);
  border-color: rgba(143, 92, 44, 0.16);
}

[b-zfdiqbjzml] .operator-row-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--toast);
  min-width: 85px;
}

.operator-row-select[b-zfdiqbjzml]  .el-input__wrapper {
  border-radius: 8px;
  border-color: rgba(143, 92, 44, 0.15);
}

.operator-row-select[b-zfdiqbjzml]  .el-input__wrapper.is-focus {
  box-shadow: 0 0 0 1px var(--toast) inset !important;
}

[b-zfdiqbjzml] .delete-operator-btn {
  transition: all 0.2s ease;
}

[b-zfdiqbjzml] .delete-operator-btn:hover {
  transform: scale(1.08);
}

[b-zfdiqbjzml] .dialog-footer-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  border-top: 1px solid rgba(143, 92, 44, 0.1);
  padding-top: 18px;
}

[b-zfdiqbjzml] .cancel-dialog-btn {
  border-radius: 8px !important;
  font-weight: 600 !important;
}

[b-zfdiqbjzml] .confirm-dialog-btn {
  background-color: var(--toast) !important;
  border-color: var(--toast) !important;
  color: white !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  transition: all 0.2s ease;
}

[b-zfdiqbjzml] .confirm-dialog-btn:hover:not(.is-disabled) {
  background-color: var(--espresso) !important;
  border-color: var(--espresso) !important;
}
/* /Pages/Manufacturing/TechnicalSheetsList.razor.rz.scp.css */
/* Porta de TechnicalSheetsList.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: technical-sheets-page */
.technical-sheets-page[b-93mh2uw0d8] {
  padding: 40px;
  background: var(--app-bg-premium);
  min-height: 100%;
}

[b-93mh2uw0d8] .stats-overview {
  margin-bottom: 24px;
}

[b-93mh2uw0d8] .stat-card {
  border: none;
  border-radius: 12px;
}

[b-93mh2uw0d8] .stat-content {
  display: flex;
  align-items: center;
  gap: 16px;
}

[b-93mh2uw0d8] .stat-icon {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
}

[b-93mh2uw0d8] .stat-icon.blue {
  background: #ebf8ff;
  color: #3182ce;
}

[b-93mh2uw0d8] .stat-icon.green {
  background: #f0fff4;
  color: #38a169;
}

[b-93mh2uw0d8] .stat-icon.orange {
  background: #fffaf0;
  color: #dd6b20;
}

[b-93mh2uw0d8] .stat-icon.purple {
  background: #faf5ff;
  color: #805ad5;
}

[b-93mh2uw0d8] .stat-info {
  display: flex;
  flex-direction: column;
}

[b-93mh2uw0d8] .stat-info .label {
  font-size: 0.8rem;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

[b-93mh2uw0d8] .stat-info .value {
  font-size: 1.25rem;
  font-weight: 700;
  color: #2d3748;
}

[b-93mh2uw0d8] .list-container {
  background: #ffffff;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

[b-93mh2uw0d8] .topbar {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}

[b-93mh2uw0d8] .topbar-left {
  display: flex;
  align-items: center;
}

[b-93mh2uw0d8] .validity-cell {
  display: flex;
  align-items: center;
  font-size: 0.85rem;
  color: #4a5568;
}

[b-93mh2uw0d8] .history-expansion {
  padding: 16px 48px;
  background: #fdfcf9;
  border-top: 1px solid #f0ede8;
}

[b-93mh2uw0d8] .history-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.85rem;
  font-weight: 700;
  color: #a6763a;
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

[b-93mh2uw0d8] .history-empty {
  padding: 10px 40px;
  color: #94a3b8;
  font-style: italic;
  font-size: 0.85rem;
}

[b-93mh2uw0d8] .create-sheet-btn {
  height: 30px;
  padding: 0 16px;
  border-radius: 100px;
  border: none;
  background: #bd8e51;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 6px rgba(189, 142, 81, 0.2);
  font-size: 0.85rem;
  font-weight: 600;
  white-space: nowrap;
  vertical-align: middle;
  margin: 4px 0;
}

[b-93mh2uw0d8] .create-sheet-btn:hover {
  background: #a6763a;
  box-shadow: 0 4px 12px rgba(166, 118, 58, 0.35);
  transform: translateY(-1.5px);
}

[b-93mh2uw0d8] .create-sheet-btn:active {
  transform: translateY(0);
  opacity: 0.9;
}

[b-93mh2uw0d8] .create-sheet-btn .el-icon {
  font-size: 14px;
}
/* /Pages/Products/CreateProduct.razor.rz.scp.css */
/* Porta de CreateProduct.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: app-premium-page */
[b-24rvqqbz65] .form-section {
  padding: 20px 0;
}

[b-24rvqqbz65] .app-premium-tutorial-block {
  border-radius: 14px;
  padding: 12px;
  background: #ffffff;
}

[b-24rvqqbz65] .app-premium-footer {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid rgba(104, 76, 53, 0.1);
}

[b-24rvqqbz65] .uom-conversions-block {
  border: 1px solid rgba(104, 76, 53, 0.12);
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 8px;
}

[b-24rvqqbz65] .field-with-settings {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}

[b-24rvqqbz65] .field-with-settings__btn {
  flex-shrink: 0;
}

[b-24rvqqbz65] .field-with-settings__control {
  flex: 1;
  min-width: 0;
}

[b-24rvqqbz65] .uom-conversions-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

[b-24rvqqbz65] .uom-conversions-title {
  margin: 0;
  font-size: 14px;
}

[b-24rvqqbz65] .uom-conversions-subtitle {
  margin: 6px 0 0;
  color: #666;
  font-size: 12px;
}

[b-24rvqqbz65] .el-input-number .el-input__inner {
  text-align: left;
}
/* /Pages/Products/EditProduct.razor.rz.scp.css */
/* Porta de EditProduct.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: app-premium-page */
[b-u2adhaocgt] .product-edit-card__actions [data-tutorial="product-edit-toggle"] {
  display: inline-flex;
  position: relative;
  isolation: isolate;
}

[b-u2adhaocgt] .stock-summary-row {
  margin-top: -8px;
  margin-bottom: 14px;
}

[b-u2adhaocgt] .stock-summary-card {
  border: none;
  border-radius: 12px;
}

[b-u2adhaocgt] .stock-summary-content {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 62px;
}

[b-u2adhaocgt] .stock-summary-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  background: #ebf8ff;
  color: #3182ce;
}

[b-u2adhaocgt] .stock-summary-icon--green {
  background: #f0fff4;
  color: #38a169;
}

[b-u2adhaocgt] .stock-summary-icon--orange {
  background: #fff7ed;
  color: #dd6b20;
}

[b-u2adhaocgt] .stock-summary-icon--purple {
  background: #faf5ff;
  color: #805ad5;
}

[b-u2adhaocgt] .stock-summary-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

[b-u2adhaocgt] .stock-summary-info .label {
  display: block;
  font-size: 12px;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.1;
}

[b-u2adhaocgt] .stock-summary-info .value {
  display: block;
  font-size: 22px;
  font-weight: 700;
  color: #2d3748;
  line-height: 1.1;
}

[b-u2adhaocgt] .stock-tab-section {
  padding-top: 0;
}

[b-u2adhaocgt] .quality-tab-header {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px;
  background: #f8faff;
  border: 1px solid #e0e7ff;
  border-radius: 10px;
}

[b-u2adhaocgt] .quality-tab-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 48px 24px;
  text-align: center;
  color: #94a3b8;
}

[b-u2adhaocgt] .field-with-settings {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}

[b-u2adhaocgt] .field-with-settings__btn {
  flex-shrink: 0;
}

[b-u2adhaocgt] .field-with-settings__control {
  flex: 1;
  min-width: 0;
}
/* /Pages/Products/ProductsList.razor.rz.scp.css */
/* Porta de ProductsList.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: products-list-page */
.products-list-page[b-oubo6hr9cs] {
  padding: 20px 24px;
  background: var(--app-bg-premium);
  min-height: 100%;
}

[b-oubo6hr9cs] .products-list-page__actions {
  display: flex;
  gap: 12px;
  align-items: center;
}

[b-oubo6hr9cs] .products-list-page__stats {
  margin-bottom: 14px;
}

[b-oubo6hr9cs] .products-list-barcode-cell {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

[b-oubo6hr9cs] .stat-card {
  border: none;
  border-radius: 12px;
  height: 100%;
}

[b-oubo6hr9cs] .stat-content {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 62px;
}

[b-oubo6hr9cs] .stat-icon {
  width: 42px;
  height: 42px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
}

[b-oubo6hr9cs] .stat-icon.blue {
  background: #ebf8ff;
  color: #3182ce;
}

[b-oubo6hr9cs] .stat-icon.gray {
  background: #edf2f7;
  color: #4a5568;
}

[b-oubo6hr9cs] .stat-icon.green {
  background: #f0fff4;
  color: #38a169;
}

[b-oubo6hr9cs] .stat-icon.purple {
  background: #faf5ff;
  color: #805ad5;
}

[b-oubo6hr9cs] .stat-info {
  display: flex;
  flex-direction: column;
}

[b-oubo6hr9cs] .stat-info .label {
  font-size: 0.8rem;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space: nowrap;
  line-height: 1.1;
}

[b-oubo6hr9cs] .stat-info .value {
  font-size: 1.15rem;
  font-weight: 700;
  color: #2d3748;
}

[b-oubo6hr9cs] .products-list-page__content {
  background: #ffffff;
  border-radius: 12px;
  padding: 14px 14px 10px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

[b-oubo6hr9cs] .products-list-page__content-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

[b-oubo6hr9cs] .products-list-page__action-buttons {
  display: flex;
  align-items: center;
  gap: 10px;
}

[b-oubo6hr9cs] .products-list-page__search-highlight {
  flex: 1;
  border-radius: 14px;
  padding: 0;
  background: #ffffff;
}

@media (max-width: 1200px) {
    .products-list-page[b-oubo6hr9cs] {
        padding: 16px;
      }
}

[b-oubo6hr9cs] .search-input {
  width: 320px;
}

[b-oubo6hr9cs] .custom-table {
  border-radius: 8px;
  overflow: hidden;
}

[b-oubo6hr9cs] .el-button-group {
  display: flex;
}
/* /Pages/Settings/Settings.razor.rz.scp.css */
/* Porta de SettingsView.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: settings-page, settings-page--full */
.settings-page[b-9dsbhbw7za] {
  min-height: 100%;
  padding: 0;
  background: transparent;
  font-family: var(--letra);
  transition: background var(--transicao);
}

.settings-page--full[b-9dsbhbw7za] {
  padding: 0;
}

[b-9dsbhbw7za] .settings-grid-view {
  animation: fadeIn-b-9dsbhbw7za 0.3s ease;
  max-width: 1120px;
}

@keyframes fadeIn-b-9dsbhbw7za {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

[b-9dsbhbw7za] .settings-page-header {
  margin-bottom: 18px;
}

[b-9dsbhbw7za] .settings-page-header__eyebrow {
  margin: 0 0 4px;
  font-size: var(--t-xs, 0.75rem);
  font-weight: var(--peso-forte, 700);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cor-destaque, #8c5620);
}

[b-9dsbhbw7za] .settings-page-header__title {
  margin: 0;
  font-size: clamp(1.5rem, 1.1rem + 1.8vw, var(--t-2xl, 2rem));
  font-weight: var(--peso-forte, 700);
  line-height: var(--altura-apertada, 1.25);
  letter-spacing: -0.02em;
  color: var(--cor-texto, #17312b);
}

[b-9dsbhbw7za] .settings-page-header__subtitle {
  margin: var(--e-2, 8px) 0 0;
  max-width: 68ch;
  font-size: var(--t-m, 0.9375rem);
  line-height: var(--altura-normal, 1.55);
  color: var(--cor-texto-suave, #4d5b55);
}

[b-9dsbhbw7za] .settings-categories {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

[b-9dsbhbw7za] .settings-category__title {
  margin: 0 0 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--cor-linha, #ded8cc);
  font-size: var(--t-xs, 0.75rem);
  font-weight: var(--peso-forte, 700);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cor-texto-suave, #4d5b55);
}

[b-9dsbhbw7za] .settings-category__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 8px;
}

[b-9dsbhbw7za] .settings-card {
  text-align: left;
  border: 1px solid #e5e7eb;
  background: #fff;
  border-radius: 10px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 0;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease,
    border-color 0.15s ease;
  cursor: pointer;
}

[b-9dsbhbw7za] .settings-card:hover:not(.settings-card--disabled) {
  transform: translateY(-1px);
  border-color: #d1d5db;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

[b-9dsbhbw7za] .settings-card--disabled {
  cursor: not-allowed;
  opacity: 0.65;
}

[b-9dsbhbw7za] .settings-card__icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #4b5563;
  color: white;
  font-size: 16px;
  flex-shrink: 0;
}

[b-9dsbhbw7za] .settings-card__content {
  flex: 1;
  min-width: 0;
}

[b-9dsbhbw7za] .settings-card__title {
  margin: 0 0 2px;
  color: var(--espresso);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.25;
}

[b-9dsbhbw7za] .settings-card__desc {
  margin: 0;
  color: #6b7280;
  font-size: 0.75rem;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

[b-9dsbhbw7za] .settings-card__action {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
  font-size: 0.72rem;
  font-weight: 600;
  color: #6b7280;
}

@media (max-width: 900px) {
    .settings-page[b-9dsbhbw7za] {
        padding: 10px 12px 16px;
      }

    [b-9dsbhbw7za] .settings-category__grid {
        grid-template-columns: 1fr;
      }
}
/* /Pages/Tenants/TenantManagement.razor.rz.scp.css */
/* Porta de TenantManagementView.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: tenant-page */
.tenant-page[b-46yuwzyseq] {
  padding: 24px;
}

[b-46yuwzyseq] .tenant-header {
  margin-bottom: 24px;
}

h1[b-46yuwzyseq] {
  margin: 0;
  color: #3d2b1f;
}

p[b-46yuwzyseq] {
  margin-top: 8px;
  color: #6e5d4e;
}

[b-46yuwzyseq] .superuser-tabs {
  background: white;
  padding: 16px;
  border-radius: 8px;
  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.05);
}

[b-46yuwzyseq] .tab-toolbar {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 16px;
}

[b-46yuwzyseq] .apk-container {
  padding: 8px;
}

[b-46yuwzyseq] .apk-header-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

[b-46yuwzyseq] .apk-header-actions h2 {
  margin: 0;
  font-size: 1.25rem;
  color: #3d2b1f;
}

[b-46yuwzyseq] .latest-card {
  margin-bottom: 32px;
  border: 1px solid #e4e7ed;
  border-radius: 8px;
}

[b-46yuwzyseq] .apk-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

[b-46yuwzyseq] .apk-card-header h3 {
  margin: 0;
  font-size: 1.1rem;
  color: #3d2b1f;
}

[b-46yuwzyseq] .apk-details-flex {
  display: flex;
  justify-content: space-between;
  gap: 24px;
}

[b-46yuwzyseq] .apk-info {
  flex: 1;
}

[b-46yuwzyseq] .apk-info p {
  margin: 8px 0;
  color: #4a4a4a;
}

[b-46yuwzyseq] .release-notes {
  margin-top: 16px;
  padding: 12px;
  background-color: #f9f9f9;
  border-radius: 6px;
}

[b-46yuwzyseq] .release-notes pre {
  margin: 8px 0 0;
  white-space: pre-wrap;
  font-family: inherit;
  font-size: 0.9rem;
  color: #666;
}

[b-46yuwzyseq] .apk-qrcode {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: #fdfdfd;
  border: 1px solid #eee;
  border-radius: 8px;
  min-width: 200px;
}

[b-46yuwzyseq] .qr-title {
  margin: 0 0 12px;
  font-weight: 500;
  color: #666;
}

[b-46yuwzyseq] .download-link {
  margin-top: 12px;
  color: #cb8e5c;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9rem;
}

[b-46yuwzyseq] .download-link:hover {
  text-decoration: underline;
}

[b-46yuwzyseq] .history-title {
  margin-bottom: 16px;
  font-size: 1.1rem;
  color: #3d2b1f;
  border-bottom: 1px solid #eee;
  padding-bottom: 8px;
}

[b-46yuwzyseq] .apk-history-table {
  border: 1px solid #ebeef5;
  border-radius: 8px;
  overflow: hidden;
}
/* /Pages/Traceability/TraceabilityGraph.razor.rz.scp.css */
/* Porta de TraceabilityGraphView.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: traceability-workflow-view */
.traceability-workflow-view[b-juqafjoad4] {
  height: calc(100vh - 120px);
  display: flex;
  flex-direction: column;
  background: #f8fafc;
  overflow: hidden;
}

[b-juqafjoad4] .view-header {
  height: 72px;
  background: #ffffff;
  border-bottom: 1px solid #e2e8f0;
  padding: 0 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 10;
  flex-shrink: 0;
}

[b-juqafjoad4] .header-left {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}

[b-juqafjoad4] .title-group {
  min-width: 0;
  max-width: 600px;
}

[b-juqafjoad4] .title-group h1 {
  font-size: 20px;
  font-weight: 700;
  color: #1e293b;
  margin: 0;
}

[b-juqafjoad4] .title-group p {
  font-size: 13px;
  color: #64748b;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[b-juqafjoad4] .header-actions {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}

[b-juqafjoad4] .workflow-container {
  flex: 1;
  height: 100%;
  min-height: calc(100vh - 200px);
  overflow: auto;
  position: relative;
  background-image: radial-gradient(#cbd5e1 1px, transparent 1px);
  background-size: 24px 24px;
}

[b-juqafjoad4] .workflow-grid {
  display: grid;
  grid-template-columns: 140px 1fr;
  min-width: 100%;
  position: relative;
  padding-top: 40px;
}

[b-juqafjoad4] .grid-sidebar-cell {
  position: relative;
  display: flex;
  justify-content: center;
  padding-bottom: 60px;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

[b-juqafjoad4] .level-indicator {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  padding-top: 10px;
}

[b-juqafjoad4] .level-depth {
  background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
  color: #f8fafc;
  font-size: 10px;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: 20px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.1);
  z-index: 2;
  letter-spacing: 0.5px;
}

[b-juqafjoad4] .level-line {
  position: absolute;
  top: 30px;
  bottom: -60px;
  width: 2px;
  background: linear-gradient(to bottom, #cbd5e1 0%, #e2e8f0 100%);
  z-index: 1;
}

[b-juqafjoad4] .grid-canvas-cell {
  padding-bottom: 60px;
}

[b-juqafjoad4] .parallel-stages-container {
  display: flex;
  gap: 50px;
  align-items: flex-start;
  width: 100%;
  padding: 10px 0;
}

[b-juqafjoad4] .stage-block {
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: rgba(255, 255, 255, 0.4);
  padding: 12px;
  border-radius: 12px;
  border: 1px solid rgba(226, 232, 240, 0.6);
  backdrop-filter: blur(4px);
  min-width: 234px;
  margin-bottom: 10px;
}

[b-juqafjoad4] .inline-stage-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
}

[b-juqafjoad4] .indicator-circle.mini {
  width: 30px;
  height: 30px;
  font-size: 14px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: #ffffff;
  border: 1px solid #3b82f6;
  color: #3b82f6;
  box-shadow: 0 4px 6px -1px rgba(59, 130, 246, 0.1);
  position: relative;
  cursor: pointer;
  transition: all 0.3s ease;
}

[b-juqafjoad4] .indicator-circle.mini:hover {
  transform: translateY(-2px);
  background: #f0f7ff;
}

[b-juqafjoad4] .mini-label {
  white-space: nowrap;
  font-size: 11px;
  font-weight: 700;
  color: #475569;
  letter-spacing: -0.2px;
}

[b-juqafjoad4] .nodes-row {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
}

[b-juqafjoad4] .parallel-stages-container .stage-block .nodes-row {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 20px;
}

[b-juqafjoad4] .op-header-card {
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
  border: 1.5px solid #3b82f6;
  border-radius: 12px;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.15);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 2;
}

[b-juqafjoad4] .op-header-card:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 8px 24px rgba(59, 130, 246, 0.25);
  background: #dbeafe;
}

[b-juqafjoad4] .op-header-card.parallel {
  min-width: 160px;
}

[b-juqafjoad4] .op-id-badge {
  background: #3b82f6;
  color: white;
  font-size: 10px;
  font-weight: 950;
  padding: 3px 6px;
  border-radius: 6px;
  letter-spacing: 0.5px;
}

[b-juqafjoad4] .op-number {
  font-weight: 800;
  color: #1e3a8a;
  font-size: 15px;
  white-space: nowrap;
}

[b-juqafjoad4] .grid-sidebar-cell.is-op-header .indicator-line {
  top: 10px;
  bottom: -40px;
}

[b-juqafjoad4] .connections-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}

[b-juqafjoad4] .connection-path {
  fill: none;
  stroke: #64748b; 
  stroke-width: 2;
  stroke-dasharray: 6 4;
  transition: all 0.3s ease;
}

[b-juqafjoad4] .connection-path.is-transformation {
  stroke: #94a3b8;
  stroke-width: 2.5;
  stroke-dasharray: 0;
}

[b-juqafjoad4] .connection-label {
  fill: #334155;
  font-size: 16px;
  font-weight: 800;
  text-anchor: middle;
  dominant-baseline: middle;
  paint-order: stroke;
  stroke: #f8fafc;
  stroke-width: 4px;
  stroke-linejoin: round;
}

[b-juqafjoad4] .drawer-custom-header {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  color: #1e293b;
  font-size: 16px;
}

[b-juqafjoad4] .detail-content-premium {
  padding: 0 4px;
}

[b-juqafjoad4] .product-glass-card {
  background: linear-gradient(
    135deg,
    rgba(59, 130, 246, 0.08) 0%,
    rgba(37, 99, 235, 0.03) 100%
  );
  border: 1px solid rgba(59, 130, 246, 0.15);
  border-radius: 16px;
  padding: 20px;
  display: flex;
  align-items: center;
  gap: 16px;
  position: relative;
  overflow: hidden;
  margin-bottom: 24px;
}

[b-juqafjoad4] .product-glass-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: #3b82f6;
}

[b-juqafjoad4] .glass-icon-wrapper {
  width: 48px;
  height: 48px;
  background: white;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: #3b82f6;
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.1);
}

[b-juqafjoad4] .glass-content {
  flex: 1;
}

[b-juqafjoad4] .glass-title {
  margin: 0;
  font-size: 18px;
  font-weight: 800;
  color: #1e293b;
}

[b-juqafjoad4] .glass-subtitle {
  margin: 2px 0 0;
  font-size: 13px;
  color: #64748b;
  font-family: "Inter", sans-serif;
}

[b-juqafjoad4] .node-type-pill {
  position: absolute;
  top: 12px;
  right: 12px;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 20px;
  text-transform: uppercase;
}

[b-juqafjoad4] .node-type-pill.production {
  background: #dcfce7;
  color: #15803d;
}

[b-juqafjoad4] .node-type-pill.purchase {
  background: #fef3c7;
  color: #92400e;
}

[b-juqafjoad4] .node-role-badge {
  position: absolute;
  top: 8px;
  left: 20px;
  font-size: 9px;
  font-weight: 900;
  padding: 1px 6px;
  border-radius: 4px;
  text-transform: uppercase;
  color: white;
}

[b-juqafjoad4] .node-role-badge.role-input {
  background: #3b82f6;
}

[b-juqafjoad4] .node-role-badge.role-output {
  background: #10b981;
}

[b-juqafjoad4] .node-role-badge.role-source {
  background: #f59e0b;
}

[b-juqafjoad4] .node-role-badge.role-selected {
  background: #6366f1;
}

[b-juqafjoad4] .info-grid-modern {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 32px;
}

[b-juqafjoad4] .info-item-modern {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 12px;
  border-radius: 12px;
  transition: all 0.2s ease;
}

[b-juqafjoad4] .info-item-modern:hover {
  background: #f8fafc;
}

[b-juqafjoad4] .item-icon {
  width: 36px;
  height: 36px;
  background: #f1f5f9;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #64748b;
  font-size: 18px;
}

[b-juqafjoad4] .item-content {
  display: flex;
  flex-direction: column;
}

[b-juqafjoad4] .item-content label {
  font-size: 11px;
  font-weight: 600;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 2px;
}

[b-juqafjoad4] .lot-value {
  font-weight: 700;
  color: #2563eb;
  font-size: 15px;
  letter-spacing: 0.02em;
}

[b-juqafjoad4] .ref-num {
  font-weight: 600;
  color: #334155;
}

[b-juqafjoad4] .qty-value {
  font-weight: 700;
  color: #1e293b;
  font-size: 16px;
}

[b-juqafjoad4] .qty-value small {
  font-weight: 500;
  color: #64748b;
}

[b-juqafjoad4] .qty-sub {
  font-size: 12px;
  color: #94a3b8;
}

[b-juqafjoad4] .date-value, [b-juqafjoad4] .warehouse-value {
  font-weight: 600;
  color: #475569;
}

[b-juqafjoad4] .premium-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

[b-juqafjoad4] .btn-premium {
  border: none;
  border-radius: 12px;
  padding: 14px 20px;
  font-size: 14px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

[b-juqafjoad4] .btn-success {
  background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
  color: white;
  box-shadow: 0 4px 12px rgba(34, 197, 94, 0.25);
}

[b-juqafjoad4] .btn-warning {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  color: white;
  box-shadow: 0 4px 12px rgba(245, 158, 11, 0.25);
}

[b-juqafjoad4] .btn-secondary {
  background: #f1f5f9;
  color: #64748b;
}

[b-juqafjoad4] .btn-premium:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
}

[b-juqafjoad4] .btn-premium:active {
  transform: translateY(0);
}

[b-juqafjoad4] .detail-actions {
  display: flex;
  flex-direction: column;
}

[b-juqafjoad4] .journey-section {
  margin-bottom: 32px;
  padding: 16px;
  background: #f8fafc;
  border-radius: 12px;
}

[b-juqafjoad4] .section-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: #1e293b;
  margin: 0 0 16px 0;
}

[b-juqafjoad4] .journey-timeline {
  display: flex;
  flex-direction: column;
}

[b-juqafjoad4] .journey-stop {
  display: flex;
  gap: 12px;
}

[b-juqafjoad4] .stop-indicator {
  display: flex;
  flex-direction: column;
  align-items: center;
}

[b-juqafjoad4] .stop-dot {
  width: 10px;
  height: 100%;
  min-height: 10px;
  max-height: 10px;
  border-radius: 50%;
  background: #cbd5e1;
  border: 2px solid #ffffff;
  box-shadow: 0 0 0 1px #cbd5e1;
  z-index: 1;
}

[b-juqafjoad4] .stop-dot.in {
  background: #10b981;
  box-shadow: 0 0 0 1px #10b981;
}

[b-juqafjoad4] .stop-dot.out {
  background: #ef4444;
  box-shadow: 0 0 0 1px #ef4444;
}

[b-juqafjoad4] .stop-line {
  width: 2px;
  flex: 1;
  background: #e2e8f0;
  margin: 4px 0;
}

[b-juqafjoad4] .stop-details {
  flex: 1;
  padding-bottom: 16px;
}

[b-juqafjoad4] .stop-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

[b-juqafjoad4] .stop-warehouse {
  font-size: 13px;
  font-weight: 700;
  color: #334155;
}

[b-juqafjoad4] .stop-type {
  font-size: 9px;
  font-weight: 800;
  padding: 1px 4px;
  border-radius: 4px;
}

[b-juqafjoad4] .stop-type.in {
  background: #dcfce7;
  color: #16a34a;
}

[b-juqafjoad4] .stop-type.out {
  background: #fee2e2;
  color: #dc2626;
}

[b-juqafjoad4] .stop-date {
  font-size: 11px;
  color: #64748b;
  margin-top: 2px;
}

[b-juqafjoad4] .fade-slide-enter-active, [b-juqafjoad4] .fade-slide-leave-active {
  transition: all 0.4s ease;
}

[b-juqafjoad4] .fade-slide-enter-from, [b-juqafjoad4] .fade-slide-leave-to {
  opacity: 0;
  transform: translateY(-20px);
}

[b-juqafjoad4] .collapsed-summary {
  display: flex;
  align-items: center;
  gap: 12px;
  animation: fadeIn-b-juqafjoad4 0.4s ease;
}

@keyframes fadeIn-b-juqafjoad4 {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

[b-juqafjoad4] .filter-btn--active {
  border-color: #2563eb !important;
  background: #eff6ff !important;
}

[b-juqafjoad4] .filter-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  margin-left: 6px;
  padding: 0 5px;
  border-radius: 999px;
  background: #2563eb;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}

[b-juqafjoad4] .graph-filter-panel {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

[b-juqafjoad4] .filter-field label {
  display: block;
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 700;
  color: #334155;
}

[b-juqafjoad4] .filter-switch {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #f8fafc;
}

[b-juqafjoad4] .filter-switch strong {
  display: block;
  font-size: 13px;
  color: #1e293b;
}

[b-juqafjoad4] .filter-switch p {
  margin: 4px 0 0;
  font-size: 12px;
  color: #64748b;
  line-height: 1.4;
}

[b-juqafjoad4] .filter-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 4px;
  border-top: 1px solid #e2e8f0;
}

[b-juqafjoad4] .filter-summary {
  font-size: 12px;
  color: #64748b;
}

[b-juqafjoad4] .filter-empty-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0 24px 12px;
  padding: 12px 16px;
  border-radius: 10px;
  background: #fef2f2;
  color: #b91c1c;
  font-size: 14px;
}
/* /Pages/Traceability/TraceabilityList.razor.rz.scp.css */
/* Porta de TraceabilityListView.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: app-premium-page */
.app-premium-page[b-vzt7z8kbzm] {
  padding: 24px;
}

[b-vzt7z8kbzm] .list-container {
  background: #ffffff;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  margin-top: 12px;
}

[b-vzt7z8kbzm] .source-cell {
  display: flex;
  align-items: center;
  gap: 8px;
}

[b-vzt7z8kbzm] .source-number {
  font-size: 13px;
  color: #4a5568;
  font-family: monospace;
}

[b-vzt7z8kbzm] .topbar-search {
  display: flex;
  justify-content: flex-start;
  margin-bottom: 20px;
}

[b-vzt7z8kbzm] .stat-card {
  border-radius: 12px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
}

[b-vzt7z8kbzm] .stat-content {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 64px;
}

[b-vzt7z8kbzm] .stat-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}

[b-vzt7z8kbzm] .stat-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

[b-vzt7z8kbzm] .stat-info .label {
  font-size: 11px;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600;
}

[b-vzt7z8kbzm] .stat-info .value {
  font-size: 22px;
  font-weight: 700;
  color: #2d3748;
}

[b-vzt7z8kbzm] .stat-icon.blue {
  background: #ebf8ff;
  color: #3182ce;
}

[b-vzt7z8kbzm] .stat-icon.green {
  background: #f0fff4;
  color: #38a169;
}

[b-vzt7z8kbzm] .stat-icon.orange {
  background: #fff7ed;
  color: #dd6b20;
}

[b-vzt7z8kbzm] .lots-expansion {
  padding: 16px 24px;
  background: #f8fafc;
}

[b-vzt7z8kbzm] .expansion-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #475569;
  margin-bottom: 12px;
}

[b-vzt7z8kbzm] :global(.app-tutorial-target) {
  position: relative;
  z-index: 2000;
  border-radius: 10px;
  box-shadow:
    0 0 0 4px rgba(230, 178, 91, 0.35),
    0 12px 28px rgba(66, 38, 14, 0.22);
  transition: box-shadow 0.2s ease;
}
/* /Pages/Users/UserCreate.razor.rz.scp.css */
/* Porta de UserCreateView.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: app-premium-page */
[b-h0pnnwl45w] .user-create-form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

[b-h0pnnwl45w] .user-create-form__row--triple {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

[b-h0pnnwl45w] .user-create-form__highlight {
  width: 100%;
  padding: 18px 18px 10px;
  margin-top: 8px;
  border-radius: 22px;
  background: rgba(255, 248, 238, 0.55);
  border: 1px solid rgba(190, 138, 70, 0.12);
}

[b-h0pnnwl45w] .user-create-form__select {
  width: 100%;
}

[b-h0pnnwl45w] .user-create-form .vue-tel-input {
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  box-shadow: 0 0 0 1px #dcdfe6 inset;
  background-color: #ffffff;
  transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  height: 32px;
  line-height: 32px;
}

[b-h0pnnwl45w] .user-create-form .vue-tel-input.vti--error, .contact-row__fields[b-h0pnnwl45w]  .vue-tel-input.vti--error {
  border-color: #f56c6c !important;
  box-shadow: 0 0 0 1px #f56c6c inset !important;
}

[b-h0pnnwl45w] .user-create-form .vue-tel-input:hover {
  border-color: #c0c4cc;
  box-shadow: 0 0 0 1px #c0c4cc inset;
}

[b-h0pnnwl45w] .user-create-form .vue-tel-input:focus-within {
  border-color: #be8a46;
  box-shadow: 0 0 0 1px #be8a46 inset;
}

[b-h0pnnwl45w] .user-create-form .vti__dropdown {
  display: flex;
  align-items: center;
  padding: 0 5px;
  border-right: 1px solid #dcdfe6;
  border-radius: 4px 0 0 4px;
}

[b-h0pnnwl45w] .user-create-form .vti__dropdown:hover {
  background-color: #f5f7fa;
}

[b-h0pnnwl45w] .user-create-form .vti__selection {
  display: flex;
  align-items: center;
  height: 30px;
}

[b-h0pnnwl45w] .user-create-form .vti__flag {
  margin-right: 5px;
}

[b-h0pnnwl45w] .user-create-form .vti__input {
  font-size: 14px;
  padding: 1px 11px;
  border: none;
  outline: none;
  height: 30px;
  line-height: 30px;
  color: #606266;
}

[b-h0pnnwl45w] .contacts-tab {
  min-height: 200px;
}

[b-h0pnnwl45w] .contacts-tab__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

[b-h0pnnwl45w] .contacts-tab__hint {
  font-size: 13px;
  color: rgba(61, 43, 31, 0.55);
}

[b-h0pnnwl45w] .contacts-tab__empty {
  text-align: center;
  padding: 40px 0;
  color: rgba(61, 43, 31, 0.4);
  font-size: 14px;
}

[b-h0pnnwl45w] .contact-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px;
  margin-bottom: 12px;
  background: #fff8f0;
  border: 1px solid rgba(104, 76, 53, 0.1);
  border-radius: 12px;
  transition: box-shadow 0.2s;
}

[b-h0pnnwl45w] .contact-row:hover {
  box-shadow: 0 4px 14px rgba(83, 58, 38, 0.08);
}

[b-h0pnnwl45w] .contact-row__fields {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

[b-h0pnnwl45w] .contact-row__main {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1.5fr 1fr;
  gap: 12px;
}

[b-h0pnnwl45w] .contact-row__notes {
  margin-bottom: 0;
}

.contact-row__fields[b-h0pnnwl45w]  .el-form-item {
  margin-bottom: 8px; 
}

.contact-row__fields[b-h0pnnwl45w]  .el-form-item.is-error {
  margin-bottom: 22px; 
}

.contact-row__fields[b-h0pnnwl45w]  .vue-tel-input {
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  box-shadow: 0 0 0 1px #dcdfe6 inset;
  background-color: #ffffff;
  transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  height: 32px;
  line-height: 32px;
}

.contact-row__fields[b-h0pnnwl45w]  .vue-tel-input:hover {
  border-color: #c0c4cc;
  box-shadow: 0 0 0 1px #c0c4cc inset;
}

.contact-row__fields[b-h0pnnwl45w]  .vue-tel-input:focus-within {
  border-color: #be8a46;
  box-shadow: 0 0 0 1px #be8a46 inset;
}

.contact-row__fields[b-h0pnnwl45w]  .vti__dropdown {
  display: flex;
  align-items: center;
  padding: 0 5px;
  border-right: 1px solid #dcdfe6;
  border-radius: 4px 0 0 4px;
}

.contact-row__fields[b-h0pnnwl45w]  .vti__dropdown:hover {
  background-color: #f5f7fa;
}

.contact-row__fields[b-h0pnnwl45w]  .vti__selection {
  display: flex;
  align-items: center;
  height: 30px;
}

.contact-row__fields[b-h0pnnwl45w]  .vti__flag {
  margin-right: 5px;
}

.contact-row__fields[b-h0pnnwl45w]  .vti__input {
  font-size: 14px;
  padding: 1px 11px;
  border: none;
  outline: none;
  height: 30px;
  line-height: 30px;
  color: #606266;
}

.contact-row__field[b-h0pnnwl45w]  .el-form-item__label {
  font-size: 12px;
  color: rgba(61, 43, 31, 0.65);
  margin-bottom: 4px;
  padding-bottom: 0;
}

[b-h0pnnwl45w] .contact-row__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding-top: 22px;
  flex-shrink: 0;
}

@media (max-width: 1100px) {
    [b-h0pnnwl45w] .user-create-form__row--triple {
        grid-template-columns: 1fr 1fr;
      }

    [b-h0pnnwl45w] .contact-row__main {
        grid-template-columns: 1fr 1fr;
      }
}

@media (max-width: 900px) {
    [b-h0pnnwl45w] .contact-row {
        flex-direction: column;
      }

    [b-h0pnnwl45w] .contact-row__main {
        grid-template-columns: 1fr;
      }

    [b-h0pnnwl45w] .contact-row__actions {
        flex-direction: row;
        padding-top: 0;
        width: 100%;
        justify-content: flex-end;
      }
}

[b-h0pnnwl45w] :global(.app-tutorial-target) {
  position: relative;
  z-index: 2000;
  border-radius: 10px;
  box-shadow:
    0 0 0 4px rgba(230, 178, 91, 0.35),
    0 12px 28px rgba(66, 38, 14, 0.22);
  transition: box-shadow 0.2s ease;
}
/* /Pages/Users/UserEdit.razor.rz.scp.css */
/* Porta de UserEditView.vue (<style scoped>) — gerado por scripts/vue-style-to-isolated.py; raiz: app-premium-page */
[b-188t8u6pd4] .user-edit-form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

[b-188t8u6pd4] .user-edit-form__row--double {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

[b-188t8u6pd4] .user-edit-form__row--triple {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

[b-188t8u6pd4] .user-edit-form__select, [b-188t8u6pd4] .user-edit-form__date {
  width: 100% !important;
}

[b-188t8u6pd4] .user-edit-form .vue-tel-input, .contact-row__fields[b-188t8u6pd4]  .vue-tel-input {
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  box-shadow: 0 0 0 1px #dcdfe6 inset;
  background-color: #ffffff;
  transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  height: 32px;
  line-height: 32px;
}

[b-188t8u6pd4] .user-edit-form .vue-tel-input.vti--error, .contact-row__fields[b-188t8u6pd4]  .vue-tel-input.vti--error {
  border-color: #f56c6c !important;
  box-shadow: 0 0 0 1px #f56c6c inset !important;
}

[b-188t8u6pd4] .user-edit-form .vue-tel-input:hover:not(.disabled) {
  border-color: #c0c4cc;
  box-shadow: 0 0 0 1px #c0c4cc inset;
}

[b-188t8u6pd4] .user-edit-form .vue-tel-input:focus-within:not(.disabled) {
  border-color: #be8a46;
  box-shadow: 0 0 0 1px #be8a46 inset;
}

[b-188t8u6pd4] .user-edit-form .vti__dropdown {
  display: flex;
  align-items: center;
  padding: 0 5px;
  border-right: 1px solid #dcdfe6;
  border-radius: 4px 0 0 4px;
}

[b-188t8u6pd4] .user-edit-form .vti__dropdown:hover:not(.disabled) {
  background-color: #f5f7fa;
}

[b-188t8u6pd4] .user-edit-form .vti__selection {
  display: flex;
  align-items: center;
  height: 30px;
}

[b-188t8u6pd4] .user-edit-form .vti__flag {
  margin-right: 5px;
}

[b-188t8u6pd4] .user-edit-form .vti__input {
  font-size: 14px;
  padding: 1px 11px;
  border: none;
  outline: none;
  height: 30px;
  line-height: 30px;
  color: #606266;
}

[b-188t8u6pd4] .user-edit-form .vue-tel-input.disabled {
  background-color: #f5f7fa;
  cursor: not-allowed;
  border-color: #e4e7ed;
  box-shadow: 0 0 0 1px #e4e7ed inset;
}

[b-188t8u6pd4] .user-edit-form .vue-tel-input.disabled .vti__input {
  color: #c0c4cc;
  background-color: transparent;
  cursor: not-allowed;
}

[b-188t8u6pd4] .user-edit-form .vue-tel-input.disabled .vti__dropdown {
  cursor: not-allowed;
  background-color: transparent;
}

[b-188t8u6pd4] .user-edit-page__footer-actions {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

[b-188t8u6pd4] .user-edit-page__footer-actions--full {
  width: auto;
}

[b-188t8u6pd4] .contacts-tab {
  min-height: 200px;
}

[b-188t8u6pd4] .contacts-tab__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

[b-188t8u6pd4] .contacts-tab__count {
  font-size: 13px;
  color: rgba(61, 43, 31, 0.6);
  font-weight: 500;
}

[b-188t8u6pd4] .contacts-tab__empty {
  text-align: center;
  padding: 48px 0;
  color: rgba(61, 43, 31, 0.45);
  font-size: 14px;
}

[b-188t8u6pd4] .contact-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px;
  margin-bottom: 12px;
  background: #fff8f0;
  border: 1px solid rgba(104, 76, 53, 0.1);
  border-radius: 12px;
  transition: box-shadow 0.2s;
}

[b-188t8u6pd4] .contact-row:hover {
  box-shadow: 0 4px 14px rgba(83, 58, 38, 0.08);
}

[b-188t8u6pd4] .contact-row__fields {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

[b-188t8u6pd4] .contact-row__main {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1.5fr 1fr;
  gap: 12px;
}

[b-188t8u6pd4] .contact-row__notes {
  margin-bottom: 0;
}

.contact-row__fields[b-188t8u6pd4]  .el-form-item {
  margin-bottom: 8px; 
}

.contact-row__fields[b-188t8u6pd4]  .el-form-item.is-error {
  margin-bottom: 22px; 
}

.contact-row__fields[b-188t8u6pd4]  .vue-tel-input {
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  box-shadow: 0 0 0 1px #dcdfe6 inset;
  background-color: #ffffff;
  transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  height: 32px;
  line-height: 32px;
}

.contact-row__fields[b-188t8u6pd4]  .vue-tel-input:hover {
  border-color: #c0c4cc;
  box-shadow: 0 0 0 1px #c0c4cc inset;
}

.contact-row__fields[b-188t8u6pd4]  .vue-tel-input:focus-within {
  border-color: #be8a46;
  box-shadow: 0 0 0 1px #be8a46 inset;
}

.contact-row__fields[b-188t8u6pd4]  .vti__dropdown {
  display: flex;
  align-items: center;
  padding: 0 5px;
  border-right: 1px solid #dcdfe6;
  border-radius: 4px 0 0 4px;
}

.contact-row__fields[b-188t8u6pd4]  .vti__dropdown:hover {
  background-color: #f5f7fa;
}

.contact-row__fields[b-188t8u6pd4]  .vti__selection {
  display: flex;
  align-items: center;
  height: 30px;
}

.contact-row__fields[b-188t8u6pd4]  .vti__flag {
  margin-right: 5px;
}

.contact-row__fields[b-188t8u6pd4]  .vti__input {
  font-size: 14px;
  padding: 1px 11px;
  border: none;
  outline: none;
  height: 30px;
  line-height: 30px;
  color: #606266;
}

.contact-row__fields[b-188t8u6pd4]  .el-form-item__label {
  font-size: 12px;
  color: rgba(61, 43, 31, 0.65);
  margin-bottom: 4px;
  line-height: 1.4;
  padding-bottom: 0;
}

[b-188t8u6pd4] .contact-row__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding-top: 22px;
  flex-shrink: 0;
}

[b-188t8u6pd4] .absences-tab {
  min-height: 220px;
}

[b-188t8u6pd4] .absences-tab__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  color: rgba(61, 43, 31, 0.65);
  font-size: 13px;
  font-weight: 700;
}

[b-188t8u6pd4] .absence-dialog-form {
  padding-top: 4px;
}

[b-188t8u6pd4] .absence-dialog-form .el-form-item {
  margin-bottom: 16px;
}

[b-188t8u6pd4] .absences-tab__empty {
  padding: 28px 0;
  color: rgba(61, 43, 31, 0.45);
  text-align: center;
  font-size: 14px;
}

[b-188t8u6pd4] .absence-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  margin-bottom: 8px;
  border: 1px solid rgba(104, 76, 53, 0.1);
  border-radius: 10px;
  background: #fff;
}

[b-188t8u6pd4] .absence-row__dot {
  width: 12px;
  height: 12px;
  border-radius: 4px;
}

[b-188t8u6pd4] .absence-row__main {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

[b-188t8u6pd4] .absence-row__main strong {
  color: #2f2218;
  font-size: 14px;
}

[b-188t8u6pd4] .absence-row__main span, [b-188t8u6pd4] .absence-row__main small {
  color: rgba(61, 43, 31, 0.62);
  font-size: 12px;
}

[b-188t8u6pd4] .absence-row__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

@media (max-width: 1100px) {
    [b-188t8u6pd4] .user-edit-form__row--triple {
        grid-template-columns: 1fr 1fr;
      }

    [b-188t8u6pd4] .contact-row__main {
        grid-template-columns: 1fr 1fr;
      }
}

@media (max-width: 900px) {
    [b-188t8u6pd4] .user-edit-page {
        padding: 28px 20px;
      }

    [b-188t8u6pd4] .user-edit-form__row--double, [b-188t8u6pd4] .user-edit-form__row--triple {
        grid-template-columns: 1fr;
      }

    [b-188t8u6pd4] .user-edit-page__footer-actions {
        width: 100%;
      }

    [b-188t8u6pd4] .user-edit-card__topbar {
        flex-direction: column;
        align-items: stretch;
      }

    [b-188t8u6pd4] .user-edit-card__topbar-spacer {
        display: none;
      }

    [b-188t8u6pd4] .contact-row {
        flex-direction: column;
      }

    [b-188t8u6pd4] .contact-row__main {
        grid-template-columns: 1fr;
      }

    [b-188t8u6pd4] .contact-row__actions {
        flex-direction: row;
        padding-top: 0;
        width: 100%;
        justify-content: flex-end;
      }

    [b-188t8u6pd4] .absence-row {
        grid-template-columns: 1fr;
      }
}

[b-188t8u6pd4] :global(.app-tutorial-target) {
  position: relative;
  z-index: 2000;
  border-radius: 10px;
  box-shadow:
    0 0 0 4px rgba(230, 178, 91, 0.35),
    0 12px 28px rgba(66, 38, 14, 0.22);
  transition: box-shadow 0.2s ease;
}
