:root {
  --bg: #f7f7fb;
  --panel: #ffffff;
  --border: #eaebf1;
  --text: #2c94fc;
  --muted: #9097a6;
  --green: #2c94fc;
  --red: #ef5350;
  --amber: #f0a130;
  --blue: #2c94fc;
}

* { box-sizing: border-box; }
html, body {
  margin: 0;
  min-height: 100%;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  background: var(--bg);
  color: var(--text);
}
button, input, select { font: inherit; }
svg { display: block; }
a { text-decoration: none; color: inherit; }

.app-shell { min-height: 100vh; }
.topbar {
  height: 40px;
  background: #fff;
  border-bottom: 1px solid #ececf2;
}
.topbar-inner {
  max-width: 1440px;
  margin: 0 auto;
  height: 100%;
  display: grid;
  grid-template-columns: minmax(180px, auto) 1fr minmax(180px, auto);
  align-items: center;
  padding: 0 18px 0 22px;
  gap: 14px;
}
.brand {
  display: flex;
  align-items: center;
  min-width: 265px;
}
.brand-logo-image {
  display: block;
  height: 28px;
  width: auto;
  max-width: 180px;
  object-fit: contain;
}
.top-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 26px;
  min-width: 0;
  width: 100%;
  overflow: hidden;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
.nav-link {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  flex-shrink: 0;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: #8d95a5;
  line-height: 1;
  padding-top: 1px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
.user-chip-name,
.user-chip-name-mobile,
.user-dropdown-item {
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
.nav-link.active {
  color: #111827;
}
.topbar-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  min-width: 180px;
}
.top-icon {
  width: 18px;
  height: 18px;
  border: 0;
  background: transparent;
  color: #8f94a3;
  cursor: pointer;
  position: relative;
  padding: 0;
}
.top-icon svg { width: 18px; height: 18px; }
.notif-dot {
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 15px;
  height: 15px;
  border-radius: 999px;
  padding: 0 2px;
  background: #ff5a61;
  color: #fff;
  font-size: 8px;
  font-weight: 700;
  display: grid;
  place-items: center;
  border: 1.5px solid #fff;
}
.user-chip {
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
}
.avatar-circle {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  border: 1px solid #e5e7eb;
  background: transparent;
  color: #ffffff;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.avatar-circle svg {
  width: 18px;
  height: 18px;
  display: block;
}
.avatar-circle svg circle,
.avatar-circle svg path {
  stroke: #6b7280 !important;
  fill: none;
}


.dashboard-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 12px 28px 20px;
}
.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 14px;
  margin: 22px 34px 18px;
}
.stat-card {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 16px 18px 14px;
  min-height: 88px;
}
.stat-head {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 12px;
}
.stat-icon { width: 18px; height: 18px; }
.stat-value {
  font-size: 25px;
  line-height: 1;
  font-weight: 500;
}
.green { color: var(--green); }
.red { color: var(--red); }
.amber { color: var(--amber); }
.blue { color: var(--blue); }

.panel {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 4px;
}
.toolbar-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 18px;
  margin: 0 34px 18px;
}
.toolbar-left, .toolbar-right {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.field-label {
  color: #5b6374;
  font-size: 13px;
  font-weight: 500;
}
.input {
  border: 1px solid #dde1ea;
  border-radius: 4px;
  height: 36px;
  padding: 0 14px;
  background: white;
  color: var(--text);
  min-width: 170px;
  font-size: 13px;
}

/* calendário mais clean e moderno */
.input[type="date"],
.input[type="month"] {
  appearance: none;
  -webkit-appearance: none;
  min-width: 190px;
  height: 42px;
  border-radius: 10px;
  border: 1px solid #d8e0ee;
  background: #ffffff;
  color: #0f172a;
  font-weight: 500;
  letter-spacing: 0.01em;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  padding-right: 42px;
  color-scheme: light;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.input[type="date"]:hover,
.input[type="month"]:hover {
  border-color: #bfd0ea;
  background: #fbfdff;
}

.input[type="date"]:focus,
.input[type="month"]:focus {
  outline: none;
  border-color: #3b82f6;
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.12);
}

.input[type="date"]::-webkit-calendar-picker-indicator,
.input[type="month"]::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: 0.78;
  padding: 6px;
  border-radius: 0px;
  transition: opacity .18s ease, background .18s ease, transform .18s ease;
}

.input[type="date"]::-webkit-calendar-picker-indicator:hover,
.input[type="month"]::-webkit-calendar-picker-indicator:hover {
  opacity: 1;
  background: rgba(59, 130, 246, 0.10);
  transform: scale(1.03);
}

.input[type="date"]::-webkit-datetime-edit,
.input[type="month"]::-webkit-datetime-edit,
.input[type="date"]::-webkit-datetime-edit-text,
.input[type="month"]::-webkit-datetime-edit-text,
.input[type="date"]::-webkit-datetime-edit-month-field,
.input[type="month"]::-webkit-datetime-edit-month-field,
.input[type="date"]::-webkit-datetime-edit-year-field,
.input[type="month"]::-webkit-datetime-edit-year-field,
.input[type="date"]::-webkit-datetime-edit-day-field {
  color: #0f172a;
}

.input[type="date"]::-webkit-date-and-time-value,
.input[type="month"]::-webkit-date-and-time-value {
  text-align: left;
}
.select-like { min-width: 225px; }
.search-wrap { position: relative; }
.search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  color: #b0b6c3;
  pointer-events: none;
}
.search-input {
  width: 270px;
  padding-left: 35px;
}
.btn {
  height: 36px;
  border-radius: 4px;
  border: 1px solid #dfe3ea;
  padding: 0 18px;
  cursor: pointer;
  font-weight: 600;
  font-size: 13px;
}
.btn.primary { background: #2c94fc; color: white; border-color: #2c94fc; }
.btn.light { background: #fff; color: #6c7382; }
.btn.danger { background: #fff5f5; color: var(--red); border-color: #ffd8d8; }
.btn.small { height: 28px; padding: 0 9px; font-size: 11px; }
.ghost-hidden { display: none; }

.table-panel {
  overflow: hidden;
  margin: 0 34px;
}
.data-table { width: 100%; border-collapse: collapse; }
.data-table thead th {
  text-align: left;
  padding: 15px 22px;
  color: #606878;
  font-size: 13px;
  font-weight: 500;
  border-bottom: 1px solid var(--border);
}
.data-table tbody td {
  padding: 14px 22px;
  border-bottom: 1px solid #eef0f5;
  vertical-align: middle;
  font-size: 13px;
}
.device-name { font-size: 13px; color: #2c94fc; }
.device-code { font-size: 13px; font-weight: 500; }
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 118px;
  justify-content: center;
  padding: 8px 12px;
  border-radius: 4px;
  color: white;
  font-weight: 600;
  font-size: 12px;
  line-height: 1;
}
.status-badge .dot {
  width: 11px;
  height: 11px;
  border-radius: 999px;
  background: rgba(44,148,252,1);
}
.status-running { background: #2c94fc; }
.status-stopped { background: #ef5350; }
.status-maintenance { background: #f1a23a; }
.status-offline { background: #ef5350; }
.status-loto { background: #8e44ad; }
.actions { display: flex; gap: 5px; flex-wrap: wrap; }
.table-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 13px 22px;
  color: var(--muted);
  font-size: 12px;
}

.modal { border: none; padding: 0; background: transparent; }
.modal::backdrop { background: rgba(44,148,252,1); }
.modal-card {
  width: min(92vw, 440px);
  background: white;
  border-radius: 14px;
  border: 1px solid var(--border);
  box-shadow: 0 28px 70px rgba(44,148,252,1);
  padding: 22px;
}
.modal-title { font-size: 18px; font-weight: 700; margin-bottom: 16px; }
.modal-field { display: grid; gap: 8px; margin-bottom: 14px; color: #525866; }
.modal-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 0; margin: 10px 0 0; }

.toast {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: #2c94fc;
  color: white;
  padding: 12px 16px;
  border-radius: 12px;
  box-shadow: 0 16px 48px rgba(44,148,252,1);
  z-index: 20;
}
.hidden { display: none; }
.muted { color: var(--muted); }

@media (max-width: 1100px) {
  .topbar-inner {
    grid-template-columns: auto auto;
    grid-template-areas: "brand actions" "nav nav";
    row-gap: 10px;
    height: auto;
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .brand { grid-area: brand; }
  .top-nav { grid-area: nav; justify-content: flex-start; }
  .topbar-actions { grid-area: actions; }
  .topbar { height: auto; }
  .stats-grid { grid-template-columns: repeat(2, minmax(230px, 1fr)); }
  .toolbar-panel { flex-direction: column; align-items: stretch; }
  .toolbar-right { justify-content: flex-end; }
}

@media (max-width: 760px) {
  .topbar-inner,
  .dashboard-container { padding-left: 14px; padding-right: 14px; }
  .stats-grid,
  .toolbar-panel,
  .table-panel { margin-left: 0; margin-right: 0; }
  .stats-grid { grid-template-columns: 1fr; }
  .search-input, .select-like { width: 100%; min-width: 0; }
  .top-nav { gap: 10px; }
}


.toolbar-fill { flex: 1; min-width: 0; }
.search-wide { width: 100%; max-width: 340px; }
.search-input-wide { width: 100%; min-width: 0; }
.icon-action-btn {
  width: 34px;
  height: 34px;
  border-radius: 4px;
  border: 1px solid #dfe3ea;
  background: #fff;
  color: #7d8595;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.icon-action-btn svg { width: 17px; height: 17px; }
.inline-add-panel {
  margin: -4px 34px 18px;
}
.inline-add-row {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(260px, 1fr) auto;
  gap: 10px;
  align-items: center;
}
.inline-name, .inline-addr {
  width: 100%;
  min-width: 0;
}
.inline-submit {
  min-width: 118px;
}
@media (max-width: 900px) {
  .inline-add-row {
    grid-template-columns: 1fr;
  }
  .search-wide {
    max-width: none;
  }
}


.actions-compact {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.horimeter-live {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid #dfe3ea;
  border-radius: 6px;
  background: #fff;
  color: #4b5b76;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}


.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 26px;
  padding: 0 12px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}
.status-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: currentColor;
  opacity: .95;
}
.status-liberado {
  background: #2c94fc;
  color: #ffffff;
}
.status-manutencao {
  background: #f0a126;
  color: #ffffff;
}
.status-parado {
  background: #ef5350;
  color: #ffffff;
}
.status-desconectado {
  background: #6b7280;
  color: #ffffff;
}
.status-sem-uso {
  background: #e5e7eb;
  color: #6b7280;
}
.status-em-uso {
  background: #2c94fc;
  color: #ffffff;
}
.actions-compact {
  display: flex;
  align-items: center;
  gap: 10px;
}


.actions-col {
  width: 1%;
  white-space: nowrap;
}
.actions-compact {
  display: flex;
  align-items: center;
  gap: 10px;
}
.status-badge {
  min-width: 118px;
  justify-content: center;
}


.toolbar-filters {
  gap: 12px;
}
.filter-group {
  display: grid;
  gap: 4px;
}
.mini-label {
  font-size: 11px;
  color: #7a8292;
  font-weight: 600;
}
.compact-select {
  min-width: 180px;
}
.registry-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 12px;
  margin-bottom: 12px;
}
.registry-card {
  background: #fff;
  border: 1px solid #e7eaf0;
  border-radius: 6px;
  padding: 12px;
}
.registry-title {
  font-size: 12px;
  font-weight: 700;
  color: #495466;
  margin-bottom: 10px;
}
.registry-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
}
.registry-card:last-child .registry-row {
  grid-template-columns: minmax(180px, 220px) 1fr auto;
}
.inline-asset-row {
  grid-template-columns: minmax(170px, 220px) minmax(170px, 220px) minmax(220px, 1fr) minmax(220px, 1fr) auto;
}
.tree-panel {
  margin: 0 34px 18px;
  padding: 14px 18px;
}
.tree-panel-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.tree-title {
  font-size: 13px;
  font-weight: 700;
  color: #111827;
}
.tree-subtitle {
  font-size: 12px;
  color: #8b93a3;
}
.plant-tree {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.tree-plant {
  border: 1px solid #e8ebf2;
  border-radius: 0;
  background: #fbfcff;
  padding: 12px;
}
.tree-plant-title {
  font-size: 13px;
  font-weight: 700;
  color: #111827;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.tree-node-icon {
  width: 16px;
  height: 16px;
  flex: 0 0 15px;
}
.tree-node-icon-plant {
  color: #64748b;
}
.tree-node-icon-location {
  color: #ec4899;
}
.tree-location {
  padding: 10px;
  border-radius: 6px;
  background: #fff;
  border: 1px solid #eef1f6;
  margin-bottom: 8px;
}
.tree-location-title {
  font-size: 12px;
  font-weight: 600;
  color: #475569;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.tree-location-label {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}
.tree-count-badge {
  min-width: 22px;
  height: 22px;
  padding: 0 7px;
  border-radius: 999px;
  background: transparent;
  color: #64748b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
}
.tree-assets-stack {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}
.tree-asset-card {
  border: 1px solid #edf1f5;
  border-radius: 6px;
  padding: 9px 10px;
  background: #fafbfc;
}
.tree-asset-name {
  font-size: 12px;
  font-weight: 600;
  color: #111827;
}
.tree-asset-meta {
  margin-top: 3px;
  font-size: 11px;
  color: #8a93a5;
}
.tree-empty, .tree-no-assets {
  font-size: 12px;
  color: #8a93a5;
}
@media (max-width: 1100px) {
  .registry-grid {
    grid-template-columns: 1fr;
  }
  .inline-asset-row {
    grid-template-columns: 1fr;
  }
}

/* TREE WITH EMBEDDED TABLE */
.tree-panel {
  margin: 0 34px 18px;
  padding: 14px 18px;
}
.tree-location-with-table {
  padding: 10px 10px 0;
}
.tree-location-with-table .tree-location-title {
  margin-bottom: 10px;
}
.tree-embedded-table-wrap {
  margin: 0 -10px;
  border-top: 1px solid #eef0f5;
}
.tree-embedded-table {
  width: 100%;
  border-collapse: collapse;
}
.tree-embedded-table thead th {
  text-align: left;
  padding: 15px 22px;
  color: #606878;
  font-size: 12px;
  font-weight: 500;
  border-bottom: 1px solid var(--border);
  background: #fff;
}
.tree-embedded-table tbody td {
  padding: 13px 22px;
  border-bottom: 1px solid #eef0f5;
  vertical-align: middle;
  font-size: 12px;
  background: #fff;
}
.tree-embedded-footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 22px 14px;
  font-size: 12px;
  color: #8a93a5;
  background: #fff;
  border-top: 0;
}
@media (max-width: 1100px) {
  .tree-embedded-table-wrap {
    overflow-x: auto;
  }
  .tree-embedded-table {
    min-width: 980px;
  }
}


/* TREE VIEW WITH INLINE ASSET DETAILS */
.table-panel {
  display: none !important;
}

.tree-panel {
  margin: 0 34px 18px;
}

.tree-assets-stack {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.tree-asset-card {
  border: 1px solid #e8edf4;
  border-radius: 6px;
  padding: 0;
  background: #fff;
  overflow: hidden;
}

.tree-asset-head {
  padding: 12px 14px 6px;
}

.tree-asset-name {
  font-size: 12px;
  font-weight: 600;
  color: #111827;
}

.tree-asset-meta {
  margin-top: 3px;
  font-size: 11px;
  color: #8a93a5;
}

.tree-asset-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr auto;
  gap: 0;
  border-top: 1px solid #eef2f6;
}

.tree-asset-cell {
  padding: 12px 14px;
  min-width: 0;
}

.tree-asset-cell-label {
  font-size: 11px;
  color: #7b8494;
  margin-bottom: 6px;
}

.tree-asset-cell-value {
  font-size: 12px;
  color: #111827;
  font-weight: 500;
}

.tree-asset-cell.actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.tree-remove-btn {
  height: 30px;
  padding: 0 12px;
  border-radius: 4px;
  border: 1px solid #f3c6c4;
  background: #fff;
  color: #ef5350;
  font-size: 12px;
  cursor: pointer;
}

@media (max-width: 1200px) {
  .tree-asset-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .tree-asset-cell.actions {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .tree-asset-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .tree-asset-grid {
    grid-template-columns: 1fr;
  }
}


/* INLINE HEADER WITH INFO */
.tree-asset-card {
  display: flex;
  flex-direction: column;
}

.tree-asset-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.tree-asset-main {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}

.tree-inline-info {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.tree-inline-item {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
}

.tree-inline-label {
  color: #7b8494;
}

.tree-inline-value {
  font-weight: 500;
  color: #111827;
}

.tree-asset-grid {
  display: none !important;
}


/* Toolbar filter redesign */
.toolbar-filter-wrap {
  position: relative;
  display: flex;
  align-items: end;
  gap: 10px;
  flex: 0 0 auto;
}

.asset-filter-popover {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: 246px;
  padding: 18px 16px 16px;
  border: 1px solid #dfe3ea;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  z-index: 40;
}
.asset-filter-popover.hidden {
  display: none;
}
.asset-filter-popover-title {
  font-size: 13px;
  font-weight: 700;
  color: #111827;
}
.asset-filter-popover-subtitle {
  margin-top: 4px;
  font-size: 12px;
  color: #6b7280;
}
.asset-filter-field {
  display: grid;
  gap: 7px;
  margin-top: 12px;
}
.asset-filter-field span {
  font-size: 12px;
  font-weight: 600;
  color: #374151;
}
.asset-filter-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 12px;
}
.filter-panel {
  margin: -4px 34px 18px;
  padding: 14px 18px;
}
.filter-panel-header {
  margin-bottom: 12px;
}
.filter-panel-title {
  font-size: 13px;
  font-weight: 700;
  color: #111827;
}
.filter-panel-subtitle {
  margin-top: 4px;
  font-size: 12px;
  color: #8b93a3;
}
.filter-checkbox-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}
.filter-checkbox-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid #e6eaf1;
  border-radius: 6px;
  background: #fff;
  color: #111827;
}
.filter-checkbox-item input {
  margin: 0;
}
.filter-panel-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 14px;
}
.tree-title-inline {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.tree-title-inline .tree-asset-meta {
  margin-top: 0;
}
@media (max-width: 900px) {
  .toolbar-filter-wrap {
    width: 100%;
  }
  .toolbar-filter-wrap .btn {
    flex: 1 1 auto;
  }
}


.toolbar-search-grow {
  flex: 1 1 auto;
  max-width: none;
}
.toolbar-filter-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}
.filter-panel {
  margin: -4px 34px 18px;
  padding: 14px 18px;
}
.filter-panel-header { margin-bottom: 12px; }
.filter-panel-title { font-size: 13px; font-weight: 700; color: #2c94fc; }
.filter-panel-subtitle { margin-top: 4px; font-size: 12px; color: #8b93a3; }
.filter-checkbox-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}
.filter-checkbox-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid #e6eaf1;
  border-radius: 6px;
  background: #fff;
  color: #111827;
}
.filter-panel-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 14px;
}
.tree-title-inline {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.tree-title-inline .tree-asset-meta {
  margin-top: 0;
}
@media (max-width: 900px) {
  .toolbar-filters {
    flex-direction: column;
    align-items: stretch;
  }
  .toolbar-filter-wrap {
    width: 100%;
  }
}


/* toolbar compact search + working filter layout */
.toolbar-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.toolbar-left.toolbar-fill.toolbar-filters {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1 1 auto;
  min-width: 0;
}

.toolbar-search-grow {
  flex: 0 1 560px !important;
  max-width: 560px !important;
  min-width: 260px;
}

.toolbar-right {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}

.toolbar-filter-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}

@media (max-width: 900px) {
  .toolbar-panel {
    flex-direction: column;
    align-items: stretch;
  }
  .toolbar-left.toolbar-fill.toolbar-filters {
    flex-direction: column;
    align-items: stretch;
  }
  .toolbar-search-grow {
    max-width: none !important;
    width: 100%;
  }
}


/* compact search width */
.toolbar-search-grow {
  flex: 0 1 420px !important;
  max-width: 420px !important;
  min-width: 220px !important;
}


/* smaller filter options */
.filter-checkbox-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.filter-checkbox-item {
  flex: 0 0 auto;
  min-width: 180px;
  max-width: 240px;
  padding: 8px 12px;
}

/* remove panel */
#inline-remove-panel .registry-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto;
  gap: 10px;
  align-items: center;
}
#inline-remove-panel .registry-card .registry-row:has(#remove-location-select) {
  grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto;
}
#inline-remove-panel .registry-card {
  background: #fff;
}
@media (max-width: 900px) {
  #inline-remove-panel .registry-row,
  #inline-remove-panel .registry-card .registry-row:has(#remove-location-select) {
    grid-template-columns: 1fr;
  }
}



.machine-alert-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(44,148,252,1);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}

.machine-alert-overlay.hidden {
  display: none;
}

.machine-alert-popup {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.machine-alert-card {
  position: relative;
  width: min(96vw, 1500px);
  height: min(92vh, 820px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 26px;
  padding: 28px;
  background: linear-gradient(180deg, #eb1111 0%, #d80000 100%);
  border: 2px solid rgba(44,148,252,1);
  border-radius: 22px;
  box-shadow: 0 24px 70px rgba(44,148,252,1);
}

.machine-alert-main {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  padding: 24px 18px;
  overflow: hidden;
}

.machine-alert-machine,
.machine-alert-status {
  width: 100%;
  max-width: 100%;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: var(--alert-font-size, clamp(60px, 9vw, 150px));
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 0.96;
  text-transform: uppercase;
  text-wrap: balance;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.machine-alert-machine {
  margin-bottom: 24px;
}

.machine-alert-machine,
.machine-alert-status {
  animation: alertBlink 0.9s ease-in-out infinite;
}

.machine-alert-overlay.alert-parada .machine-alert-machine,
.machine-alert-overlay.alert-parada .machine-alert-status,
.machine-alert-overlay.alert-manutencao .machine-alert-machine,
.machine-alert-overlay.alert-manutencao .machine-alert-status {
  --blink-secondary: #ffd84d;
}

.machine-alert-overlay.alert-liberada .machine-alert-machine,
.machine-alert-overlay.alert-liberada .machine-alert-status {
  --blink-secondary: #2c94fc;
}

@keyframes alertBlink {
  0%, 45% {
    color: #ffffff;
    text-shadow: 0 0 10px rgba(44,148,252,1);
  }
  55%, 100% {
    color: var(--blink-secondary, #ffd84d);
    text-shadow: 0 0 18px rgba(44,148,252,1);
  }
}

.machine-alert-sidebar {
  align-self: stretch;
  min-height: 0;
  background: rgba(44,148,252,1);
  border: 2px solid rgba(44,148,252,1);
  border-radius: 18px;
  padding: 18px 14px 14px;
  color: #fff;
  overflow: hidden;
  backdrop-/*filter removed*/ blur(3px);
}

.machine-alert-sidebar-title {
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 14px;
}

.machine-alert-queue {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-height: calc(100% - 34px);
  overflow: auto;
}

.machine-alert-queue-item {
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid rgba(44,148,252,1);
  background: rgba(44,148,252,1);
  color: rgba(44,148,252,1);
  font-weight: 700;
  font-size: 13px;
}

.machine-alert-queue-item.is-active,
.machine-alert-queue-item.active {
  background: rgba(44,148,252,1);
  box-shadow: inset 0 0 0 1px rgba(44,148,252,1);
}

.machine-alert-close {
  position: absolute;
  top: 14px;
  right: 14px;
  min-width: 210px;
  height: 48px;
  padding: 0 18px;
  border: 1px solid rgba(44,148,252,1);
  border-radius: 999px;
  background: rgba(44,148,252,1);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
}

.machine-alert-close:hover {
  background: rgba(44,148,252,1);
}

@media (max-width: 980px) {
  .machine-alert-card {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr auto;
    height: min(94vh, 920px);
  }

  .machine-alert-sidebar {
    max-height: 230px;
  }
}


.user-chip-full {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.user-chip-name {
  font-size: 12px;
  font-weight: 600;
  color: #5a6272;
  white-space: nowrap;
}
.avatar-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.login-body {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}
.login-shell { width: 100%; display: grid; place-items: center; }
.login-card {
  width: min(100%, 430px);
  background: #fff;
  border: 1px solid #e8ebf3;
  border-radius: 18px;
  box-shadow: 0 14px 40px rgba(15, 23, 42, 0.08);
  padding: 28px;
}
.login-logo { height: 42px; width: auto; margin-bottom: 18px; }
.login-title { margin: 0 0 8px; font: 700 28px/1.1 "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; color: #334155; }
.login-subtitle, .login-helper { color: #667085; font-size: 13px; }
.login-error {
  margin: 14px 0;
  border: 1px solid #fecaca;
  background: #fff1f2;
  color: #b42318;
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 13px;
}
.login-form { display: grid; gap: 4px; margin: 18px 0 16px; }
.login-submit { width: 100%; margin-top: 4px; }
.user-modal-card { width: min(920px, calc(100vw - 32px)); }
.user-modal-subtitle { color: #667085; font-size: 13px; margin-top: -8px; margin-bottom: 18px; }
.user-modal-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 24px; }
.user-section-title { font-size: 13px; font-weight: 700; color: #2c94fc; margin-bottom: 12px; }
.current-user-preview {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px;
  border: 1px solid #e7eaf3;
  border-radius: 14px;
  background: #fafbff;
  margin-bottom: 14px;
}
.avatar-circle-large { width: 56px; height: 56px; }
.current-user-name, .user-list-name { font-weight: 700; color: #2c94fc; }
.current-user-role, .user-list-role, .users-empty { font-size: 13px; color: #667085; }
.users-list { display: flex; flex-direction: column; gap: 10px; }
.user-list-item {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid #e7eaf3;
  border-radius: 14px;
  padding: 12px;
  background: #fff;
}
.user-list-avatar { width: 42px; height: 42px; }
.file-input { padding-top: 7px; }
.hidden { display: none !important; }
@media (max-width: 860px) {
  .user-modal-grid { grid-template-columns: 1fr; }
  .topbar-inner { grid-template-columns: 1fr; height: auto; padding: 10px 16px; }
  .top-nav { justify-content: flex-start; flex-wrap: wrap; }
  .topbar-actions { justify-content: flex-start; }
}


.user-menu-wrap { position: relative; }
.user-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 170px;
  background: #fff;
  border: 1px solid #e5e7ef;
  border-radius: 12px;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.10);
  padding: 6px;
  z-index: 40;
}
.user-dropdown-item {
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
  padding: 10px 12px;
  border-radius: 10px;
  color: #111827;
  cursor: pointer;
  font-weight: 600;
}
.user-dropdown-item:hover { background: transparent; }
.user-dropdown-item.danger { color: #c2410c; }
.user-admin-badge {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: #eff6ff;
  color: #111827;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 14px;
}
.user-side-actions { margin-bottom: 12px; }
.user-list-item-between { justify-content: space-between; }
.user-list-main { display: flex; align-items: center; gap: 12px; min-width: 0; }
.user-list-actions { display: flex; align-items: center; gap: 8px; }
.user-role-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  border-radius: 999px;
  background: transparent;
  color: #4b5563;
  font-size: 11px;
  font-weight: 700;
}
.checkbox-row {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #475467;
  font-size: 13px;
  margin-top: 8px;
}
.add-user-modal-card { width: min(430px, calc(100vw - 32px)); }


.user-chip-name { font-size: 13px; font-weight: 600; color: #4b5565; margin-left: 8px; }
.turnos-admin-note { margin-top: 12px; padding: 10px 12px; border-radius: 10px; background: #fff4e5; color: #9a5b00; font-weight: 600; font-size: 13px; }

 .machine-dashboard-panel {
  margin: 0 34px 18px;
  padding: 18px;
}
.machine-dashboard-header {
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:16px;
}
.machine-dashboard-filters {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.machine-dashboard-empty {
  border:1px dashed #dfe3ea;
  border-radius:10px;
  padding:22px;
  color:#7b8393;
  background:#fbfcfe;
}
.dashboard-hero-grid {
  align-items: stretch;
}
.chart-card {
  background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
  border: 1px solid #ebeff7;
  box-shadow: 0 16px 34px rgba(44,148,252,1);
}
.detail-card-header-split {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.goal-input-wrap {
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:148px;
  font-size:12px;
  color:#667085;
  font-weight:700;
}
.goal-input {
  min-width:140px;
  text-align:right;
  font-weight:700;
}
.pie-card-shell {
  display:grid;
  grid-template-columns: minmax(220px, 300px) 1fr;
  gap:18px;
  align-items:center;
}
.pie-ring-wrap {
  position:relative;
  width:min(100%, 280px);
  margin:0 auto;
}
.pie-ring-chart {
  width:100%;
  height:auto;
  transform: rotate(-90deg);
  /*filter removed*/ drop-shadow(0 18px 26px rgba(44,148,252,1));
}
.pie-ring-base,
.pie-ring-segment {
  fill:none;
  stroke-width:24;
}
.pie-ring-base { stroke:#ecf0f6; }
.pie-ring-segment { stroke-linecap:round; }
.pie-ring-running { stroke:url(#pieGreenGradient); }
.pie-ring-stop { stroke:url(#pieOrangeGradient); }
.pie-ring-center {
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.pie-ring-center-label {
  font-size:13px;
  color:#667085;
  font-weight:700;
}
.pie-ring-center-value {
  margin-top:6px;
  font-size:30px;
  line-height:1;
  font-weight:800;
  color:#2c94fc;
}
.pie-legend-grid {
  display:grid;
  gap:12px;
}
.pie-legend-item {
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border-radius:16px;
  background:#fff;
  border:1px solid #edf1f7;
  box-shadow: 0 10px 22px rgba(44,148,252,1);
}
.pie-dot {
  width:14px;
  height:14px;
  border-radius:999px;
  flex:0 0 auto;
}
.pie-legend-item.success .pie-dot { background:linear-gradient(180deg, #2c94fc, #2c94fc); }
.pie-legend-item.warning .pie-dot { background:linear-gradient(180deg, #fbbf24, #f97316); }
.pie-legend-title {
  font-size:13px;
  font-weight:800;
  color:#2c94fc;
}
.pie-legend-value {
  margin-top:4px;
  color:#667085;
  font-size:13px;
  font-weight:600;
}
.line-chart-shell {
  display:flex;
  flex-direction:column;
  gap:12px;
}
.line-chart-meta {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.chart-header-actions {
  display:flex;
  align-items:flex-end;
  gap:12px;
  flex-wrap:wrap;
}
.chart-expand-btn {
  white-space:nowrap;
}
.line-meta-chip {
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:#f2f7ff;
  color:#2c94fc;
  font-size:12px;
  font-weight:700;
  border:1px solid #dfebff;
}
.production-line-chart {
  width:100%;
  height:auto;
  background: radial-gradient(circle at top, rgba(44,148,252,1), transparent 45%);
  border-radius:18px;
}
.production-line-chart.expanded {
  min-height:460px;
}
.line-grid {
  stroke:#e8edf5;
  stroke-width:1;
}
.line-axis-label {
  fill:#7b8798;
  font-size:12px;
  font-weight:600;
}
.goal-line {
  stroke:#f59e0b;
  stroke-width:2;
  stroke-dasharray:6 6;
}
.goal-line-label {
  fill:#d97706;
  font-size:12px;
  font-weight:800;
}
.line-chart-path-fill {
  fill:rgba(44,148,252,1);
  stroke:none;
}
.line-chart-path {
  fill:none;
  stroke:#2c94fc;
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
  /*filter removed*/ drop-shadow(0 8px 12px rgba(44,148,252,1));
}
.line-point {
  fill:#fff;
  stroke:#2c94fc;
  stroke-width:3;
}
.production-chart-modal-card {
  width:min(1240px, calc(100vw - 32px));
  max-height:min(92vh, 900px);
  overflow:auto;
}
.production-chart-modal-header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}
.monthly-production-chart-expanded {
  min-width:min(1120px, 100%);
}
.dashboard-summary-grid {
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(4, minmax(180px,1fr));
  gap:12px;
}
.mini-summary-card {
  border-radius:16px;
  padding:16px 18px;
  color:white;
  box-shadow: 0 14px 24px rgba(44,148,252,1);
}
.mini-summary-card.running { background:linear-gradient(135deg, #2c94fc, #2c94fc); }
.mini-summary-card.stopped { background:linear-gradient(135deg, #e8505b, #f87171); }
.mini-summary-card.maintenance { background:linear-gradient(135deg, #f6c72a, #ffd84d); color:#2c94fc; }
.mini-summary-card.total-stop { background:linear-gradient(135deg, #f59e0b, #fb923c); }
.mini-summary-label { font-size:13px; font-weight:700; opacity:.95; }
.mini-summary-value { font-size:30px; font-weight:800; margin-top:8px; }
.detail-grid-two {
  margin-top:14px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
.detail-card { padding:18px; border-radius:18px; }
.detail-card-header { margin-bottom:12px; }
.detail-card-title { font-size:19px; font-weight:800; color:#2c94fc; }
.detail-card-subtitle { font-size:13px; color:var(--muted); margin-top:4px; }
.dashboard-list-panel {
  margin-top:14px;
}
.daily-production-list {
  display:flex;
  flex-direction:column;
  gap:10px;
  max-height:360px;
  overflow:auto;
  padding-right:4px;
}
.daily-production-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  border:1px solid #edf0f5;
  border-radius:14px;
  padding:12px 14px;
  background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.daily-production-day { font-weight:700; color:#2c94fc; }
.daily-production-value {
  min-width:88px;
  text-align:center;
  background:#eef4ff;
  color:#2c94fc;
  border-radius:999px;
  padding:8px 12px;
  font-weight:800;
}
.timeline-panel {
  margin-top:14px;
  border:1px solid var(--border);
  border-radius:18px;
  padding:16px;
  background:linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
  box-shadow: 0 16px 34px rgba(44,148,252,1);
}
.timeline-header-row { margin-bottom: 10px; }
.timeline-title { font-size:18px; font-weight:800; color:#2c94fc; }
.timeline-subtitle { font-size:13px; color:var(--muted); margin-top:4px; }
.timeline-days {
  display:flex;
  flex-direction:column;
  gap:12px;
  max-height:420px;
  overflow:auto;
  padding-right:4px;
}
.timeline-day-row {
  display:grid;
  grid-template-columns: 72px 1fr;
  gap:10px;
  align-items:start;
}
.timeline-day-label {
  font-weight:800;
  color:#2c94fc;
  padding-top:10px;
}
.timeline-track {
  display:flex;
  gap:8px;
  align-items:stretch;
  overflow-x:auto;
  padding-bottom:4px;
}
.timeline-segment {
  min-width:110px;
  border-radius:12px;
  padding:12px 13px;
  color:#2c94fc;
  box-shadow: inset 0 0 0 1px rgba(44,148,252,1);
}
.timeline-segment.running { background:#2c94fc; color:white; }
.timeline-segment.stopped { background:#ef5350; color:white; }
.timeline-segment.maintenance { background:#ffcf33; color:#2c94fc; }
.timeline-segment.offline { background:#b6b8bd; color:#2c94fc; }
.timeline-time { font-size:13px; font-weight:700; margin-bottom:4px; }
.timeline-status { font-size:13px; }
.timeline-empty-segment {
  min-width:160px;
  border-radius:12px;
  padding:12px 13px;
  background:#eceef2;
  color:#666e7c;
}
@media (max-width: 1100px) {
  .machine-dashboard-header,
  .detail-grid-two { grid-template-columns:1fr; display:grid; }
  .dashboard-summary-grid { grid-template-columns:repeat(2, minmax(160px,1fr)); }
  .pie-card-shell { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .timeline-day-row { grid-template-columns:1fr; }
  .dashboard-summary-grid { grid-template-columns:1fr; }
  .detail-card-header-split { flex-direction:column; }
  .goal-input-wrap, .goal-input { width:100%; }
  .machine-dashboard-panel { margin: 0 16px 18px; }
}


.user-alert-settings {
  display: grid;
  gap: 10px;
  margin-top: 8px;
}


/* MOBILE OPTIMIZATION FOR NGROK / PHONE ACCESS */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}
img, svg {
  max-width: 100%;
}

@media (max-width: 640px) {
  body {
    font-size: 13px;
  }

  .topbar-inner,
  .dashboard-container {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .brand {
    min-width: 0;
  }

  .brand-logo-image {
    height: 24px;
    max-width: 180px;
  }

  .top-nav {
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 12px;
  }

  .nav-link {
    font-size: 13px;
    padding: 4px 0;
  }

  .user-chip-name {
    display: none;
  }

  .stats-grid,
  .toolbar-panel,
  .tree-panel,
  .filter-panel,
  .machine-dashboard-panel,
  .inline-add-panel,
  .table-panel {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .stats-grid {
    gap: 10px;
    margin-top: 14px;
  }

  .stat-card {
    padding: 14px;
    min-height: 78px;
  }

  .stat-head {
    font-size: 12px;
    gap: 8px;
    margin-bottom: 10px;
  }

  .stat-value {
    font-size: 18px;
  }

  .toolbar-panel,
  .filter-panel,
  .timeline-panel,
  .detail-card,
  .tree-card,
  .tree-asset-card,
  .registry-card {
    border-radius: 14px;
  }

  .toolbar-right,
  .toolbar-left,
  .toolbar-left.toolbar-fill.toolbar-filters,
  .toolbar-filter-wrap,
  .machine-dashboard-filters,
  .filter-panel-actions,
  .modal-actions,
  #inline-remove-panel .registry-row,
  .registry-row,
  .tree-asset-head,
  .tree-asset-main,
  .tree-inline-info,
  .detail-card-header-split,
  .user-list-item,
  .current-user-preview {
    flex-direction: column;
    align-items: stretch;
  }

  .btn,
  .input,
  .select-like,
  .toolbar-search-grow,
  .search-wide,
  .search-input,
  .search-input-wide,
  .machine-dashboard-filters > *,
  .toolbar-filter-wrap .btn,
  .filter-panel-actions .btn,
  .modal-actions .btn,
  .goal-input-wrap,
  .goal-input {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .icon-action-btn {
    width: 100%;
    height: 38px;
  }

  .tree-panel {
    padding: 0;
  }

  .tree-head,
  .timeline-header-row,
  .detail-card-header,
  .machine-dashboard-header {
    gap: 8px;
  }

  .tree-title,
  .detail-card-title,
  .timeline-title {
    font-size: 13px;
  }

  .tree-subtitle,
  .detail-card-subtitle,
  .timeline-subtitle,
  .tree-asset-meta,
  .tree-inline-item,
  .daily-production-day,
  .daily-production-value,
  .timeline-time,
  .timeline-status {
    font-size: 12px;
  }

  .machine-dashboard-header,
  .timeline-panel,
  .detail-card,
  .filter-panel {
    padding: 12px;
  }

  .pie-card-shell,
  .detail-grid-two,
  .dashboard-summary-grid,
  .user-modal-grid {
    grid-template-columns: 1fr !important;
  }

  .mini-summary-card {
    padding: 14px;
  }

  .mini-summary-value {
    font-size: 22px;
  }

  .daily-production-row {
    gap: 8px;
    align-items: flex-start;
    flex-direction: column;
  }

  .daily-production-value {
    min-width: 0;
    text-align: left;
  }

  .timeline-day-row {
    grid-template-columns: 1fr;
  }

  .timeline-track {
    gap: 7px;
  }

  .timeline-segment,
  .timeline-empty-segment {
    min-width: 92px;
    padding: 10px;
  }

  .user-modal-card,
  .add-user-modal-card,
  .modal-card {
    width: min(100vw - 16px, 100%) !important;
    padding: 16px;
  }

  .login-body {
    padding: 12px;
  }

  .login-card {
    width: 100%;
    padding: 18px;
    border-radius: 16px;
  }

  .login-logo {
    height: 34px;
  }

  .login-title {
    font-size: 22px;
  }
}


/* FINAL MOBILE POLISH */
@media (max-width: 640px) {
  .topbar-inner {
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "brand actions"
      "nav nav";
    gap: 10px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .brand-logo-image {
    height: 28px;
    max-width: 150px;
  }

  .top-nav {
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 18px;
    padding-bottom: 2px;
    scrollbar-width: none;
  }
  .top-nav::-webkit-scrollbar { display: none; }

  .nav-link {
    white-space: nowrap;
    font-size: 12px;
  }

  .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
  }

  .stat-card {
    min-height: 72px;
    padding: 12px;
  }

  .stat-head {
    font-size: 11px;
    gap: 7px;
    margin-bottom: 8px;
  }

  .stat-value {
    font-size: 13px;
  }

  .toolbar-panel {
    padding: 12px;
    gap: 12px;
  }

  .toolbar-left.toolbar-fill.toolbar-filters {
    gap: 10px;
  }

  .toolbar-filter-wrap {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    width: 100%;
  }

  .toolbar-right {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
  }

  .toolbar-right .btn,
  .toolbar-right .icon-action-btn {
    width: 100% !important;
    height: 42px;
    padding: 0 10px;
  }

  .tree-panel {
    padding: 12px;
  }

  .tree-panel-header,
  .tree-location-title,
  .machine-dashboard-header,
  .detail-card-header,
  .timeline-header-row {
    flex-direction: column;
    align-items: stretch;
  }

  .tree-title {
    font-size: 13px;
  }

  .tree-location,
  .tree-asset-card,
  .registry-card,
  .filter-panel,
  .timeline-panel,
  .detail-card,
  .machine-dashboard-panel {
    border-radius: 12px;
  }

  .tree-asset-head {
    padding: 10px 12px;
  }

  .tree-asset-main {
    gap: 10px;
    align-items: stretch;
  }

  .tree-title-inline {
    align-items: flex-start;
    gap: 7px;
  }

  .tree-inline-info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    width: 100%;
  }

  .tree-inline-item {
    justify-content: space-between;
    padding: 7px 8px;
    border: 1px solid #edf1f6;
    border-radius: 0;
    background: #fafbfc;
  }

  .inline-add-panel {
    margin-left: 0;
    margin-right: 0;
  }

  .registry-grid,
  .registry-row,
  .inline-add-row,
  .inline-asset-row,
  .filter-panel-actions,
  .modal-actions,
  .user-modal-grid {
    grid-template-columns: 1fr !important;
  }

  .page-dashboard-only .machine-dashboard-header,
  .page-dashboard-only .machine-dashboard-filters {
    gap: 10px;
  }

  .timeline-segment,
  .timeline-empty-segment {
    min-width: 104px;
  }
}

@media (max-width: 420px) {
  .dashboard-container {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

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

  .tree-inline-info {
    grid-template-columns: 1fr;
  }

  .toolbar-right {
    grid-template-columns: 1fr;
  }
}


/* MOBILE FIXES: avatar and search toolbar */
@media (max-width: 640px) {
  .topbar-actions {
    justify-content: flex-end;
    min-width: 0;
  }

  .user-menu-wrap {
    margin-left: auto;
  }

  .user-chip,
  .user-chip-full {
    justify-content: flex-end;
  }

  .avatar-circle {
    width: 40px;
    height: 40px;
    border-width: 1px;
  }

  .avatar-circle svg {
    width: 22px;
    height: 22px;
  }

  .toolbar-left.toolbar-fill.toolbar-filters,
  .toolbar-search-grow {
    flex: 0 0 auto !important;
  }

  .search-wrap,
  .search-wide {
    height: auto !important;
    min-height: 0 !important;
    flex: 0 0 auto !important;
  }

  .search-icon {
    left: 14px;
    width: 18px;
    height: 18px;
    top: 50%;
    transform: translateY(-50%);
  }

  .search-input,
  .search-input-wide {
    height: 48px;
    padding-left: 42px !important;
  }
}

@media (max-width: 420px) {
  .avatar-circle {
    width: 42px;
    height: 42px;
  }

  .topbar-inner {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}


@media (max-width: 860px) {
  .topbar-actions {
    justify-content: flex-end;
    width: 100%;
  }

  .user-chip-full {
    flex-direction: column;
    align-items: center;
    gap: 4px;
  }

  .user-chip-name {
    display: block;
    max-width: 72px;
    font-size: 10px;
    line-height: 1.1;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}



.user-chip-name-mobile {
  display: none;
}

@media (max-width: 640px) {
  .topbar {
    height: auto;
  }

  .topbar-inner {
    align-items: start;
  }

  .topbar-actions {
    justify-content: flex-end !important;
    align-items: flex-start;
  }

  .user-chip,
  .user-chip-full {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start;
    gap: 4px !important;
    padding: 0 !important;
    overflow: visible !important;
    min-width: 48px;
  }

  .user-chip-name {
    display: none !important;
  }

  .user-chip-name-mobile {
    display: block !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    font-weight: 600 !important;
    color: #5a6272 !important;
    text-align: center !important;
    max-width: 74px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    margin-top: 1px !important;
  }
}

.machine-alert-queue-empty {
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px dashed rgba(44,148,252,1);
  color: rgba(44,148,252,1);
  font-weight: 600;
}

.chat-header-button {
  position: relative;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  border: 1px solid var(--line, #d7dce8);
  background: #fff;
  color: #111827;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 18px rgba(44,148,252,1);
}

.chat-header-button svg {
  width: 22px;
  height: 22px;
}

.chat-header-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 999px;
  background: #ef4444;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.chat-fab {
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: 60px;
  height: 60px;
  border-radius: 999px;
  border: none;
  background: #2c94fc;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: none !important;
  /*filter removed*/ none !important;
  text-shadow: none !important;
  appearance: none;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: transparent;
  background-image: none !important;
  z-index: 1200;
}
.chat-fab::before,
.chat-fab::after {
  content: none !important;
  display: none !important;
  box-shadow: none !important;
}

.chat-fab svg {
  width: 28px;
  height: 28px;
}

.chat-fab .chat-header-badge {
  top: 0;
  right: 0;
}

body.chat-open #btn-open-chat-fab,
body.chat-open #btn-open-chat {
  display: none !important;
}

.chat-fab:hover,
.chat-fab:active,
.chat-fab:focus,
.chat-fab:focus-visible {
  box-shadow: none !important;
  /*filter removed*/ none !important;
  outline: none;
}

.chat-modal {
  width: min(1100px, calc(100vw - 24px));
  max-width: 1100px;
}

.chat-modal-card {
  width: 100%;
  max-width: 1100px;
  padding: 0;
  overflow: hidden;
}

.chat-modal-header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 18px 22px;
  border-bottom: 1px solid #e6eaf2;
}

.modal-subtitle {
  color: #6b7280;
  font-size: 13px;
  margin-top: 4px;
}

.chat-layout {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  min-height: 68vh;
}

.chat-sidebar {
  border-right: 1px solid #e6eaf2;
  background: #fafbff;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.chat-create-actions,
.chat-create-footer {
  display: flex;
  gap: 8px;
}

.chat-create-actions {
  padding: 16px;
  border-bottom: 1px solid #e6eaf2;
}

.chat-create-panel {
  padding: 14px 16px;
  border-bottom: 1px solid #e6eaf2;
  display: grid;
  gap: 10px;
}

.chat-create-title {
  font-weight: 700;
  color: #111827;
}

.chat-user-picker,
.chat-conversation-list {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  overflow: auto;
}

.chat-conversation-list {
  padding-top: 16px;
}

.chat-user-option,
.chat-conversation-item {
  border: 1px solid #e4e8f1;
  border-radius: 16px;
  background: #fff;
}

.chat-user-option {
  padding: 12px 14px;
  display: flex;
  gap: 10px;
  align-items: center;
}

.chat-conversation-item {
  padding: 12px 14px;
  text-align: left;
}

.chat-conversation-item.active {
  border-color: #4a8af4;
  box-shadow: 0 8px 22px rgba(44,148,252,1);
}

.chat-conversation-top,
.chat-conversation-bottom {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.chat-conversation-name {
  font-weight: 700;
  color: #111827;
}

.chat-conversation-time,
.chat-conversation-preview,
.chat-thread-subtitle,
.chat-message-meta,
.chat-list-empty {
  color: #6b7280;
  font-size: 12px;
}

.chat-conversation-preview {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 210px;
}

.chat-conversation-unread {
  min-width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #2c94fc;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
}

.chat-main {
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: #fff;
}

.chat-empty-state {
  margin: auto;
  color: #6b7280;
  font-size: 13px;
}

.chat-thread {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}

.chat-thread-header {
  padding: 18px 22px;
  border-bottom: 1px solid #e6eaf2;
  display: flex;
  align-items: center;
  gap: 10px;
}

.chat-thread-title {
  font-size: 18px;
  font-weight: 700;
  color: #111827;
}

.chat-back-button {
  display: none;
  border: 0;
  background: transparent;
  color: #111827;
  font-weight: 700;
  font-size: 13px;
  padding: 0;
  margin-right: 10px;
}

.chat-messages {
  flex: 1;
  overflow: auto;
  padding: 14px 18px;
  background: linear-gradient(180deg, #f8faff 0%, #ffffff 100%);
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.chat-message {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  margin: 0;
}

.chat-message.mine {
  align-items: stretch;
}

.chat-message-bubble {
  display: inline-block;
  width: fit-content;
  max-width: min(100%, 320px);
  padding: 10px 14px;
  border-radius: 18px 18px 18px 6px;
  background: #eef3ff;
  color: #111827;
  white-space: pre-wrap;
  word-break: break-word;
}

.chat-message.mine .chat-message-bubble {
  background: #2c94fc;
  color: #fff;
  border-radius: 16px 16px 4px 16px;
}

.chat-compose {
  border-top: 1px solid #e6eaf2;
  padding: 16px 22px;
  display: flex;
  gap: 10px;
  align-items: flex-end;
}

.chat-message-input {
  min-height: 54px;
  resize: vertical;
}

@media (max-width: 900px) {
  .chat-header-button {
    display: none !important;
  }

  .chat-fab {
    display: inline-flex;
  }

  .chat-modal {
    width: calc(100vw - 12px);
    max-width: none;
    height: calc(100vh - 18px - env(safe-area-inset-top, 0px));
    max-height: none;
    margin: calc(6px + env(safe-area-inset-top, 0px)) 6px 6px;
  }

  .chat-modal-card {
    height: 100%;
    border-radius: 22px;
  }

  .chat-modal-header {
    padding-top: calc(20px + env(safe-area-inset-top, 0px));
    align-items: flex-start;
  }

  .chat-modal-header .modal-title {
    line-height: 1.2;
  }

  .chat-modal-header {
    padding: calc(16px + env(safe-area-inset-top, 0px)) 16px 14px;
    align-items: flex-start;
  }

  .chat-modal-header .modal-title {
    line-height: 1.15;
    margin-bottom: 4px;
  }

  .chat-modal-header .modal-subtitle {
    line-height: 1.2;
    max-width: 220px;
  }

  .chat-modal-header .btn {
    min-width: 118px;
  }

  .chat-layout {
    grid-template-columns: 1fr;
    min-height: calc(100vh - 120px - env(safe-area-inset-top, 0px));
    height: 100%;
  }

  .chat-sidebar,
  .chat-main {
    height: 100%;
  }

  .chat-sidebar {
    border-right: 0;
  }

  .chat-create-actions {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #fafbff;
  }

  .chat-conversation-list {
    padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  }

  .chat-thread-header,
  .chat-messages,
  .chat-compose {
    padding-left: 16px;
    padding-right: 16px;
  }

  .chat-thread-header {
    padding-top: 14px;
    padding-bottom: 14px;
    background: #fff;
  }

  .chat-back-button {
    display: inline-flex;
    align-items: center;
  }

  .chat-messages {
    padding-top: 14px;
    padding-bottom: 14px;
  }

  .chat-message-bubble {
    max-width: min(100%, 82vw);
  }

  .chat-compose {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    padding-top: 12px;
    padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    background: #fff;
  }

  .chat-compose .btn {
    width: 100%;
  }

  .chat-conversation-preview {
    max-width: 180px;
  }

  .chat-mobile-list-view .chat-main {
    display: none;
  }

  .chat-mobile-thread-view .chat-sidebar {
    display: none;
  }

  .chat-mobile-thread-view .chat-main {
    display: flex;
  }

  .chat-mobile-thread-view .chat-empty-state {
    display: none;
  }
}


/* Chat mobile single-room layout */

.chat-modal-header-simple {
  align-items: center;
}
.chat-modal-header-simple .modal-title {
  margin: 0;
}
.chat-close-icon {
  width: 44px;
  height: 44px;
  border: 1px solid var(--border-color, #d7dce5);
  border-radius: 12px;
  background: #fff;
  color: #667085;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.chat-close-icon:hover {
  background: #f8fafc;
}
.chat-layout-single {
  display: block;
}
.chat-main-single {
  min-width: 0;
}
.chat-main-single .chat-thread {
  display: flex !important;
  flex-direction: column;
  height: calc(100vh - 120px);
}
.chat-thread-header-simple {
  display: none;
}
.chat-thread-header-simple .chat-thread-title {
  font-size: 1.1rem;
}
.chat-main-single .chat-messages {
  flex: 1;
  min-height: 260px;
  align-content: flex-start;
}
.chat-main-single .chat-compose {
  position: sticky;
  bottom: 0;
  background: #fff;
}
@media (max-width: 900px) {
  .chat-modal-header-simple {
    padding-top: 18px;
  }
  .chat-main-single .chat-thread {
    height: calc(100vh - 110px);
  }
}

body.chat-open #btn-open-chat-fab { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; }



/* Chat layout fixes */
.chat-modal {
  height: min(92dvh, 900px);
}

.chat-modal-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.chat-layout-single,
.chat-main-single,
.chat-main-single .chat-thread {
  height: 100%;
  min-height: 0;
}

.chat-main-single .chat-thread {
  display: flex !important;
  flex-direction: column;
}

.chat-messages {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 16px 18px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: stretch;
  align-content: stretch;
}

.chat-messages > * {
  flex: 0 0 auto;
}

.chat-message {
  width: 100%;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.chat-message.mine {
  align-items: flex-end;
}

.chat-message-bubble {
  display: block;
  width: fit-content;
  max-width: min(78%, 320px);
  padding: 10px 14px;
  line-height: 1.35;
}

.chat-message-meta {
  display: block;
  width: fit-content;
  max-width: min(78%, 320px);
  padding: 0 4px;
  font-size: 12px;
  line-height: 1.25;
  color: #9aa3b2;
  white-space: nowrap;
}

.chat-compose {
  position: sticky;
  bottom: 0;
  z-index: 3;
  background: #fff;
  border-top: 1px solid #e6eaf2;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 14px 16px 16px;
}

.chat-message-input {
  width: 100%;
  min-height: 54px;
  max-height: 140px;
}

.chat-compose-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.chat-icon-button {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  border: 1px solid #d7deea;
  border-radius: 14px;
  background: #fff;
  color: #111827;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 2px rgba(44,148,252,1);
}

.chat-icon-button svg {
  width: 24px;
  height: 24px;
}

.chat-send-button {
  flex: 1 1 auto;
  min-height: 48px;
}

.chat-message-image {
  display: block;
  width: min(100%, 240px);
  max-width: 100%;
  border-radius: 14px;
}

@media (max-width: 900px) {
  .chat-modal {
    width: calc(100vw - 12px);
    height: calc(100dvh - 12px);
    max-width: none;
    max-height: none;
    margin: 6px;
  }

  .chat-main-single .chat-thread {
    height: 100%;
  }

  .chat-messages {
    padding: 14px 16px 20px;
    gap: 10px;
  }

  .chat-message-bubble,
  .chat-message-meta {
    max-width: min(82vw, 82%);
  }

  .chat-compose {
    padding-top: 12px;
    padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  }
}

.hidden-by-new-assets { display: none !important; }
.danger-outline { color: #d54848; border-color: #efc2c2; background: #fff; }
.assets-workspace-panel {
  margin: 0 34px 18px;
  padding: 18px;
}
.assets-workspace-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 14px;
}
.assets-workspace-actions { display: flex; gap: 10px; }

.assets-workspace-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
}
.assets-search-grow {
  flex: 1;
  min-width: 280px;
}
.assets-workspace-grid {
  display: grid;
  grid-template-columns: minmax(320px, 0.9fr) minmax(500px, 1.5fr);
  gap: 18px;
  min-height: 540px;
}
.assets-tree-sidebar, .assets-detail-panel {
  border: 1px solid var(--border);
  border-radius: 0;
  background: #fcfcfe;
  padding: 14px;
}
.assets-panel-caption {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #8d95a5;
  font-weight: 700;
  margin-bottom: 12px;
}
.asset-hierarchy-tree {
  overflow: auto;
  max-height: 660px;
  padding-right: 6px;
}
.asset-tree-list, .asset-tree-children {
  list-style: none;
  margin: 0;
  padding: 0;
}
.asset-tree-children {
  margin-left: 16px;
  padding-left: 14px;
  border-left: 1px dashed #d9deea;
}
.asset-tree-node { margin: 4px 0; }
.asset-tree-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 6px 8px;
  border-radius: 0;
  color: #445063;
}
.asset-tree-row.asset-node-machine { cursor: pointer; }
.asset-tree-row.asset-node-machine:hover,
.asset-tree-row.asset-node-machine.active {
  background: #eef4ff;
  color: #111827;
}
.asset-tree-toggle {
  width: 18px;
  height: 18px;
  display: inline-grid;
  place-items: center;
  border: 0;
  background: transparent;
  color: #7e8899;
  cursor: pointer;
  padding: 0;
}
.asset-tree-toggle::before { content: '▾'; font-size: 13px; }
.asset-tree-toggle.collapsed::before { content: '▸'; }
.asset-tree-toggle.empty { visibility: hidden; }
.asset-tree-icon { width: 18px; height: 18px; color: #445063; flex: 0 0 auto; }
.asset-tree-label { flex: 1; font-size: 13px; font-weight: 600; }
.asset-tree-meta { font-size: 12px; color: #8f97a8; }
.asset-node-location .asset-tree-icon { color: #f048a2; }
.asset-node-machine .asset-tree-icon { color: #4b5565; }
.asset-node-generic .asset-tree-icon { color: #2c94fc; }
.asset-details-empty {
  border: 1px dashed #d9deea;
  border-radius: 0;
  min-height: 420px;
  display: grid;
  place-items: center;
  color: #8f97a8;
  padding: 24px;
  text-align: center;
}
.asset-details-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 16px;
}
.asset-selected-name { font-size: 24px; font-weight: 700; color: #2c94fc; }
.asset-selected-path { font-size: 13px; color: #8d95a5; margin-top: 4px; margin-bottom: 10px; }
.asset-spec-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 14px 16px;
}
.asset-spec-field { display: grid; gap: 6px; font-size: 13px; color: #5c6474; }
.asset-spec-field span { font-weight: 600; }
.asset-spec-field-full { grid-column: 1 / -1; }
.asset-spec-textarea { min-height: 92px; padding-top: 10px; padding-bottom: 10px; resize: vertical; }
.asset-location-photos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
}
.asset-location-photos-empty {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px dashed #d7e1ef;
  border-radius: 12px;
  background: #f8fbff;
  color: #7a8799;
  font-size: 13px;
  padding: 12px;
}
.asset-location-photo-card {
  border: 1px solid #dbe4f2;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 8px 22px rgba(34, 57, 94, 0.05);
}

.asset-location-photo-button {
  width: 100%;
  display: block;
  padding: 0;
  cursor: zoom-in;
  appearance: none;
}
.asset-location-photo-button:focus-visible {
  outline: 2px solid #2c94fc;
  outline-offset: 2px;
}
.asset-location-photo-image {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
  background: #eef3fb;
}
.asset-location-photo-name {
  padding: 8px 10px;
  font-size: 12px;
  color: #5c6474;
  border-top: 1px solid #edf2f8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.asset-hierarchy-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.asset-hierarchy-chip {
  background: #f1f5fb;
  border: 1px solid #e2e8f2;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  color: #5a6474;
}
.asset-modal-card { max-width: 980px; width: min(980px, calc(100vw - 40px)); }
.asset-modal-subtitle { color: #8d95a5; font-size: 13px; margin-top: 4px; margin-bottom: 12px; }
.asset-add-types {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.asset-add-type {
  border: 1px solid #d7e1ef;
  background: #fff;
  color: #334155;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.asset-add-type.active {
  background: #edf4ff;
  border-color: #bfd2ff;
  color: #1f5eff;
}
.asset-standard-flow {
  margin-bottom: 14px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #f7f9fc;
  border: 1px dashed #d6e0ee;
  font-size: 12px;
  color: #607087;
}
.asset-modal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(240px, 1fr));
  gap: 12px 16px;
}
.asset-modal-notes { grid-column: 1 / -1; }
.asset-field-order-bottom { order: 99; }
.asset-selected-status { align-self: center; }

.asset-visual-panel {
  margin-top: 18px;
  border: 1px solid #e3e9f4;
  border-radius: 12px;
  background: linear-gradient(180deg, #fbfcff 0%, #f4f7fc 100%);
  padding: 14px;
}
.asset-visual-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  font-size: 13px;
  font-weight: 700;
  color: #445063;
}
.asset-visual-badge {
  border-radius: 999px;
  border: 1px solid #d8e2f0;
  background: #fff;
  padding: 4px 10px;
  font-size: 11px;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: #607087;
}
.asset-machine-visual {
  display: grid;
  gap: 10px;
}
.asset-machine-card {
  border: 1px solid #dbe4f2;
  border-radius: 12px;
  background: #fff;
  padding: 12px 14px;
  box-shadow: 0 8px 22px rgba(34, 57, 94, 0.05);
}
.asset-machine-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
.asset-machine-name { font-size: 18px; font-weight: 700; color: #1f2b3d; }
.asset-machine-meta { font-size: 12px; color: #8a94a6; margin-top: 4px; }
.asset-machine-component {
  min-width: 220px;
  border: 1px dashed #cdd8ea;
  border-radius: 10px;
  background: #f7f9fd;
  padding: 10px 12px;
}
.asset-machine-component strong { display: block; font-size: 12px; color: #6a7486; margin-bottom: 4px; }
.asset-machine-component span { font-size: 13px; font-weight: 700; color: #30445f; }
.asset-machine-flow {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.asset-machine-step {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #dce5f1;
  border-radius: 999px;
  background: #fff;
  padding: 7px 10px;
  font-size: 12px;
  color: #4d5a6d;
}
.asset-machine-step strong { color: #2c94fc; }
.asset-machine-step.is-component { background: #eef4ff; border-color: #bfd2ff; }

@media (max-width: 1100px) {
  .assets-workspace-grid { grid-template-columns: 1fr; }
  .asset-spec-grid, .asset-modal-grid { grid-template-columns: 1fr; }
}


/* FORCE LOGO SIZE FIX */
.brand-logo-image,
.brand img {
  height: 24px !important;
  max-height: 24px !important;
  width: auto !important;
  object-fit: contain;
}


.avatar-circle-large svg,
.user-list-avatar svg,
#header-avatar-wrap svg,
#user-preview-wrap svg {
  color: #ffffff;
  stroke: #ffffff;
  fill: #ffffff;
}




.mobile-topbar {
  display: none;
}
.sidebar-backdrop {
  display: none;
}
/* Sidebar layout */
.sidebar-layout {
  display: flex;
  min-height: 100vh;
}
.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  width: 264px;
  background: #fbfbfc;
  border-right: 1px solid #ececf1;
  padding: 14px 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: width .22s ease, padding .22s ease, background .22s ease;
  z-index: 20;
}
.sidebar-header {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 4px;
}
.sidebar-mobile-user-card {
  display: none;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 52px;
  padding: 8px 12px;
  border-radius: 16px;
  background: #258bfa;
  color: #ffffff;
}
.sidebar-mobile-user-card .avatar-circle {
  flex: 0 0 auto;
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.18);
}
.sidebar-mobile-user-card .avatar-circle svg circle,
.sidebar-mobile-user-card .avatar-circle svg path {
  stroke: #ffffff !important;
}
.sidebar-mobile-user-name {
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sidebar-footer-logo {
  display: none;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 8px 12px 2px;
}
.sidebar-footer-logo .brand-logo-image {
  height: 24px;
  max-width: 132px;
}
.sidebar-toggle {
  width: 36px;
  height: 36px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: #7a8190;
  display: grid;
  place-items: center;
  cursor: pointer;
  flex: 0 0 36px;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.sidebar-toggle:hover {
  background: #f1f3f6;
  color: #2f3640;
  border-color: #e6e8ee;
}
.sidebar-toggle svg { width: 18px; height: 18px; }
.sidebar-brand {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.sidebar-brand .brand-logo-image {
  height: 24px;
  max-width: 112px;
}
.sidebar-nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-height: 0;
  overflow-y: auto;
  padding: 6px 0;
}
.sidebar-link {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 42px;
  padding: 0 12px;
  border-radius: 12px;
  color: #606879;
  font-size: 13px;
  font-weight: 500;
  transition: background-color .18s ease, color .18s ease;
}
.sidebar-link:hover {
  background: #f2f4f7;
  color: #222938;
}
.sidebar-link.active {
  background: #f1f3f6;
  color: #111827;
  font-weight: 600;
}
.sidebar-link-icon {
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 20px;
  color: #7a8190;
}
.sidebar-link:hover .sidebar-link-icon,
.sidebar-link.active .sidebar-link-icon {
  color: #111827;
}
.sidebar-link-icon svg { width: 18px; height: 18px; }
.sidebar-link-label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sidebar-footer {
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid #ececf1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sidebar-icon-button,
.sidebar-user-chip {
  width: 100%;
  min-height: 42px;
  justify-content: flex-start;
  border: 0;
  border-radius: 0;
  padding: 8px 12px;
  background: transparent;
  color: #606879;
}
.sidebar-user-chip {
  background: #258bfa;
  color: #ffffff;
}
.sidebar-user-chip .user-chip-name,
.sidebar-user-chip .user-chip-name-mobile {
  color: #ffffff;
}
.sidebar-user-chip .avatar-circle {
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.18);
}
.sidebar-user-chip .avatar-circle svg circle,
.sidebar-user-chip .avatar-circle svg path {
  stroke: #ffffff !important;
}
.sidebar-icon-button:hover,
.sidebar-user-chip:hover {
  background: #f2f4f7;
  color: #111827;
}
.sidebar-user-chip:hover {
  background: #258bfa;
  color: #ffffff;
}
.sidebar-icon-button {
  display: flex;
  align-items: center;
  gap: 12px;
  position: relative;
}
.sidebar-icon-button svg { width: 18px; height: 18px; }
.sidebar-user-wrap {
  position: relative;
  width: 100%;
}
.sidebar-user-chip {
  display: flex;
  align-items: center;
  gap: 12px;
}
.sidebar-user-settings-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin-left: auto;
  flex: 0 0 auto;
}
.sidebar-user-settings-icon img {
  width: 18px;
  height: 18px;
  display: block;
  object-fit: contain;
}
body.sidebar-collapsed .sidebar-user-settings-icon {
  display: none;
}
.sidebar-user-wrap .user-dropdown {
  left: 0;
  right: auto;
  top: auto;
  bottom: calc(100% + 8px);
  min-width: 210px;
}
.sidebar-main {
  flex: 1;
  min-width: 0;
  background: #ffffff;
}
body.sidebar-collapsed .sidebar {
  width: 76px;
  padding-left: 10px;
  padding-right: 10px;
}
body.sidebar-collapsed .sidebar-brand,
body.sidebar-collapsed .sidebar-link-label,
body.sidebar-collapsed .sidebar-user-chip .user-chip-name,
body.sidebar-collapsed .sidebar-user-chip .user-chip-name-mobile {
  display: none;
}
body.sidebar-collapsed .sidebar-link,
body.sidebar-collapsed .sidebar-icon-button,
body.sidebar-collapsed .sidebar-user-chip {
  justify-content: center;
  padding-left: 0;
  padding-right: 0;
}
body.sidebar-collapsed .sidebar-user-wrap .user-dropdown {
  left: calc(100% + 10px);
  right: auto;
  bottom: 0;
  min-width: 220px;
}
@media (max-width: 1100px) {
  .sidebar {
    width: 76px;
    padding-left: 10px;
    padding-right: 10px;
  }
  .sidebar-brand,
  .sidebar-link-label,
  .sidebar-user-chip .user-chip-name,
  .sidebar-user-chip .user-chip-name-mobile,
  .sidebar-user-settings-icon {
    display: none;
  }
  .sidebar-link,
  .sidebar-icon-button,
  .sidebar-user-chip {
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
  }
}
@media (max-width: 760px) {
  .sidebar-layout {
    display: block;
  }
  .mobile-topbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 30;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 64px;
    padding: 10px 16px;
    background: #ffffff;
    border-bottom: 1px solid #ececf1;
  }
  .mobile-topbar-profile {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    min-width: 0;
  }
  .mobile-topbar-username {
    font-size: 13px;
    font-weight: 600;
    color: #4b5563;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 140px;
  }
  .mobile-topbar .avatar-circle {
    width: 38px;
    height: 38px;
  }
  .mobile-topbar-toggle {
    width: 40px;
    height: 40px;
    border-radius: 10px;
  }
  .sidebar-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.28);
    z-index: 44;
  }
  .sidebar {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    width: 272px;
    padding-left: 12px;
    padding-right: 12px;
    transform: translateX(0);
    box-shadow: 0 8px 30px rgba(16, 24, 40, 0.12);
    z-index: 45;
  }
  .sidebar-header {
    min-height: 64px;
    padding: 10px 4px 6px;
  }
  .sidebar-header .sidebar-toggle,
  .sidebar-header .sidebar-brand {
    display: none !important;
  }
  .sidebar-mobile-user-card {
    display: flex;
  }
  .sidebar-footer .sidebar-user-wrap {
    display: none;
  }
  .sidebar-footer-logo {
    display: flex;
  }
  body.sidebar-collapsed .sidebar {
    transform: translateX(-100%);
  }
  body:not(.sidebar-collapsed) .sidebar-backdrop {
    display: block;
  }
  .sidebar-brand,
  .sidebar-link-label,
  .sidebar-user-chip .user-chip-name,
  .sidebar-user-chip .user-chip-name-mobile,
  body.sidebar-collapsed .sidebar-brand,
  body.sidebar-collapsed .sidebar-link-label,
  body.sidebar-collapsed .sidebar-user-chip .user-chip-name,
  body.sidebar-collapsed .sidebar-user-chip .user-chip-name-mobile {
    display: initial;
  }
  .sidebar-link,
  .sidebar-icon-button,
  .sidebar-user-chip,
  body.sidebar-collapsed .sidebar-link,
  body.sidebar-collapsed .sidebar-icon-button,
  body.sidebar-collapsed .sidebar-user-chip {
    justify-content: flex-start;
    padding-left: 12px;
    padding-right: 12px;
  }
  .dashboard-container.sidebar-main {
    padding-top: 80px;
    padding-left: 16px;
    padding-right: 16px;
  }

  .sidebar-user-chip,
  body.sidebar-collapsed .sidebar-user-chip {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .sidebar-user-chip .avatar-circle {
    flex: 0 0 auto;
  }

  .sidebar-user-chip .user-chip-name {
    display: block !important;
    margin-left: 0 !important;
    text-align: left !important;
    max-width: none !important;
    white-space: nowrap !important;
  }

  .sidebar-user-chip .user-chip-name-mobile {
    display: none !important;
  }
}

.sidebar-link-icon { overflow: visible; }
.sidebar-icon-image { width: 20px; height: 20px; display: block; object-fit: contain; }
.sidebar-menu-image { width: 18px; height: 18px; display: block; }
.sidebar-link-icon svg { width: 20px; height: 20px; display: block; }
.sidebar-menu-image path,
.sidebar-link-icon svg path,
.sidebar-link-icon svg rect,
.sidebar-link-icon svg circle { vector-effect: non-scaling-stroke; }

.menu-button { background-color: #258bfa; border-radius: 12px; border: none; }
.menu-button i, .menu-button svg { color:#fff; }

.asset-cascade-field { align-content: start; }
.asset-level-custom.hidden { display: none; }
.asset-cascade-field .asset-level-custom { margin-top: 8px; }

/* ===== Assets workspace refresh: clean / minimal / modern ===== */
.assets-workspace-panel {
  margin: 0 28px 20px;
  padding: 22px;
  border: 1px solid #e8ebf2;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 14px 40px rgba(15, 23, 42, 0.04);
}

.assets-workspace-header {
  align-items: center;
  gap: 18px;
  margin-bottom: 18px;
}

.assets-workspace-toolbar {
  gap: 12px;
}

.assets-workspace-actions {
  gap: 12px;
}

.assets-workspace-grid {
  gap: 20px;
  min-height: 560px;
}

.assets-tree-sidebar,
.assets-detail-panel {
  border: 1px solid #eceff5;
  border-radius: 18px;
  background: #fcfcfd;
  padding: 18px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
}

.assets-panel-caption {
  margin-bottom: 14px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  color: #8a94a6;
}

.assets-workspace-panel .search-wrap {
  border: 1px solid #e4e8f0;
  border-radius: 14px;
  background: #fff;
  min-height: 48px;
}

.assets-workspace-panel .search-input,
.assets-workspace-panel .search-input-wide,
.assets-workspace-panel .input {
  border-radius: 12px;
  border-color: #e4e8f0;
  color: #1f2937;
  background: #fff;
}

.assets-workspace-panel .search-input::placeholder,
.assets-workspace-panel .search-input-wide::placeholder,
.assets-workspace-panel .input::placeholder {
  color: #9aa3b2;
}

.assets-workspace-panel .input:focus,
.assets-workspace-panel .search-input:focus,
.assets-workspace-panel .search-input-wide:focus {
  outline: none;
  border-color: #d7ddea;
  box-shadow: 0 0 0 4px rgba(148, 163, 184, 0.10);
}

.assets-workspace-panel .search-icon {
  color: #a0a8b7;
}

#btn-open-filter,
#btn-asset-add {
  background: #2c94fc;
  color: #fff;
  border-color: #2c94fc;
  box-shadow: 0 10px 20px rgba(45, 107, 254, 0.16);
}

#btn-open-filter:hover,
#btn-asset-add:hover {
  filter: brightness(0.97);
}

#btn-clear-filter {
  background: transparent;
  color: #6b7280;
  border: none;
  box-shadow: none;
}

#btn-clear-filter:hover,
#btn-clear-filter:focus {
  background: transparent;
  border: none;
  box-shadow: none;
}

#btn-asset-delete {
  background: #fff;
  color: #d14d4d;
  border-color: #efcaca;
}

#btn-asset-delete:hover {
  background: #fff6f6;
}

.asset-tree-children {
  margin-left: 14px;
  padding-left: 16px;
  border-left: 1px solid #e7ebf2;
}

.asset-tree-node {
  margin: 6px 0;
}

.asset-tree-row {
  min-height: 40px;
  padding: 8px 10px;
  border-radius: 12px;
  color: #3f4a5c;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.asset-tree-row.asset-node-machine,
.asset-tree-row.asset-node-location,
.asset-tree-row.asset-node-generic {
  border: 1px solid transparent;
}

.asset-tree-row.asset-node-machine:hover,
.asset-tree-row.asset-node-location:hover,
.asset-tree-row.asset-node-generic:hover {
  background: #f5f7fb;
  border-color: #ebeff6;
}

.asset-tree-row.asset-node-machine.active {
  background: #f3f6fb;
  border-color: #dbe3ef;
  color: #111827;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}

.asset-tree-toggle,
.asset-tree-icon,
.asset-tree-meta {
  color: #98a2b3;
}

.asset-node-location .asset-tree-icon,
.asset-node-machine .asset-tree-icon,
.asset-node-generic .asset-tree-icon {
  color: #7b8798;
}

.asset-tree-label {
  font-size: 13px;
  font-weight: 600;
  color: #334155;
}

.asset-details-empty {
  min-height: 460px;
  border: 1px dashed #d9e0ea;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #fafbfd 100%);
  color: #9aa3b2;
}

.asset-details-top {
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid #eef2f7;
}

.asset-selected-name {
  color: #111827;
  font-size: 22px;
  font-weight: 400;
  letter-spacing: -0.02em;
}

.asset-selected-path {
  color: #8f98a8;
  font-size: 13px;
}

.asset-selected-status {
  background: #f8fafc;
  border: 1px solid #e5eaf1;
  color: #667085;
}

.asset-spec-grid {
  gap: 16px 18px;
}

.asset-spec-field {
  gap: 7px;
  color: #6b7280;
}

.asset-spec-field span {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .01em;
  color: #7b8698;
}

.asset-spec-field .input {
  min-height: 42px;
  background: #ffffff;
}

.asset-spec-criticality-field {
  width: max-content;
  max-width: 100%;
  justify-self: start;
}

.asset-spec-criticality-field .input,
.asset-spec-criticality-input {
  width: fit-content;
  min-width: 88px;
  max-width: 100%;
}

.asset-spec-criticality-input {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  caret-color: transparent;
  font-weight: 700;
}
.asset-spec-criticality-input.is-high {
  background: #dc2626 !important;
  border-color: #dc2626 !important;
}
.asset-spec-criticality-input.is-medium {
  background: #f59e0b !important;
  border-color: #f59e0b !important;
}
.asset-spec-criticality-input.is-low {
  background: #16a34a !important;
  border-color: #16a34a !important;
}
.asset-spec-criticality-input::placeholder {
  color: #ffffff;
}

.asset-spec-textarea {
  min-height: 110px;
}

.asset-hierarchy-chips {
  gap: 10px;
  margin-top: 18px;
}

.asset-hierarchy-chip {
  background: #f7f8fb;
  border: 1px solid #e8ecf3;
  color: #677487;
  padding: 7px 12px;
}

.asset-visual-panel {
  margin-top: 22px;
  border: 1px solid #eceff5;
  border-radius: 16px;
  background: #f9fafc;
  padding: 16px;
}

.asset-visual-header {
  color: #364152;
  margin-bottom: 14px;
}

.asset-visual-badge {
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #7b8698;
}

.asset-machine-card {
  border: 1px solid #e7ebf2;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05);
}

.asset-machine-name,
.asset-machine-component span,
.asset-machine-step strong {
  color: #17202f;
}

.asset-machine-meta,
.asset-machine-component strong,
.asset-machine-step {
  color: #7b8698;
}

.asset-machine-component {
  border: 1px solid #e6ebf2;
  background: #fafbfc;
}

.asset-machine-step {
  border: 1px solid #e6ebf2;
  background: #fff;
}

.asset-machine-step.is-component {
  background: #f7f9fc;
  border-color: #e1e7f0;
}

@media (max-width: 1100px) {
  .assets-workspace-panel {
    margin: 0 16px 18px;
    padding: 16px;
  }

  .assets-workspace-header {
    align-items: stretch;
  }

  .assets-workspace-actions {
    width: 100%;
  }

  .assets-workspace-actions .btn {
    flex: 1;
  }
}

/* asset tree cascade refinement */
.asset-hierarchy-tree {
  padding-right: 2px;
}

.asset-tree-list,
.asset-tree-children {
  list-style: none;
  margin: 0;
  padding: 0;
}

.asset-tree-children {
  margin-left: 13px;
  padding-left: 15px;
  border-left: 1px solid #e8edf4;
}

.asset-tree-node {
  position: relative;
}

.asset-tree-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.asset-tree-content {
  min-width: 0;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.asset-tree-label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.asset-tree-meta {
  flex: 0 0 auto;
  font-size: 11px;
  letter-spacing: .01em;
}

.asset-tree-branch {
  margin-top: 4px;
}

.asset-tree-toggle {
  border-radius: 999px;
}

.asset-tree-toggle:hover {
  background: #f1f4f9;
  color: #5d6878;
}

.asset-tree-node.level-0 > .asset-tree-row {
  margin-bottom: 2px;
}

/* === Ajustes solicitados: bordas retas, fundo branco e barra de pesquisa === */
:root {
  --bg: #ffffff;
  --panel: #ffffff;
}

html, body,
.app-shell,
.dashboard-container {
  background: #ffffff !important;
}

.panel,
.toolbar-panel,
.table-panel,
.stat-card,
.input,
.btn,
.icon-action-btn,
.assets-tree-sidebar,
.assets-detail-panel,
.asset-details-empty,
.asset-tree-row,
.modal-card,
.search-input,
.search-input-wide,
.search-wrap,
.search-wide,
.assets-workspace-panel,
.filter-panel,
.select-like,
textarea,
input,
select {
  border-radius: 0 !important;
}

.assets-workspace-panel,
.assets-tree-sidebar,
.assets-detail-panel,
.asset-details-empty,
.asset-tree-row,
.search-wrap,
.search-wide,
.toolbar-panel,
.panel,
.table-panel,
.stat-card {
  background: #ffffff !important;
}

.assets-tree-sidebar,
.assets-detail-panel,
.asset-details-empty,
.panel,
.toolbar-panel,
.table-panel,
.stat-card,
.search-input,
.search-input-wide,
.input,
.select-like,
textarea,
input,
select,
.btn,
.icon-action-btn {
  box-shadow: none !important;
}

.search-wrap.search-wide.assets-search-grow {
  display: flex;
  align-items: center;
  min-width: 280px;
  max-width: 340px;
  width: 100%;
}

#search-input.search-input.search-input-wide {
  width: 100% !important;
  min-width: 0 !important;
  height: 40px !important;
  padding-left: 38px !important;
  padding-right: 12px !important;
  border: 1px solid #d8dee8 !important;
  background: #ffffff !important;
  appearance: none;
  -webkit-appearance: none;
}

#search-input::-webkit-search-decoration,
#search-input::-webkit-search-cancel-button,
#search-input::-webkit-search-results-button,
#search-input::-webkit-search-results-decoration {
  -webkit-appearance: none;
}

.search-icon {
  left: 12px !important;
}

.asset-tree-row.asset-node-machine:hover,
.asset-tree-row.asset-node-machine.active {
  background: #f7fbff !important;
}


/* AJUSTE ESTILO INPUT IGUAL IMAGEM */
input, .input, .search-input {
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #6b7280 !important;
}

/* placeholder igual imagem */
input::placeholder,
.search-input::placeholder {
  color: #9ca3af !important;
  font-weight: 400 !important;
  font-size: 13px !important;
}



/* FIX: remover borda externa geral */
.dashboard-container {
  background: transparent !important;
  padding: 0 !important;
}

.panel,
.toolbar-panel,
.tree-panel,
.filter-panel,
.machine-dashboard-panel {
  border: none !important;
  box-shadow: none !important;
}

/* opcional: remover fundo cinza externo */
body {
  background: #ffffff !important;
}


/* botão ícone adicionar */
#btn-asset-add {
  width: 36px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

#btn-asset-add svg {
  width: 18px;
  height: 18px;
}

/* FIX SEARCH DUPLICADA */
.search-wrap {
  border: none !important;
  background: transparent !important;
}

.search-input,
.search-input-wide {
  border: 1px solid #dde1ea !important;
  box-shadow: none !important;
  outline: none !important;
}

/* remove possível duplicação */
.search-wrap::before,
.search-wrap::after {
  display: none !important;
}


/* AJUSTE SOLICITADO: esconder título "Lista de Máquinas" */
.assets-tree-sidebar > .assets-panel-caption {
  display: none !important;
}

/* AJUSTE SOLICITADO: aumentar ícones e palavras da árvore */
#asset-hierarchy-tree {
  font-size: 13px !important;
}

#asset-hierarchy-tree svg,
#asset-hierarchy-tree .tree-node-icon {
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
}

#asset-hierarchy-tree .tree-plant-title,
#asset-hierarchy-tree .tree-location-title,
#asset-hierarchy-tree .tree-location-label,
#asset-hierarchy-tree .tree-asset-name,
#asset-hierarchy-tree .tree-inline-item,
#asset-hierarchy-tree .tree-inline-value,
#asset-hierarchy-tree .tree-inline-label {
  font-size: 13px !important;
}

#asset-hierarchy-tree .tree-asset-meta,
#asset-hierarchy-tree .tree-subtitle,
#asset-hierarchy-tree .tree-empty,
#asset-hierarchy-tree .tree-no-assets,
#asset-hierarchy-tree .tree-count-badge {
  font-size: 13px !important;
}


/* AJUSTE REAL DO ÍCONE DE LOCALIZAÇÃO */
.asset-node-location .asset-tree-icon {
  width: 24px !important;
  height: 24px !important;
  color: #2c94fc !important;
  flex: 0 0 24px !important;
}

/* garante que o SVG interno acompanhe */
.asset-node-location .asset-tree-icon svg,
.asset-node-location .asset-tree-icon img {
  width: 24px !important;
  height: 24px !important;
  display: block !important;
}

/* deixa o desenho azul igual ao modelo */
.asset-node-location .asset-tree-icon svg path,
.asset-node-location .asset-tree-icon svg circle,
.asset-node-location .asset-tree-icon svg ellipse,
.asset-node-location .asset-tree-icon svg line,
.asset-node-location .asset-tree-icon svg polyline,
.asset-node-location .asset-tree-icon svg polygon {
  stroke: #2c94fc !important;
  fill: none !important;
  stroke-width: 2.2 !important;
}

/* se o ícone vier como máscara/fonte, força a cor */
.asset-node-location .asset-tree-icon,
.asset-node-location .asset-tree-icon * {
  color: #2c94fc !important;
}



/* AJUSTE ÍCONE 25px / TEXTO 15px */
#asset-hierarchy-tree .asset-tree-icon,
#asset-hierarchy-tree .asset-tree-icon svg,
#asset-hierarchy-tree .asset-tree-icon img {
  width: 25px !important;
  height: 25px !important;
  min-width: 25px !important;
  min-height: 25px !important;
  flex: 0 0 25px !important;
}

#asset-hierarchy-tree .asset-tree-label,
#asset-hierarchy-tree .asset-tree-meta {
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}



/* REMOVER TEXTO LATERAL (Planta, Área, etc) */
.asset-tree-meta,
.tree-asset-meta,
.tree-inline-label {
  display: none !important;
}

/* manter layout alinhado */
.asset-tree-content {
  gap: 6px !important;
}


/* ===== ÍCONES PNG DA CASCATA POR NÍVEL ===== */
#asset-hierarchy-tree .asset-tree-row {
  display: flex !important;
  align-items: center !important;
}

#asset-hierarchy-tree .asset-tree-row > .asset-tree-icon {
  display: none !important;
}

#asset-hierarchy-tree .custom-level-icon {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  flex: 0 0 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#asset-hierarchy-tree .custom-level-icon-image {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  object-fit: contain !important;
  display: block !important;
}

#asset-hierarchy-tree .asset-tree-content {
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
}

/* ===== AJUSTE SOLICITADO: remover setas + linhas tracejadas ===== */
#asset-hierarchy-tree .asset-tree-toggle,
#asset-hierarchy-tree .asset-tree-toggle svg,
#asset-hierarchy-tree .asset-tree-toggle img,
#asset-hierarchy-tree .asset-tree-toggle::before,
#asset-hierarchy-tree .asset-tree-toggle::after {
  display: none !important;
}

#asset-hierarchy-tree .asset-tree-row {
  position: relative;
}

#asset-hierarchy-tree .asset-tree-children {
  margin-left: 13px;
  padding-left: 18px;
  border-left: 1px dashed #d7deea !important;
}

#asset-hierarchy-tree .asset-tree-node {
  position: relative;
}

#asset-hierarchy-tree .asset-tree-node > .asset-tree-row::before {
  content: "";
  position: absolute;
  left: -18px;
  top: 50%;
  width: 14px;
  border-top: 1px dashed #d7deea;
  transform: translateY(-50%);
  pointer-events: none;
}

#asset-hierarchy-tree > .asset-tree-list > .asset-tree-node > .asset-tree-row::before,
#asset-hierarchy-tree .asset-tree-node.level-0 > .asset-tree-row::before {
  display: none !important;
}

#asset-hierarchy-tree .asset-tree-node:last-child > .asset-tree-branch > .asset-tree-children {
  position: relative;
}

#asset-hierarchy-tree .asset-tree-node:last-child > .asset-tree-branch > .asset-tree-children::after {
  content: "";
  position: absolute;
  left: -1px;
  top: 50%;
  bottom: 0;
  width: 3px;
  background: #ffffff;
}

/* AJUSTE: seleção azul em qualquer nível da árvore */
#asset-hierarchy-tree .asset-tree-row.asset-node-machine.active,
#asset-hierarchy-tree .asset-tree-row.asset-node-location.active,
#asset-hierarchy-tree .asset-tree-row.asset-node-generic.active,
#asset-hierarchy-tree .asset-tree-row.active,
#asset-hierarchy-tree .asset-tree-row[aria-selected="true"],
#asset-hierarchy-tree .asset-tree-row[aria-current="true"] {
  background: #eef4ff !important;
  border-color: #cfe0ff !important;
  color: #111827 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7) !important;
}


.btn-icon {
  background: #ffffff;
  border: none;
  width: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.btn-icon img {
  width: 18px;
  height: 18px;
}


/* filtro minimalista */
.btn-icon {
  background: transparent !important;
  border: none !important;
  width: auto;
  padding: 0 6px;
}

.btn-icon img {
  width: 14px;
  height: 14px;
  object-fit: contain;
  display: block;
  flex: 0 0 14px;
}


/* filtro dentro do input */
.search-wrap {
  position: relative;
}

.with-filter {
  padding-right: 36px;
}

.filter-inside {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
}

.filter-inside img {
  width: 14px;
  height: 14px;
}


/* ===== MOBILE AJUSTES — PÁGINA DE ATIVOS ===== */
@media (max-width: 768px) {
  .assets-workspace-panel {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 12px !important;
    border-radius: 14px;
  }

  .assets-workspace-header {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  .assets-workspace-toolbar {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .assets-search-grow,
  .search-wrap,
  .search-wide,
  .search-input,
  .search-input-wide {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  .search-wrap {
    position: relative;
  }

  .search-input,
  .search-input-wide {
    height: 44px !important;
    padding-left: 38px !important;
    padding-right: 38px !important;
  }

  .filter-inside,
  .btn-icon {
    position: absolute !important;
    right: 10px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 18px !important;
    height: 18px !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 2;
  }

  .filter-inside img,
  .btn-icon img {
    width: 14px !important;
    height: 14px !important;
    display: block !important;
  }

  .toolbar-filter-wrap,
  .assets-workspace-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: 100% !important;
  }

  #btn-asset-delete {
    min-width: 0 !important;
  }

  #btn-asset-add,
  #btn-asset-delete,
  #btn-clear-filter {
    width: 100% !important;
    height: 40px !important;
  }

  .assets-workspace-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .assets-tree-sidebar,
  .assets-detail-panel {
    width: 100% !important;
    min-width: 0 !important;
  }

  .assets-tree-sidebar {
    order: 1;
  }

  .assets-detail-panel {
    order: 2;
  }

  .assets-panel-caption {
    font-size: 13px !important;
    margin-bottom: 10px !important;
  }

  #asset-hierarchy-tree {
    max-height: none !important;
    overflow: visible !important;
  }

  .asset-details-content,
  #asset-details-content {
    width: 100% !important;
    min-width: 0 !important;
  }

  .asset-details-top {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  .asset-selected-name,
  #asset-selected-name {
    font-size: 24px !important;
    line-height: 1.1 !important;
    word-break: break-word !important;
  }

  .asset-selected-path,
  #asset-selected-path {
    font-size: 12px !important;
    word-break: break-word !important;
  }

  .asset-selected-status,
  #asset-selected-status {
    width: 100% !important;
    justify-content: center !important;
  }

  .asset-spec-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .asset-spec-field {
    width: 100% !important;
    min-width: 0 !important;
  }

  .asset-spec-field span {
    font-size: 12px !important;
  }

  .asset-spec-field .input,
  .asset-spec-field input,
  .asset-spec-field textarea,
  .asset-spec-field select {
    width: 100% !important;
    min-width: 0 !important;
  }

  .inline-add-panel,
  #inline-add-panel,
  #inline-remove-panel,
  .filter-panel {
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-radius: 14px !important;
  }

  .registry-grid,
  .registry-row,
  .inline-add-row,
  .inline-asset-row {
    grid-template-columns: 1fr !important;
  }

  .registry-row > *,
  .inline-add-row > *,
  .inline-asset-row > * {
    width: 100% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 480px) {
  .assets-workspace-panel {
    padding: 10px !important;
  }

  .toolbar-filter-wrap,
  .assets-workspace-actions {
    grid-template-columns: 1fr !important;
  }

  .asset-selected-name,
  #asset-selected-name {
    font-size: 21px !important;
  }

  .assets-panel-caption {
    font-size: 12px !important;
  }
}


/* ===== MENU DE AÇÕES DOS ATIVOS ===== */
.asset-actions-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
}

#btn-asset-add {
  position: relative;
  width: 36px;
  min-width: 36px;
  height: 36px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #2c94fc !important;
  border: 1px solid #2c94fc !important;
  border-radius: 4px;
  color: transparent !important;
  font-size: 0;
  line-height: 0;
  overflow: hidden;
}

#btn-asset-add > * {
  display: none !important;
}

#btn-asset-add::before {
  content: "";
  width: 16px;
  height: 16px;
  background: url("icons/three-dots.png") no-repeat center center;
  background-size: contain;
}

#btn-asset-add:hover {
  background: #1f82e9 !important;
  border-color: #1f82e9 !important;
}

.asset-actions-menu,
.asset-edit-popover {
  position: absolute;
  top: calc(100% + 6px);
  left: calc(100% + 8px);
  z-index: 35;
  background: #fff;
  border: 1px solid #dfe5ef;
  border-radius: 0;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.12);
}

.asset-actions-menu {
  min-width: 150px;
  padding: 6px;
}

.asset-actions-item {
  width: 100%;
  border: 0;
  background: transparent;
  border-radius: 6px;
  padding: 9px 12px;
  text-align: left;
  font-size: 13px;
  font-weight: 600;
  color: #2f2f2f;
  cursor: pointer;
}

.asset-actions-item:hover {
  background: transparent;
}

.asset-actions-item.danger {
  color: #dc2626;
}

.asset-edit-popover {
  width: 260px;
  padding: 12px;
}

.asset-edit-popover-title {
  font-size: 13px;
  font-weight: 700;
  color: #1f2937;
  margin-bottom: 10px;
}

.asset-edit-field {
  display: grid;
  gap: 5px;
  margin-bottom: 10px;
  color: #5b6374;
  font-size: 12px;
  font-weight: 600;
}

.asset-edit-field .input {
  min-width: 0;
  width: 100%;
  height: 34px;
}

.asset-edit-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 4px;
}

.asset-edit-actions .btn {
  height: 34px;
}

@media (max-width: 768px) {
  .asset-actions-wrap {
    width: 100%;
  }

  #btn-asset-add {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
  }

  .asset-actions-menu,
  .asset-edit-popover {
    left: auto;
    right: 0;
    top: calc(100% + 8px);
  }
}



/* ===== AJUSTE DO MENU/FORMULÁRIO DE OPÇÕES ===== */
.asset-actions-menu,
.asset-options-menu,
.asset-actions-dropdown,
.asset-options-dropdown,
.toolbar-options-menu,
.toolbar-actions-menu,
#asset-actions-menu,
#asset-options-menu,
#toolbar-options-menu,
#btn-asset-add-menu,
#asset-inline-form,
#asset-edit-form,
.asset-inline-form,
.asset-edit-form,
.asset-actions-popover,
.asset-options-popover {
  border-radius: 0 !important;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;
}

.asset-actions-menu *,
.asset-options-menu *,
.asset-actions-dropdown *,
.asset-options-dropdown *,
.toolbar-options-menu *,
.toolbar-actions-menu *,
#asset-actions-menu *,
#asset-options-menu *,
#toolbar-options-menu *,
#btn-asset-add-menu *,
#asset-inline-form *,
#asset-edit-form *,
.asset-inline-form *,
.asset-edit-form *,
.asset-actions-popover *,
.asset-options-popover * {
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;
}

.asset-actions-menu button,
.asset-options-menu button,
.asset-actions-dropdown button,
.asset-options-dropdown button,
.toolbar-options-menu button,
.toolbar-actions-menu button,
#asset-actions-menu button,
#asset-options-menu button,
#toolbar-options-menu button,
#btn-asset-add-menu button,
.asset-actions-menu a,
.asset-options-menu a,
.asset-actions-dropdown a,
.asset-options-dropdown a,
.toolbar-options-menu a,
.toolbar-actions-menu a,
#asset-actions-menu a,
#asset-options-menu a,
#toolbar-options-menu a,
#btn-asset-add-menu a {
  border-radius: 0 !important;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;
}

/* ===== AJUSTE SOLICITADO: seta ao lado do nível para recolher/expandir ===== */
:root {
  --asset-toggle-icon: url("icons/toggle-arrow.png");
}

#asset-hierarchy-tree .asset-tree-row {
  display: flex !important;
  align-items: center !important;
}

#asset-hierarchy-tree .asset-tree-toggle,
#asset-hierarchy-tree .asset-tree-toggle svg,
#asset-hierarchy-tree .asset-tree-toggle img,
#asset-hierarchy-tree .asset-tree-toggle::after {
  display: inline-flex !important;
}

#asset-hierarchy-tree .asset-tree-toggle {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  flex: 0 0 18px !important;
  margin-right: 6px !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  align-items: center !important;
  justify-content: center !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: hidden !important;
}

#asset-hierarchy-tree .asset-tree-toggle.empty {
  visibility: hidden !important;
}

#asset-hierarchy-tree .asset-tree-toggle::before {
  content: "" !important;
  display: block !important;
  width: 14px !important;
  height: 14px !important;
  background-image: var(--asset-toggle-icon) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  transform: rotate(0deg) !important;
  transition: transform .18s ease !important;
}

#asset-hierarchy-tree .asset-tree-toggle.collapsed::before {
  transform: rotate(-90deg) !important;
}


/* ===== CORREÇÃO: somente tela de cadastro de item ===== */
.asset-modal-card,
.asset-modal-card *,
.asset-modal-card .btn,
.asset-modal-card .input,
.asset-modal-card input,
.asset-modal-card select,
.asset-modal-card textarea,
.asset-modal-card .asset-add-type,
.asset-modal-card .asset-standard-flow {
  border-radius: 0 !important;
}

/* azul já existente na tela de cadastro -> padronizado para #2c94fc */
.asset-modal-card .btn.primary,
.asset-modal-card .btn[type="submit"],
.asset-modal-card .asset-add-type.active,
.asset-modal-card .asset-level-chip.active,
.asset-modal-card .is-active,
.asset-modal-card .active[data-role="asset-type"] {
  background: #2c94fc !important;
  border-color: #2c94fc !important;
  color: #ffffff !important;
}

.asset-modal-card .asset-add-type.active {
  box-shadow: none !important;
}

.asset-modal-card .btn.primary:hover,
.asset-modal-card .btn[type="submit"]:hover,
.asset-modal-card .asset-add-type.active:hover {
  background: #2c94fc !important;
  border-color: #2c94fc !important;
}

.asset-modal-card .btn.primary:focus,
.asset-modal-card .btn[type="submit"]:focus,
.asset-modal-card .input:focus,
.asset-modal-card input:focus,
.asset-modal-card select:focus,
.asset-modal-card textarea:focus,
.asset-modal-card .asset-add-type:focus {
  outline: none !important;
  border-color: #2c94fc !important;
  box-shadow: 0 0 0 1px #2c94fc !important;
}

.asset-modal-card .asset-add-type,
.asset-modal-card .asset-standard-flow {
  border-color: #d7e1ef !important;
}

.asset-modal-card .asset-add-type.active,
.asset-modal-card .asset-add-type[aria-pressed="true"],
.asset-modal-card .asset-add-type[aria-selected="true"] {
  background: #2c94fc !important;
  border-color: #2c94fc !important;
  color: #ffffff !important;
}

.asset-modal-card .modal-title,
.asset-modal-card .asset-modal-subtitle a,
.asset-modal-card .text-primary,
.asset-modal-card .asset-step-highlight,
.asset-modal-card .link-primary {
  color: #2f2f2f !important;
}

.asset-modal-card input[type="checkbox"],
.asset-modal-card input[type="radio"] {
  accent-color: #2c94fc !important;
}


/* ===== Cadastro de planta: código, foto e descrição ===== */
.asset-plant-fields.hidden {
  display: none !important;
}

.asset-modal-card input[type="file"].input,
.asset-modal-card .file-input {
  height: auto !important;
  min-height: 42px;
  padding: 8px 10px !important;
  line-height: 1.3;
}

.asset-modal-card textarea.input {
  min-height: 96px;
}


/* ===== Upload moderno com preview da foto da planta ===== */
.asset-modal-card .modern-file-upload {
  display: grid;
  gap: 12px;
}

.asset-modal-card .modern-file-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
}

.asset-modal-card .modern-file-label {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 72px;
  padding: 14px 16px;
  border: 1px dashed #b9d7fb;
  background: #f7fbff;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.asset-modal-card .modern-file-label:hover {
  border-color: #2c94fc;
  background: #eef6ff;
}

.asset-modal-card .modern-file-icon {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #2c94fc;
  color: #fff;
  font-size: 24px;
  font-weight: 400;
  flex: 0 0 42px;
}

.asset-modal-card .modern-file-texts {
  display: grid;
  gap: 3px;
}

.asset-modal-card .modern-file-texts strong {
  font-size: 13px;
  font-weight: 700;
  color: #2c94fc;
}

.asset-modal-card .modern-file-texts small {
  font-size: 12px;
  color: #7b8494;
}

.asset-modal-card .modern-file-preview {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 14px;
  padding: 12px;
  border: 1px solid #d8e7fb;
  background: #ffffff;
}

.asset-modal-card .modern-file-preview.hidden {
  display: none !important;
}

.asset-modal-card .modern-file-preview-image {
  width: 110px;
  height: 110px;
  object-fit: cover;
  border: 1px solid #d8e7fb;
  background: #f8fafc;
}

.asset-modal-card .modern-file-preview-info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.asset-modal-card .modern-file-preview-info strong {
  font-size: 13px;
  color: #334155;
  word-break: break-word;
}

.asset-modal-card .modern-file-remove {
  align-self: flex-start;
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid #d8dee9;
  background: #fff;
  color: #5b6374;
  cursor: pointer;
  font: inherit;
}

.asset-modal-card .modern-file-remove:hover {
  border-color: #2c94fc;
  color: #2c94fc;
}

@media (max-width: 640px) {
  .asset-modal-card .modern-file-preview {
    grid-template-columns: 1fr;
  }

  .asset-modal-card .modern-file-preview-image {
    width: 100%;
    height: 180px;
  }
}


/* ===== Upload múltiplo com galeria da planta ===== */
.asset-modal-card .modern-file-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid #d8e7fb;
  background: #ffffff;
}

.asset-modal-card .modern-file-summary.hidden {
  display: none !important;
}

.asset-modal-card .modern-file-summary strong {
  font-size: 13px;
  color: #334155;
}

.asset-modal-card .modern-file-remove-all {
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid #d8dee9;
  background: #fff;
  color: #5b6374;
  cursor: pointer;
  font: inherit;
}

.asset-modal-card .modern-file-remove-all:hover {
  border-color: #2c94fc;
  color: #2c94fc;
}

.asset-modal-card .modern-file-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 12px;
}

.asset-modal-card .modern-file-gallery.hidden {
  display: none !important;
}

.asset-modal-card .modern-file-gallery-item {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid #d8e7fb;
  background: #ffffff;
}

.asset-modal-card .modern-file-gallery-image {
  width: 100%;
  height: 140px;
  object-fit: cover;
  border: 1px solid #d8e7fb;
  background: #f8fafc;
}

.asset-modal-card .modern-file-gallery-info {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.asset-modal-card .modern-file-gallery-info strong {
  font-size: 13px;
  color: #334155;
  word-break: break-word;
}

.asset-modal-card .modern-file-gallery-info small {
  font-size: 12px;
  color: #7b8494;
}

@media (max-width: 640px) {
  .asset-modal-card .modern-file-summary {
    flex-direction: column;
    align-items: stretch;
  }

  .asset-modal-card .modern-file-gallery {
    grid-template-columns: 1fr;
  }

  .asset-modal-card .modern-file-gallery-image {
    height: 180px;
  }
}

/* ===== Ajustes solicitados: visualização dos níveis ===== */
#asset-details-caption {
  display: none !important;
}

/* Caixas da visualização do item com bordas retas */
.assets-detail-panel .input,
.assets-detail-panel input,
.assets-detail-panel textarea,
.assets-detail-panel select,
.assets-detail-panel .asset-location-photos-empty,
.assets-detail-panel .asset-location-photo-card,
.assets-detail-panel .asset-hierarchy-chip,
.assets-detail-panel .asset-visual-panel,
.assets-detail-panel .asset-visual-badge,
.assets-detail-panel .asset-machine-card,
.assets-detail-panel .asset-machine-component,
.assets-detail-panel .asset-machine-step,
.assets-detail-panel .asset-selected-status {
  border-radius: 0 !important;
}

/* Notificação sem sombra azul e com bordas retas */
.toast {
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Ajuste solicitado: título sem negrito e campo "Tipo selecionado" em azul */
#asset-location-type,
#asset-node-type-display {
  color: #2c94fc !important;
  border-color: #2c94fc !important;
}

#asset-location-type::placeholder,
#asset-node-type-display::placeholder {
  color: #2c94fc !important;
}


/* ===== Remover legenda/nome exibido nas fotos ===== */
.asset-location-photo-name,
.asset-modal-card .modern-file-gallery-info strong,
.asset-modal-card .modern-file-gallery-info small {
  display: none !important;
}

.asset-modal-card .modern-file-gallery-info {
  display: flex;
  justify-content: flex-end;
}


/* ===== Documentos da máquina/equipamento ===== */
.asset-modal-card .modern-file-list {
  display: grid;
  gap: 12px;
}

.asset-modal-card .modern-file-list.hidden {
  display: none !important;
}

.asset-modal-card .modern-file-list-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border: 1px solid #d8e7fb;
  background: #ffffff;
}

.asset-modal-card .modern-file-list-info {
  display: grid;
  gap: 7px;
  min-width: 0;
  flex: 1;
}

.asset-documents-empty {
  padding: 14px 16px;
  border: 1px dashed #d8e7fb;
  color: #7b8494;
  background: #fafcff;
}



.asset-machine-documents-block {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

.asset-machine-documents-title {
  font-size: 13px;
  font-weight: 700;
  color: #475569;
}

.asset-documents-list {
  display: grid;
  gap: 10px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.asset-documents-list-item {
  list-style: none;
}

.asset-document-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid #d8e7fb;
  background: #fff;
  color: #334155;
  text-decoration: none;
}

.asset-document-link:hover {
  border-color: #2c94fc;
  color: #2c94fc;
}

.asset-document-name,
.asset-document-meta {
  display: block;
}

.asset-document-name {
  font-weight: 600;
  word-break: break-word;
}

.asset-document-meta {
  font-size: 12px;
  color: #7b8494;
  text-align: right;
}

@media (max-width: 640px) {
  .asset-modal-card .modern-file-list-item,
  .asset-document-link {
    flex-direction: column;
    align-items: stretch;
  }

  .asset-document-meta {
    text-align: left;
  }
}



/* ===== ÍCONES DE NÍVEL NOS BOTÕES DO CADASTRO ===== */
.asset-modal-card .asset-add-type {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 12px !important;
}

.asset-modal-card .asset-add-type-icon {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  object-fit: contain !important;
  display: block !important;
  filter: none !important;
}

.asset-modal-card .asset-add-type span {
  display: inline-block !important;
  line-height: 1.2 !important;
}

/* ===== PASTA SEPARADA PARA ÍCONES MAIORES DA ÁRVORE ===== */
#asset-hierarchy-tree .custom-level-icon {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  flex: 0 0 22px !important;
}

#asset-hierarchy-tree .custom-level-icon-image {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
}



/* ===== ÍCONE BRANCO NO BOTÃO ATIVO ===== */
.asset-modal-card .asset-add-type.active .asset-add-type-icon {
  filter: brightness(0) invert(1) !important;
}

.asset-modal-card .asset-add-type.active {
  background: #2c94fc !important;
  border-color: #2c94fc !important;
  color: #ffffff !important;
}


.asset-details-side-badges {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  flex-shrink: 0;
}
.asset-criticality-card {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: auto;
  min-width: 0;
  max-width: 102px;
  min-height: 32px;
  padding: 5px 10px;
  text-align: center;
  white-space: nowrap;
  word-break: normal;
  border-radius: 0 !important;
  border: 0;
  color: #ffffff;
  font-weight: 700;
  font-size: 10px;
  line-height: 1;
  box-sizing: border-box;
  align-self: flex-start;
}
.asset-criticality-card.hidden {
  display: none !important;
}
.asset-criticality-card.is-high {
  background: #dc2626;
}
.asset-criticality-card.is-medium {
  background: #f59e0b;
}
.asset-criticality-card.is-low {
  background: #16a34a;
}

/* ===== BADGE DO NÍVEL NA VISUALIZAÇÃO ===== */
.asset-level-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-width: 118px !important;
  padding: 8px 12px !important;
  border-radius: 4px !important;
  border: 1px solid #d7e1ef !important;
  background: #ffffff !important;
  color: #5a6474 !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  line-height: 1 !important;
}

.asset-level-badge-icon {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  object-fit: contain !important;
  display: block !important;
}

.asset-level-badge-text {
  display: inline-block !important;
  white-space: nowrap !important;
}

.asset-selected-status.asset-level-badge {
  align-self: flex-start !important;
}



/* ===== AJUSTE DO BADGE DE NÍVEL PARA NÃO QUEBRAR ===== */
.asset-details-top {
  align-items: flex-start !important;
}
.asset-selected-status.asset-level-badge {
  align-self: flex-start !important;
  width: auto !important;
  max-width: 220px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.asset-level-badge {
  gap: 6px !important;
  padding: 8px 10px !important;
  font-size: 11px !important;
}
.asset-level-badge-text {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* ===== DOCUMENTOS DA MÁQUINA ===== */
.asset-document-link {
  width: 100%;
  border-radius: 12px;
  cursor: pointer;
}
.asset-document-main {
  min-width: 0;
  display: grid;
  gap: 4px;
  text-align: left;
  flex: 1;
}
.asset-document-action {
  font-size: 12px;
  font-weight: 700;
  color: #2c94fc;
  white-space: nowrap;
}

.asset-document-modal-card {
  width: min(1100px, calc(100vw - 40px));
  max-width: 1100px;
}
.asset-document-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.asset-document-modal-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.asset-document-download-icon {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d7e1ef;
  border-radius: 0 !important;
  background: #ffffff;
  text-decoration: none;
  flex: 0 0 auto;
  overflow: hidden;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: none;
}
.asset-document-download-icon:hover {
  border-color: #2c94fc;
  background: #f8fbff;
}
.asset-document-download-icon img {
  width: 18px;
  height: 18px;
  object-fit: contain;
  display: block;
  border-radius: 0 !important;
}
.asset-document-modal-body {
  min-height: 65vh;
  border: 1px solid #dbe4f2;
  border-radius: 12px;
  overflow: hidden;
  background: #f8fbff;
}
.asset-document-frame {
  width: 100%;
  height: 70vh;
  border: 0;
  display: block;
  background: #fff;
}
.asset-document-view {
  min-height: 65vh;
  display: grid;
  place-items: center;
  padding: 20px;
}
.asset-document-view-image img {
  max-width: 100%;
  max-height: 70vh;
  object-fit: contain;
}
.asset-document-view-fallback {
  text-align: center;
  gap: 10px;
}
.asset-document-fallback-icon {
  font-size: 42px;
}
.asset-document-fallback-title {
  font-weight: 700;
  color: #334155;
}
.asset-document-fallback-text,
.asset-document-fallback-meta {
  color: #64748b;
  font-size: 13px;
}

/* ===== CRITICIDADE ===== */
.asset-tree-label-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.asset-criticality-badge {
  display: inline-block;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  background: transparent !important;
  width: auto;
  height: auto;
  border-radius: 0;
  padding: 0;
  flex: 0 0 auto;
}
.asset-criticality-high { color: #ef4444; }
.asset-criticality-medium { color: #f59e0b; }
.asset-criticality-low { color: #22c55e; }

@media (max-width: 900px) {
  .asset-details-top {
    flex-direction: column;
  }
  .asset-selected-status.asset-level-badge {
    max-width: 100% !important;
  }
  .asset-document-modal-header {
    flex-direction: column;
  }
}


.asset-qr-card {
  margin-top: 10px;
  border: 1px solid #dbe4f2;
  background: #ffffff;
  padding: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 100%;
}
.asset-qr-card.hidden {
  display: none !important;
}
.asset-qr-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 128px;
  height: 128px;
  border: 1px solid #dbe4f2;
  background: #ffffff;
  text-decoration: none;
  cursor: pointer;
}
.asset-qr-image {
  display: block;
  width: 116px;
  height: 116px;
  object-fit: contain;
}
.asset-qr-tag {
  width: 100%;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  color: #334155;
  word-break: break-word;
}


/* ===== QR CODE ALIGN FIX ===== */
.asset-details-side-badges {
  align-items: stretch !important;
}
.asset-selected-status.asset-level-badge {
  width: 100% !important;
}
.asset-qr-card {
  width: 100% !important;
}


/* Ajustes solicitados: aplicar azul + bordas retas */
.asset-filter-popover,
.asset-filter-popover .input,
.asset-filter-popover select,
.asset-filter-actions .btn,
#btn-open-filter,
#btn-clear-filter,
#btn-apply-filter {
  border-radius: 0 !important;
}

#btn-apply-filter {
  background: #2c94fc !important;
  color: #fff !important;
  border-color: #2c94fc !important;
}

#btn-apply-filter:hover {
  filter: brightness(0.97);
}


.chronos-picker-wrap {
  position: relative;
  width: 100%;
}

.chronos-picker-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  inset: 0;
  width: 100%;
  height: 100%;
}

.chronos-picker-display {
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  color: #0f172a;
  font: inherit;
  cursor: pointer;
  transition: border-color .2s ease, background-color .2s ease;
}

.chronos-picker-display:hover {
  border-color: rgba(37, 99, 235, 0.42);
  background: #fbfdff;
}

.chronos-picker-wrap.picker-open .chronos-picker-display,
.chronos-picker-display:focus-visible {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 1px #2563eb;
}

.chronos-picker-display.is-placeholder .chronos-picker-display-text {
  color: #94a3b8;
}

.chronos-picker-icon {
  width: 18px;
  height: 18px;
  color: #64748b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.chronos-picker-icon svg {
  width: 18px;
  height: 18px;
}

.chronos-picker-display-text {
  flex: 1;
  text-align: left;
  font-weight: 500;
}

.chronos-picker-panel {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  width: 280px;
  padding: 14px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 0;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.14);
  z-index: 1200;
}

.chronos-picker-header {
  display: grid;
  grid-template-columns: 36px 1fr 36px;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.chronos-picker-title-group {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.chronos-picker-title,
.chronos-picker-nav,
.chronos-picker-action,
.chronos-picker-cell {
  border: 0;
  border-radius: 0;
  background: #ffffff;
  color: #0f172a;
  font: inherit;
}

.chronos-picker-title {
  font-weight: 600;
  text-transform: capitalize;
  padding: 8px 10px;
  cursor: pointer;
}

.chronos-picker-title-year {
  min-width: 62px;
}

.chronos-picker-nav {
  width: 36px;
  height: 36px;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.chronos-picker-nav:hover,
.chronos-picker-title:hover,
.chronos-picker-action.ghost:hover {
  background: #f8fafc;
}

.chronos-picker-weekdays,
.chronos-picker-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 7px;
}

.chronos-picker-weekdays {
  margin-bottom: 8px;
}

.chronos-picker-weekdays span {
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  color: #94a3b8;
  padding: 4px 0;
}


.chronos-picker-year-range {
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  color: #94a3b8;
  margin-bottom: 10px;
}

.chronos-picker-grid-months {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.chronos-picker-grid-years {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.chronos-picker-cell {
  min-height: 40px;
  border: 1px solid transparent;
  border-radius: 0;
  background: #ffffff;
  color: #0f172a;
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}

.chronos-picker-cell:hover {
  border-color: rgba(44, 148, 252, 0.18);
  background: #f8fbff;
}

.chronos-picker-cell.is-today {
  border-color: rgba(37, 99, 235, 0.4);
  color: #2563eb;
  font-weight: 700;
}

.chronos-picker-cell.is-selected {
  background: #2563eb;
  border-color: #2563eb;
  color: #ffffff;
  font-weight: 700;
}

.chronos-picker-day {
  height: 34px;
  border: 1px solid transparent;
  border-radius: 0;
  background: #ffffff;
  color: #0f172a;
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}

.chronos-picker-day:hover {
  border-color: rgba(37, 99, 235, 0.18);
  background: #f8fbff;
}

.chronos-picker-day.is-outside {
  color: #cbd5e1;
}

.chronos-picker-day.is-today {
  border-color: rgba(37, 99, 235, 0.4);
  color: #2563eb;
  font-weight: 700;
}

.chronos-picker-day.is-selected {
  background: #2563eb;
  border-color: #2563eb;
  color: #ffffff;
  font-weight: 700;
}

.chronos-picker-actions {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 14px;
}

.chronos-picker-action {
  min-width: 96px;
  padding: 10px 14px;
  cursor: pointer;
}

.chronos-picker-action.primary {
  background: #2563eb;
  color: #ffffff;
}

.chronos-picker-action.primary:hover {
  background: #1d4ed8;
}

/* ajuste solicitado: reduzir espaco quando o X aparece */
.assets-workspace-toolbar .toolbar-filter-wrap {
  gap: 4px !important;
}
#btn-clear-filter {
  padding: 0 2px !important;
  min-width: 18px !important;
}


/* v9: limpar busca dentro do campo e icone de filtro ativo */
.assets-workspace-toolbar .search-wrap {
  position: relative;
}

.assets-workspace-toolbar .search-input-wide {
  padding-right: 42px !important;
}

#btn-clear-search {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  min-width: 22px;
  padding: 0;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #7b8494;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  z-index: 2;
}

#btn-clear-search:hover,
#btn-clear-search:focus {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #4b5563;
}

#btn-open-filter.is-active-filter {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

#btn-open-filter.is-active-filter img {
  width: 14px;
  height: 14px;
  object-fit: contain;
  display: block;
}

/* ===== AJUSTE SOLICITADO: rolagem horizontal na árvore de ativos ===== */
#asset-hierarchy-tree {
  overflow-x: auto !important;
  overflow-y: auto !important;
  padding-bottom: 6px;
}

#asset-hierarchy-tree .asset-tree-list,
#asset-hierarchy-tree .asset-tree-children {
  min-width: max-content;
}

#asset-hierarchy-tree .asset-tree-row {
  width: max-content;
  min-width: 100%;
  flex-wrap: nowrap !important;
}

#asset-hierarchy-tree .asset-tree-content {
  flex: 0 0 auto !important;
  width: max-content;
  min-width: 0;
}

#asset-hierarchy-tree .asset-tree-label,
#asset-hierarchy-tree .asset-tree-meta {
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}


.os-workspace-panel {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 0 24px 20px;
}


.os-page-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 18px;
  padding: 4px 2px 2px;
  flex-wrap: wrap;
}

.os-page-title {
  font-size: 19px;
  font-weight: 500;
  color: #0f172a;
  line-height: 1.2;
}

.os-page-toolbar-actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  flex: 0 1 auto;
}

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

.os-page-header {
  margin-bottom: 0;
  align-items: center;
}

.os-header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.os-page-grid-modern {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.os-calendar-sidebar {
  position: sticky;
  top: 16px;
  padding: 18px 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}


.os-inline-picker {
  position: relative;
  border-radius: 0;
  background: #ffffff;
}

.os-inline-picker-panel {
  display: none;
}

.os-inline-picker-panel.active {
  display: block;
}

.os-inline-picker-header {
  display: grid;
  grid-template-columns: 36px 1fr 36px;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.os-inline-picker-title-group {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.os-inline-picker-title {
  font-size: 13px;
  font-weight: 700;
  color: #0f172a;
  text-transform: capitalize;
}

.os-inline-picker-title-year {
  min-width: 46px;
  text-align: center;
}

.os-inline-picker-year-button {
  min-width: 66px;
  height: 34px;
  padding: 0 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #0f172a;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  transition: background-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.os-inline-picker-year-button:hover,
.os-inline-picker-year-button[aria-expanded="true"] {
  background: transparent;
}

.os-inline-picker-year-button:focus {
  outline: none;
  box-shadow: none;
}

.os-inline-picker-nav {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 0;
  background: #ffffff;
  color: #0f172a;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.os-inline-picker-nav:hover,
.os-inline-picker-action.ghost:hover {
  background: #f8fafc;
}

.os-inline-picker-weekdays,
.os-inline-picker-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 7px;
}

.os-inline-picker-weekdays {
  margin-bottom: 8px;
}

.os-inline-picker-weekdays span {
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  color: #94a3b8;
  padding: 4px 0;
}

.os-inline-picker-day {
  height: 34px;
  border: 1px solid transparent;
  border-radius: 0;
  background: #ffffff;
  color: #0f172a;
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}

.os-inline-picker-day:hover {
  border-color: rgba(44, 148, 252, 0.18);
  background: #f8fbff;
}

.os-inline-picker-day.is-selected {
  background: #2c94fc;
  border-color: #2c94fc;
  color: #ffffff;
  font-weight: 700;
}

.os-inline-picker-day.is-outside {
  color: #cbd5e1;
}

.os-inline-picker-actions {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 14px;
}

.os-inline-picker-action {
  min-width: 96px;
  padding: 10px 14px;
  border: 0;
  border-radius: 0;
  background: #ffffff;
  color: #0f172a;
  font: inherit;
  cursor: pointer;
}

.os-inline-picker-action.primary {
  background: #2c94fc;
  color: #ffffff;
}


.os-inline-picker-title-group {
  position: relative;
}

.os-inline-picker-year-popover {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  width: 280px;
  padding: 18px 14px 12px;
  border: 1px solid #e6edf7;
  background: #ffffff;
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.12);
  z-index: 20;
}

.os-inline-picker-year-range {
  margin-bottom: 12px;
  text-align: left;
  color: #7c92b0;
  font-size: 12px;
  font-weight: 600;
}

.os-inline-picker-grid-years {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.os-inline-picker-year-cell {
  height: 36px;
  border: 1px solid transparent;
  border-radius: 0;
  background: #ffffff;
  color: #0f172a;
  font: inherit;
  font-size: 13px;
  cursor: pointer;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}

.os-inline-picker-year-cell:hover {
  border-color: #d9e5f5;
  background: #f8fbff;
}

.os-inline-picker-year-cell.is-selected {
  background: #2f67eb;
  border-color: #2c94fc;
  color: #ffffff;
  font-weight: 700;
}

.os-inline-picker-year-cell.is-today:not(.is-selected) {
  border-color: #d9e5f5;
  color: #2c94fc;
  font-weight: 600;
}

.os-add-icon-btn {
  min-width: 118px;
  height: 34px;
  padding: 0 12px;
  border: 1px solid #2c94fc;
  border-radius: 0;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  cursor: pointer;
  color: #2c94fc;
  font-size: 13px;
  font-weight: 600;
  transition: background-color .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease;
}

.os-add-icon-btn:hover {
  background: #f8fbff;
  box-shadow: none;
}

.os-add-icon-btn:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(44, 148, 252, .12);
}

.os-add-icon-btn:disabled {
  opacity: .72;
  cursor: default;
}

.os-add-icon-btn-image {
  width: 16px;
  height: 16px;
  object-fit: contain;
  display: block;
  flex: 0 0 auto;
}

.os-add-icon-btn-label {
  display: inline-flex;
  align-items: center;
  line-height: 1;
  white-space: nowrap;
  font-size: 13px;
}

.os-add-icon-btn-label.is-fallback::before {
  content: '+';
  display: inline-block;
  margin-right: 8px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
}

.os-selected-date {
  margin-left: 10px;
  color: #64748b;
  font-size: 13px;
  font-weight: 700;
}

.os-main-card,
.os-form-card {
  border-radius: 20px;
  border: 1px solid #e6edf7;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.05);
}

body.os-form-open {
  overflow: hidden;
}

.os-form-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.28);
  backdrop-filter: blur(2px);
  z-index: 999;
}

.os-form-card {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1000;
  width: min(1120px, calc(100vw - 48px));
  max-height: calc(100vh - 48px);
  overflow: auto;
  margin: 0;
  background: #ffffff;
  padding: 24px;
}

.os-toolbar {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.os-search-wrap {
  max-width: 560px;
}

.os-search-wrap-top {
  width: min(560px, 52vw);
}

.os-search-input {
  width: 100%;
  min-width: 0;
  height: 42px;
  border-radius: 12px;
  background: #ffffff;
  border-color: #d9e5f5;
  padding-right: 46px;
}

.os-status-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  padding-bottom: 6px;
}

.os-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #475569;
  font-size: 13px;
  font-weight: 600;
}

.os-legend-item.plain {
  font-weight: 500;
}

.os-legend-dot,
.os-row-status {
  width: 11px;
  height: 11px;
  border-radius: 999px;
  display: inline-block;
  flex: 0 0 auto;
}

.os-legend-dot.done {
  background: #22c55e;
}

.os-legend-dot.pending,
.os-row-status.pending {
  background: #ef4444;
}

.os-legend-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 14px;
  border-radius: 999px;
  background: #d50000;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.os-board-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  margin-top: 8px;
}

.os-board-block {
  border: 1px solid #e5ebf5;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  overflow: hidden;
}

.os-board-block.compact {
  min-height: 260px;
}

.os-block-title {
  padding: 16px 18px 0;
  color: #0f172a;
  font-size: 13px;
  font-weight: 800;
}

.os-empty-state {
  min-height: 280px;
  margin: 14px 18px 18px;
  border: 1px dashed #d8e3f1;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #94a3b8;
  background: #f8fbff;
  font-size: 13px;
}

.os-pending-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px 18px 18px;
}

.os-list-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 14px;
  border: 1px solid #e8eef7;
  border-radius: 14px;
  background: #ffffff;
}

.os-list-text {
  color: #334155;
  font-size: 13px;
  line-height: 1.5;
}

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

.os-form-section {
  border: 1px solid #e6edf7;
  border-radius: 18px;
  padding: 16px;
  background: #fcfdff;
}

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

.os-section-title {
  margin-bottom: 14px;
  color: #0f172a;
  font-size: 13px;
  font-weight: 800;
}

.os-form-grid {
  display: grid;
  gap: 10px;
}

.os-form-grid.single {
  grid-template-columns: minmax(0, 1fr);
}

.os-form-grid.os-type-grid {
  grid-template-columns: fit-content(320px) fit-content(180px);
  align-items: end;
}

.os-type-field {
  max-width: 320px;
}

.os-criticality-field {
  max-width: 180px;
}

.os-form-grid.three {
  grid-template-columns: 160px minmax(260px, 1.2fr) minmax(180px, 1fr);
}

.os-full-input {
  width: 100%;
  min-width: 0;
  height: 42px;
  border-radius: 10px;
}

.asset-spec-field-span-2 {
  grid-column: span 2;
}

.textarea-like {
  resize: vertical;
  min-height: 140px;
}

.os-textarea {
  min-height: 220px;
  padding: 12px 14px;
  border-radius: 14px;
}

.os-radio-block {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 18px 0 12px;
}

.os-radio-title {
  color: #334155;
  font-size: 13px;
  font-weight: 700;
}

.os-radio-group {
  display: flex;
  align-items: center;
  gap: 26px;
}

.os-radio-option,
.os-checkbox-option {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #334155;
  font-size: 13px;
}


.os-card-select {
  position: relative;
  width: 100%;
}

.os-card-select-trigger,
.os-card-option {
  width: 100%;
  min-height: 42px;
  border: 1px solid #d5dbe7;
  border-radius: 0;
  padding: 10px 14px;
  text-align: left;
  font: inherit;
  font-weight: 600;
  background: #fff;
  cursor: pointer;
  transition: filter .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.os-card-select-trigger {
  position: relative;
  padding-right: 40px;
}

.os-card-select-trigger::after {
  content: '';
  position: absolute;
  right: 14px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-65%) rotate(45deg);
  opacity: .8;
}

.os-card-select.is-open .os-card-select-trigger::after {
  transform: translateY(-35%) rotate(-135deg);
}

.os-card-select-menu {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  width: max-content;
  min-width: 100%;
  max-width: 320px;
  z-index: 40;
  display: grid;
  gap: 0;
  background: #fff;
  border: 1px solid #d5dbe7;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.12);
}

.os-card-option {
  border-width: 0 0 1px;
}

.os-card-option:last-child {
  border-bottom-width: 0;
}

.os-card-select-trigger:hover,
.os-card-option:hover {
  filter: brightness(.98);
}

.os-card-select-trigger:focus-visible,
.os-card-option:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px rgba(44, 148, 252, 0.22);
}

.os-maintenance-corretiva-eletrica { background: #dbeafe; color: #1d4ed8; border-color: #93c5fd; }
.os-maintenance-corretiva-mecanica { background: #ffedd5; color: #c2410c; border-color: #fdba74; }
.os-maintenance-preditiva-eletrica { background: #ede9fe; color: #6d28d9; border-color: #c4b5fd; }
.os-maintenance-preditiva-mecanica { background: #f3e8ff; color: #7e22ce; border-color: #d8b4fe; }
.os-maintenance-preventiva-mecanica { background: #dcfce7; color: #15803d; border-color: #86efac; }
.os-maintenance-preventiva-eletrica { background: #ccfbf1; color: #0f766e; border-color: #5eead4; }
.os-maintenance-inspecao { background: #e5e7eb; color: #374151; border-color: #cbd5e1; }

.os-criticality-alta { background: #fee2e2; color: #b91c1c; border-color: #fca5a5; }
.os-criticality-media { background: #fef3c7; color: #b45309; border-color: #fcd34d; }
.os-criticality-baixa { background: #dcfce7; color: #15803d; border-color: #86efac; }
.os-form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 14px;
}

@media (max-width: 1100px) {
  .os-form-grid.three {
    grid-template-columns: 1fr 1fr;
  }

  .asset-spec-field-span-2 {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .os-form-header,
  .os-form-footer,
  .os-radio-block,
  .os-page-toolbar,
  .os-topbar {
    flex-direction: column;
    align-items: stretch;
  }

  .os-form-card {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
    padding: 16px;
  }

  .os-page-toolbar-actions {
    justify-content: stretch;
  }

  .os-form-grid.three {
    grid-template-columns: 1fr;
  }

  .os-radio-group {
    justify-content: flex-start;
  }

  .os-search-wrap,
  .os-search-wrap-top {
    max-width: none;
    flex-basis: auto;
  }

  .os-add-btn-top {
    width: auto;
  }
}


.os-calendar-input {
  position: fixed;
  left: -9999px;
  top: -9999px;
  opacity: 0;
  pointer-events: none;
  width: 1px;
  height: 1px;
}

.os-calendar-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.os-calendar-icon {
  width: 16px;
  height: 16px;
}

.os-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 14px;
}

.os-metrics-sidebar {
  grid-template-columns: 1fr;
  gap: 10px;
  margin-bottom: 0;
}

.os-metric-card {
  width: 100%;
  max-width: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-radius: 0;
  border: 1px solid #dbe4f0;
  background: #ffffff;
  padding: 12px 14px;
  min-height: 58px;
  box-shadow: none;
}

.os-metric-label-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex: 1 1 auto;
}

.os-metric-icon {
  width: 20px;
  height: 20px;
  object-fit: contain;
  flex: 0 0 auto;
}

.os-metric-label {
  color: #475569;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.os-metric-value {
  margin-top: 0;
  margin-left: 8px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  color: #0f172a;
  flex: 0 0 auto;
}

.os-metric-card.done .os-metric-value { color: #16a34a; }
.os-metric-card.open .os-metric-value { color: #ef4444; }
.os-metric-card.external .os-metric-value { color: #b91c1c; }

.os-tabs {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 10px 0 14px;
  padding: 6px;
  border-radius: 999px;
  background: #f2f7ff;
  border: 1px solid #e2ecfb;
}

.os-tab {
  border: none;
  background: transparent;
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 13px;
  color: #475569;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}

.os-tab.active {
  background: #ffffff;
  color: #0f172a;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}


.os-external-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 8px;
  padding: 2px 10px;
  border-radius: 999px;
  background: rgba(213, 0, 0, 0.12);
  color: #b91c1c;
  font-weight: 800;
  font-size: 11px;
}

.os-row-status.done { background: #22c55e; }

@media (max-width: 1000px) {
  .os-page-grid-modern { grid-template-columns: 1fr; }
  .os-calendar-sidebar { position: static; }
  .os-metrics,
  .os-metrics-sidebar { grid-template-columns: 1fr; }
  .os-tabs { width: 100%; justify-content: space-between; }
  .os-tab { flex: 1 1 auto; text-align: center; }
  .os-workspace-panel { padding: 0 16px 18px; }
}


/* Ajustes solicitados: remover visual arredondado e negrito na área de O.S. */
.os-main-card,
.os-form-card,
.os-board-block,
.os-empty-state,
.os-list-row,
.os-form-section,
.os-full-input,
.os-textarea,
.os-tabs,
.os-tab,
.os-search-input,
.os-inline-picker-action {
  border-radius: 0;
}

.os-block-title,
.os-selected-date,
.os-section-title,
.os-list-text,
.os-form-card .detail-card-title,
.os-form-card .detail-card-subtitle,
.os-form-card label,
.os-radio-title {
  font-weight: 400;
}


/* Ajustes solicitados */
.os-tabs {
  display: none !important;
}

#os-panel-day .os-block-title {
  display: none !important;
}


/* botão de filtro antes do adicionar na Ordem de Serviço */
.os-toolbar-filter-btn {
  width: 42px;
  height: 36px;
  min-width: 42px;
  padding: 0;
  border-radius: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.os-toolbar-filter-image {
  width: 16px;
  height: 16px;
  display: block;
  object-fit: contain;
}



.os-options-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.os-options-btn {
  width: 38px;
  min-width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid #2c94fc;
  border-radius: 0;
  background: #2c94fc;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: none;
  cursor: pointer;
}

.os-options-btn:hover {
  background: #2687e6;
  border-color: #2687e6;
}

.os-options-btn:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(44, 148, 252, .18);
}

.os-options-btn-image {
  width: 16px;
  height: 16px;
  object-fit: contain;
  display: block;
  filter: brightness(0) invert(1);
}

.os-options-btn-fallback {
  font-size: 18px;
  line-height: 1;
  font-weight: 700;
  color: #ffffff;
}

.os-options-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 140px;
  padding: 6px 0;
  background: #ffffff;
  border: 1px solid #d9e2ee;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.12);
  z-index: 40;
}

.os-options-menu-item {
  width: 100%;
  min-height: 36px;
  padding: 0 14px;
  border: 0;
  background: transparent;
  color: #475569;
  text-align: left;
  font-size: 13px;
  cursor: pointer;
}

.os-options-menu-item:hover {
  background: #f8fbff;
}

.os-options-menu-item.danger {
  color: #ff5a52;
}

.os-detail-options-wrap {
  display: inline-flex;
  align-items: center;
}

.os-detail-options-wrap .os-options-menu {
  right: 0;
}

.os-detail-close-btn {
  margin-left: auto;
}


/* ajuste final fiel à referência da barra da Ordem de Serviço */
.os-workspace-panel {
  gap: 8px;
  padding: 0 20px 20px;
}

.os-page-toolbar {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  align-items: start;
  column-gap: 32px;
  row-gap: 6px;
  padding: 0;
  flex-wrap: nowrap;
}

.os-page-title {
  grid-column: 1;
  align-self: start;
  font-size: 18px;
  font-weight: 600;
  color: #111827;
  padding-top: 10px;
  padding-left: 28px;
}

.os-page-toolbar-actions {
  grid-column: 2;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  min-height: 42px;
  padding-top: 4px;
}

.os-search-wrap,
.os-search-wrap-top {
  width: 380px;
  max-width: 380px;
  min-width: 380px;
}

.os-search-wrap-top .search-icon {
  left: 14px;
  color: #a3afc2;
}

.os-search-input {
  height: 40px;
  border-radius: 0;
  background: #ffffff;
  border: 1px solid #d9e2ee;
  color: #475569;
  padding-left: 36px;
  padding-right: 40px;
  font-size: 13px;
  box-shadow: none;
}

.os-search-input::placeholder {
  color: #8fa0b8;
  opacity: 1;
}

#btn-clear-os-search {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  min-width: 22px;
  padding: 0;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #7b8494;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  z-index: 2;
}

#btn-clear-os-search:hover,
#btn-clear-os-search:focus {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #4b5563;
}

.os-toolbar-filter-btn {
  width: 24px;
  min-width: 24px;
  height: 24px;
  padding: 0;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.os-toolbar-filter-image {
  width: 16px;
  height: 16px;
  opacity: 0.95;
}

.os-add-icon-btn,
.os-add-btn-top {
  height: 38px;
  min-width: 118px;
  padding: 0 18px;
  border-radius: 0;
  border: 1px solid #2c94fc;
  background: #fff;
  color: #2c94fc;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-size: 13px;
  font-weight: 500;
  box-shadow: none;
}

.os-add-icon-btn-image {
  width: 12px;
  height: 12px;
  object-fit: contain;
  display: block;
}

.os-add-icon-btn-label {
  line-height: 1;
}

.os-toolbar-action-btn {
  height: 38px;
  padding: 0 14px;
  border: 1px solid #d6deea !important;
  background: #ffffff !important;
  box-shadow: none !important;
  color: #5c667a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 400;
  border-radius: 0;
}

.os-toolbar-action-btn-edit {
  border-color: #2c94fc !important;
  color: #5c667a;
}

.os-toolbar-action-btn.btn.danger {
  color: #ff5a52;
  border-color: #ffd0cc !important;
}

.os-toolbar-action-image {
  width: 14px;
  height: 14px;
}

.os-toolbar-print-btn {
  width: 38px;
  min-width: 38px;
  height: 38px;
  padding: 0;
  gap: 0;
  border: 1px solid #2c94fc !important;
  color: #2c94fc !important;
}

.os-toolbar-print-image {
  width: 18px;
  height: 18px;
  object-fit: contain;
  display: block;
}

.os-toolbar-print-btn.is-fallback::before {
  content: '🖨';
  font-size: 13px;
  line-height: 1;
}

@media (max-width: 760px) {
  .os-page-toolbar {
    grid-template-columns: 1fr;
    row-gap: 10px;
  }
  .os-page-title,
  .os-page-toolbar-actions {
    grid-column: 1;
  }
  .os-page-toolbar-actions {
    flex-wrap: wrap;
    gap: 12px;
  }
  .os-search-wrap,
  .os-search-wrap-top {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
}


.os-type-grid {
  grid-template-columns: minmax(0, 1.65fr) minmax(220px, .85fr);
  align-items: start;
}
.os-card-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 4px;
}
.os-card-select,
.os-card-select-trigger,
.os-card-select-menu {
  all: unset;
}
.os-card-option {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 32px;
  white-space: nowrap;
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
  opacity: .82;
}
.os-card-option:hover {
  transform: translateY(-1px);
  opacity: 1;
}
.os-card-option.is-selected {
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.18);
  opacity: 1;
}
.os-maintenance-corretiva-eletrica { background: #2563eb; color: #fff; }
.os-maintenance-corretiva-mecanica { background: #ea580c; color: #fff; }
.os-maintenance-preditiva-eletrica { background: #7c3aed; color: #fff; }
.os-maintenance-preditiva-mecanica { background: #4f46e5; color: #fff; }
.os-maintenance-preventiva-mecanica { background: #b45309; color: #fff; }
.os-maintenance-preventiva-eletrica { background: #0f766e; color: #fff; }
.os-maintenance-inspecao { background: #111827; color: #fff; }
.os-criticality-alta { background: #dc2626; color: #fff; }
.os-criticality-media { background: #eab308; color: #111827; }
.os-criticality-baixa { background: #16a34a; color: #fff; }


/* ajuste solicitado: cards em modo de seleção com largura do conteúdo */
.os-form-grid.os-type-grid,
.os-type-grid {
  grid-template-columns: max-content max-content;
  align-items: start;
  column-gap: 18px;
  width: max-content;
  max-width: 100%;
}

.os-type-field,
.os-criticality-field {
  width: max-content;
  max-width: none;
}

.os-card-group,
.os-criticality-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  width: max-content;
  max-width: 100%;
}

.os-card-option {
  width: auto !important;
  min-width: 0;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
}

@media (max-width: 760px) {
  .os-form-grid.os-type-grid,
  .os-type-grid {
    grid-template-columns: 1fr;
    width: 100%;
  }

  .os-type-field,
  .os-criticality-field,
  .os-card-group,
  .os-criticality-group {
    width: 100%;
    max-width: 100%;
  }
}


/* ajuste: voltar para seleção em lista com setinha e largura pelo conteúdo */
.os-form-grid.os-type-grid,
.os-type-grid {
  grid-template-columns: max-content max-content;
  align-items: end;
  column-gap: 18px;
  width: max-content;
  max-width: 100%;
}

.os-type-field,
.os-criticality-field {
  width: max-content;
  max-width: 100%;
}

.os-compact-select {
  width: auto;
  min-width: 220px;
  max-width: 100%;
  padding-right: 38px;
}

.os-criticality-select {
  min-width: 140px;
}

@media (max-width: 760px) {
  .os-form-grid.os-type-grid,
  .os-type-grid {
    grid-template-columns: 1fr;
    width: 100%;
  }

  .os-type-field,
  .os-criticality-field,
  .os-compact-select,
  .os-criticality-select {
    width: 100%;
    min-width: 0;
  }
}


/* custom seleção com setinha + cards coloridos */
.os-native-select-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.os-card-select {
  position: relative;
  display: inline-block;
  width: max-content;
  max-width: 100%;
}

.os-card-select-trigger {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: auto;
  max-width: 100%;
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
}

.os-card-select-value,
.os-card-option {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0 12px;
  border-radius: 0;
  border: 1px solid rgba(15, 23, 42, 0.12);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.os-card-select-arrow {
  width: 10px;
  height: 10px;
  border-right: 2px solid #64748b;
  border-bottom: 2px solid #64748b;
  transform: rotate(45deg) translateY(-1px);
  flex: 0 0 auto;
  margin-right: 2px;
}

.os-card-select.is-open .os-card-select-arrow {
  transform: rotate(-135deg) translateY(-1px);
}

.os-card-select-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 30;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: max-content;
  background: #ffffff;
  border: 1px solid #d8e3f1;
  border-radius: 0;
  padding: 8px;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.12);
}

.os-card-select-menu.hidden {
  display: none;
}

.os-card-option {
  width: 100%;
  background-clip: padding-box;
  cursor: pointer;
}

.os-card-option.is-selected {
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.28);
}

.os-card-option:focus-visible,
.os-card-select-trigger:focus-visible {
  outline: 2px solid #2c94fc;
  outline-offset: 2px;
}

.os-type-field,
.os-criticality-field {
  position: relative;
  width: max-content;
  max-width: 100%;
}

.os-type-select-row {
  display: inline-flex;
  align-items: flex-start;
  gap: 0;
  max-width: 100%;
}

.os-add-type-btn {
  width: 18px;
  min-width: 18px;
  height: 18px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #64748b;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.os-add-type-btn:hover,
.os-add-type-btn:focus-visible {
  color: #1e293b;
  outline: none;
}

@media (max-width: 760px) {
  .os-type-select-row {
    width: 100%;
  }

  .os-card-select,
  .os-card-select-trigger,
  .os-card-select-menu {
    width: 100%;
    min-width: 0;
  }

  .os-card-select-value,
  .os-card-option {
    width: 100%;
  }

  .os-add-type-btn {
    flex: 0 0 18px;
  }
}

/* correção final: remover seta duplicada e manter texto forte nos cards */
.os-card-select-trigger::after {
  content: none !important;
  display: none !important;
}

.os-card-select-trigger {
  color: inherit !important;
}

.os-radio-block-stacked {
  align-items: flex-start;
  flex-direction: column;
  justify-content: flex-start;
  gap: 8px;
}

.os-photo-upload {
  display: grid;
  gap: 8px;
  margin-top: 6px;
}

.os-photo-upload .modern-file-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
}

.os-photo-upload .modern-file-label {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 62px;
  padding: 8px 12px;
  border: 1px dashed #b9d7fb;
  background: #ffffff;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.os-photo-upload .modern-file-label:hover {
  border-color: #2c94fc;
  background: #eef6ff;
}

.os-photo-upload .modern-file-icon {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #2c94fc;
  color: #fff;
  font-size: 28px;
  font-weight: 400;
  flex: 0 0 40px;
}

.os-photo-upload .modern-file-texts {
  display: grid;
  gap: 3px;
}

.os-photo-upload .modern-file-texts strong {
  font-size: 14px;
  font-weight: 700;
  color: #334155;
}

.os-photo-upload .modern-file-texts small {
  font-size: 12px;
  color: #6b7280;
}

.os-type-cards {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 0 0 auto;
}

.os-type-card {
  width: 100%;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.os-type-card .os-card-select {
  width: auto;
}

.os-remove-type-btn {
  width: 18px;
  min-width: 18px;
  height: 18px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #64748b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
}

.os-remove-type-btn:hover,
.os-remove-type-btn:focus-visible {
  color: #1e293b;
  outline: none;
}

.os-type-select-row {
  align-items: flex-start;
}

.os-type-card .os-add-type-btn {
  flex: 0 0 18px;
}


.os-card-select-value {
  opacity: 1 !important;
  color: inherit !important;
  text-rendering: geometricPrecision;
}

.os-card-select-value.os-maintenance-corretiva-eletrica,
.os-card-option.os-maintenance-corretiva-eletrica { background: #2563eb !important; color: #ffffff !important; }
.os-card-select-value.os-maintenance-corretiva-mecanica,
.os-card-option.os-maintenance-corretiva-mecanica { background: #ea580c !important; color: #ffffff !important; }
.os-card-select-value.os-maintenance-preditiva-eletrica,
.os-card-option.os-maintenance-preditiva-eletrica { background: #7c3aed !important; color: #ffffff !important; }
.os-card-select-value.os-maintenance-preditiva-mecanica,
.os-card-option.os-maintenance-preditiva-mecanica { background: #4f46e5 !important; color: #ffffff !important; }
.os-card-select-value.os-maintenance-preventiva-mecanica,
.os-card-option.os-maintenance-preventiva-mecanica { background: #b45309 !important; color: #ffffff !important; }
.os-card-select-value.os-maintenance-preventiva-eletrica,
.os-card-option.os-maintenance-preventiva-eletrica { background: #0f766e !important; color: #ffffff !important; }
.os-card-select-value.os-maintenance-melhoria,
.os-card-option.os-maintenance-melhoria { background: #7f1d3f !important; color: #ffffff !important; }
.os-card-select-value.os-maintenance-adequacao-nr,
.os-card-option.os-maintenance-adequacao-nr { background: #eab308 !important; color: #ffffff !important; }
.os-card-select-value[class*="os-maintenance-custom-"],
.os-card-option[class*="os-maintenance-custom-"] { background: #1d4ed8 !important; color: #ffffff !important; }
.os-card-select-value.os-maintenance-inspecao,
.os-card-option.os-maintenance-inspecao { background: #374151 !important; color: #ffffff !important; }

.os-card-select-value.os-criticality-alta,
.os-card-option.os-criticality-alta { background: #dc2626 !important; color: #ffffff !important; }
.os-card-select-value.os-criticality-media,
.os-card-option.os-criticality-media { background: #eab308 !important; color: #111827 !important; }
.os-card-select-value.os-criticality-baixa,
.os-card-option.os-criticality-baixa { background: #16a34a !important; color: #ffffff !important; }



.os-filter-card-select {
  width: 100%;
}

.os-filter-card-select .os-card-select-trigger {
  width: 100%;
}

.os-filter-card-select .os-card-select-menu {
  width: 100%;
  max-height: 320px;
  overflow-y: auto;
}

.os-filter-card-select .os-card-option {
  width: 100%;
}

.os-filter-asset-dropdown {
  width: min(760px, 92vw);
  max-height: 520px;
  padding: 16px;
}

.os-filter-asset-tree {
  max-height: 400px;
  overflow: auto;
  padding: 8px 6px 8px 0;
}

.os-filter-asset-tree .asset-tree-list,
.os-filter-asset-tree .asset-tree-children {
  gap: 0;
}

.os-filter-asset-tree .asset-tree-row {
  min-height: 42px;
  border-radius: 0;
  border: none;
  border-left: 2px solid transparent;
  background: transparent;
  padding: 6px 10px 6px 0;
}

.os-filter-asset-tree .asset-tree-row:hover,
.os-filter-asset-tree .asset-tree-row.active {
  background: rgba(44, 148, 252, 0.08);
  border-left-color: #2c94fc;
}

.os-filter-asset-tree .asset-tree-content {
  gap: 2px;
}

.os-filter-asset-tree .asset-tree-label {
  font-weight: 500;
}

.os-filter-asset-tree .asset-tree-meta {
  display: none;
}

.os-asset-select {
  position: relative;
}

.os-asset-select-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  cursor: pointer;
}

.os-asset-select-trigger::after {
  content: '';
  width: 10px;
  height: 10px;
  border-right: 2px solid #6b7a90;
  border-bottom: 2px solid #6b7a90;
  transform: rotate(45deg);
  flex: 0 0 auto;
  margin-left: 12px;
  margin-top: -4px;
}

.os-asset-select-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  width: min(430px, 92vw);
  max-height: 420px;
  background: #fff;
  border: 1px solid #d7dfeb;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
  padding: 12px;
  z-index: 70;
}

.os-asset-search-wrap {
  margin-bottom: 10px;
}

.os-asset-tree {
  max-height: 330px;
  overflow: auto;
  padding-right: 6px;
}

.os-asset-tree .asset-tree-row {
  cursor: pointer;
}

.os-asset-tree .asset-tree-row.active {
  border-color: #2c94fc;
  background: rgba(44, 148, 252, 0.08);
}

.os-asset-tree .asset-tree-toggle.empty {
  pointer-events: none;
}


/* ===== Ajustes solicitados na O.S ===== */
.os-form-header {
  align-items: flex-start;
}

.os-form-header-main {
  display: grid;
  gap: 12px;
  flex: 1 1 auto;
  min-width: 0;
}

.os-form-order-number {
  margin-top: 6px;
  font-size: 13px;
  font-weight: 700;
  color: #2c94fc;
  letter-spacing: 0.02em;
}

.os-header-title-field {
  max-width: 680px;
}

.os-header-title-field label {
  display: block;
  margin-bottom: 8px;
}

#os-photo-field .modern-file-summary {
  align-items: center;
  gap: 12px;
}

#os-photo-field .modern-file-remove-all,
#os-photo-field .modern-file-remove {
  border: 1px solid #d8e7fb;
  background: linear-gradient(180deg, #ffffff 0%, #f4f8ff 100%);
  color: #1e3a8a;
  border-radius: 10px;
  min-height: 34px;
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 700;
  box-shadow: 0 6px 14px rgba(44, 148, 252, 0.08);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
}

#os-photo-field .modern-file-remove {
  min-width: 92px;
}

#os-photo-field .modern-file-remove-all:hover,
#os-photo-field .modern-file-remove:hover {
  border-color: #93c5fd;
  background: linear-gradient(180deg, #ffffff 0%, #eaf3ff 100%);
  box-shadow: 0 10px 18px rgba(44, 148, 252, 0.14);
  transform: translateY(-1px);
}

#os-photo-field .modern-file-gallery {
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 10px;
}

#os-photo-field .modern-file-gallery-item {
  padding: 8px;
  border-radius: 12px;
}

#os-photo-field .modern-file-gallery-image {
  height: 90px;
  border-radius: 0;
}

#os-photo-field .modern-file-gallery-info {
  display: flex;
  justify-content: flex-end;
  padding-top: 6px;
}

@media (max-width: 760px) {
  .os-form-header-main {
    width: 100%;
  }

  .os-header-title-field {
    max-width: none;
  }
}


/* ===== Ajuste fino solicitado: O.S maior + foco azul ===== */
.os-form-order-number {
  margin-top: 8px;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.15;
  color: #2c94fc;
  letter-spacing: 0.01em;
}

.os-form-card input:focus,
.os-form-card .input:focus,
.os-form-card textarea:focus,
.os-form-card select:focus,
.os-form-card .os-search-input:focus,
.os-form-card .os-full-input:focus {
  outline: none !important;
  border-color: #2c94fc !important;
  box-shadow: 0 0 0 3px rgba(44, 148, 252, 0.18) !important;
}

.os-form-card input:active,
.os-form-card .input:active,
.os-form-card textarea:active,
.os-form-card select:active,
.os-form-card .os-search-input:active,
.os-form-card .os-full-input:active {
  border-color: #2c94fc !important;
}


/* ===== Ajuste solicitado: O.S preview, textarea expansiva e botões retos ===== */
.os-form-order-number { font-weight: 400 !important; font-size: 24px; }
#os-photo-field .modern-file-remove-all,
#os-photo-field .modern-file-remove { border-radius: 0 !important; }
#os-photo-field .modern-file-gallery { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
#os-photo-field .modern-file-gallery-image { height: 120px; border-radius: 0; cursor: zoom-in; }
#os-photo-field .modern-file-gallery-item { padding: 10px; }
.os-textarea { min-height: 170px; height: 170px; resize: vertical; overflow-y: hidden; }
.os-photo-preview-modal::backdrop { background: rgba(15, 23, 42, 0.72); backdrop-filter: blur(2px); }
.os-photo-preview-card { width: min(92vw, 980px); max-width: 980px; padding: 18px; }
.os-photo-preview-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.os-photo-preview-body { display: flex; align-items: center; justify-content: center; max-height: 78vh; overflow: auto; }
.os-photo-preview-image { max-width: 100%; max-height: 72vh; width: auto; height: auto; object-fit: contain; border-radius: 10px; border: 1px solid #d8e7fb; background: #fff; }


/* ===== Ajuste solicitado: miniatura maior, apenas # no número e preview funcional ===== */
.os-form-order-number { font-weight: 400 !important; font-size: 28px !important; }
#os-photo-field .modern-file-gallery { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important; }
#os-photo-field .modern-file-gallery-image { height: 180px !important; width: 100%; object-fit: contain; background: #f8fafc; cursor: zoom-in; }
#os-photo-field .modern-file-gallery-item { padding: 12px !important; }
.os-photo-preview-modal { border: none; padding: 0; background: transparent; }


/* Lista diária de O.S. — visual mais clean com rolagem no rodapé */
.os-board-block-clean {
  background: #ffffff;
  border: 1px solid #dfe7f2;
  box-shadow: none;
}

.os-list-shell {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

:root {
  --os-list-columns: 130px 130px 170px 120px 180px 90px 160px 110px 150px 150px 90px 150px 150px 130px;
  --os-list-min-width: 1920px;
}

.os-list-head,
.os-list-grid-row {
  display: grid;
  grid-template-columns: var(--os-list-columns);
  min-width: var(--os-list-min-width);
}

.os-list-head {
  align-items: center;
  gap: 0;
  padding: 0 18px;
  min-height: 50px;
  border-bottom: 1px solid #e7edf6;
  background: #fbfdff;
  color: #334155;
  font-size: 13px;
  font-weight: 600;
}

.os-list-head > span {
  padding: 0 10px;
  white-space: nowrap;
}

.os-list-head > span + span {
  border-left: 1px solid #edf2f8;
}

.os-list-scroll {
  flex: 1 1 auto;
  overflow-x: auto;
  overflow-y: auto;
  padding: 0 0 14px;
  scrollbar-gutter: stable both-edges;
}

.os-list-scroll > .os-pending-grid-list,
.os-list-scroll > .os-empty-state {
  min-width: var(--os-list-min-width);
}

.os-list-scroll > .os-empty-state {
  box-sizing: border-box;
}

.os-pending-grid-list {
  gap: 8px;
  padding: 0 18px;
  min-width: max-content;
}

.os-list-grid-row {
  align-items: center;
  gap: 0;
  min-height: 46px;
  padding: 0;
  border: 1px solid #edf2f8;
  background: #ffffff;
  cursor: pointer;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.os-list-grid-row:hover {
  background: #f8fbff;
}

.os-list-grid-row:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(44, 148, 252, .12);
}

.os-list-grid-row.is-selected {
  border-color: #2c94fc;
  background: #eef6ff;
  box-shadow: inset 0 0 0 1px rgba(44, 148, 252, .12);
}

.os-list-grid-row > span {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 10px;
  color: #475569;
  font-size: 13px;
  white-space: nowrap;
}

.os-list-grid-row > span + span {
  border-left: 1px solid #f2f5fa;
}

.os-empty-state {
  min-height: 220px;
  margin: 10px 18px 0;
  border: 1px dashed #dbe6f3;
  border-radius: 0;
  background: #fcfdff;
  color: #94a3b8;
}

.os-list-scroll::-webkit-scrollbar {
  height: 10px;
  width: 10px;
}

.os-list-scroll::-webkit-scrollbar-track {
  background: #eef3f9;
}

.os-list-scroll::-webkit-scrollbar-thumb {
  background: #b8c7da;
}

.os-list-scroll::-webkit-scrollbar-thumb:hover {
  background: #9fb4cd;
}

@media (max-width: 1000px) {
  :root {
    --os-list-columns: 130px 130px 170px 120px 180px 90px 160px 110px 150px 150px 90px 150px 150px 130px;
    --os-list-min-width: 1920px;
  }
}


.os-list-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 4px 10px;
  border: 1px solid transparent;
  border-radius: 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}

.os-list-badge.os-maintenance-corretiva-eletrica { background: #2563eb; color: #ffffff; border-color: #2563eb; }
.os-list-badge.os-maintenance-corretiva-mecanica { background: #ea580c; color: #ffffff; border-color: #ea580c; }
.os-list-badge.os-maintenance-preditiva-eletrica { background: #7c3aed; color: #ffffff; border-color: #7c3aed; }
.os-list-badge.os-maintenance-preditiva-mecanica { background: #4f46e5; color: #ffffff; border-color: #4f46e5; }
.os-list-badge.os-maintenance-preventiva-mecanica { background: #b45309; color: #ffffff; border-color: #b45309; }
.os-list-badge.os-maintenance-preventiva-eletrica { background: #0f766e; color: #ffffff; border-color: #0f766e; }
.os-list-badge.os-maintenance-melhoria { background: #7f1d3f; color: #ffffff; border-color: #7f1d3f; }
.os-list-badge.os-maintenance-adequacao-nr { background: #eab308; color: #ffffff; border-color: #eab308; }
.os-list-badge.os-maintenance-inspecao { background: #374151; color: #ffffff; border-color: #374151; }


.os-list-grid-row > span:nth-child(3),
.os-list-grid-row > span:nth-child(4) {
  justify-content: center;
}

.os-status-card {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 30px;
  padding: 4px 10px;
  border: 1px solid currentColor;
  border-radius: 0;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  background: #fff;
}

.os-status-card svg {
  width: 14px;
  height: 14px;
  display: block;
  fill: currentColor;
  flex: 0 0 auto;
}

.os-status-card.pending {
  color: #ef4444;
}

.os-status-card.done {
  color: #16a34a;
  border-color: #16a34a;
  background: #f4fbf6;
}

.os-status-card.done img {
  width: 20px;
  height: 20px;
  display: block;
  flex: 0 0 auto;
  object-fit: contain;
}

.os-status-card.external {
  color: #b91c1c;
  border-color: #b91c1c;
  background: #ffffff;
}

.os-status-card.external img {
  width: 15px;
  height: 15px;
  display: block;
  flex: 0 0 auto;
  object-fit: contain;
}



/* ===== Mobile refinement for Ordem de Serviço ===== */
@media (max-width: 760px) {
  .dashboard-container.sidebar-main {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .panel.page-ordem-only.os-workspace-panel {
    width: 100%;
    min-width: 0;
    padding: 0 !important;
    gap: 12px;
  }

  .os-page-toolbar {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 0 !important;
  }

  .os-page-title {
    padding: 0 !important;
    font-size: 18px;
  }

  .os-page-toolbar-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    min-width: 0;
    padding-top: 0 !important;
  }

  .os-search-wrap,
  .os-search-wrap-top {
    grid-column: 1 / -1;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .os-search-input,
  .os-add-icon-btn,
  .os-add-btn-top,
  .os-toolbar-action-btn,
  .os-toolbar-print-btn,
  .os-toolbar-filter-btn {
    width: 100%;
    min-width: 0;
  }

  .os-toolbar-filter-btn {
    min-height: 40px;
    border: 1px solid #d9e2ee !important;
    background: #fff !important;
  }

  .os-page-grid-modern {
    grid-template-columns: 1fr !important;
    gap: 12px;
  }

  .os-calendar-sidebar,
  .os-main-card {
    width: 100%;
    min-width: 0;
  }

  .os-calendar-sidebar {
    padding: 12px;
  }

  .os-inline-picker-header {
    grid-template-columns: 32px 1fr 32px;
    gap: 4px;
    margin-bottom: 8px;
  }

  .os-inline-picker-title-group {
    gap: 8px;
  }

  .os-inline-picker-title,
  .os-inline-picker-title-year,
  .os-inline-picker-year-button {
    font-size: 13px;
  }

  .os-inline-picker-year-popover {
    width: min(100%, 280px);
  }

  .os-inline-picker-weekdays,
  .os-inline-picker-grid {
    gap: 4px;
  }

  .os-inline-picker-day {
    height: 32px;
    font-size: 12px;
  }

  .os-main-card {
    overflow: hidden;
  }

  .os-board-block-clean {
    border-left: 0;
    border-right: 0;
  }

  .os-list-shell {
    width: 100%;
    min-width: 0;
  }

  .os-list-scroll {
    width: 100%;
    overflow-x: auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 12px;
  }

  .os-list-head,
  .os-list-grid-row,
  .os-list-scroll > .os-pending-grid-list,
  .os-list-scroll > .os-empty-state {
    min-width: var(--os-list-min-width);
  }

  .os-list-head {
    min-height: 42px;
    padding: 0 10px;
    font-size: 12px;
  }

  .os-pending-grid-list {
    padding: 0 10px 10px;
  }

  .os-list-grid-row > span {
    min-height: 42px;
    padding: 0 8px;
    font-size: 12px;
  }

  .os-list-badge,
  .os-status-card {
    font-size: 11px;
  }

  .os-empty-state {
    min-height: 180px;
    margin: 8px 10px 0;
    padding: 12px;
    font-size: 13px;
  }

  .os-form-backdrop {
    z-index: 1200;
  }

  .os-form-card {
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    border-radius: 0 !important;
    border: 0 !important;
    padding: 12px 12px calc(18px + env(safe-area-inset-bottom, 0px)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    z-index: 1201;
  }

  .os-form-card .detail-card-title {
    font-size: 13px;
  }

  .os-form-card .detail-card-subtitle,
  .os-form-card label,
  .os-section-title,
  .os-radio-title {
    font-size: 13px;
  }

  .os-form-header {
    position: sticky;
    top: 0;
    z-index: 5;
    background: #fff;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }

  .os-form-header > div:first-child {
    min-width: 0;
  }

  .os-form-order-number {
    font-size: 20px !important;
    line-height: 1.1;
  }

  .os-form-section {
    padding: 12px;
    margin-top: 0;
  }

  .os-form-grid,
  .os-form-grid.three,
  .os-form-grid.os-type-grid,
  .os-type-grid {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    gap: 10px;
  }

  .os-type-field,
  .os-criticality-field,
  .asset-spec-field,
  .asset-spec-field-span-2,
  .asset-spec-field-full,
  .os-card-select,
  .os-card-select-trigger,
  .os-card-select-menu,
  .os-compact-select,
  .os-criticality-select,
  .os-full-input,
  .os-asset-select,
  .os-asset-select-trigger,
  .os-asset-select-dropdown,
  .os-photo-upload,
  .modern-file-label,
  .modern-file-summary,
  .modern-file-gallery,
  .os-form-footer {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .os-card-select-menu {
    left: 0;
    right: auto;
    max-width: 100%;
  }

  .os-radio-block,
  .os-radio-group,
  .os-form-footer {
    align-items: stretch;
    gap: 10px;
  }

  .os-radio-group {
    flex-wrap: wrap;
  }

  .textarea-like,
  .os-textarea {
    min-height: 160px;
  }

  .modern-file-label {
    padding: 14px 12px;
  }

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

  .os-form-footer {
    flex-direction: column;
  }

  .os-form-footer .btn,
  .os-form-footer button,
  #btn-close-os-form {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .mobile-topbar {
    padding-left: 12px;
    padding-right: 12px;
  }

  .dashboard-container.sidebar-main {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .os-page-title {
    font-size: 17px;
  }

  .os-page-toolbar-actions {
    grid-template-columns: 1fr;
  }

  .os-inline-picker-title,
  .os-inline-picker-title-year,
  .os-inline-picker-year-button {
    font-size: 13px;
  }

  .os-inline-picker-weekdays span,
  .os-inline-picker-day {
    font-size: 11px;
  }

  .os-list-head,
  .os-list-grid-row,
  .os-list-scroll > .os-pending-grid-list,
  .os-list-scroll > .os-empty-state {
    min-width: var(--os-list-min-width);
  }

  .modern-file-gallery {
    grid-template-columns: 1fr;
  }
}

/* ===== Ordem de Serviço em cards ===== */
.os-list-head.os-list-head-cards {
  display: none;
}

.os-list-scroll {
  overflow-x: hidden;
  overflow-y: auto;
  max-height: calc(100vh - 120px);
}

.os-list-scroll > .os-pending-grid-list,
.os-list-scroll > .os-empty-state,
.os-pending-grid-list {
  min-width: 0;
}

.os-pending-grid-list {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 14px;
  padding: 0 10px 14px;
}

.os-service-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  width: 100%;
  min-height: 0;
  padding: 18px 20px 16px;
  border: 1px solid #d8dde6;
  border-radius: 0 !important;
  background: #fff;
  box-shadow: none;
  gap: 12px;
  cursor: pointer;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.os-service-card:hover {
  background: #fff;
  border-color: #cfd7e4;
}

.os-service-card.is-selected {
  background: #f8fbff;
  border-color: #2c94fc;
  box-shadow: 0 0 0 1px rgba(44, 148, 252, .10) inset;
}

.os-service-card.is-done {
  border-color: rgba(22, 163, 74, 0.30);
  box-shadow: 0 10px 22px rgba(92, 110, 101, 0.18);
}

.os-service-card.is-done:hover {
  border-color: rgba(22, 163, 74, 0.42);
  box-shadow: 0 12px 24px rgba(92, 110, 101, 0.22);
}

.os-service-card.is-done.is-selected {
  background: #f6fcf8;
  border-color: #16a34a;
  box-shadow: 0 0 0 1px rgba(22, 163, 74, 0.12) inset, 0 10px 22px rgba(92, 110, 101, 0.18);
}

.os-service-card:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(44, 148, 252, .12);
}

.os-service-card-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
}

.os-service-card-header-left {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 20px;
  min-width: 0;
  flex: 1 1 auto;
}

.os-service-card-title {
  color: #111827;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
  min-width: 0;
  word-break: break-word;
}

.os-service-card-number {
  flex: 0 0 auto;
  margin-left: auto;
  color: #2f86ff;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  text-align: right;
  align-self: flex-start;
}

.os-service-card-meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 12px 18px;
  text-align: left;
  width: 100%;
}

.os-service-card-meta-row-top {
  margin-top: 2px;
}

.os-service-card-meta-row-datetime {
  margin-top: -2px;
}

.os-service-card-meta-row-bottom {
  padding-bottom: 0;
  border-bottom: 0;
}

.os-service-card-meta-row-end {
  padding-top: 0;
}

.os-service-card-meta-item {
  color: #111827;
  font-size: 13px;
  line-height: 1.45;
}

.os-service-card-meta-label {
  color: #111827;
  font-weight: 600;
}

.os-service-card-meta-value {
  color: #425b7a;
  font-weight: 400;
}

.os-service-card-badge-wrap {
  display: inline-flex;
  align-items: center;
}

.os-service-card .os-list-badge {
  min-height: 34px;
  padding: 6px 16px;
  border-radius: 0;
  font-size: 13px;
}

.os-service-card .os-status-card {
  min-height: 36px;
  padding: 6px 14px;
  border-radius: 0;
  font-size: 13px;
}

@media (max-width: 760px) {
  .os-service-card {
    padding: 14px 12px 12px;
    gap: 10px;
  }

  .os-service-card-header {
    align-items: flex-start;
  }

  .os-service-card-header-left {
    flex-wrap: wrap;
    gap: 10px;
  }

  .os-service-card-title,
  .os-service-card-number {
    font-size: 13px;
  }

  .os-service-card-number {
    margin-top: 4px;
    font-size: 22px;
  }

  .os-service-card-meta-row {
    gap: 8px 12px;
  }

  .os-service-card-meta-item,
  .os-service-card .os-list-badge,
  .os-service-card .os-status-card {
    font-size: 12px;
  }
}


.os-detail-header-top-compact {
  width: 100%;
  justify-content: flex-end;
  margin-bottom: 10px;
}
.os-detail-summary-combined {
  width: 100%;
}
.os-detail-combined-card {
  border: 1px solid #d7deea;
  background: #fff;
  padding: 0;
}
.os-detail-combined-card .os-service-card {
  border: 0;
  box-shadow: none;
  margin: 0;
}
.os-detail-opening-photos-inline {
  padding: 14px 16px 16px;
}
.os-detail-opening-photos-inline .os-detail-gallery {
  grid-template-columns: repeat(auto-fill, minmax(110px, 110px));
}
.os-modern-date-field input,
.os-modern-time-select {
  min-height: 42px;
  background: #fff;
  border: 1px solid #d6deeb;
  padding: 0 14px;
}
.os-modern-date-field input {
  appearance: none;
  -webkit-appearance: none;
  background-image: linear-gradient(transparent, transparent), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 42px;
}
.os-modern-time-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 12px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
}
.os-modern-time-split-field {
  min-width: 0;
}
.os-modern-time-select {
  appearance: none;
  -webkit-appearance: none;
  text-align: center;
  font-weight: 700;
  background-image: linear-gradient(transparent, transparent), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  padding-right: 28px;
}
.os-modern-time-separator {
  text-align: center;
  font-weight: 800;
  color: #64748b;
}

.os-detail-modal::backdrop {
  background: rgba(15, 23, 42, 0.58);
}
.os-detail-modal {
  border: 0;
  padding: 0;
  background: transparent;
  width: min(860px, calc(100vw - 48px));
  max-width: 860px;
}
.os-detail-card {
  width: 100%;
  max-height: calc(100vh - 40px);
  overflow: auto;
  padding: 22px;
  border-radius: 0;
}
.os-detail-header-top,
.os-detail-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.os-detail-header {
  display: block;
  margin: 18px 0 20px;
}
.os-detail-summary .os-service-card {
  cursor: default;
}
.os-detail-section,
.os-detail-form-grid,
.os-detail-datetime-card,
.os-detail-executante-trigger,
.os-detail-executante-dropdown,
.os-detail-photo-upload-rect,
.os-detail-gallery-image,
.os-detail-photo-label,
.os-detail-chip {
  border-radius: 0;
}
.os-detail-section,
.os-detail-form-grid {
  background: #fff;
  border: 1px solid #e5e7eb;
  padding: 16px;
}
.os-detail-section {
  margin-top: 16px;
}
.os-detail-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.os-detail-datetime-card {
  border: 1px solid #d7deea;
  background: #f8fafc;
  padding: 14px;
}
.os-modern-datetime-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 170px;
  gap: 12px;
  margin-top: 8px;
}
.os-modern-date-field,
.os-modern-time-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.os-modern-date-field > span,
.os-modern-time-field > span {
  font-size: 12px;
  font-weight: 700;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.os-modern-date-field input,
.os-modern-time-field input {
  min-height: 46px;
  background: #fff;
}
.os-detail-section-title {
  font-weight: 700;
  margin-bottom: 10px;
}
.os-detail-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  gap: 10px;
}
.os-detail-gallery-image {
  width: 100%;
  height: 110px;
  object-fit: cover;
  border: 1px solid #e5e7eb;
  cursor: pointer;
}
.os-detail-empty {
  color: #64748b;
  font-size: 13px;
}
.os-detail-executante-box {
  position: relative;
}
.os-detail-executante-trigger {
  width: 100%;
  min-height: 44px;
  border: 1px solid #cfd8e3;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 12px;
  cursor: pointer;
  color: #0f172a;
  font-size: 14px;
  font-weight: 500;
}
.os-detail-executante-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 20;
  background: #fff;
  border: 1px solid #cfd8e3;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
  padding: 8px;
}
.os-detail-executante-options {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 220px;
  overflow: auto;
}
.os-detail-executante-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid #e5e7eb;
  cursor: pointer;
}
.os-detail-executante-option.is-selected {
  background: #eff6ff;
  border-color: #93c5fd;
}
.os-detail-executante-option input {
  margin: 0;
}
.os-detail-responsaveis-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-height: 42px;
  margin-top: 10px;
}
.os-detail-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  background: #eef2ff;
  color: #312e81;
  font-weight: 600;
  font-size: 13px;
}
.os-detail-chip button {
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}
.os-detail-photo-upload-rect {
  border: 1px dashed #93c5fd;
  background: #ffffff;
}
.os-detail-photo-label {
  min-height: 62px;
}
.os-detail-photo-upload-rect .modern-file-label {
  border: 0;
  background: transparent;
  padding: 0;
}
.os-detail-photo-upload-rect .modern-file-icon {
  width: 28px;
  height: 28px;
}
.os-detail-footer {
  margin-top: 18px;
  justify-content: flex-end;
}
@media (max-width: 900px) {
  .os-detail-form-grid,
  .os-modern-datetime-grid {
    grid-template-columns: 1fr;
  }
  .os-detail-header-top,
  .os-detail-footer {
    flex-direction: column;
    align-items: stretch;
  }
}


/* ===== Ajuste final modal OS: corrigir data/hora + calendário moderno ===== */
.os-detail-datetime-card .input,
.os-detail-datetime-card select,
.os-detail-datetime-card .chronos-picker-wrap,
.os-detail-datetime-card .chronos-picker-display {
  width: 100%;
  min-width: 0 !important;
  box-sizing: border-box;
}

.os-modern-datetime-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 182px);
  align-items: end;
}

.os-modern-date-field,
.os-modern-time-field,
.os-modern-time-split,
.os-modern-time-split-field {
  min-width: 0;
}

.os-modern-time-split {
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 10px;
}

.os-modern-time-select {
  width: 100%;
  min-width: 0 !important;
  height: 42px;
  line-height: 1.1;
  font-size: 24px;
  font-weight: 500;
  color: #334155;
  border: 1px solid #d6deeb;
  background-color: #fff;
  background-position: right 10px center;
}

.os-modern-time-separator {
  font-size: 20px;
  line-height: 46px;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
}

.os-modern-date-field .chronos-picker-display {
  min-height: 46px;
  padding: 0 12px 0 14px;
  justify-content: space-between;
  gap: 12px;
}

.os-modern-date-field .chronos-picker-display-text {
  font-weight: 500;
  color: #0f172a;
}

.os-modern-date-field .chronos-picker-icon {
  order: 2;
  color: #475569;
}

.chronos-picker-panel {
  width: 300px;
  padding: 16px;
  border: 1px solid #d8e0ee;
  background: #fff;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.14);
  z-index: 5000;
}

.chronos-picker-header {
  grid-template-columns: 1fr auto auto;
  gap: 10px;
  align-items: center;
  margin-bottom: 14px;
}

.chronos-picker-title-group {
  justify-content: flex-start;
  gap: 8px;
}

.chronos-picker-title {
  padding: 8px 10px;
  font-size: 13px;
}

.chronos-picker-title-year {
  background: #eef2f7;
  min-width: 62px;
}

.chronos-picker-nav {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  cursor: pointer;
}

.chronos-picker-weekdays span {
  color: #7c8daa;
  font-weight: 500;
}

.chronos-picker-grid-days {
  gap: 4px;
}

.chronos-picker-day,
.chronos-picker-cell {
  border-radius: 0;
  min-height: 36px;
}

.chronos-picker-day.is-selected,
.chronos-picker-cell.is-selected {
  background: #2f66e8;
  color: #fff;
}

.chronos-picker-day.is-today:not(.is-selected),
.chronos-picker-cell.is-today:not(.is-selected) {
  border: 1px solid #cfd8e3;
  background: #fff;
  color: #0f172a;
}

.chronos-picker-actions {
  margin-top: 14px;
  display: flex;
  justify-content: space-between;
}

.chronos-picker-action {
  padding: 10px 14px;
}

.chronos-picker-action.primary {
  min-width: 96px;
  background: #2f66e8;
  color: #fff;
}

@media (max-width: 900px) {
  .os-modern-datetime-grid {
    grid-template-columns: 1fr;
  }
  .chronos-picker-panel {
    width: min(300px, calc(100vw - 32px));
  }
}


/* ===== Ajuste final solicitado: calendário exatamente no estilo da referência + hora azul ===== */
.os-detail-datetime-card {
  overflow: visible;
}

.os-detail-datetime-card .chronos-picker-wrap {
  position: relative;
  width: 100%;
  overflow: visible;
}

.os-detail-datetime-card .chronos-picker-input {
  position: absolute !important;
  inset: 0 !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.os-detail-datetime-card .chronos-picker-display {
  min-height: 44px;
  height: 44px;
  border: 1px solid #cfd8e3;
  background: #ffffff;
  border-radius: 0;
  padding: 0 10px 0 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  box-shadow: none;
}

.os-detail-datetime-card .chronos-picker-display-text {
  font-size: 13px;
  font-weight: 500;
  color: #0f172a;
}

.os-detail-datetime-card .chronos-picker-icon {
  color: #475569;
}

.os-modern-time-select {
  background-color: #2c94fc !important;
  border-color: #2c94fc !important;
  color: #ffffff !important;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  text-align-last: center;
  padding-right: 30px;
  box-shadow: none;
}
.os-modern-time-select option {
  color: #0f172a;
  background: #ffffff;
}
.os-modern-time-select:focus {
  outline: none;
  box-shadow: none;
}
.os-modern-time-select,
.os-modern-time-select:hover {
  background-image: linear-gradient(transparent, transparent), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 10px center !important;
}
.os-modern-time-separator {
  color: #64748b;
  font-size: 22px;
  font-weight: 800;
}

.chronos-picker-panel {
  width: 306px !important;
  padding: 14px 12px 10px !important;
  border: 1px solid #d9e1ea !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
  z-index: 10000 !important;
}

.os-detail-datetime-card .chronos-picker-panel {
  top: calc(100% + 6px);
  left: 0;
}

.chronos-picker-header {
  display: grid;
  grid-template-columns: 28px 1fr 28px;
  align-items: center;
  gap: 16px;
  margin-bottom: 10px;
}

.chronos-picker-title-group {
  display: grid;
  grid-template-columns: 1fr 72px;
  align-items: center;
  gap: 10px;
}

.chronos-picker-title,
.chronos-picker-title-year {
  border: 0 !important;
  border-radius: 0 !important;
  height: 40px;
  min-height: 40px;
  padding: 0 10px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent !important;
  color: #0f172a !important;
  box-shadow: none !important;
  font-size: 13px;
  font-weight: 700;
  text-transform: capitalize;
}

.chronos-picker-title-year {
  background: #eef2f7 !important;
}

.chronos-picker-nav {
  width: 28px !important;
  height: 28px !important;
  border: 0 !important;
  background: transparent !important;
  color: #0f172a !important;
  font-size: 28px !important;
  line-height: 1;
  padding: 0;
  box-shadow: none !important;
}

.chronos-picker-weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  margin: 2px 0 6px;
}

.chronos-picker-weekdays span {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  color: #7c8daa !important;
  font-size: 12px;
  font-weight: 500 !important;
}

.chronos-picker-grid-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px !important;
}

.chronos-picker-day,
.chronos-picker-cell {
  width: 36px;
  height: 36px;
  min-height: 36px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #0f172a;
  font-size: 13px;
  font-weight: 400;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  box-shadow: none !important;
}

.chronos-picker-day.is-outside,
.chronos-picker-cell.is-outside {
  color: #c4cfdb !important;
}

.chronos-picker-day.is-selected,
.chronos-picker-cell.is-selected {
  background: #2f66e8 !important;
  color: #ffffff !important;
  font-weight: 700;
}

.chronos-picker-day.is-today:not(.is-selected),
.chronos-picker-cell.is-today:not(.is-selected) {
  border: 0 !important;
  background: transparent !important;
  color: #0f172a !important;
  font-weight: 400;
}

.chronos-picker-actions {
  margin-top: 14px !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.chronos-picker-action {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #2563eb;
  font-size: 13px;
  font-weight: 500;
  padding: 10px 12px !important;
  box-shadow: none !important;
}

.chronos-picker-action.primary {
  min-width: 100px;
  justify-content: center;
  background: #2f66e8 !important;
  color: #ffffff !important;
}


/* ===== Ajuste v5: seletor de hora moderno com fundo branco ===== */
.os-modern-time-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.os-modern-time-select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  width: 100%;
  min-width: 72px;
  height: 42px;
  padding: 0 36px 0 14px !important;
  border: 1px solid #d6e4f5 !important;
  border-radius: 0 !important;
  background-color: #ffffff !important;
  color: #111827 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.1;
  text-align: center;
  text-align-last: center;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
  background-image: linear-gradient(transparent, transparent), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%232c94fc' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  cursor: pointer;
}

.os-modern-time-select:hover {
  border-color: #b9d7fb !important;
  background-color: #fdfefe !important;
}

.os-modern-time-select:focus,
.os-modern-time-select:focus-visible {
  outline: none !important;
  border-color: #2c94fc !important;
  box-shadow: 0 0 0 3px rgba(44, 148, 252, 0.16) !important;
}

.os-modern-time-select option {
  background: #ffffff !important;
  color: #111827 !important;
  font-weight: 500;
}

.os-modern-time-select option:checked,
.os-modern-time-select option:hover,
.os-modern-time-select option:focus {
  background: #2c94fc !important;
  color: #ffffff !important;
}

.os-modern-time-separator {
  color: #7b8794;
  font-size: 22px;
  font-weight: 700;
}


/* v8 final override: smaller hour/minute numbers */
.date-time-grid select,
.time-select,
.time-hour,
.time-minute,
.time-value,
.time-field,
.modern-time-select,
.hour-select,
.minute-select {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
}

.date-time-grid .time-select-wrap select,
.date-time-grid .time-row select,
.date-time-grid .hour-minute-row select,
.date-time-grid .hour-select,
.date-time-grid .minute-select {
  font-size: 12px !important;
  font-weight: 500 !important;
  height: 42px !important;
  min-height: 42px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}



/* v9: correção definitiva do tamanho da fonte do seletor de hora */
.os-modern-time-select,
.os-modern-time-split .os-modern-time-select,
#os-detail-start-time-hour,
#os-detail-start-time-minute,
#os-detail-end-time-hour,
#os-detail-end-time-minute {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  height: 42px !important;
  min-height: 42px !important;
}



/* v10: ajustes finais solicitados */

/* Executante menor */
.os-executante-select,
.executante-select,
#os-detail-executantes,
#os-detail-executante {
  font-size: 14px !important;
  line-height: 1.25 !important;
}

/* Tag/chip do executante menor */
.os-executante-chip,
.executante-chip,
.select2-selection__choice,
.tomselected .item,
.ts-wrapper.multi .item {
  font-size: 13px !important;
  line-height: 1.2 !important;
  padding: 6px 10px !important;
}

/* Campo de imagens exatamente mais compacto/proporcional */
.os-upload-box,
.os-photo-upload,
.os-images-upload,
#os-detail-images-upload,
#os-detail-fotos-upload,
.upload-area {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  min-height: 64px !important;
  padding: 10px 14px !important;
  border: 1px dashed #9fc9ff !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

/* Botão azul quadrado */
.os-upload-box .upload-plus,
.os-photo-upload .upload-plus,
.os-images-upload .upload-plus,
.upload-area .upload-plus,
.os-upload-box .upload-icon,
.os-photo-upload .upload-icon,
.os-images-upload .upload-icon,
.upload-area .upload-icon,
.os-upload-box .btn-plus,
.os-photo-upload .btn-plus,
.os-images-upload .btn-plus,
.upload-area .btn-plus {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  border-radius: 0 !important;
  background: #2c94fc !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 28px !important;
  line-height: 1 !important;
  border: none !important;
  box-shadow: none !important;
}

/* Texto igual ao layout de referência */
.os-upload-box .upload-text,
.os-photo-upload .upload-text,
.os-images-upload .upload-text,
.upload-area .upload-text {
  display: flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}

.os-upload-box .upload-title,
.os-photo-upload .upload-title,
.os-images-upload .upload-title,
.upload-area .upload-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #2f3f60 !important;
}

.os-upload-box .upload-subtitle,
.os-photo-upload .upload-subtitle,
.os-images-upload .upload-subtitle,
.upload-area .upload-subtitle,
.os-upload-box small,
.os-photo-upload small,
.os-images-upload small,
.upload-area small {
  font-size: 12px !important;
  color: #5d6b84 !important;
  font-weight: 600 !important;
}

/* Preview das imagens carregadas visível e proporcional */
.os-upload-preview,
.os-images-preview,
.upload-preview,
#os-detail-images-preview,
#os-detail-fotos-preview {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 10px !important;
}

.os-upload-preview img,
.os-images-preview img,
.upload-preview img,
#os-detail-images-preview img,
#os-detail-fotos-preview img {
  width: 72px !important;
  height: 72px !important;
  object-fit: cover !important;
  border: 1px solid #d6deea !important;
  background: #fff !important;
}

/* Esconde textos extras que estavam esticando a área */
.os-upload-box p,
.os-photo-upload p,
.os-images-upload p,
.upload-area p {
  margin: 0 !important;
}



/* v11 modal exact fixes */
.os-detail-executante-trigger,
#os-detail-executante-trigger {
  font-size: 14px !important;
  font-weight: 500 !important;
  min-height: 44px !important;
  padding: 0 12px !important;
}
#os-detail-executante-trigger-text {
  font-size: 14px !important;
}
.os-detail-chip,
#os-detail-responsaveis-list .os-detail-chip {
  font-size: 13px !important;
  padding: 6px 10px !important;
}

#os-detail-photo-upload {
  gap: 8px !important;
  background: #fff !important;
}
#os-detail-photo-upload .modern-file-label {
  min-height: 62px !important;
  padding: 8px 12px !important;
  gap: 12px !important;
  border: 1px dashed #93c5fd !important;
  background: #fff !important;
}
#os-detail-photo-upload .modern-file-icon {
  width: 40px !important;
  height: 40px !important;
  flex: 0 0 40px !important;
  border-radius: 0 !important;
  background: #2c94fc !important;
  color: #fff !important;
  font-size: 28px !important;
  font-weight: 400 !important;
}
#os-detail-photo-upload .modern-file-text-group,
#os-detail-photo-upload .modern-file-texts {
  display: grid !important;
  gap: 2px !important;
}
#os-detail-photo-upload .modern-file-text-group strong,
#os-detail-photo-upload .modern-file-texts strong {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #334155 !important;
}
#os-detail-photo-upload .modern-file-text-group small,
#os-detail-photo-upload .modern-file-texts small {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #6b7280 !important;
}

#os-detail-document-upload {
  gap: 8px !important;
  background: #f7fbff !important;
  border: 1px dashed #b9d7fb !important;
  padding: 14px 16px !important;
}
#os-detail-document-upload .modern-file-label {
  min-height: 62px !important;
  padding: 8px 12px !important;
  gap: 12px !important;
  border: 1px dashed #93c5fd !important;
  background: #fff !important;
}
#os-detail-document-upload:hover {
  background: #fff !important;
  border-color: transparent !important;
}

#os-detail-photo-gallery {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(72px, 72px)) !important;
  gap: 8px !important;
}
#os-detail-photo-gallery.hidden {
  display: none !important;
}
#os-detail-photo-gallery .modern-file-gallery-image {
  width: 72px !important;
  height: 72px !important;
  object-fit: cover !important;
}







.os-detail-description-field span {
  font-size: 13px;
  font-weight: 600;
}

#os-detail-executante-field > span {
  font-size: 13px;
  font-weight: 600;
}

#os-detail-photo-field > span {
  font-size: 13px;
  font-weight: 600;
}

#os-detail-document-field > span {
  font-size: 13px;
  font-weight: 600;
}

/* Ajustes solicitados: fotos do serviço e descrição da abertura */
.os-detail-opening-description-field {
  padding: 10px 16px 0;
}
.os-detail-opening-description-title {
  display: block;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 10px;
  color: #525866;
}
.os-detail-opening-description {
  min-height: 120px !important;
  height: auto !important;
  overflow-y: hidden;
}


/* Ajuste solicitado: descrições da O.S. autoajustáveis ao conteúdo */
#os-detail-description,
.os-detail-opening-description {
  min-height: 44px !important;
  height: auto !important;
  resize: none !important;
  overflow-y: hidden !important;
}


/* Ajuste final: descrições da O.S. sem espaço em branco fixo */
#os-detail-description,
.os-detail-opening-description {
  min-height: 44px !important;
  height: auto !important;
  resize: none !important;
  overflow-y: hidden !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  box-sizing: border-box !important;
}


#os-detail-document-list.modern-file-list,
#os-detail-document-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.os-detail-document-upload-rect {
  width: 100%;
}
#os-detail-photo-gallery.modern-file-gallery {
  margin-top: 12px;
}


/* ===== O.S. upload style igual ao padrão visual ===== */
#os-detail-photo-upload,
#os-detail-document-upload {
  display: grid;
  gap: 12px;
  width: 100%;
  border: 1px dashed #b9d7fb;
  background: #f7fbff;
  padding: 14px 16px;
  box-sizing: border-box;
}

#os-detail-photo-upload .modern-file-input,
#os-detail-document-upload .modern-file-input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
}

#os-detail-photo-upload .modern-file-label,
#os-detail-document-upload .modern-file-label {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 72px;
  padding: 0;
  border: 0 !important;
  background: transparent !important;
  cursor: pointer;
  box-sizing: border-box;
}

#os-detail-photo-upload .modern-file-icon,
#os-detail-document-upload .modern-file-icon {
  width: 42px !important;
  height: 42px !important;
  flex: 0 0 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #2c94fc;
  color: #fff;
  font-size: 24px;
  font-weight: 400;
}

#os-detail-photo-upload .modern-file-texts,
#os-detail-document-upload .modern-file-texts,
#os-detail-photo-upload .modern-file-text-group,
#os-detail-document-upload .modern-file-text-group {
  display: grid;
  gap: 3px;
}

#os-detail-photo-upload .modern-file-texts strong,
#os-detail-document-upload .modern-file-texts strong,
#os-detail-photo-upload .modern-file-text-group strong,
#os-detail-document-upload .modern-file-text-group strong {
  font-size: 13px;
  font-weight: 700;
  color: #2c94fc;
}

#os-detail-photo-upload .modern-file-texts small,
#os-detail-document-upload .modern-file-texts small,
#os-detail-photo-upload .modern-file-text-group small,
#os-detail-document-upload .modern-file-text-group small {
  font-size: 12px;
  color: #7b8494;
}

#os-detail-photo-upload:hover,
#os-detail-document-upload:hover {
  border-color: #2c94fc;
  background: #eef6ff;
}

/* Ajuste solicitado: anexar documentos sem sombra azul e sem sumir tracejado no hover */
#os-detail-document-upload {
  background: #fff !important;
  border: 1px dashed #b9d7fb !important;
  box-shadow: none !important;
}
#os-detail-document-upload:hover,
#os-detail-document-upload:focus,
#os-detail-document-upload:focus-within {
  background: #fff !important;
  border: 1px dashed #b9d7fb !important;
  box-shadow: none !important;
}


/* Ajustes finais O.S. anexos */
#os-detail-photo-upload .modern-file-texts strong,
#os-detail-document-upload .modern-file-texts strong,
#os-detail-photo-upload .modern-file-text-group strong,
#os-detail-document-upload .modern-file-text-group strong,
#os-detail-photo-upload .modern-file-summary strong,
#os-detail-document-upload .modern-file-summary strong {
  color: #2c94fc !important;
}

#os-detail-photo-upload .modern-file-summary,
#os-detail-document-upload .modern-file-summary {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.modern-file-remove-modern,
#os-detail-photo-upload .modern-file-remove-all,
#os-detail-document-upload .modern-file-remove-all,
#os-detail-photo-upload .modern-file-remove,
#os-detail-document-upload .modern-file-remove {
  appearance: none;
  border: 1px solid #cfe0f5;
  background: linear-gradient(180deg, #ffffff 0%, #f6faff 100%);
  color: #2c5aa0;
  border-radius: 999px;
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(44, 148, 252, 0.10);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
}

.modern-file-remove-modern:hover,
#os-detail-photo-upload .modern-file-remove-all:hover,
#os-detail-document-upload .modern-file-remove-all:hover,
#os-detail-photo-upload .modern-file-remove:hover,
#os-detail-document-upload .modern-file-remove:hover {
  border-color: #9fc9ff;
  background: #eef6ff;
  box-shadow: 0 4px 12px rgba(44, 148, 252, 0.16);
  transform: translateY(-1px);
}

#os-detail-document-list .modern-file-list-item {
  border: 1px solid #d8e7fb;
  border-radius: 14px;
  background: #fff;
  padding: 12px 14px;
}

#os-detail-document-list .modern-file-list-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

#os-detail-document-list .modern-file-list-info strong {
  color: #5a6988;
  font-size: 14px;
}

.os-detail-execution-block {
  padding: 0 16px 16px;
}

.os-detail-documents {
  display: grid;
  gap: 12px;
}

.os-detail-document-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 16px;
  border: 1px solid #d7e6fb;
  border-radius: 14px;
  background: #f8fbff;
  text-decoration: none;
}

.os-detail-document-name {
  color: #6b7895;
  font-size: 14px;
  font-weight: 700;
  word-break: break-word;
}

.os-detail-document-open {
  color: #4a628f;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}

.os-detail-document-link:hover {
  border-color: #b9d7fb;
  background: #eef6ff;
}


.os-toolbar-filter-btn.is-active .os-toolbar-filter-image {
  opacity: 1;
}
.os-filter-modal::backdrop {
  background: rgba(15, 23, 42, 0.58);
}
.os-filter-modal {
  border: 0;
  padding: 0;
  background: transparent;
  width: min(760px, calc(100vw - 40px));
  max-width: 760px;
}
.os-filter-card {
  width: 100%;
  max-height: calc(100vh - 40px);
  overflow: auto;
  padding: 22px;
  border-radius: 0;
}
.os-filter-header,
.os-filter-footer,
.os-filter-footer-actions,
.os-filter-row-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.os-filter-title { margin-bottom: 4px; }
.os-filter-subtitle {
  color: #667085;
  font-size: 13px;
}
.os-filter-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0 6px;
}
.os-filter-chip {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border: 1px solid #bfdbfe;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 600;
}
.os-filter-rows {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}
.os-filter-row {
  border: 1px solid #d9e2ee;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  padding: 14px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
}
.os-filter-type-field { margin: 0; flex: 1; }
.os-filter-row-remove {
  width: 38px;
  min-width: 38px;
  height: 38px;
  border: 1px solid #d9e2ee;
  background: #fff;
  color: #64748b;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.os-filter-row-remove:hover {
  border-color: #fca5a5;
  color: #dc2626;
  background: #fff5f5;
}
.os-filter-row-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}
.os-filter-row-range {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.os-filter-row-note {
  min-height: 48px;
  padding: 12px 14px;
  border: 1px dashed #cbd5e1;
  background: #ffffff;
  color: #475569;
  font-size: 13px;
  display: flex;
  align-items: center;
}
.os-filter-close-btn { margin-left: auto; }
@media (max-width: 720px) {
  .os-filter-header,
  .os-filter-footer {
    flex-direction: column;
    align-items: stretch;
  }
  .os-filter-footer-actions,
  .os-filter-row-top,
  .os-filter-row-range {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: stretch;
  }
  .os-filter-row-remove {
    width: 100%;
    min-width: 100%;
  }
}


/* OS filters popover (similar ao filtro da árvore) */
.os-filter-popover {
  position: absolute;
  width: 520px;
  max-width: calc(100vw - 24px);
  background: #ffffff;
  border: 1px solid #d9e2ee;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.12);
  padding: 14px;
  z-index: 60;
}
.os-filter-popover.hidden { display: none; }
.os-filter-popover-title {
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 4px;
}
.os-filter-popover-subtitle {
  color: #667085;
  font-size: 13px;
  margin-bottom: 10px;
}
.os-filter-rows { margin-top: 10px; }
.os-filter-row { box-shadow: none; }
.os-filter-footer { margin-top: 12px; }
@media (max-width: 720px) {
  .os-filter-popover { width: 100%; left: 12px !important; right: 12px; }
}


/* Ajuste visual solicitado: popover de filtro no mesmo estilo da referência */
.asset-filter-popover-title {
  font-size: 13px;
  font-weight: 700;
  color: #111827;
}
.asset-filter-popover-subtitle {
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.35;
  color: #6b7280;
}
.asset-filter-field {
  gap: 8px;
  margin-top: 14px;
}
.asset-filter-field span {
  font-size: 12px;
  font-weight: 700;
  color: #374151;
}
.asset-filter-popover .input,
.asset-filter-popover select {
  width: 100%;
  min-width: 0;
  height: 34px;
  padding: 0 12px;
  border: 1px solid #d9dee8;
  border-radius: 0 !important;
  background: #f7f8fb;
  color: #6b7280;
  box-shadow: none;
}
.asset-filter-popover .input:focus,
.asset-filter-popover select:focus {
  outline: none;
  border-color: #2c94fc;
  background: #fff;
  box-shadow: none;
}
.asset-filter-actions {
  display: flex;
  justify-content: flex-start;
  gap: 10px;
  margin-top: 14px;
}
.asset-filter-actions .btn {
  min-width: 88px;
  height: 38px;
  padding: 0 18px;
  font-size: 13px;
  font-weight: 600;
  border-radius: 0 !important;
  box-shadow: none;
}
#btn-apply-filter {
  background: #2c94fc !important;
  color: #fff !important;
  border-color: #2c94fc !important;
}
#btn-cancel-filter {
  background: #fff !important;
  color: #2c94fc !important;
  border-color: #2c94fc !important;
}


/* OS filtros: substituir cinza por azul #2c94fc (popover da O.S.) */
.os-filter-popover {
  border-color: #2c94fc !important;
  box-shadow: none !important;
}
.os-filter-popover-title,
.os-filter-popover-subtitle {
  color: #2c94fc !important;
}
.os-filter-popover .os-filter-row {
  border-color: #d9e2ee !important;
  background: #ffffff !important;
  box-shadow: none !important;
}
.os-filter-popover .os-filter-row-remove {
  border-color: #2c94fc !important;
  color: #2c94fc !important;
}
.os-filter-popover .os-filter-row-remove:hover {
  background: #eff6ff !important;
}
.os-filter-popover .os-filter-row-note {
  border-color: #2c94fc !important;
  color: #2c94fc !important;
  background: #eff6ff !important;
}
.os-filter-popover .modal-field > span,
.os-filter-popover .os-filter-row-note strong {
  color: #2c94fc !important;
}
.os-filter-popover .input,
.os-filter-popover select {
  border-color: #2c94fc !important;
  color: #2c94fc !important;
  background: #ffffff !important;
  box-shadow: none !important;
}
.os-filter-popover .input:focus,
.os-filter-popover select:focus {
  border-color: #2c94fc !important;
  box-shadow: none !important;
}
#btn-add-os-filter-row,
#btn-clear-os-filters,
#btn-close-os-filter-popover {
  border-color: #2c94fc !important;
  color: #2c94fc !important;
}
#btn-apply-os-filters {
  background: #2c94fc !important;
  border-color: #2c94fc !important;
  color: #ffffff !important;
}


/* Ajuste solicitado: voltar as cores anteriores apenas nos elementos visíveis do topo do popover da O.S. */
.os-filter-popover-title {
  color: #0f172a !important;
}
.os-filter-popover-subtitle {
  color: #667085 !important;
}
.os-filter-popover .modal-field > span {
  color: #475467 !important;
}
.os-filter-popover .input,
.os-filter-popover select {
  color: #334155 !important;
}
.os-filter-popover .os-filter-row-remove {
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  line-height: 1 !important;
  color: #64748b !important;
}
.os-filter-popover .os-filter-row-note {
  color: #475569 !important;
  background: #ffffff !important;
}
.os-filter-popover .os-filter-row-note strong {
  color: #334155 !important;
}

/* Ajuste solicitado: voltar cor anterior da borda externa, da borda do campo e do botão Fechar */
.os-filter-popover {
  border-color: #d9e2ee !important;
}
.os-filter-popover .input,
.os-filter-popover select {
  border-color: #dde1ea !important;
}
#btn-close-os-filter-popover {
  background: #fff !important;
  color: #6c7382 !important;
  border-color: #dfe3ea !important;
}


/* Ajuste solicitado: trocar X pelo mesmo ícone de remover filtro e sem borda */
.os-filter-popover .os-filter-row-remove {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  margin-top: 27px !important;
}
.os-filter-popover .os-filter-row-remove img {
  width: 18px !important;
  height: 18px !important;
  display: block !important;
  pointer-events: none !important;
}
.os-filter-popover .os-filter-row-remove:hover,
.os-filter-popover .os-filter-row-remove:focus {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}


/* Ajuste solicitado: calendário do filtro com o mesmo visual do calendário lateral */
.os-filter-row-range {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}
.os-filter-date-field {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.os-filter-calendar {
  width: 100%;
  min-width: 0;
  position: relative;
}
.os-filter-calendar-shell {
  position: relative;
}
/* V19.99 — os dois campos Período usam o ícone oficial dos cards da O.S. */
.os-filter-calendar-trigger {
  width: 100%;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  text-align: left;
}
.os-filter-calendar-trigger-text {
  min-width: 0;
  color: #94a3b8;
  font-size: 14px;
}
.os-filter-calendar-trigger-text.has-value {
  color: #0f172a;
}
.os-filter-calendar-trigger-icon {
  display: block;
  width: 18px;
  height: 18px;
  min-width: 18px;
  flex: 0 0 18px;
  padding: 0;
  border: 0;
  background: transparent;
  object-fit: contain;
  opacity: 1;
  pointer-events: none;
}
.os-filter-inline-picker {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  z-index: 20;
  border: 1px solid #d9e2ee;
  padding: 12px;
  background: #ffffff;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12);
}
.os-filter-inline-picker .os-inline-picker-header {
  margin-bottom: 10px;
}
.os-filter-inline-picker .os-inline-picker-title-group {
  gap: 8px;
}
.os-filter-inline-picker .os-inline-picker-title,
.os-filter-inline-picker .os-filter-inline-year {
  font-size: 12px;
}
.os-filter-inline-picker .os-filter-inline-year {
  min-width: auto;
  height: auto;
  padding: 0;
  color: #0f172a;
  background: transparent;
}
.os-filter-inline-picker .os-inline-picker-nav {
  width: 30px;
  height: 30px;
  font-size: 20px;
}
.os-filter-inline-picker .os-inline-picker-weekdays,
.os-filter-inline-picker .os-inline-picker-grid {
  gap: 5px;
}
.os-filter-inline-picker .os-inline-picker-weekdays span {
  font-size: 11px;
}
.os-filter-inline-picker .os-inline-picker-day {
  height: 30px;
  font-size: 12px;
}
.os-filter-inline-picker .os-inline-picker-day.is-today {
  border-color: rgba(44, 148, 252, 0.22);
  background: #f8fbff;
  font-weight: 700;
}
.os-filter-inline-picker .os-inline-picker-actions {
  margin-top: 10px;
}
.os-filter-inline-picker .os-inline-picker-action {
  min-width: 78px;
  padding: 8px 12px;
  font-size: 12px;
}
.os-filter-row-note {
  grid-column: 1 / -1;
  min-height: 0;
  line-height: 1.45;
  white-space: normal;
  word-break: break-word;
  padding: 10px 12px;
}
@media (max-width: 920px) {
  .os-filter-row-range {
    grid-template-columns: 1fr;
  }
}

.os-filter-card-grid {
  position: static;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  width: 100%;
  padding: 0;
  border: 0;
  box-shadow: none;
  background: transparent;
}

.os-filter-card-grid .os-card-option {
  min-height: 36px;
}

.os-filter-card-grid-criticality {
  max-width: 180px;
}

.os-filter-asset-select .os-asset-select-dropdown {
  z-index: 60;
}

/* Ajuste: remove o fundo azul do campo Título da Ordem de Serviço
   e mantém a cor do texto igual aos demais campos do formulário. */
#os-service-title,
#os-service-title:hover,
#os-service-title:focus,
#os-service-title:active {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #5c6474 !important;
}

#os-service-title:-webkit-autofill,
#os-service-title:-webkit-autofill:hover,
#os-service-title:-webkit-autofill:focus,
#os-service-title:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
  box-shadow: 0 0 0 1000px #ffffff inset !important;
  -webkit-text-fill-color: #5c6474 !important;
  caret-color: #5c6474 !important;
}

/* Ajuste solicitado: bordas retas no campo Descrição do serviço realizado,
   com azul somente quando o campo estiver selecionado. */
#os-detail-description {
  border-color: #dde1ea !important;
  border-radius: 0 !important;
}
#os-detail-description:hover {
  border-color: #dde1ea !important;
}
#os-detail-description:focus,
#os-detail-description:active {
  border-color: #2c94fc !important;
  border-radius: 0 !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Ajuste solicitado: lista de ativos da O.S no mesmo padrão visual da árvore de ativos */
#os-asset-select-dropdown .os-asset-tree {
  max-height: 360px;
  overflow: auto;
  padding: 8px 8px 8px 0;
}

#os-asset-select-dropdown .asset-tree-list,
#os-asset-select-dropdown .asset-tree-children {
  list-style: none;
  margin: 0;
  padding: 0;
  min-width: max-content;
}

#os-asset-select-dropdown .asset-tree-children {
  margin-left: 13px;
  padding-left: 18px;
  border-left: 1px dashed #d7deea;
}

#os-asset-select-dropdown .asset-tree-node {
  position: relative;
  margin: 2px 0;
}

#os-asset-select-dropdown .asset-tree-node > .asset-tree-row::before {
  content: "";
  position: absolute;
  left: -18px;
  top: 50%;
  width: 14px;
  border-top: 1px dashed #d7deea;
  transform: translateY(-50%);
  pointer-events: none;
}

#os-asset-select-dropdown > .os-asset-tree > .asset-tree-list > .asset-tree-node > .asset-tree-row::before,
#os-asset-select-dropdown .asset-tree-node.level-0 > .asset-tree-row::before {
  display: none;
}

#os-asset-select-dropdown .asset-tree-row {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 38px;
  width: max-content;
  min-width: 100%;
  padding: 6px 10px 6px 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: #445063;
  cursor: pointer;
  white-space: nowrap;
}

#os-asset-select-dropdown .asset-tree-row:hover,
#os-asset-select-dropdown .asset-tree-row.active {
  background: transparent;
  color: #111827;
}

#os-asset-select-dropdown .asset-tree-toggle {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  border: 0;
  background: transparent;
  color: #111827;
  display: inline-grid;
  place-items: center;
  padding: 0;
}

#os-asset-select-dropdown .asset-tree-toggle::before {
  content: '⌄';
  font-size: 15px;
  line-height: 1;
}

#os-asset-select-dropdown .asset-tree-toggle.collapsed::before {
  content: '›';
}

#os-asset-select-dropdown .asset-tree-toggle.empty {
  visibility: hidden;
}

#os-asset-select-dropdown .custom-level-icon {
  width: 18px;
  height: 18px;
  min-width: 18px;
  flex: 0 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#os-asset-select-dropdown .custom-level-icon-image {
  width: 18px;
  height: 18px;
  display: block;
  object-fit: contain;
}

#os-asset-select-dropdown .asset-tree-content {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  width: max-content;
  min-width: 0;
  flex: 0 0 auto;
}

#os-asset-select-dropdown .os-asset-node-type {
  font-size: 13px;
  font-weight: 400;
  color: #445063;
  white-space: nowrap;
}

#os-asset-select-dropdown .asset-tree-label {
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 600;
  color: #1f2937;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
}

/* Ajuste solicitado: campo Descrição do defeito/serviço com bordas retas
   e borda azul somente ao clicar/selecionar o campo. */
#os-description,
.os-detail-opening-description {
  border-color: #dde1ea !important;
  border-radius: 0 !important;
}

#os-description:hover,
.os-detail-opening-description:hover {
  border-color: #dde1ea !important;
}

#os-description:focus,
#os-description:focus-visible,
#os-description:active,
.os-detail-opening-description:focus,
.os-detail-opening-description:focus-visible,
.os-detail-opening-description:active {
  border-color: #2c94fc !important;
  border-radius: 0 !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Ajuste solicitado: execução por apontamentos */
.os-detail-form-grid-legacy-hidden{display:none!important;}
.os-apontamentos-wrap{margin:14px 0 18px;border:1px solid #d7e1ec;border-radius:3px;background:#fff;overflow:hidden;}
.os-apontamentos-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #edf2f7;}
.os-apontamentos-head h3{margin:0;font-size:16px;font-weight:500;color:#2a2f36;}
.os-apontamento-add{border:0;background:transparent;color:#1683ff;font-size:15px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;padding:4px 0;}
.os-apontamento-add span{font-size:24px;line-height:16px;font-weight:300;}
.os-apontamentos-list{display:grid;gap:10px;padding:10px 16px 12px;}
.os-apontamento-empty{padding:18px;border:1px dashed #d7e1ec;color:#7b8794;background:#fbfdff;text-align:center;font-size:14px;}
.os-apontamento-row{border:1px solid #d7e1ec;border-radius:3px;padding:10px 14px;background:#fff;}
.os-apontamento-row-top{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.os-apontamento-row-user{display:flex;align-items:center;gap:9px;min-width:0;color:#303740;font-size:15px;}
.os-apontamento-caret{font-size:15px;color:#2f3a45;margin-right:4px;}
.os-apontamento-avatar{width:22px;height:22px;border-radius:999px;background:#2f8cff;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex:0 0 auto;}
.os-apontamento-user-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.os-apontamento-dot{color:#8995a3;font-weight:700;}
.os-apontamento-type{color:#6e7783;font-weight:600;}
.os-apontamento-row-metrics{margin-left:auto;display:flex;align-items:center;gap:20px;color:#303740;font-size:15px;white-space:nowrap;}
.os-apontamento-clock{color:#23a047;margin-right:4px;}
.os-apontamento-money{color:#c77a00;margin-right:5px;}
.os-apontamento-row-bottom{display:flex;align-items:flex-start;gap:12px;margin-top:9px;color:#303740;font-size:15px;}
.os-apontamento-mode{color:#147de8;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;}
.os-apontamento-date{white-space:nowrap;}
.os-apontamento-description{color:#8a94a3;margin-left:40px;margin-top:7px;font-size:14px;}
.os-apontamento-actions{margin-left:auto;display:flex;align-items:center;gap:14px;}
.os-apontamento-icon-btn{border:0;background:transparent;padding:0;color:#198cff;cursor:pointer;font-size:18px;line-height:1;}
.os-apontamento-icon-btn.delete{color:#ff5a64;}
.os-apontamentos-total{display:flex;justify-content:flex-end;gap:13px;align-items:center;padding:10px 16px;background:#eaf5ff;color:#45515e;font-size:15px;}
.os-apontamentos-total strong{color:#303740;font-weight:700;}
.os-apontamento-modal{border:0;padding:0;background:transparent;width:min(520px,calc(100vw - 32px));}
.os-apontamento-modal::backdrop{background:rgba(17,24,39,.56);}
.os-apontamento-card{background:#fff;border-radius:3px;box-shadow:0 18px 45px rgba(0,0,0,.25);max-height:88vh;display:flex;flex-direction:column;overflow:hidden;}
.os-apontamento-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px;border-bottom:1px solid #eef1f5;}
.os-apontamento-modal-head h3{font-size:18px;font-weight:500;margin:0;color:#2f3338;}
.os-apontamento-close{border:0;background:transparent;color:#8a8f98;font-size:28px;line-height:1;cursor:pointer;}
.os-apontamento-modal-body{padding:18px 16px;overflow:auto;display:grid;gap:13px;}
.os-apontamento-os-title{font-size:18px;color:#2f3338;margin-bottom:4px;}
.os-apontamento-os-title small{color:#7a8491;margin-left:6px;}
.os-apontamento-field{display:grid;gap:8px;color:#333;font-size:15px;}
.os-apontamento-field span{font-weight:500;}
.os-apontamento-time-grid,.os-apontamento-period-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.os-apontamento-period-link{justify-self:start;border:0;background:transparent;color:#1683ff;font-size:15px;cursor:pointer;padding:0 0 3px 6px;}
.os-apontamento-modal-footer{display:flex;justify-content:flex-end;gap:9px;padding:12px 16px 16px;background:#fff;border-top:1px solid #eef1f5;}
@media(max-width:680px){.os-apontamento-row-top,.os-apontamento-row-bottom{flex-wrap:wrap}.os-apontamento-row-metrics{margin-left:0;width:100%;justify-content:flex-start}.os-apontamento-description{margin-left:0}.os-apontamento-time-grid,.os-apontamento-period-grid{grid-template-columns:1fr}}

/* Ajuste solicitado: apontamentos sem categoria e ações no menu de 3 pontos */
.os-apontamento-dot,
.os-apontamento-type,
.os-apontamento-mode{display:none!important;}
.os-apontamento-row{position:relative;overflow:visible;}
.os-apontamentos-list{overflow:visible;}
.os-apontamento-row-metrics{gap:12px;position:relative;}
.os-apontamento-menu-wrap{position:relative;display:inline-flex;align-items:center;}
.os-apontamento-menu-btn{width:32px;height:32px;border:0;background:#1e88ff;color:#fff;font-size:22px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:0;padding:0;}
.os-apontamento-menu{display:none;position:absolute;right:0;top:36px;width:138px;background:#fff;border:1px solid #dbe3ec;box-shadow:0 12px 28px rgba(15,23,42,.16);z-index:30;padding:8px 0;}
.os-apontamento-menu.open{display:block;}
.os-apontamento-menu button{display:block;width:100%;border:0;background:#fff;text-align:left;padding:9px 14px;font-size:14px;color:#344254;cursor:pointer;}
.os-apontamento-menu button:hover{background:#f4f7fb;}
.os-apontamento-menu button.danger{color:#ff4d57;}
.os-apontamento-row-bottom{padding-right:46px;}


/* Ajuste: apontamentos sem atividade, sem seta, menu transparente e ícone de relógio customizável */
.os-apontamento-caret{display:none!important;}
.os-apontamento-menu-btn{
  width:32px;
  height:32px;
  border:0!important;
  background:transparent!important;
  color:#1683ff!important;
  font-size:24px;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  border-radius:0;
  padding:0;
  box-shadow:none!important;
}
.os-apontamento-menu-btn:hover,
.os-apontamento-menu-btn:focus{
  background:transparent!important;
  outline:none;
}
.os-apontamento-clock-img{
  width:14px;
  height:14px;
  object-fit:contain;
  vertical-align:-2px;
  margin-right:5px;
}
.os-apontamento-clock-fallback{
  color:#23a047;
  margin-right:5px;
}
.os-apontamento-row-user{gap:8px;}

/* Ajuste: apontamento sem horas duplicadas e anexos dentro do apontamento */
.os-apontamento-upload-rect{
  display:grid;
  gap:12px;
  width:100%;
  border:1px dashed #b9d7fb;
  background:#f7fbff;
  padding:14px 16px;
  box-sizing:border-box;
}
.os-apontamento-anexos{
  color:#6f7a88;
  margin-left:40px;
  margin-top:6px;
  font-size:13px;
}
.os-apontamento-row-bottom{
  padding-right:46px;
  gap:0;
}
.os-apontamento-row-bottom .os-apontamento-date{
  white-space:normal;
}
.os-apontamento-menu-btn{
  background:transparent!important;
  border:0!important;
  color:#1683ff!important;
  box-shadow:none!important;
}
@media(max-width:680px){.os-apontamento-anexos{margin-left:0}}

/* Ajuste: total sem faixa azul e fotos do apontamento em miniaturas clicáveis */
.os-apontamentos-total{
  background:transparent!important;
  border-top:1px solid #e7edf4;
  padding:10px 14px 12px!important;
  color:#303740!important;
}
.os-apontamentos-total span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.os-apontamento-anexos{
  margin-left:40px!important;
  margin-top:10px!important;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  color:#6f7a88;
}
.os-apontamento-photo-thumb{
  width:54px;
  height:54px;
  border:1px solid #d7e1ec;
  background:#fff;
  padding:0;
  border-radius:3px;
  overflow:hidden;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.os-apontamento-photo-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.os-apontamento-photo-thumb:hover{
  border-color:#1683ff;
  box-shadow:0 0 0 2px rgba(22,131,255,.12);
}
.os-apontamento-doc-chip{
  display:inline-flex;
  align-items:center;
  max-width:190px;
  padding:5px 8px;
  border:1px solid #d7e1ec;
  background:#fff;
  border-radius:3px;
  color:#1683ff;
  text-decoration:none;
  font-size:13px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media(max-width:680px){.os-apontamento-anexos{margin-left:0!important}}

/* Ajuste solicitado: padronizar textos da abertura com a área de Apontamentos */
.os-detail-combined-card .os-detail-opening-description-title{
  font-size:16px!important;
  font-weight:500!important;
  line-height:1.35!important;
  color:#2a2f36!important;
  margin-bottom:10px!important;
}
.os-detail-combined-card .os-detail-opening-description{
  font-size:14px!important;
  font-family:inherit!important;
  color:#8a94a3!important;
  line-height:1.45!important;
}
.os-detail-combined-card .os-detail-empty{
  font-size:14px!important;
  font-family:inherit!important;
  color:#8a94a3!important;
  line-height:1.45!important;
}


/* Ajustes de padronização do cabeçalho da O.S. */
.os-detail-combined-card .os-service-card-title {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
}

.os-detail-combined-card .os-service-card-meta-item {
  font-size: 13px;
  line-height: 1.45;
}

.os-detail-combined-card .os-service-card-meta-label,
.os-detail-combined-card .os-service-card-meta-value {
  font-size: inherit;
}

/* Ajuste solicitado: aumentar fonte do cabeçalho/detalhes da O.S. */
.os-detail-combined-card .os-service-card-meta-item,
.os-detail-combined-card .os-service-card-meta-label,
.os-detail-combined-card .os-service-card-meta-value {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

.os-detail-combined-card .os-service-card .os-list-badge,
.os-detail-combined-card .os-status-card {
  font-size: 14px !important;
}

.os-detail-combined-card .os-service-card-title {
  font-size: 25px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

/* Ajuste: calendário do apontamento no mesmo modelo da abertura da O.S., sem separar data e hora */
.os-apontamento-field .chronos-picker-wrap {
  width: 100%;
}
.os-apontamento-field .chronos-picker-display {
  width: 100%;
  height: 35px;
  min-height: 35px;
  border: 1px solid #d7e0ea;
  border-radius: 0;
  background: #fff;
  padding: 0 10px 0 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  box-shadow: none;
}
.os-apontamento-field .chronos-picker-display-text {
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  line-height: 1.2;
  color: #6b7280;
  font-weight: 400;
  letter-spacing: 0;
}
.os-apontamento-field .chronos-picker-display.is-placeholder .chronos-picker-display-text {
  color: #7c8798;
}
.os-apontamento-field .chronos-picker-icon {
  color: #4b5563;
  order: 2;
}
.os-apontamento-field .chronos-picker-panel {
  top: calc(100% + 6px);
  left: 0;
  max-height: min(420px, calc(100vh - 170px));
  overflow-y: auto;
  overscroll-behavior: contain;
}

/* Ajuste: calendário do campo Fim abre para a esquerda para não criar barra horizontal */
.os-apontamento-field:has(#apontamento-periodo-fim) .chronos-picker-panel {
  left: auto;
  right: 0;
}
.chronos-picker-time-row {
  display: grid;
  grid-template-columns: 1fr 66px auto 66px;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #eef2f7;
}
.chronos-picker-time-label {
  color: #64748b;
  font-size: 12px;
  font-weight: 600;
}
.chronos-picker-time-select {
  height: 34px;
  border: 1px solid #d6e4f5;
  border-radius: 0;
  background: #fff;
  color: #111827;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
  text-align-last: center;
  padding: 0 8px;
}
.chronos-picker-time-select:focus {
  outline: none;
  border-color: #2c94fc;
}
.chronos-picker-time-separator {
  color: #64748b;
  font-weight: 800;
}

/* Ajuste solicitado: bordas retas e azuis nos campos do modal de apontamento */
.os-apontamento-modal .input,
.os-apontamento-modal input,
.os-apontamento-modal select,
.os-apontamento-modal textarea,
.os-apontamento-modal .chronos-picker-display,
.os-apontamento-modal .modern-file-label,
.os-apontamento-modal .modern-file-upload {
  border-radius: 0 !important;
}

.os-apontamento-modal .input:focus,
.os-apontamento-modal input:focus,
.os-apontamento-modal select:focus,
.os-apontamento-modal textarea:focus,
.os-apontamento-modal .input:focus-visible,
.os-apontamento-modal input:focus-visible,
.os-apontamento-modal select:focus-visible,
.os-apontamento-modal textarea:focus-visible,
.os-apontamento-modal .chronos-picker-display:focus,
.os-apontamento-modal .chronos-picker-display:focus-visible,
.os-apontamento-modal .chronos-picker-wrap.picker-open .chronos-picker-display,
.os-apontamento-modal .chronos-picker-wrap.is-open .chronos-picker-display,
.os-apontamento-modal .modern-file-label:focus,
.os-apontamento-modal .modern-file-label:focus-within,
.os-apontamento-modal .modern-file-upload:focus-within {
  border-color: #2c94fc !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Ajuste solicitado: uploads do modal de apontamentos iguais ao cadastro de ativos */
.os-apontamento-modal .os-apontamento-upload-rect {
  display: grid !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 72px !important;
  padding: 14px 16px !important;
  border: 1px dashed #b9d7fb !important;
  background: #f7fbff !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
}

.os-apontamento-modal .modern-file-input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
}

.os-apontamento-modal .modern-file-label {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  min-height: 42px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  cursor: pointer !important;
  border-radius: 0 !important;
}

.os-apontamento-modal .modern-file-label:hover {
  background: transparent !important;
}

.os-apontamento-modal .modern-file-icon {
  width: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #2c94fc !important;
  color: #fff !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  flex: 0 0 42px !important;
  border-radius: 0 !important;
}

.os-apontamento-modal .modern-file-texts {
  display: grid !important;
  gap: 3px !important;
}

.os-apontamento-modal .modern-file-texts strong {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #2c94fc !important;
}

.os-apontamento-modal .modern-file-texts small {
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #7b8494 !important;
  line-height: 1.35 !important;
}


/* Ajuste solicitado: botões de remover somente no modal de apontamentos */
.os-apontamento-modal #apontamento-photo-remove-all,
.os-apontamento-modal #apontamento-document-remove-all {
  appearance: none !important;
  border: 1px solid #2c94fc !important;
  border-radius: 0 !important;
  background: #2c94fc !important;
  color: #ffffff !important;
  padding: 8px 14px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.os-apontamento-modal #apontamento-photo-remove-all:hover,
.os-apontamento-modal #apontamento-document-remove-all:hover,
.os-apontamento-modal #apontamento-photo-remove-all:focus,
.os-apontamento-modal #apontamento-document-remove-all:focus {
  border-color: #1683ff !important;
  background: #1683ff !important;
  color: #ffffff !important;
  outline: none !important;
  box-shadow: none !important;
  transform: none !important;
}

.os-apontamento-modal .os-apontamento-trash-btn {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  padding: 0 !important;
  border: 1px solid #d7e8ff !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  color: #2c94fc !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
  cursor: pointer !important;
  line-height: 1 !important;
}

.os-apontamento-modal .os-apontamento-trash-btn:hover,
.os-apontamento-modal .os-apontamento-trash-btn:focus {
  border-color: #2c94fc !important;
  background: #eef6ff !important;
  color: #2c94fc !important;
  outline: none !important;
  box-shadow: none !important;
  transform: none !important;
}

.os-apontamento-modal .os-apontamento-trash-btn img {
  width: 16px !important;
  height: 16px !important;
  object-fit: contain !important;
  display: block !important;
}

.os-apontamento-modal .os-apontamento-trash-fallback {
  display: none;
  font-size: 15px;
  line-height: 1;
}

/* Ajuste solicitado: cores dos valores dos cards na página Solicitações */
body[data-page="solicitacao"] .os-metric-card.open .os-metric-value { color: #FCD835 !important; }
body[data-page="solicitacao"] .os-metric-card.done .os-metric-value { color: #3E3AFF !important; }
body[data-page="solicitacao"] .os-metric-card.external .os-metric-value { color: #D80000 !important; }

/* Solicitações: cores dos cards e etiquetas conforme status */
body[data-page="solicitacao"] .os-metric-card.open .os-metric-value { color: #FCD835 !important; }
body[data-page="solicitacao"] .os-metric-card.done .os-metric-value { color: #3E3AFF !important; }
body[data-page="solicitacao"] .os-metric-card.external .os-metric-value { color: #D80000 !important; }
body[data-page="solicitacao"] .os-status-card.solicitacao-status {
  background: #ffffff;
  border-radius: 0;
}
body[data-page="solicitacao"] .os-status-card.solicitacao-status img {
  width: 15px;
  height: 15px;
  display: block;
  flex: 0 0 auto;
  object-fit: contain;
}
body[data-page="solicitacao"] .os-status-card.solicitacao-status.pending {
  color: #FCD835;
  border-color: #FCD835;
}
body[data-page="solicitacao"] .os-status-card.solicitacao-status.done {
  color: #3E3AFF;
  border-color: #3E3AFF;
}
body[data-page="solicitacao"] .os-status-card.solicitacao-status.external {
  color: #D80000;
  border-color: #D80000;
}

/* Ajuste solicitado: árvore de ativos em Procedimentos na escala correta */
#proc-asset-select-dropdown {
  min-width: 520px !important;
  max-width: 520px !important;
  max-height: 390px !important;
  overflow: auto !important;
  padding: 10px 10px 10px 0 !important;
  background: #ffffff !important;
  border: 1px solid #dbe3ef !important;
  box-shadow: 0 12px 24px rgba(15, 23, 42, .12) !important;
  z-index: 200 !important;
}

#proc-asset-select-dropdown .os-asset-tree {
  max-height: 330px !important;
  overflow: auto !important;
  padding: 6px 8px 6px 0 !important;
}

#proc-asset-select-dropdown .asset-tree-list,
#proc-asset-select-dropdown .asset-tree-children {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: max-content !important;
}

#proc-asset-select-dropdown .asset-tree-children {
  margin-left: 13px !important;
  padding-left: 18px !important;
  border-left: 1px dashed #d7deea !important;
}

#proc-asset-select-dropdown .asset-tree-node {
  position: relative !important;
  margin: 2px 0 !important;
}

#proc-asset-select-dropdown .asset-tree-row {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 38px !important;
  width: max-content !important;
  min-width: 100% !important;
  padding: 6px 10px 6px 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #445063 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

#proc-asset-select-dropdown .asset-tree-row:hover,
#proc-asset-select-dropdown .asset-tree-row.active {
  background: transparent !important;
  color: #111827 !important;
}

#proc-asset-select-dropdown .asset-tree-toggle {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  flex: 0 0 18px !important;
  border: 0 !important;
  background: transparent !important;
  color: #111827 !important;
  display: inline-grid !important;
  place-items: center !important;
  padding: 0 !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

#proc-asset-select-dropdown .asset-tree-toggle::before {
  content: '⌄' !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

#proc-asset-select-dropdown .asset-tree-toggle.collapsed::before {
  content: '›' !important;
}

#proc-asset-select-dropdown .asset-tree-toggle.empty {
  visibility: hidden !important;
}

#proc-asset-select-dropdown .custom-level-icon,
#proc-asset-select-dropdown .asset-tree-icon {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  flex: 0 0 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #2c94fc !important;
}

#proc-asset-select-dropdown .custom-level-icon-image,
#proc-asset-select-dropdown .custom-level-icon img,
#proc-asset-select-dropdown .custom-level-icon svg,
#proc-asset-select-dropdown .asset-tree-icon img,
#proc-asset-select-dropdown .asset-tree-icon svg {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  object-fit: contain !important;
  display: block !important;
}

#proc-asset-select-dropdown .asset-tree-content {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  width: max-content !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
}

#proc-asset-select-dropdown .os-asset-node-type {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #7c8698 !important;
  white-space: nowrap !important;
}

#proc-asset-select-dropdown .asset-tree-label {
  flex: 0 0 auto !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #445063 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

#proc-asset-select-dropdown #proc-asset-search {
  width: 270px !important;
  height: 42px !important;
}

/* Ajuste Procedimentos - listas em cards no estilo biblioteca/checklist */
.proc-card-sections{
  gap:16px;
}
.proc-form-card{
  background:#f6f9fd;
  border:1px solid #dbe3ef;
  padding:14px;
}
.proc-form-card-head{
  margin-bottom:14px;
  padding:0 0 4px;
}
.proc-form-card-head strong{
  font-size:17px;
  color:#111827;
}
.proc-form-card-head small{
  font-size:13px;
  color:#778399;
}
.proc-step-dot{
  width:32px;
  height:32px;
  min-width:32px;
}
.proc-list-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:16px;
}
.proc-list-card{
  background:#fff;
  border:1px solid #dbe3ef;
  padding:16px;
  box-shadow:none;
}
.proc-list-card-head{
  margin-bottom:12px;
}
.proc-list-card-head strong{
  font-size:16px;
  color:#111827;
  font-weight:700;
}
.proc-add-item{
  color:#2d8cf0;
  font-weight:700;
  border:0;
  background:transparent;
  padding:4px 0;
}
.proc-dynamic-list{
  gap:7px;
}
.proc-list-item-row{
  display:grid;
  grid-template-columns:18px minmax(0,1fr) 28px;
  gap:8px;
  align-items:center;
  min-height:28px;
}
.proc-list-item-row::before{
  content:"";
  width:13px;
  height:13px;
  border:1px solid #cfd7e3;
  background:#fff;
  display:block;
}
.proc-list-item-input{
  height:30px;
  min-height:30px;
  border:0 !important;
  background:transparent !important;
  padding:0 4px !important;
  color:#111827;
  font-size:14px;
  box-shadow:none !important;
}
.proc-list-item-input:focus{
  outline:none !important;
  border:0 !important;
  box-shadow:none !important;
}
.proc-remove-list-item{
  height:28px;
  width:28px;
  border:0;
  background:transparent;
  color:#d80000;
  font-weight:800;
  cursor:pointer;
}
.proc-criterio-field{
  width:100%;
  display:block;
  margin-top:10px;
}
.proc-criterio-field textarea{
  width:100%;
  min-height:86px;
  display:block;
  resize:vertical;
}
.proc-steps-list{
  gap:12px;
}
.proc-step{
  display:block;
  background:#fff;
  border:1px solid #dbe3ef;
  padding:16px;
  border-radius:0;
}
.proc-check-card-head{
  display:grid;
  grid-template-columns:32px minmax(0,1fr) 32px;
  gap:10px;
  align-items:center;
  margin-bottom:10px;
}
.proc-check-title-input{
  border:0 !important;
  background:transparent !important;
  height:32px;
  min-height:32px;
  padding:0 !important;
  font-size:17px;
  font-weight:700;
  color:#111827;
  box-shadow:none !important;
}
.proc-check-title-input:focus{
  outline:none !important;
  border:0 !important;
  box-shadow:none !important;
}
.proc-check-obs-input{
  border:0 !important;
  background:transparent !important;
  min-height:34px;
  padding:0 0 8px 42px !important;
  color:#7a879a;
  font-size:14px;
  box-shadow:none !important;
  width:100%;
}
.proc-check-obs-input:focus{
  outline:none !important;
  border:0 !important;
  box-shadow:none !important;
}
.proc-check-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:8px;
}
.proc-check-choice{
  height:34px;
  border:1px solid #d1d5db;
  background:#fff;
  font-weight:700;
  cursor:pointer;
  border-radius:0;
}
.proc-check-choice.proc-choice-ok{color:#00a651;}
.proc-check-choice.proc-choice-nok{color:#d80000;}
.proc-check-choice.proc-choice-na{color:#7a879a;}
.proc-check-choice.active.proc-choice-ok{border-color:#00a651;background:#f0fff7;}
.proc-check-choice.active.proc-choice-nok{border-color:#d80000;background:#fff5f5;}
.proc-check-choice.active.proc-choice-na{border-color:#7a879a;background:#f6f7f9;}
.proc-open-sol{
  margin-top:10px;
}
.proc-step .proc-remove-step{
  width:32px;
  height:32px;
  border:0;
  background:transparent;
  color:#d80000;
  font-size:18px;
  font-weight:800;
  cursor:pointer;
}
.proc-note{
  background:#fff;
  border:1px solid #dbe3ef;
}
@media(max-width:900px){
  .proc-list-grid{grid-template-columns:1fr;}
  .proc-check-actions{grid-template-columns:1fr;}
  .proc-check-obs-input{padding-left:0 !important;}
}

/* Ajuste solicitado: modal de plano sem fundo azul e com a mesma fonte/tamanho da O.S. */
#plano-modal::backdrop,
#plano-day-modal::backdrop {
  background: rgba(15, 23, 42, 0.58) !important;
  backdrop-filter: none !important;
}

#plano-modal,
#plano-day-modal {
  background: transparent !important;
}

#plano-modal .plano-modal-card,
#plano-day-modal .plano-day-modal-card {
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;
  color: #111827 !important;
  box-shadow: none !important;
}

#plano-modal .modal-title,
#plano-day-modal .modal-title {
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: #111827 !important;
  margin-bottom: 0 !important;
}

#plano-modal .asset-modal-subtitle,
#plano-day-modal .asset-modal-subtitle {
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  color: #7a879a !important;
}

#plano-modal .modal-field,
#plano-modal .modal-field > span,
#plano-day-modal .modal-field,
#plano-day-modal .modal-field > span {
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  color: #2a2f36 !important;
}

#plano-modal .input,
#plano-modal input,
#plano-modal select,
#plano-modal textarea,
#plano-day-modal .input,
#plano-day-modal input,
#plano-day-modal select,
#plano-day-modal textarea {
  font-size: 14px !important;
  font-family: inherit !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  color: #34415a !important;
}

#plano-modal .input::placeholder,
#plano-day-modal .input::placeholder {
  color: #8a94a3 !important;
}

#plano-modal .plano-asset-row span,
#plano-modal .plano-asset-row b,
#plano-modal .plano-weekday-list label,
#plano-modal .proc-asset-chip,
#plano-day-modal .plano-day-modal-list,
#plano-day-modal .plano-day-modal-list * {
  font-size: 14px !important;
  font-family: inherit !important;
  line-height: 1.45 !important;
}

#plano-modal .btn,
#plano-day-modal .btn {
  font-size: 14px !important;
  font-family: inherit !important;
  font-weight: 500 !important;
}


/* Ajustes solicitados nos planos: modal de exclusão acima dos demais, campos bloqueados e espaçamento do Tipo */
#plano-delete-confirm.os-delete-confirm-backdrop{
  border:0 !important;
  width:100vw !important;
  height:100vh !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  background:rgba(15,23,42,.35) !important;
  padding:20px !important;
}
#plano-delete-confirm::backdrop{
  background:rgba(15,23,42,.45) !important;
}
#plano-delete-confirm.hidden{display:none !important;}
#plano-modal #plano-codigo[readonly],
#plano-modal #plano-titulo[readonly]{
  background:#f8fafc !important;
  color:#34415a !important;
  cursor:not-allowed !important;
}
#plano-modal .plano-tipo-field{
  align-self:start !important;
  height:auto !important;
  margin-bottom:0 !important;
}
#plano-modal .plano-tipo-field .input{
  height:36px !important;
  min-height:36px !important;
}

/* Ajustes de recorrência dos planos */
#plano-modal .plano-weeks-month.hidden,
#plano-modal .plano-weekdays.hidden,
#plano-modal .plano-day-month.hidden,
#plano-modal .plano-meter-value.hidden{display:none !important;}
#plano-modal .plano-month-week-list label{min-width:112px;}
#plano-delete-confirm{z-index:2147483647 !important;}
#plano-delete-confirm .os-delete-confirm-box{z-index:2147483647 !important;}

/* Ajuste solicitado: página Ativos no mesmo modelo da Ordem de Serviço */
.assets-workspace-header {
  display: grid !important;
  grid-template-columns: minmax(320px, 0.9fr) minmax(500px, 1.5fr) !important;
  gap: 20px !important;
  align-items: center !important;
  margin-bottom: 18px !important;
}
.assets-page-title {
  margin: 0 !important;
  padding-left: 0 !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  color: #0f172a !important;
}
.assets-workspace-toolbar {
  grid-column: 2 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
}
.assets-workspace-toolbar .search-wrap,
.assets-workspace-toolbar .search-wide,
.assets-search-grow {
  flex: 0 1 380px !important;
  width: 380px !important;
  max-width: 100% !important;
  min-width: 280px !important;
}
.assets-workspace-toolbar .toolbar-filter-wrap {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
}
@media (max-width: 980px) {
  .assets-workspace-header {
    grid-template-columns: 1fr !important;
  }
  .assets-workspace-toolbar {
    grid-column: 1 !important;
  }
  .assets-workspace-toolbar .search-wrap,
  .assets-workspace-toolbar .search-wide,
  .assets-search-grow {
    width: 100% !important;
    flex: 1 1 auto !important;
  }
}

/* Ajuste solicitado: título Ativos com mesma fonte, tamanho e cor do título Ordem de serviço */
.assets-page-title {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #111827 !important;
  line-height: 1.2 !important;
  padding-top: 10px !important;
  padding-left: 28px !important;
  margin: 0 !important;
}

/* Ajuste: número do card Pausados em amarelo */
body[data-page="plano"] .plano-metric.paused b,
body[data-page="plano"] #plano-count-pausados{color:#F8AC12 !important;}

/* Mensagem interna dos planos no mesmo padrão do modal de confirmação */
#plano-app-message.os-delete-confirm-backdrop{
  border:0 !important;
  width:100vw !important;
  height:100vh !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  background:rgba(15,23,42,.35) !important;
  padding:20px !important;
  z-index:2147483647 !important;
}
#plano-app-message::backdrop{background:rgba(15,23,42,.45) !important;}
#plano-app-message.hidden{display:none !important;}
#plano-app-message .os-delete-confirm-box{z-index:2147483647 !important;}

/* Descrição da abertura da O.S. sem cortar conteúdo */
.os-detail-combined-card .os-detail-opening-description{
  min-height:72px !important;
  height:auto !important;
  max-height:none !important;
  overflow:hidden !important;
  white-space:pre-wrap !important;
}


/* Correção: descrição do defeito/serviço autoajustável e sem corte */
.os-detail-opening-description,
.os-detail-combined-card .os-detail-opening-description{
  display:block !important;
  width:100% !important;
  min-height:96px !important;
  height:auto !important;
  max-height:none !important;
  overflow:hidden !important;
  resize:none !important;
  white-space:pre-wrap !important;
  line-height:1.45 !important;
  box-sizing:border-box !important;
}

/* Correção: botão Abrir solicitação menos largo no checklist da O.S. */
.os-procedimento-exec-wrap .proc-open-sol{
  width:auto !important;
  min-width:132px !important;
  max-width:180px !important;
  padding:0 18px !important;
  justify-self:start !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}


/* Botão personalizado em Ativos: fica entre o filtro e o menu de três pontos.
   Substitua o arquivo static/icons/ativo_personalizado.png pelo ícone desejado. */
.asset-custom-icon-btn {
  width: 36px;
  min-width: 36px;
  height: 36px;
  padding: 0;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ffffff !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 4px;
  cursor: pointer;
}

.asset-custom-icon-btn:hover {
  background: #f8fbff !important;
}

.asset-custom-icon-btn img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  display: block;
}


/* Histórico do ativo: modal com cards de ordens de serviço */
.asset-history-modal::backdrop {
  background: rgba(15, 23, 42, 0.48);
}

.asset-history-card {
  width: min(980px, calc(100vw - 80px));
  max-height: min(86vh, 760px);
  overflow: hidden;
  padding: 28px 32px 32px;
  border: 1px solid #d8e4f7;
  border-radius: 0;
  box-shadow: 0 22px 55px rgba(15, 23, 42, 0.22);
}

.asset-history-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding-right: 44px;
  margin-bottom: 18px;
}

.asset-history-title {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 800;
  color: #0f172a;
}

.asset-history-machine-title {
  font-size: 14px;
  color: #60708a;
  font-weight: 600;
}

.asset-history-machine-path {
  margin-top: 4px;
  font-size: 12px;
  color: #7a88a0;
}

.asset-history-list {
  display: grid;
  gap: 14px;
  max-height: calc(86vh - 145px);
  overflow: auto;
  padding: 4px 8px 2px 0;
}

.asset-history-list .os-service-card {
  margin: 0;
  cursor: default;
}

.asset-history-empty {
  border: 1px dashed #cbdaf0;
  padding: 32px;
  text-align: center;
  color: #6b7a90;
  background: #fbfdff;
}

@media (max-width: 760px) {
  .asset-history-card {
    width: calc(100vw - 24px);
    padding: 22px 18px;
  }
  .asset-history-title { font-size: 22px; }
}

/* Ajustes do histórico do ativo */
.asset-history-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 10px 0 18px;
}

.asset-history-search-wrap {
  width: min(420px, 100%);
  height: 40px;
  border: 1px solid #d8e4f7;
  background: #fff;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
}

.asset-history-search-wrap svg {
  width: 16px;
  height: 16px;
  color: #93a4bd;
  flex: 0 0 auto;
}

.asset-history-search-wrap input {
  border: 0;
  outline: 0;
  width: 100%;
  height: 100%;
  color: #1f2a44;
  font: inherit;
  background: transparent;
}

.asset-history-search-wrap input::placeholder {
  color: #8a98ad;
}

.asset-history-status-filter {
  height: 40px;
  min-width: 138px;
  border: 1px solid #d8e4f7;
  background: #fff;
  color: #425b7a;
  padding: 0 12px;
  outline: none;
}

.asset-history-list .os-status-card {
  min-height: 34px;
  height: 36px;
  min-width: 114px;
  padding: 5px 10px;
  gap: 7px;
  justify-content: center;
  font-size: 12px;
}

.asset-history-list .os-status-card img,
.asset-history-list .os-status-card.pending img,
.asset-history-list .os-status-card.done img,
.asset-history-list .os-status-card.external img {
  width: 15px !important;
  height: 15px !important;
  object-fit: contain;
  display: block;
  flex: 0 0 auto;
}

.asset-history-list .os-service-card-header-left {
  align-items: center;
}

@media (max-width: 760px) {
  .asset-history-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  .asset-history-search-wrap,
  .asset-history-status-filter {
    width: 100%;
  }
}


/* Correção do modal de histórico do ativo */
.asset-history-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  width: min(980px, calc(100vw - 80px)) !important;
  max-height: calc(100vh - 48px) !important;
  overflow: hidden !important;
  padding: 28px 32px 26px !important;
}
.asset-history-close {
  position: absolute !important;
  top: 28px !important;
  right: 32px !important;
  width: 26px !important;
  height: 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
  border: 1px solid #d1d5db !important;
  color: #111827 !important;
  border-radius: 2px !important;
  font-size: 18px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  z-index: 2 !important;
}
.asset-history-title-row {
  padding-right: 52px !important;
  margin-bottom: 18px !important;
  flex: 0 0 auto !important;
}
.asset-history-title {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #111827 !important;
  line-height: 1.2 !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
}
.asset-history-toolbar {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 8px 0 18px !important;
}
.asset-history-toolbar .asset-history-search-wrap {
  width: 380px !important;
  max-width: 380px !important;
  min-width: 380px !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  gap: 0 !important;
}
.asset-history-toolbar .asset-history-search-wrap svg {
  width: 18px !important;
  height: 18px !important;
}
.asset-history-filter-button {
  width: 40px !important;
  height: 40px !important;
  border: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}
.asset-history-status-filter-hidden {
  display: none !important;
}
.asset-history-list {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  display: grid !important;
  gap: 14px !important;
  padding: 4px 10px 12px 0 !important;
}
.asset-history-list .os-service-card {
  width: 100% !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}
@media (max-width: 760px) {
  .asset-history-card {
    width: calc(100vw - 24px) !important;
    max-height: calc(100vh - 24px) !important;
    padding: 22px 18px !important;
  }
  .asset-history-close {
    top: 18px !important;
    right: 18px !important;
  }
  .asset-history-toolbar {
    align-items: flex-start !important;
  }
  .asset-history-toolbar .asset-history-search-wrap {
    min-width: 0 !important;
    width: calc(100% - 52px) !important;
    max-width: calc(100% - 52px) !important;
  }
}

/* Correção final: espaçamentos e bordas do modal de histórico do ativo */
#asset-history-modal.asset-history-modal .asset-history-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  width: min(980px, calc(100vw - 96px)) !important;
  max-height: calc(100vh - 72px) !important;
  padding: 28px 34px 34px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  border: 1px solid #d8e4f7 !important;
  background: #ffffff !important;
}

#asset-history-modal .asset-history-close {
  position: absolute !important;
  top: 28px !important;
  right: 34px !important;
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #d1d5db !important;
  background: #ffffff !important;
  color: #111827 !important;
  border-radius: 0 !important;
  font-size: 16px !important;
  line-height: 1 !important;
  z-index: 5 !important;
}

#asset-history-modal .asset-history-title-row {
  flex: 0 0 auto !important;
  padding-right: 48px !important;
  margin: 0 0 26px !important;
}

#asset-history-modal .asset-history-title {
  margin: 0 0 14px !important;
  padding: 0 !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  color: #111827 !important;
}

#asset-history-modal .asset-history-machine-title {
  margin: 0 0 4px !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  color: #60708a !important;
  font-weight: 600 !important;
}

#asset-history-modal .asset-history-machine-path {
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  color: #60708a !important;
}

#asset-history-modal .asset-history-toolbar {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  min-height: 42px !important;
}

#asset-history-modal .asset-history-toolbar .asset-history-search-wrap {
  position: relative !important;
  width: 380px !important;
  max-width: 380px !important;
  min-width: 380px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: block !important;
}

#asset-history-modal .asset-history-toolbar .asset-history-search-wrap .search-icon {
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 16px !important;
  height: 16px !important;
  color: #a3afc2 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#asset-history-modal .asset-history-toolbar .asset-history-search-wrap .search-icon svg {
  width: 16px !important;
  height: 16px !important;
  display: block !important;
}

#asset-history-modal #asset-history-search.os-search-input {
  width: 100% !important;
  height: 40px !important;
  box-sizing: border-box !important;
  border: 1px solid #d9e2ee !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  color: #475569 !important;
  padding: 0 40px 0 36px !important;
  font-size: 13px !important;
  line-height: 40px !important;
  outline: none !important;
  box-shadow: none !important;
}

#asset-history-modal #asset-history-search.os-search-input::placeholder {
  color: #8fa0b8 !important;
  opacity: 1 !important;
}

#asset-history-modal .asset-history-filter-button {
  width: 24px !important;
  min-width: 24px !important;
  height: 24px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#asset-history-modal .asset-history-filter-button .os-toolbar-filter-image {
  width: 16px !important;
  height: 16px !important;
  display: block !important;
  object-fit: contain !important;
}

#asset-history-modal .asset-history-list {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 14px !important;
  padding: 0 14px 8px 0 !important;
  box-sizing: border-box !important;
}

#asset-history-modal .asset-history-list .os-service-card {
  flex: 0 0 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 18px 20px 16px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  border: 1px solid #d8dde6 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

#asset-history-modal .asset-history-list .os-service-card-header,
#asset-history-modal .asset-history-list .os-service-card-meta-row {
  position: static !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

#asset-history-modal .asset-history-list .os-service-card-header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 16px !important;
}

#asset-history-modal .asset-history-list .os-service-card-header-left {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  min-width: 0 !important;
}

#asset-history-modal .asset-history-list .os-service-card-title {
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: #111827 !important;
  min-width: 0 !important;
  word-break: break-word !important;
}

#asset-history-modal .asset-history-list .os-service-card-number {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #2f86ff !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#asset-history-modal .asset-history-list .os-service-card-meta-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px 18px !important;
  overflow: visible !important;
}

#asset-history-modal .asset-history-list .os-service-card-meta-item {
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: #111827 !important;
  white-space: nowrap !important;
}

#asset-history-modal .asset-history-list .os-status-card {
  width: 114px !important;
  min-width: 114px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 5px 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  font-size: 12px !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
}

#asset-history-modal .asset-history-list .os-status-card img,
#asset-history-modal .asset-history-list .os-status-card svg {
  width: 15px !important;
  height: 15px !important;
  flex: 0 0 15px !important;
  object-fit: contain !important;
}

#asset-history-modal .asset-history-list .os-list-badge {
  min-height: 34px !important;
  height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px 16px !important;
  border-radius: 0 !important;
  font-size: 13px !important;
  box-sizing: border-box !important;
}

@media (max-width: 760px) {
  #asset-history-modal.asset-history-modal .asset-history-card {
    width: calc(100vw - 24px) !important;
    max-height: calc(100vh - 24px) !important;
    padding: 22px 18px 24px !important;
  }

  #asset-history-modal .asset-history-close {
    top: 18px !important;
    right: 18px !important;
  }

  #asset-history-modal .asset-history-toolbar {
    gap: 10px !important;
  }

  #asset-history-modal .asset-history-toolbar .asset-history-search-wrap {
    min-width: 0 !important;
    width: calc(100% - 38px) !important;
    max-width: calc(100% - 38px) !important;
  }
}

/* Filtro do histórico do ativo usando o mesmo design do filtro de O.S. */
.asset-history-filter-popover {
  z-index: 99999 !important;
}
#asset-history-filter-popover.os-filter-popover {
  border: 1px solid #d8e4f7 !important;
  background: #ffffff !important;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.14) !important;
}
#asset-history-modal .asset-history-filter-button.is-active .os-toolbar-filter-image {
  filter: none !important;
}


/* Correção: filtro do histórico acima do modal do histórico */
#asset-history-modal #asset-history-filter-popover.asset-history-filter-popover {
  position: fixed !important;
  z-index: 2147483647 !important;
  background: #ffffff !important;
  pointer-events: auto !important;
}
#asset-history-modal #asset-history-filter-popover.asset-history-filter-popover.hidden {
  display: none !important;
}

/* SUPRIMENTOS / ESTOQUE */
.page-estoque-only{display:none}.estoque-panel{padding:22px}.estoque-toolbar{align-items:flex-start}.estoque-subtitle{font-size:12px;color:#70809a;margin-top:4px}.estoque-toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.estoque-search-wrap{flex:0 0 420px}.estoque-kpis{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;margin:16px 0}.estoque-kpi{height:66px;border:1px solid #dbe3ef;background:#fff;padding:10px 14px;display:flex;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;text-align:left}.estoque-kpi:hover,.estoque-kpi.active{border-color:#2d8cf0;background:#f7fbff}.estoque-kpi span{font-size:12px;color:#56657a;font-weight:700}.estoque-kpi b{font-size:17px;color:#2d8cf0}.estoque-kpi.warn b{color:#f8ac12}.estoque-kpi.danger b{color:#e52424}.estoque-kpi.blue b{color:#2d8cf0}.estoque-kpi.orange b{color:#b85b00}.estoque-tabs{display:flex;align-items:center;gap:8px;border-bottom:1px solid #e4e9f2;margin:8px 0 14px;overflow:auto}.estoque-tab{border:0;background:#f3f6fa;color:#4a5870;font-size:13px;font-weight:800;padding:11px 18px;cursor:pointer;white-space:nowrap}.estoque-tab.active{background:#2d8cf0;color:#fff}.estoque-tab-view{display:none}.estoque-tab-view.active{display:block}.estoque-list{display:grid;gap:14px}.estoque-empty{border:1px dashed #cbd7e8;background:#fff;padding:22px;text-align:center;color:#70809a}.estoque-item-card-list,.estoque-event-card,.estoque-buy-card,.estoque-req-card{border:1px solid #dbe3ef;background:#fff;padding:16px 18px}.estoque-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.estoque-item-title{font-size:18px;font-weight:800;color:#111827;margin:0 0 5px}.estoque-item-code{font-size:13px;color:#2d5f9a;font-weight:700}.estoque-item-meta{display:flex;flex-wrap:wrap;gap:14px 22px;margin:12px 0;color:#23314a;font-size:13px}.estoque-item-meta b{color:#111827}.estoque-stock-grid{display:grid;grid-template-columns:repeat(6,minmax(92px,1fr));gap:10px;margin-top:12px}.estoque-stock-cell{border:1px solid #e4e9f2;background:#f8fbff;padding:10px}.estoque-stock-cell span{display:block;font-size:11px;color:#71809a;font-weight:700}.estoque-stock-cell b{display:block;font-size:14px;color:#111827;margin-top:4px}.estoque-status{display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;padding:9px 12px;min-width:120px;border:1px solid #10b981;color:#009944;background:#ecfdf5}.estoque-status.low{border-color:#f8ac12;color:#ad6a00;background:#fffbeb}.estoque-status.zero{border-color:#ff2d2d;color:#e52424;background:#fff5f5}.estoque-status.reserved{border-color:#2d8cf0;color:#2d8cf0;background:#f3f8ff}.estoque-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.estoque-card-actions button,.estoque-mini-btn{border:1px solid #dbe3ef;background:#fff;color:#2d8cf0;font-weight:800;font-size:12px;height:36px;padding:0 12px;cursor:pointer}.estoque-card-actions button:hover,.estoque-mini-btn:hover{border-color:#2d8cf0;background:#f7fbff}.estoque-card-actions button.danger{color:#e52424}.estoque-form-section{border:1px solid #dbe3ef;background:#fff;padding:16px;margin-top:14px}.estoque-form-sections{margin-top:14px}.estoque-item-card{width:min(1050px,calc(100vw - 44px));max-height:calc(100vh - 36px);overflow:auto;border-radius:0}.estoque-move-card{width:min(680px,calc(100vw - 44px));border-radius:0}.estoque-modal-close{right:18px;top:18px}.estoque-form-section textarea.input{min-height:72px}.estoque-event-card{display:grid;grid-template-columns:140px minmax(0,1fr) 150px;gap:14px;align-items:center}.estoque-event-date{font-size:12px;color:#70809a;font-weight:800}.estoque-event-title{font-size:15px;font-weight:800;color:#111827}.estoque-event-desc{font-size:13px;color:#42526e;margin-top:4px}.estoque-event-value{text-align:right;font-weight:900;color:#111827}.estoque-req-card,.estoque-buy-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start}.estoque-req-title,.estoque-buy-title{font-size:16px;font-weight:900;color:#111827;margin-bottom:8px}.estoque-req-meta,.estoque-buy-meta{display:flex;flex-wrap:wrap;gap:12px 20px;font-size:13px;color:#30415e}.estoque-inventory-card{border:1px solid #dbe3ef;background:#fff;padding:18px}.estoque-inventory-card h3{margin:0 0 5px;color:#111827}.estoque-inventory-card p{margin:0 0 14px;color:#70809a;font-size:13px}.estoque-inventory-grid{display:grid;grid-template-columns:minmax(180px,1.4fr) 140px minmax(180px,1fr) 140px;gap:10px;align-items:center}.estoque-feedback{margin-top:12px;font-size:13px;color:#009944;font-weight:800}.estoque-cost-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px}.estoque-cost-card{border:1px solid #dbe3ef;background:#fff;padding:18px}.estoque-cost-card span{font-size:12px;font-weight:800;color:#70809a}.estoque-cost-card b{display:block;font-size:20px;color:#111827;margin-top:8px}.estoque-filter-popover{position:absolute;z-index:4000;background:#fff;border:1px solid #dbe3ef;box-shadow:0 14px 28px rgba(15,23,42,.16);width:520px;padding:14px;display:none}.estoque-filter-popover.open{display:block}.estoque-filter-popover h3{margin:0 0 4px;font-size:16px}.estoque-filter-popover p{margin:0 0 12px;font-size:12px;color:#70809a}.estoque-filter-grid{border:1px solid #dbe3ef;padding:14px;display:grid;gap:10px}.estoque-filter-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.estoque-pill{display:inline-flex;align-items:center;padding:5px 8px;font-size:11px;font-weight:900;border:1px solid #dbe3ef;background:#f8fbff;color:#40526e}.estoque-pill.open{border-color:#ff2d2d;color:#e52424;background:#fff5f5}.estoque-pill.done{border-color:#10b981;color:#009944;background:#ecfdf5}.estoque-pill.buy{border-color:#f8ac12;color:#ad6a00;background:#fffbeb}@media(max-width:1100px){.estoque-kpis{grid-template-columns:repeat(3,minmax(130px,1fr))}.estoque-stock-grid{grid-template-columns:repeat(3,minmax(92px,1fr))}.estoque-cost-grid{grid-template-columns:1fr 1fr}.estoque-event-card{grid-template-columns:1fr}.estoque-event-value{text-align:left}}@media(max-width:760px){.estoque-search-wrap{flex:1 1 100%}.estoque-kpis{grid-template-columns:1fr 1fr}.estoque-stock-grid,.estoque-inventory-grid,.estoque-cost-grid{grid-template-columns:1fr}.estoque-item-top{flex-direction:column}.estoque-filter-popover{width:calc(100vw - 40px);left:20px!important}}

/* Ajuste solicitado: manter a tipografia do módulo Suprimentos igual ao título da página */
body[data-page="estoque"] .page-estoque-only,
body[data-page="estoque"] .page-estoque-only *,
body[data-page="estoque"] .estoque-filter-popover,
body[data-page="estoque"] .estoque-filter-popover * {
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;
}

body[data-page="estoque"] .estoque-item-title,
body[data-page="estoque"] .estoque-req-title,
body[data-page="estoque"] .estoque-buy-title,
body[data-page="estoque"] .estoque-event-title,
body[data-page="estoque"] .estoque-inventory-card h3,
body[data-page="estoque"] .estoque-cost-card b {
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;
}


/* Planos: coluna CÓDIGO fixa */
body[data-page="plano"] .plano-calendar-grid-equipment .plano-cal-head.sticky-code,
body[data-page="plano"] .plano-calendar-grid-equipment .plano-cal-cell.sticky-code{
  position: sticky !important;
  left: 260px !important;
  z-index: 4 !important;
  background:#fff !important;
  box-shadow: 1px 0 0 #e4e9f2;
}
body[data-page="plano"] .plano-calendar-grid-equipment .plano-cal-head.sticky-code{
  background:#f8fafc !important;
  z-index:5 !important;
}
body[data-page="plano"] .plano-calendar-grid-equipment .plano-cal-head.sticky,
body[data-page="plano"] .plano-calendar-grid-equipment .plano-cal-cell.fixed-col{
  left:0 !important;
  z-index:6 !important;
  background:#fff !important;
}
body[data-page="plano"] .plano-calendar-grid-equipment .plano-cal-head.sticky{
  background:#f8fafc !important;
  z-index:7 !important;
}

/* Estoque - lista mais limpa e detalhes sob demanda */
body[data-page="estoque"] .estoque-list{
  gap:10px;
}
body[data-page="estoque"] .estoque-item-card-list.estoque-item-clean{
  padding:14px 18px;
  cursor:pointer;
  transition:border-color .15s ease, background .15s ease;
}
body[data-page="estoque"] .estoque-item-card-list.estoque-item-clean:hover{
  border-color:#2d8cf0;
  background:#fbfdff;
}
body[data-page="estoque"] .estoque-item-clean-main{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
body[data-page="estoque"] .estoque-item-clean-title{
  min-width:0;
}
body[data-page="estoque"] .estoque-item-clean .estoque-item-title{
  font-size:18px;
  margin:0 0 4px;
}
body[data-page="estoque"] .estoque-item-clean-line{
  display:flex;
  flex-wrap:wrap;
  gap:8px 24px;
  margin-top:10px;
  color:#30415e;
  font-size:13px;
}
body[data-page="estoque"] .estoque-item-clean-line b{
  color:#111827;
}
body[data-page="estoque"] .estoque-item-clean-numbers{
  display:grid;
  grid-template-columns:repeat(3, minmax(120px, 1fr));
  gap:10px;
  margin-top:12px;
  max-width:580px;
}
body[data-page="estoque"] .estoque-item-clean-numbers div{
  border:1px solid #e4e9f2;
  background:#f8fbff;
  padding:9px 11px;
}
body[data-page="estoque"] .estoque-item-clean-numbers span{
  display:block;
  color:#71809a;
  font-size:11px;
  font-weight:800;
}
body[data-page="estoque"] .estoque-item-clean-numbers b{
  display:block;
  margin-top:4px;
  color:#111827;
  font-size:14px;
}
body[data-page="estoque"] .estoque-item-clean .estoque-status{
  min-width:108px;
  height:34px;
  padding:0 12px;
  font-size:12px;
}
body[data-page="estoque"] .estoque-card-actions-clean{
  margin-top:12px;
}
body[data-page="estoque"] .estoque-card-actions-clean button{
  height:34px;
}
@media(max-width:760px){
  body[data-page="estoque"] .estoque-item-clean-main{align-items:flex-start;flex-direction:column;}
  body[data-page="estoque"] .estoque-item-clean-numbers{grid-template-columns:1fr;max-width:none;}
}


/* Estoque: indicadores com ícones personalizáveis */
.estoque-kpi{
  --kpi-color:#2c94fc;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
}
.estoque-kpi-icon{
  width:26px;
  height:26px;
  flex:0 0 26px;
  display:inline-block;
  background:var(--kpi-color);
  -webkit-mask:var(--icon-url) center / contain no-repeat;
  mask:var(--icon-url) center / contain no-repeat;
}
.estoque-kpi-text{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
}
.estoque-kpi-text span{
  font-size:12px;
  color:#56657a;
  font-weight:700;
}
.estoque-kpi-text b,
.estoque-kpi b{
  color:var(--kpi-color);
}
.estoque-kpi.kpi-total{--kpi-color:#2c94fc;}
.estoque-kpi.kpi-value{--kpi-color:#16a34a;}
.estoque-kpi.kpi-low{--kpi-color:#f59e0b;}
.estoque-kpi.kpi-zero{--kpi-color:#ef4444;}
.estoque-kpi.kpi-reserved{--kpi-color:#2563eb;}
.estoque-kpi.kpi-requests{--kpi-color:#7c3aed;}

/* Histórico do ativo: cards clicáveis para abrir a O.S. */
#asset-history-modal .asset-history-list .os-service-card[data-history-os-id] {
  cursor: pointer;
}

#asset-history-modal .asset-history-list .os-service-card[data-history-os-id]:focus-visible {
  outline: 2px solid #2d8cff;
  outline-offset: 2px;
}


/* Botões das abas do estoque com ícones substituíveis */
.estoque-tabs{
  gap:8px;
  border-bottom:1px solid #e4e9f2;
  padding-bottom:8px;
}
.estoque-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  border:1px solid #2c94fc;
  background:#fff;
  color:#0f172a;
  font-family:inherit;
  font-size:14px;
  font-weight:500;
  line-height:1.2;
  padding:0 16px;
}
.estoque-tab:hover{
  border-color:#2c94fc;
  color:#2c94fc;
  background:#fff;
}
.estoque-tab.active{
  border-color:#2c94fc;
  background:#fff;
  color:#2c94fc;
}
.estoque-tab-icon{
  width:18px;
  height:18px;
  object-fit:contain;
  flex:0 0 18px;
}

/* Abas do estoque no mesmo padrão visual dos cards superiores */
.estoque-tabs{
  display:grid;
  grid-template-columns:repeat(6,minmax(130px,1fr));
  gap:12px;
  border-bottom:0;
  margin:14px 0 16px;
  padding-bottom:0;
  overflow:visible;
}
.estoque-tab{
  height:66px;
  min-height:66px;
  border:1px solid #dbe3ef;
  background:#fff;
  color:#23314a;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  padding:0 14px;
  font-size:13px;
  font-weight:800;
  line-height:1.2;
  text-align:left;
  white-space:nowrap;
}
.estoque-tab:hover,
.estoque-tab.active{
  border-color:#2c94fc;
  background:#f7fbff;
  color:#2c94fc;
}
.estoque-tab-icon{
  width:22px;
  height:22px;
  flex:0 0 22px;
  object-fit:contain;
}
@media(max-width:1100px){
  .estoque-tabs{grid-template-columns:repeat(3,minmax(130px,1fr));}
}
@media(max-width:760px){
  .estoque-tabs{grid-template-columns:1fr 1fr;}
}

/* Correção: as abas inferiores do Estoque devem usar a mesma tipografia dos cards superiores */
.estoque-tab{
  font-size:12px;
  font-weight:700;
  color:#56657a;
  font-family:inherit;
}
.estoque-tab:hover,
.estoque-tab.active{
  color:#2c94fc;
}

/* Estoque - card compacto na primeira vista */
body[data-page="estoque"] .estoque-item-card-list.estoque-item-compact{
  padding:16px 18px;
}
body[data-page="estoque"] .estoque-item-compact .estoque-item-title{
  font-size:18px;
  margin-bottom:4px;
}
body[data-page="estoque"] .estoque-item-compact .estoque-status{
  min-width:108px;
  height:34px;
}
body[data-page="estoque"] .estoque-item-compact-info{
  display:flex;
  flex-wrap:wrap;
  gap:8px 28px;
  margin-top:12px;
  color:#24344d;
  font-size:14px;
}
body[data-page="estoque"] .estoque-item-compact-info b{
  color:#111827;
}
body[data-page="estoque"] .estoque-card-actions-compact{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
body[data-page="estoque"] .estoque-card-actions-compact button{
  height:34px;
  min-width:78px;
}
@media(max-width:760px){
  body[data-page="estoque"] .estoque-item-compact-info{flex-direction:column;gap:6px;}
}

/* Estoque - item mais enxuto com ações em botão de opções */
body[data-page="estoque"] .estoque-item-card-list.estoque-item-line-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:0;
  padding:12px 18px;
  cursor:default;
  font-family:inherit;
}
body[data-page="estoque"] .estoque-item-line-left{
  min-width:0;
  flex:1 1 auto;
  font-family:inherit;
}
body[data-page="estoque"] .estoque-item-name-row{
  display:flex;
  align-items:baseline;
  gap:12px;
  min-width:0;
  font-family:inherit;
}
body[data-page="estoque"] .estoque-item-name-row .estoque-item-title{
  margin:0;
  color:#111827;
  font-family:inherit;
  font-size:18px;
  font-weight:600;
  line-height:1.2;
}
body[data-page="estoque"] .estoque-item-code-inline{
  color:#2d5f9a;
  font-family:inherit;
  font-size:13px;
  font-weight:600;
  line-height:1.2;
  white-space:nowrap;
}
body[data-page="estoque"] .estoque-item-line-info{
  margin-top:8px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 28px;
  color:#0f172a;
  font-family:inherit;
  font-size:13px;
  line-height:1.35;
}
body[data-page="estoque"] .estoque-item-line-info b{
  color:#111827;
  font-weight:600;
}
body[data-page="estoque"] .estoque-item-line-right{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex:0 0 auto;
}
body[data-page="estoque"] .estoque-item-line-right .estoque-status{
  min-width:108px;
  height:34px;
  padding:0 12px;
  font-family:inherit;
  font-size:12px;
  font-weight:600;
}
body[data-page="estoque"] .estoque-options-wrap{
  position:relative;
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
}
body[data-page="estoque"] .estoque-options-btn{
  width:34px;
  height:34px;
  border:1px solid #2d8cf0;
  background:#2d8cf0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  cursor:pointer;
}
body[data-page="estoque"] .estoque-options-btn:hover{
  background:#1f7ae5;
}
body[data-page="estoque"] .estoque-options-btn img{
  width:18px;
  height:18px;
  object-fit:contain;
  display:block;
}
body[data-page="estoque"] .estoque-options-menu{
  position:absolute;
  right:0;
  top:40px;
  z-index:30;
  min-width:150px;
  display:none;
  flex-direction:column;
  border:1px solid #dbe3ef;
  background:#fff;
  box-shadow:0 12px 24px rgba(15,23,42,.14);
  padding:6px;
}
body[data-page="estoque"] .estoque-options-wrap.open .estoque-options-menu{
  display:flex;
}
body[data-page="estoque"] .estoque-options-menu button{
  height:34px;
  border:0;
  background:#fff;
  color:#0f172a;
  text-align:left;
  padding:0 10px;
  font-family:inherit;
  font-size:13px;
  font-weight:500;
  cursor:pointer;
}
body[data-page="estoque"] .estoque-options-menu button:hover{
  background:#f7fbff;
  color:#2d8cf0;
}
@media(max-width:760px){
  body[data-page="estoque"] .estoque-item-card-list.estoque-item-line-card{align-items:flex-start;flex-direction:column;}
  body[data-page="estoque"] .estoque-item-line-right{width:100%;justify-content:space-between;}
  body[data-page="estoque"] .estoque-item-name-row{align-items:flex-start;flex-direction:column;gap:4px;}
}

/* Ajuste estoque: status com ícone, fundo branco e card mais compacto */
body[data-page="estoque"] .estoque-item-card-list.estoque-item-line-card{
  padding:10px 18px;
  min-height:54px;
  background:#fff;
  box-shadow:none;
}
body[data-page="estoque"] .estoque-item-line-right .estoque-status{
  background:#fff !important;
  box-shadow:none !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
}
body[data-page="estoque"] .estoque-status img{
  width:15px;
  height:15px;
  display:block;
  object-fit:contain;
  flex:0 0 auto;
}
body[data-page="estoque"] .estoque-item-line-info{
  margin-top:6px;
}
body[data-page="estoque"] .estoque-item-name-row .estoque-item-title,
body[data-page="estoque"] .estoque-item-code-inline,
body[data-page="estoque"] .estoque-item-line-info,
body[data-page="estoque"] .estoque-item-line-info b,
body[data-page="estoque"] .estoque-item-line-right .estoque-status{
  font-family:inherit;
}

/* Ajuste solicitado: status do estoque no mesmo tamanho do card de status da O.S. */
body[data-page="estoque"] .estoque-item-line-right .estoque-status{
  min-width:116px !important;
  height:36px !important;
  padding:0 14px !important;
  font-size:12px !important;
  line-height:36px !important;
}
body[data-page="estoque"] .estoque-item-line-right .estoque-status img{
  width:18px !important;
  height:18px !important;
}


/* Ajuste solicitado: localização completa e mesma fonte da tela Itens nas demais abas do estoque */
body[data-page="estoque"] .estoque-event-card,
body[data-page="estoque"] .estoque-req-card,
body[data-page="estoque"] .estoque-buy-card,
body[data-page="estoque"] .estoque-inventory-card,
body[data-page="estoque"] .estoque-cost-card{
  font-family: inherit !important;
  color:#0f172a;
  box-shadow:none !important;
}
body[data-page="estoque"] .estoque-event-title,
body[data-page="estoque"] .estoque-req-title,
body[data-page="estoque"] .estoque-buy-title,
body[data-page="estoque"] .estoque-inventory-card h3,
body[data-page="estoque"] .estoque-cost-card b{
  font-family: inherit !important;
  font-weight:600 !important;
  color:#111827 !important;
}
body[data-page="estoque"] .estoque-event-date,
body[data-page="estoque"] .estoque-event-desc,
body[data-page="estoque"] .estoque-event-value,
body[data-page="estoque"] .estoque-req-meta,
body[data-page="estoque"] .estoque-buy-meta,
body[data-page="estoque"] .estoque-inventory-card p,
body[data-page="estoque"] .estoque-cost-card span{
  font-family: inherit !important;
  font-size:13px !important;
  font-weight:400 !important;
}
body[data-page="estoque"] .estoque-event-date{
  font-weight:600 !important;
  color:#65748b !important;
}
body[data-page="estoque"] .estoque-event-value{
  font-weight:600 !important;
  color:#111827 !important;
}
body[data-page="estoque"] .estoque-req-meta b,
body[data-page="estoque"] .estoque-buy-meta b{
  font-weight:600 !important;
  color:#111827 !important;
}

/* Ajuste solicitado: movimentação do estoque sem fundo azul e com a fonte padrão dos itens */
body[data-page="estoque"] #estoque-move-modal::backdrop{
  background:rgba(17,24,39,.42) !important;
}
body[data-page="estoque"] #estoque-move-modal,
body[data-page="estoque"] #estoque-move-modal *{
  font-family:inherit !important;
}
body[data-page="estoque"] .estoque-move-card{
  box-shadow:none !important;
}
body[data-page="estoque"] .estoque-move-grid label{
  font-size:14px !important;
  font-weight:400 !important;
  color:#111827 !important;
}
body[data-page="estoque"] .estoque-move-grid .input{
  font-size:13px !important;
  font-weight:400 !important;
  color:#0f172a !important;
}
body[data-page="estoque"] .estoque-os-linked-field.hidden{
  display:none !important;
}

/* Itens consumidos na O.S. com o mesmo padrão visual dos apontamentos */
.os-consumidos-wrap{
  margin-top:14px;
}
.os-consumido-form{
  border:1px solid #dbe3ef;
  background:#fff;
  padding:14px 16px;
  margin:0 16px 12px;
}
.os-consumido-form.hidden{
  display:none !important;
}
.os-consumido-grid{
  display:grid;
  grid-template-columns:minmax(220px,1fr) 130px auto;
  gap:12px;
  align-items:end;
}
.os-consumido-grid label{
  display:flex;
  flex-direction:column;
  gap:6px;
  color:#111827;
  font-family:inherit;
  font-size:13px;
  font-weight:400;
}
.os-consumido-actions{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  align-items:center;
}
.os-consumido-feedback{
  margin-top:8px;
  font-size:13px;
  color:#d97706;
}
.os-consumido-row small{
  color:#2d5f9a;
  font-size:12px;
  font-weight:500;
  margin-left:6px;
}
.os-consumido-pill{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:32px;
  padding:0 12px;
  border:1px solid #dbe3ef;
  background:#fff;
  font-size:12px;
  font-weight:500;
}
.os-consumido-pill img{
  width:16px;
  height:16px;
  object-fit:contain;
  flex:0 0 auto;
}
.os-consumido-pill.ok{
  border-color:#009944;
  color:#009944;
}
.os-consumido-pill.buy{
  border-color:#8b3dff;
  color:#8b3dff;
}
@media(max-width:760px){
  .os-consumido-grid{grid-template-columns:1fr;}
  .os-consumido-actions{justify-content:flex-start;}
}

/* Ajuste: card Aguardando material em O.S. e Solicitações */
.os-metric-card.material .os-metric-value,
body[data-page="solicitacao"] .os-metric-card.material .os-metric-value {
  color: #8b3dff !important;
}
.os-metric-card.material .os-metric-label {
  color: #34415a;
}
.os-status-card.material,
body[data-page="solicitacao"] .os-status-card.solicitacao-status.material {
  color: #8b3dff !important;
  border-color: #8b3dff !important;
  background: #ffffff !important;
}
.os-status-card.material img,
body[data-page="solicitacao"] .os-status-card.solicitacao-status.material img {
  width: 18px;
  height: 18px;
  object-fit: contain;
  flex: 0 0 auto;
}
.os-service-card.is-material {
  border-color: rgba(139, 61, 255, 0.38);
  background: #ffffff;
  box-shadow: none;
}
.os-service-card.is-material:hover {
  border-color: rgba(139, 61, 255, 0.55);
}
.os-service-card.is-material.is-selected {
  background: #ffffff;
  border-color: #8b3dff;
  box-shadow: 0 0 0 1px rgba(139, 61, 255, 0.12) inset;
}
.os-consumido-pill.buy {
  border-color: #8b3dff !important;
  color: #8b3dff !important;
  background: #ffffff !important;
}
.os-consumido-pill.buy img {
  width: 18px;
  height: 18px;
}

/* Status reservado para O.S. dentro dos itens consumidos */
.os-consumido-pill.reserved {
  color: #2D8CF0;
  border-color: #2D8CF0;
  background: #fff;
}
.os-consumido-pill.reserved img {
  width: 16px;
  height: 16px;
  object-fit: contain;
}

/* Ajuste: requisição reservada também aparece no card Reservados em O.S. */
.estoque-pill.reserved{
  border-color:#2d8cf0;
  color:#2d8cf0;
  background:#fff;
}


/* Ajuste: reservados em O.S. aparecem como requisição, sem mudar o status do item inteiro */
body[data-page="estoque"] .estoque-pill.reserved{
  border-color:#2d8cf0 !important;
  color:#2d8cf0 !important;
  background:#fff !important;
  min-height:28px;
  padding:0 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
body[data-page="estoque"] .estoque-reserved-card{
  border-color:#dbe3ef;
  background:#fff;
}

/* Ajuste visual: card Reservado para O.S. com ícone em Requisições e Reservados */

body[data-page="estoque"] .estoque-pill.reserved{
  gap:8px;
  min-height:34px;
  padding:0 12px;
  font-size:12px;
  font-weight:500;
  border-color:#2d8cf0 !important;
  color:#2d8cf0 !important;
  background:#fff !important;
}
body[data-page="estoque"] .estoque-pill.reserved img{
  width:16px;
  height:16px;
  object-fit:contain;
  display:block;
}

/* Ajuste: status Aberta em requisições com o mesmo padrão do Reservado para O.S. */
body[data-page="estoque"] .estoque-pill.open{
  gap:8px;
  min-height:34px;
  padding:0 12px;
  font-size:12px;
  font-weight:500;
  border-color:#ff2d2d !important;
  color:#e52424 !important;
  background:#fff !important;
  box-shadow:none !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
body[data-page="estoque"] .estoque-pill.open img{
  width:16px;
  height:16px;
  object-fit:contain;
  display:block;
}

/* Botão manual de requisição para reposição do estoque mínimo */
body[data-page="estoque"] .estoque-requests-toolbar{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  margin:0 0 14px;
}
body[data-page="estoque"] .estoque-request-min-btn{
  height:34px;
  padding:0 14px;
}

/* Ajuste solicitado: modal de requisição manual sem fundo azul e com fonte padrão do programa */
body[data-page="estoque"] #estoque-min-req-modal::backdrop{
  background:rgba(17,24,39,.18) !important;
}
body[data-page="estoque"] #estoque-min-req-modal,
body[data-page="estoque"] #estoque-min-req-modal *{
  font-family:"Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;
}
body[data-page="estoque"] #estoque-min-req-modal .estoque-move-card{
  box-shadow:none !important;
}
body[data-page="estoque"] #estoque-min-req-modal .estoque-move-grid label{
  font-size:14px !important;
  font-weight:400 !important;
  color:#111827 !important;
}
body[data-page="estoque"] #estoque-min-req-modal .estoque-move-grid .input,
body[data-page="estoque"] #estoque-min-req-modal textarea,
body[data-page="estoque"] #estoque-min-req-modal input,
body[data-page="estoque"] #estoque-min-req-modal select,
body[data-page="estoque"] #estoque-min-req-modal button{
  font-family:"Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;
  font-size:13px !important;
  font-weight:400 !important;
  color:#0f172a !important;
}

/* Ajuste: ações da requisição manual ao lado do card */
body[data-page="estoque"] .estoque-req-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:nowrap;
}
body[data-page="estoque"] .estoque-req-options .estoque-options-menu{
  min-width:130px;
}
body[data-page="estoque"] .estoque-pill.canceled{
  gap:8px;
  min-height:34px;
  padding:0 12px;
  font-size:12px;
  font-weight:500;
  border-color:#94a3b8 !important;
  color:#475569 !important;
  background:#fff !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* Ajustes estoque: imagem rápida do item e pill de entrada no mesmo padrão de Reservado para O.S. */
body[data-page="estoque"] .estoque-item-line-main{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  flex:1 1 auto;
}
body[data-page="estoque"] .estoque-item-thumb{
  width:46px;
  height:46px;
  border:1px solid #dbe3ef;
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 46px;
  overflow:hidden;
}
body[data-page="estoque"] .estoque-item-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
body[data-page="estoque"] .estoque-item-thumb img[aria-hidden="true"]{
  width:24px;
  height:24px;
  object-fit:contain;
  opacity:.85;
}
body[data-page="estoque"] .stock-image-row{
  margin-top:14px;
  display:flex;
  align-items:center;
  gap:14px;
  border-top:1px solid #edf1f7;
  padding-top:14px;
}
body[data-page="estoque"] .stock-image-preview{
  width:86px;
  height:86px;
  border:1px solid #dbe3ef;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  color:#70809a;
  font-size:12px;
  flex:0 0 86px;
}
body[data-page="estoque"] .stock-image-preview img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
body[data-page="estoque"] .stock-image-controls{
  display:flex;
  align-items:end;
  gap:10px;
  flex-wrap:wrap;
}
body[data-page="estoque"] .stock-image-controls label{
  min-width:280px;
}
body[data-page="estoque"] .estoque-pill.entry{
  gap:8px;
  min-height:34px;
  padding:0 12px;
  font-size:12px;
  font-weight:500;
  border-color:#2d8cf0 !important;
  color:#2d8cf0 !important;
  background:#fff !important;
  box-shadow:none !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
body[data-page="estoque"] .estoque-pill.entry img{
  width:16px;
  height:16px;
  object-fit:contain;
  display:block;
}
@media(max-width:760px){
  body[data-page="estoque"] .estoque-item-line-main{align-items:flex-start;}
  body[data-page="estoque"] .stock-image-row{align-items:flex-start;flex-direction:column;}
  body[data-page="estoque"] .stock-image-controls{width:100%;}
  body[data-page="estoque"] .stock-image-controls label{min-width:0;width:100%;}
}

/* Expandir imagem do item no estoque */
body[data-page="estoque"] button.estoque-item-thumb{
  appearance:none;
  -webkit-appearance:none;
  padding:0;
  cursor:zoom-in;
}
body[data-page="estoque"] .estoque-item-thumb-click:hover,
body[data-page="estoque"] .estoque-item-thumb-click:focus-visible{
  border-color:#2d8cf0;
  box-shadow:0 0 0 2px rgba(45,140,240,.12);
  outline:none;
}
body[data-page="estoque"] .stock-image-preview:has(img){
  cursor:zoom-in;
}
body[data-page="estoque"] .stock-image-preview:has(img):hover{
  border-color:#2d8cf0;
  box-shadow:0 0 0 2px rgba(45,140,240,.12);
}


/* Ajustes solicitados: modal Novo/Editar item sem fundo azul e botão de arquivo padronizado */
body[data-page="estoque"] #estoque-item-modal::backdrop{
  background:rgba(17,24,39,.18) !important;
  backdrop-filter:none !important;
}
body[data-page="estoque"] #estoque-item-modal .estoque-item-card{
  box-shadow:none !important;
}
body[data-page="estoque"] .stock-file-field{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
body[data-page="estoque"] .stock-file-title{
  font-size:14px;
  color:#111827;
  font-weight:400;
  white-space:nowrap;
}
body[data-page="estoque"] .stock-file-control{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  border:1px solid #dbe3ef;
  background:#fff;
  overflow:hidden;
}
body[data-page="estoque"] .stock-file-input{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}
body[data-page="estoque"] .stock-file-label{
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 16px;
  background:#2d8cf0;
  color:#fff;
  border:1px solid #2d8cf0;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  margin:-1px 0 -1px -1px;
  line-height:1;
}
body[data-page="estoque"] .stock-file-label:hover,
body[data-page="estoque"] .stock-file-input:focus-visible + .stock-file-label{
  background:#1f7fe5;
  border-color:#1f7fe5;
}
body[data-page="estoque"] .stock-file-name{
  min-width:190px;
  padding:0 12px;
  color:#59677c;
  font-size:13px;
  white-space:nowrap;
}
body[data-page="estoque"] .stock-image-controls label.stock-file-label{
  min-width:0 !important;
}
body[data-page="estoque"] .stock-image-controls .stock-file-field{
  min-width:430px;
}
@media(max-width:760px){
  body[data-page="estoque"] .stock-image-controls .stock-file-field{min-width:0;width:100%;}
  body[data-page="estoque"] .stock-file-field{align-items:flex-start;flex-direction:column;gap:8px;}
  body[data-page="estoque"] .stock-file-control{width:100%;}
  body[data-page="estoque"] .stock-file-name{min-width:0;white-space:normal;}
}


/* Ajustes: visualização sem distorção e modo Detalhes bloqueado */
body[data-page="estoque"] .estoque-item-thumb img,
body[data-page="estoque"] .stock-image-preview img{
  object-fit:contain !important;
}
body[data-page="estoque"] .stock-image-preview{
  padding:3px;
  box-sizing:border-box;
}
body[data-page="estoque"] #estoque-item-form .input.is-readonly,
body[data-page="estoque"] #estoque-item-form input.is-readonly,
body[data-page="estoque"] #estoque-item-form textarea.is-readonly,
body[data-page="estoque"] #estoque-item-form select.is-readonly{
  background:#f8fafc !important;
  color:#334155 !important;
  cursor:default !important;
}
body[data-page="estoque"] #btn-edit-stock-item{
  display:none;
}

/* Ajustes: imagem do item sem distorção e código interno automático */
body[data-page="estoque"] .estoque-item-thumb img:not([aria-hidden="true"]),
body[data-page="estoque"] .stock-image-preview img{
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}
body[data-page="estoque"] #stock-code,
body[data-page="estoque"] #stock-code.is-generated-code{
  background:#f8fafc !important;
  color:#475569 !important;
  cursor:default !important;
}
body[data-page="estoque"] input[list].input{
  background:#fff;
}
body[data-page="estoque"] #estoque-item-form input[readonly]#stock-code:focus{
  border-color:#dbe3ef !important;
  box-shadow:none !important;
}

/* Reposição solicitada e ações de reposição */
body[data-page="estoque"] .estoque-pill.reposicao{
  gap:8px;
  min-height:34px;
  padding:0 12px;
  font-size:12px;
  font-weight:500;
  border:1px solid #2d8cf0 !important;
  color:#2d8cf0 !important;
  background:#fff !important;
  box-shadow:none !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
}
body[data-page="estoque"] .estoque-pill.reposicao img{
  width:16px;
  height:16px;
  object-fit:contain;
  display:block;
}
body[data-page="estoque"] .estoque-buy-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
body[data-page="estoque"] .estoque-reposition-modal-btn{
  border-color:#2d8cf0 !important;
  color:#2d8cf0 !important;
  background:#fff !important;
}
body[data-page="estoque"] .estoque-reposition-modal-btn:disabled{
  opacity:.45;
  cursor:not-allowed;
}
@media(max-width:760px){
  body[data-page="estoque"] .estoque-item-line-right{flex-wrap:wrap;justify-content:flex-start;}
  body[data-page="estoque"] .estoque-buy-actions{justify-content:flex-start;}
}


/* Ajustes estoque: mensagem interna, N.F. e atendimento de requisição */
body[data-page="estoque"] #estoque-info-modal::backdrop,
body[data-page="estoque"] #estoque-attend-modal::backdrop{
  background:rgba(17,24,39,.38) !important;
}
body[data-page="estoque"] .estoque-info-card{
  width:min(360px, calc(100vw - 44px));
  border-radius:0;
  box-shadow:none;
  padding:28px 20px 16px;
}
body[data-page="estoque"] .estoque-info-card .modal-title{
  font-size:17px;
  font-weight:800;
  margin:0 0 12px;
  color:#111827;
}
body[data-page="estoque"] .estoque-info-card p{
  margin:0 0 20px;
  color:#60708a;
  font-size:13px;
  line-height:1.45;
}
body[data-page="estoque"] .estoque-attend-btn{
  border-color:#2d8cf0 !important;
  color:#2d8cf0 !important;
  background:#fff !important;
  height:34px;
  white-space:nowrap;
}
body[data-page="estoque"] .estoque-nf-pill{
  min-height:34px;
  padding:0 12px;
  border:1px solid #e53935;
  background:#fff;
  color:#e53935;
  display:inline-flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  font-size:12px;
  font-weight:500;
  white-space:nowrap;
}
body[data-page="estoque"] .estoque-nf-pill strong{
  font-weight:800;
  color:#e53935;
}
body[data-page="estoque"] .estoque-nf-pill img{
  width:16px;
  height:16px;
  object-fit:contain;
  flex:0 0 auto;
}
body[data-page="estoque"] .estoque-nf-pill:hover{
  background:#fff7f7 !important;
}
body[data-page="estoque"] .estoque-attend-btn:hover{
  background:#f7fbff !important;
}
body[data-page="estoque"] .stock-nf-file-control{
  margin-top:8px;
  width:100%;
}
body[data-page="estoque"] #estoque-attend-modal .estoque-move-card{
  width:min(680px, calc(100vw - 44px));
  border-radius:0;
  box-shadow:none;
}
@media(max-width:760px){
  body[data-page="estoque"] .estoque-req-actions{flex-wrap:wrap;justify-content:flex-start;}
}

/* Ajustes finais: requisição atendida e espaçamento dos botões */
body[data-page="estoque"] .estoque-requests-toolbar{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:12px !important;
  flex-wrap:wrap;
}
body[data-page="estoque"] .estoque-pill.attended,
body[data-page="estoque"] .estoque-pill.done{
  gap:8px;
  min-height:34px;
  padding:0 12px;
  font-size:12px;
  font-weight:500;
  border:1px solid #2d8cf0 !important;
  color:#2d8cf0 !important;
  background:#fff !important;
  box-shadow:none !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
}
body[data-page="estoque"] .estoque-pill.attended img,
body[data-page="estoque"] .estoque-pill.done img{
  width:16px;
  height:16px;
  object-fit:contain;
  display:block;
}
body[data-page="estoque"] .estoque-req-options .estoque-options-menu button[data-req-attend]{
  color:#2d8cf0;
  font-weight:800;
}

/* Relatórios de solicitação de materiais - Estoque */
.estoque-report-top-btn{
  border-color:#e52424!important;
  color:#e52424!important;
  background:#fff!important;
}
.estoque-report-top-btn:hover{
  background:#fff5f5!important;
  border-color:#e52424!important;
}
.estoque-report-top-btn .os-add-icon-btn-image{
  width:18px;
  height:18px;
  object-fit:contain;
}
.estoque-report-card{
  width:min(860px,calc(100vw - 44px));
  max-height:calc(100vh - 36px);
  overflow:auto;
  border-radius:0;
}
.estoque-report-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid #dbe3ef;
  background:#f8fbff;
  padding:12px 14px;
  margin:16px 0 12px;
  font-size:13px;
  color:#30415e;
  font-weight:800;
}
.estoque-report-select-all{
  display:inline-flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
}
.estoque-report-list{
  display:grid;
  gap:10px;
  max-height:430px;
  overflow:auto;
  padding-right:4px;
}
.estoque-report-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  align-items:flex-start;
  border:1px solid #dbe3ef;
  background:#fff;
  padding:12px 14px;
  cursor:pointer;
}
.estoque-report-row:hover{
  border-color:#e52424;
  background:#fffafa;
}
.estoque-report-row input{
  margin-top:3px;
  accent-color:#e52424;
}
.estoque-report-row strong{
  display:block;
  color:#111827;
  font-size:14px;
  margin-bottom:6px;
}
.estoque-report-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  color:#42526e;
  font-size:12px;
}
.estoque-report-generated-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:8px;
  border:1px solid #e52424;
  background:#fff5f5;
  color:#e52424;
  font-size:11px;
  font-weight:900;
  padding:5px 8px;
  white-space:nowrap;
}
.estoque-report-generated-pill img{
  width:14px;
  height:14px;
  object-fit:contain;
}
.estoque-report-generate-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.estoque-report-generate-btn img{
  width:16px;
  height:16px;
  object-fit:contain;
}


body[data-page="estoque"] #estoque-report-modal::backdrop{
  background:rgba(255,255,255,0.18);
  backdrop-filter:none;
}
.estoque-report-type-options{
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  border:1px solid #dbe3ef;
  background:#fff;
  padding:12px 14px;
  margin:16px 0 0;
  color:#30415e;
  font-size:13px;
  font-weight:800;
}
.estoque-report-type-options label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
}
.estoque-report-type-options input{
  accent-color:#e52424;
}

/* Confirmação interna ao remover item reservado da O.S. */
.os-reserva-cancelada-confirm {
  border: 1px solid #d7e1ef;
  border-radius: 0;
  padding: 0;
  width: min(520px, calc(100vw - 32px));
  background: #fff;
  color: #10213b;
  box-shadow: 0 18px 45px rgba(16, 33, 59, 0.18);
}
.os-reserva-cancelada-confirm::backdrop {
  background: rgba(15, 23, 42, 0.22);
}
.os-reserva-cancelada-box {
  padding: 22px;
}
.os-reserva-cancelada-box h3 {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 800;
}
.os-reserva-cancelada-box p {
  margin: 0 0 14px;
  font-size: 13px;
  line-height: 1.45;
  color: #485a78;
}
.os-reserva-cancelada-item {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid #dbe6f5;
  padding: 12px;
  margin-bottom: 16px;
  font-size: 13px;
}
.os-reserva-cancelada-item span {
  color: #485a78;
}
.os-reserva-cancelada-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.os-reserva-btn {
  border: 1px solid #2D8CFF;
  border-radius: 0;
  background: #fff;
  color: #2D8CFF;
  height: 36px;
  padding: 0 14px;
  font-weight: 700;
  cursor: pointer;
}
.os-reserva-btn.danger {
  border-color: #e52424;
  color: #fff;
  background: #e52424;
}
.os-reserva-btn.neutral:hover {
  background: #f4f8ff;
}
.os-reserva-btn.danger:hover {
  filter: brightness(0.96);
}

/* Ajuste relatório estoque: remover barra de rolagem extra do modal */
body[data-page="estoque"] #estoque-report-modal{
  overflow:hidden !important;
}
body[data-page="estoque"] #estoque-report-modal .estoque-report-card{
  display:flex;
  flex-direction:column;
  overflow:hidden !important;
  max-height:calc(100vh - 72px);
}
body[data-page="estoque"] #estoque-report-modal .estoque-report-list{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
}
body[data-page="estoque"] #estoque-report-modal .modal-actions{
  flex:0 0 auto;
}


/* Ajuste relatório estoque: botão X de fechar compacto */
body[data-page="estoque"] #estoque-report-modal .estoque-report-card{
  position:relative;
}
body[data-page="estoque"] #estoque-report-modal #btn-close-stock-report-modal{
  position:absolute !important;
  top:18px !important;
  right:18px !important;
  width:26px !important;
  min-width:26px !important;
  max-width:26px !important;
  height:26px !important;
  padding:0 !important;
  margin:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:flex-end !important;
  flex:0 0 26px !important;
  border:1px solid #9aa4b2 !important;
  background:#fff !important;
  color:#111827 !important;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:500 !important;
  cursor:pointer !important;
  box-shadow:none !important;
}
body[data-page="estoque"] #estoque-report-modal #btn-close-stock-report-modal:hover{
  background:#f5f7fa !important;
}
body[data-page="estoque"] #estoque-report-modal .modal-title{
  padding-right:42px;
}


/* Ajuste solicitado: menu do usuário na lateral */
.sidebar-user-settings-icon {
  display: none !important;
}
.sidebar-user-chip {
  padding-right: 12px !important;
}
.sidebar-user-wrap .user-dropdown,
.user-dropdown {
  border-radius: 0 !important;
}
.user-dropdown-item {
  border-radius: 0 !important;
}


/* Ajuste solicitado: card de usuário com nome/perfil e menu reto */
.sidebar-user-chip {
  min-height: 54px !important;
  padding: 8px 12px !important;
  align-items: center !important;
  gap: 12px !important;
  border-radius: 0 !important;
  background: #258bfa !important;
  color: #ffffff !important;
}
.sidebar-user-chip .avatar-circle {
  width: 32px !important;
  height: 32px !important;
  flex: 0 0 32px !important;
}
.sidebar-user-chip .user-chip-info {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  min-width: 0 !important;
  line-height: 1.15 !important;
}
.sidebar-user-chip .user-chip-name {
  display: block !important;
  margin-left: 0 !important;
  font-size: 16px !important;
  line-height: 18px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  max-width: 160px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.sidebar-user-chip .user-chip-role {
  display: block !important;
  margin-top: 3px !important;
  font-size: 12px !important;
  line-height: 14px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.88) !important;
  max-width: 160px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.sidebar-user-wrap .user-dropdown,
.user-dropdown {
  border-radius: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 10px 24px rgba(15,23,42,.14) !important;
}
.user-dropdown-header {
  padding: 14px 16px 10px 16px !important;
  border-bottom: 1px solid #edf0f4 !important;
  background: #ffffff !important;
}
.user-dropdown-name {
  font-size: 16px !important;
  line-height: 20px !important;
  font-weight: 800 !important;
  color: #111827 !important;
}
.user-dropdown-role {
  margin-top: 2px !important;
  font-size: 13px !important;
  line-height: 16px !important;
  font-weight: 600 !important;
  color: #6b7280 !important;
}
.user-dropdown-item {
  border-radius: 0 !important;
  padding: 13px 16px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-align: left !important;
}
.user-dropdown-item:hover {
  background: #f5f7fa !important;
}
body.sidebar-collapsed .sidebar-user-chip .user-chip-info,
body.sidebar-collapsed .sidebar-user-chip .user-chip-role {
  display: none !important;
}
@media (max-width: 1100px) {
  .sidebar-user-chip .user-chip-info,
  .sidebar-user-chip .user-chip-role {
    display: none !important;
  }
}

/* Ajuste solicitado: fonte do card do usuário igual ao título Ativos */
.sidebar-user-chip .user-chip-name,
.sidebar-user-chip .user-chip-role,
.user-dropdown-name,
.user-dropdown-role,
.user-dropdown-item {
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;
}
.sidebar-user-chip .user-chip-name {
  font-size: 18px !important;
  line-height: 21px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}
.sidebar-user-chip .user-chip-role {
  font-size: 13px !important;
  line-height: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}
.user-dropdown-name {
  font-size: 18px !important;
  line-height: 22px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}
.user-dropdown-role,
.user-dropdown-item {
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

/* Ajuste solicitado: card do usuário cinza com azul bem claro */
.sidebar-user-chip {
  background: #eef6ff !important;
  color: #111827 !important;
}
.sidebar-user-chip .user-chip-name {
  font-size: 14px !important;
  line-height: 17px !important;
  font-weight: 600 !important;
  color: #111827 !important;
}
.sidebar-user-chip .user-chip-role {
  font-size: 11px !important;
  line-height: 14px !important;
  font-weight: 600 !important;
  color: #4b5563 !important;
}


/* Ajuste solicitado: ícone à direita no card cinza do usuário */
.sidebar-user-chip {
  justify-content: flex-start !important;
  position: relative !important;
  padding-right: 38px !important;
}
.sidebar-user-chip .user-chip-info {
  flex: 1 1 auto !important;
}
.user-chip-card-icon {
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 18px !important;
  height: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #4b5563 !important;
  opacity: .9 !important;
  pointer-events: none !important;
}
.user-chip-card-icon svg {
  width: 18px !important;
  height: 18px !important;
  display: block !important;
}
body.sidebar-collapsed .user-chip-card-icon {
  display: none !important;
}
@media (max-width: 1100px) {
  .user-chip-card-icon {
    display: none !important;
  }
}

/* Ajuste solicitado: card do usuário na cor azul do sistema */
.sidebar-user-chip {
  background: #2c94fc !important;
  color: #ffffff !important;
}
.sidebar-user-chip:hover {
  background: #2c94fc !important;
  color: #ffffff !important;
}
.sidebar-user-chip .user-chip-name,
.sidebar-user-chip .user-chip-role {
  color: #ffffff !important;
}
.user-chip-card-icon {
  color: #ffffff !important;
}

/* Ajustes solicitados na tela de usuários */
#user-modal::backdrop,
#add-user-modal::backdrop,
#edit-user-modal::backdrop {
  background: rgba(15, 23, 42, 0.18) !important;
}

#user-modal .modal-card,
#add-user-modal .modal-card,
#edit-user-modal .modal-card {
  border-radius: 0 !important;
}

.file-input {
  height: auto;
  min-height: 42px;
  padding: 7px 10px !important;
  border: 1px solid #d8deea;
  background: #ffffff;
  color: #64748b;
}

.file-input::file-selector-button {
  border: 1px solid #2c94fc;
  background: #2c94fc;
  color: #ffffff;
  border-radius: 0;
  padding: 8px 14px;
  margin-right: 12px;
  font-weight: 600;
  cursor: pointer;
}

.file-input::file-selector-button:hover {
  background: #2387ee;
  border-color: #2387ee;
}

/* Lista de usuários compacta com edição individual */
.user-list-compact {
  padding: 12px 14px;
}
.user-list-meta {
  margin-top: 3px;
  font-size: 12px;
  color: #667085;
}
.user-shift-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
@media (max-width: 640px) {
  .user-shift-grid { grid-template-columns: 1fr; }
  .user-list-compact { align-items: flex-start; }
  .user-list-actions { flex-wrap: wrap; justify-content: flex-end; }
}

.user-scale-btn {
  width: 100%;
  margin-top: 8px;
  justify-content: center;
}
.user-scale-modal-card {
  width: min(760px, calc(100vw - 32px));
  max-height: min(86vh, 760px);
  overflow: auto;
}
.modal-helper {
  margin: -4px 0 14px;
  color: #667085;
  font-size: 13px;
  line-height: 1.4;
}
.user-scale-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.user-scale-shift-block {
  border: 1px solid #e4e7ec;
  padding: 12px;
  background: #fff;
}
.user-scale-row-title {
  color: #475467;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 10px;
}
.user-scale-day-row {
  display: grid;
  grid-template-columns: 88px 1fr 1fr;
  gap: 10px;
  align-items: end;
  margin-bottom: 8px;
}
.user-scale-day-row:last-child {
  margin-bottom: 0;
}
.user-scale-day-name {
  color: #475467;
  font-size: 13px;
  font-weight: 600;
  padding-bottom: 12px;
}
.user-shift-grid input[readonly] {
  background: #f5f7fb;
  color: #667085;
  cursor: default;
}
@media (max-width: 560px) {
  .user-scale-day-row {
    grid-template-columns: 1fr;
  }
  .user-scale-day-name {
    padding-bottom: 0;
  }
}

/* Correção solicitada: remover fundo azul dos modais de escala e árvore de ativos */
#user-scale-modal::backdrop,
#asset-modal::backdrop {
  background: rgba(15, 23, 42, 0.18) !important;
  backdrop-filter: none !important;
}

#user-scale-modal .modal-card,
#asset-modal .modal-card {
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.14) !important;
}

/* Ajuste: seleção de responsáveis da O.S. permite um ou mais usuários cadastrados */
#os-executante[multiple] {
  min-height: 118px;
  padding: 8px 10px;
}
#os-executante[multiple] option {
  padding: 6px 8px;
}

/* Ajuste solicitado: um card único com logo do software e logo da empresa meio a meio acima do usuário */
.sidebar-logo-stack {
  display: flex !important;
  width: 100% !important;
}
.sidebar-logo-card {
  width: 100% !important;
  min-height: 58px !important;
  border: 1px solid #e5edf8 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
.sidebar-combined-logo-card {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  align-items: stretch !important;
  padding: 0 !important;
  background: #ffffff !important;
}
.sidebar-logo-half {
  min-width: 0 !important;
  min-height: 58px !important;
  padding: 6px 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
.sidebar-program-logo-half {
  background: #f8fbff !important;
  border-right: 1px solid #dbe7f5 !important;
}
.sidebar-program-logo-img {
  max-width: 100% !important;
  max-height: 44px !important;
  object-fit: contain !important;
  display: block !important;
}
.sidebar-company-logo-half {
  background: #ffffff !important;
}
.sidebar-company-logo-img {
  width: 100% !important;
  max-width: 100% !important;
  max-height: 44px !important;
  object-fit: contain !important;
  display: block !important;
}
.company-logo-empty {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1.15 !important;
  color: #64748b !important;
}
.company-logo-empty strong {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #334155 !important;
}
.company-logo-empty span {
  margin-top: 2px !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  color: #94a3b8 !important;
}
.sidebar-footer-logo {
  display: none !important;
}
body.sidebar-collapsed .sidebar-logo-stack,
body.sidebar-collapsed .sidebar-logo-card,
body.sidebar-collapsed .sidebar-combined-logo-card,
body.sidebar-collapsed .sidebar-logo-half {
  display: none !important;
}
@media (max-width: 1100px) {
  .sidebar-logo-stack { display: none !important; }
}


/* Ajuste solicitado: remover textos do card do logo da empresa; usa imagem padrão quando não houver logo cadastrado. */
.company-logo-empty { display: none !important; }


/* Cards dos indicadores de relatórios no mesmo esquema dos cards de estoque: ícone à esquerda, fonte igual e sem subtítulo */
.relatorios-kpis.relatorios-kpis-full{
  grid-template-columns:repeat(6,minmax(180px,1fr)) !important;
  gap:12px !important;
}
.relatorios-kpi{
  border:1px solid #dbe3ef !important;
  background:#fff !important;
  min-height:66px !important;
  padding:12px 16px !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
.relatorios-kpi-icon{
  width:28px !important;
  height:28px !important;
  flex:0 0 28px !important;
  object-fit:contain !important;
  display:block !important;
}
.relatorios-kpi-content{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:4px !important;
  line-height:1.1 !important;
}
.relatorios-kpi .relatorios-kpi-content > span{
  font-size:12px !important;
  font-weight:800 !important;
  color:#34415a !important;
  white-space:normal !important;
}
.relatorios-kpi .relatorios-kpi-content > b{
  font-size:20px !important;
  font-weight:800 !important;
  line-height:1.1 !important;
  color:#0b1f3a !important;
}
.relatorios-kpi.destaque .relatorios-kpi-content > b{color:#2d8cf0 !important;}
.relatorios-kpi.done .relatorios-kpi-content > b{color:#009944 !important;}
.relatorios-kpi.warn .relatorios-kpi-content > b{color:#e60012 !important;}
.relatorios-kpi.cost .relatorios-kpi-content > b{font-size:18px !important;}
.relatorios-kpi small{display:none !important;}
@media(max-width:1250px){.relatorios-kpis.relatorios-kpis-full{grid-template-columns:repeat(3,minmax(180px,1fr)) !important;}}
@media(max-width:700px){.relatorios-kpis.relatorios-kpis-full{grid-template-columns:1fr !important;}}

/* Ajuste: fonte dos cards de Relatórios igual aos cards de Estoque */
.relatorios-kpi .relatorios-kpi-content > span{
  font-size:12px !important;
  color:#56657a !important;
  font-weight:700 !important;
  line-height:1.15 !important;
}
.relatorios-kpi .relatorios-kpi-content > b{
  font-size:17px !important;
  font-weight:800 !important;
  line-height:1.15 !important;
}
.relatorios-kpi.cost .relatorios-kpi-content > b{
  font-size:17px !important;
}


/* Ajuste final: cards de Relatórios idênticos aos cards de Estoque */
body[data-page="relatorios"] .relatorios-kpis.relatorios-kpis-full{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(130px,1fr)) !important;
  gap:12px !important;
  margin:16px 0 !important;
}
body[data-page="relatorios"] .relatorios-kpi{
  --kpi-color:#2c94fc;
  height:66px !important;
  min-height:66px !important;
  border:1px solid #dbe3ef !important;
  background:#fff !important;
  padding:10px 14px !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  box-shadow:none !important;
  border-radius:0 !important;
  cursor:default !important;
  text-align:left !important;
  box-sizing:border-box !important;
  font-family:"Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;
}
body[data-page="relatorios"] .relatorios-kpi:hover{
  border-color:#dbe3ef !important;
  background:#fff !important;
}
body[data-page="relatorios"] .relatorios-kpi-icon{
  width:26px !important;
  height:26px !important;
  flex:0 0 26px !important;
  display:inline-block !important;
  background:var(--kpi-color) !important;
  -webkit-mask:var(--icon-url) center / contain no-repeat !important;
  mask:var(--icon-url) center / contain no-repeat !important;
  object-fit:initial !important;
}
body[data-page="relatorios"] .relatorios-kpi-content{
  display:flex !important;
  flex-direction:column !important;
  gap:5px !important;
  min-width:0 !important;
  line-height:1.15 !important;
}
body[data-page="relatorios"] .relatorios-kpi .relatorios-kpi-content > span{
  display:block !important;
  font-size:12px !important;
  color:#56657a !important;
  font-weight:700 !important;
  line-height:1.15 !important;
  font-family:"Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;
  margin:0 !important;
}
body[data-page="relatorios"] .relatorios-kpi .relatorios-kpi-content > b{
  display:block !important;
  font-size:17px !important;
  color:var(--kpi-color) !important;
  font-weight:800 !important;
  line-height:1.15 !important;
  font-family:"Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;
  margin:0 !important;
}
body[data-page="relatorios"] .relatorios-kpi small{display:none !important;}
body[data-page="relatorios"] .relatorios-kpi.destaque{--kpi-color:#2c94fc;}
body[data-page="relatorios"] .relatorios-kpi.done{--kpi-color:#16a34a;}
body[data-page="relatorios"] .relatorios-kpi.warn{--kpi-color:#ef4444;}
body[data-page="relatorios"] .relatorios-kpi.cost{--kpi-color:#16a34a;}
body[data-page="relatorios"] .relatorios-kpi.reliability{--kpi-color:#f59e0b;}
body[data-page="relatorios"] .relatorios-kpi.backlog{--kpi-color:#94a3b8;}
body[data-page="relatorios"] .relatorios-kpi:nth-child(3){--kpi-color:#ef4444;}
body[data-page="relatorios"] .relatorios-kpi:nth-child(6){--kpi-color:#2c94fc;}
body[data-page="relatorios"] .relatorios-kpi:nth-child(7){--kpi-color:#16a34a;}
@media(max-width:1100px){
  body[data-page="relatorios"] .relatorios-kpis.relatorios-kpis-full{grid-template-columns:repeat(3,minmax(130px,1fr)) !important;}
}
@media(max-width:760px){
  body[data-page="relatorios"] .relatorios-kpis.relatorios-kpis-full{grid-template-columns:1fr 1fr !important;}
}


/* Compatibilidade: aplica o mesmo padrão mesmo sem atributo data-page no body */
.relatorios-kpis.relatorios-kpis-full{display:grid !important;grid-template-columns:repeat(6,minmax(130px,1fr)) !important;gap:12px !important;margin:16px 0 !important;}
.relatorios-kpi{--kpi-color:#2c94fc;height:66px !important;min-height:66px !important;border:1px solid #dbe3ef !important;background:#fff !important;padding:10px 14px !important;display:flex !important;flex-direction:row !important;align-items:center !important;justify-content:flex-start !important;gap:12px !important;box-shadow:none !important;border-radius:0 !important;cursor:default !important;text-align:left !important;box-sizing:border-box !important;font-family:"Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;}
.relatorios-kpi:hover{border-color:#dbe3ef !important;background:#fff !important;}
.relatorios-kpi-icon{width:26px !important;height:26px !important;flex:0 0 26px !important;display:inline-block !important;background:var(--kpi-color) !important;-webkit-mask:var(--icon-url) center / contain no-repeat !important;mask:var(--icon-url) center / contain no-repeat !important;object-fit:initial !important;}
.relatorios-kpi-content{display:flex !important;flex-direction:column !important;gap:5px !important;min-width:0 !important;line-height:1.15 !important;}
.relatorios-kpi .relatorios-kpi-content > span{display:block !important;font-size:12px !important;color:#56657a !important;font-weight:700 !important;line-height:1.15 !important;font-family:"Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;margin:0 !important;}
.relatorios-kpi .relatorios-kpi-content > b{display:block !important;font-size:17px !important;color:var(--kpi-color) !important;font-weight:800 !important;line-height:1.15 !important;font-family:"Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;margin:0 !important;}
.relatorios-kpi small{display:none !important;}
.relatorios-kpi.destaque{--kpi-color:#2c94fc;}.relatorios-kpi.done{--kpi-color:#16a34a;}.relatorios-kpi.warn{--kpi-color:#ef4444;}.relatorios-kpi.cost{--kpi-color:#16a34a;}.relatorios-kpi.reliability{--kpi-color:#f59e0b;}.relatorios-kpi.backlog{--kpi-color:#94a3b8;}
.relatorios-kpi:nth-child(3){--kpi-color:#ef4444;}.relatorios-kpi:nth-child(6){--kpi-color:#2c94fc;}.relatorios-kpi:nth-child(7){--kpi-color:#16a34a;}
@media(max-width:1100px){.relatorios-kpis.relatorios-kpis-full{grid-template-columns:repeat(3,minmax(130px,1fr)) !important;}}
@media(max-width:760px){.relatorios-kpis.relatorios-kpis-full{grid-template-columns:1fr 1fr !important;}}


/* Ajuste: abas de Relatórios no estilo dos botões do estoque, todos em azul e com ícone trocável */
.relatorios-tabs{
  display:flex !important;
  gap:8px !important;
  flex-wrap:wrap !important;
  margin:10px 0 16px !important;
  padding-bottom:8px !important;
  border-bottom:1px solid #dbe3ef !important;
}
.relatorios-tab{
  --rel-tab-color:#2d8cf0;
  height:38px !important;
  min-width:112px !important;
  padding:0 14px !important;
  border:1px solid var(--rel-tab-color) !important;
  background:#fff !important;
  color:var(--rel-tab-color) !important;
  border-radius:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  font-size:13px !important;
  font-weight:700 !important;
  font-family:"Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:none !important;
}
.relatorios-tab:hover{
  border-color:var(--rel-tab-color) !important;
  background:#fff !important;
  color:var(--rel-tab-color) !important;
}
.relatorios-tab.active{
  border-color:var(--rel-tab-color) !important;
  background:var(--rel-tab-color) !important;
  color:#fff !important;
}
.relatorios-tab-icon{
  width:16px !important;
  height:16px !important;
  flex:0 0 16px !important;
  display:inline-block !important;
  background:currentColor !important;
  -webkit-mask:var(--tab-icon-url) center / contain no-repeat !important;
  mask:var(--tab-icon-url) center / contain no-repeat !important;
}
.relatorios-tab span:not(.relatorios-tab-icon){
  display:inline-block !important;
  color:inherit !important;
}


/* Ajuste solicitado: aba selecionada com sombra azul clara, sem inverter cores */
.relatorios-tab.active,
body[data-page="relatorios"] .relatorios-tab.active{
  background:#fff !important;
  color:var(--rel-tab-color, #2d8cf0) !important;
  border-color:var(--rel-tab-color, #2d8cf0) !important;
  box-shadow:0 0 0 3px rgba(45, 140, 240, 0.14) !important;
}
.relatorios-tab.active .relatorios-tab-icon,
body[data-page="relatorios"] .relatorios-tab.active .relatorios-tab-icon{
  background:currentColor !important;
}


/* Ajuste solicitado: aba selecionada com azul bem claro por dentro */
.relatorios-tab.active,
body[data-page="relatorios"] .relatorios-tab.active{
  background:#eef6ff !important;
  color:var(--rel-tab-color, #2d8cf0) !important;
  border-color:var(--rel-tab-color, #2d8cf0) !important;
  box-shadow:none !important;
}
.relatorios-tab.active .relatorios-tab-icon,
body[data-page="relatorios"] .relatorios-tab.active .relatorios-tab-icon{
  background:currentColor !important;
}

/* Ajuste solicitado: todo o conteúdo das telas de Relatórios usa a mesma família de fonte do título "Relatórios". */
body[data-page="relatorios"] .relatorios-panel,
body[data-page="relatorios"] .relatorios-panel *,
.page-relatorios-only.relatorios-panel,
.page-relatorios-only.relatorios-panel *{
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;
}


/* Ajuste final: abas de Relatórios iguais aos botões do Estoque + gráficos mais sutis */
.relatorios-tabs,
body[data-page="relatorios"] .relatorios-tabs{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(130px,1fr)) !important;
  gap:12px !important;
  border-bottom:0 !important;
  margin:14px 0 16px !important;
  padding-bottom:0 !important;
  overflow:visible !important;
}
.relatorios-tab,
body[data-page="relatorios"] .relatorios-tab{
  height:66px !important;
  min-height:66px !important;
  min-width:0 !important;
  border:1px solid #dbe3ef !important;
  background:#ffffff !important;
  color:#56657a !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  padding:0 14px !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  text-align:left !important;
  white-space:nowrap !important;
  box-shadow:none !important;
}
.relatorios-tab:hover,
.relatorios-tab.active,
body[data-page="relatorios"] .relatorios-tab:hover,
body[data-page="relatorios"] .relatorios-tab.active{
  border-color:#2c94fc !important;
  background:#f7fbff !important;
  color:#2c94fc !important;
  box-shadow:none !important;
}
.relatorios-tab-icon,
body[data-page="relatorios"] .relatorios-tab-icon{
  width:22px !important;
  height:22px !important;
  flex:0 0 22px !important;
  background:currentColor !important;
}
@media(max-width:1100px){.relatorios-tabs,body[data-page="relatorios"] .relatorios-tabs{grid-template-columns:repeat(3,minmax(130px,1fr)) !important;}}
@media(max-width:760px){.relatorios-tabs,body[data-page="relatorios"] .relatorios-tabs{grid-template-columns:1fr 1fr !important;}}
.relatorios-formulas-grid{display:none !important;}
body[data-page="relatorios"] .relatorios-period-chart{
  border-color:#edf2f8 !important;
  box-shadow:0 8px 22px rgba(15,23,42,.035) !important;
}
body[data-page="relatorios"] .relatorios-chart-grid-line{
  stroke:#f1f5fa !important;
  stroke-width:.65 !important;
}
body[data-page="relatorios"] .relatorios-chart-line{
  stroke-width:1.8 !important;
  filter:none !important;
  opacity:.92 !important;
}
body[data-page="relatorios"] .relatorios-chart-dot{
  stroke-width:1.8 !important;
  filter:none !important;
}
body[data-page="relatorios"] .relatorios-chart-area{
  opacity:.62 !important;
}
body[data-page="relatorios"] .relatorios-chart-value-label{
  font-size:10px !important;
  font-weight:600 !important;
  fill:#334155 !important;
  stroke-width:3px !important;
}

/* Relatórios: seletor semana/dia no estilo dos selects do sistema */
body[data-page="relatorios"] .relatorios-period-select{
  height:40px !important;
  min-width:150px !important;
  border:1px solid #cfd8e6 !important;
  background:#fff !important;
  color:#4f5f75 !important;
  font-size:13px !important;
  font-weight:600 !important;
  padding:0 36px 0 12px !important;
  border-radius:0 !important;
  outline:none !important;
  cursor:pointer !important;
  appearance:auto !important;
}
body[data-page="relatorios"] .relatorios-period-select:hover,
body[data-page="relatorios"] .relatorios-period-select:focus{
  border-color:#2d8cf0 !important;
  box-shadow:0 0 0 2px rgba(45,140,240,.08) !important;
}
body[data-page="relatorios"] .relatorios-chart-line{
  stroke-width:1.35 !important;
  filter:none !important;
  opacity:.9 !important;
}
body[data-page="relatorios"] .relatorios-chart-dot{
  stroke-width:1.35 !important;
  filter:none !important;
}
body[data-page="relatorios"] .relatorios-chart-area{
  opacity:.46 !important;
}
body[data-page="relatorios"] .relatorios-chart-grid-line{
  stroke-width:.55 !important;
  stroke:#f3f6fa !important;
}
body[data-page="relatorios"] .relatorios-line-chart-grouped .relatorios-chart-line{
  stroke-width:1.25 !important;
}
.relatorios-formulas-grid{display:none !important;}

/* Responsáveis da abertura da O.S. em seleção compacta + cards */
.os-responsavel-field { align-self: start; }
.os-opening-responsaveis-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
  min-height: 30px;
}
.os-opening-responsavel-card {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #cfe3ff;
  background: #f6fbff;
  color: #24324a;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 8px 6px 10px;
  border-radius: 0;
}
.os-opening-responsavel-remove {
  border: 0;
  background: transparent;
  color: #2d8cf0;
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  padding: 0 2px;
}
.os-opening-responsavel-remove:hover { color: #d80000; }
.os-opening-responsavel-empty {
  color: #8a97aa;
  font-size: 12px;
  padding: 6px 0;
}

/* Correção final das cores dos cards principais de Relatórios */
body[data-page="relatorios"] .relatorios-kpi.reliability,
.relatorios-kpi.reliability{
  --kpi-color:#f59e0b !important;
}
body[data-page="relatorios"] .relatorios-kpi.reliability .relatorios-kpi-icon,
.relatorios-kpi.reliability .relatorios-kpi-icon{
  background:#f59e0b !important;
}
body[data-page="relatorios"] .relatorios-kpi.reliability .relatorios-kpi-content > b,
.relatorios-kpi.reliability .relatorios-kpi-content > b,
body[data-page="relatorios"] #rel-kpi-confiabilidade,
#rel-kpi-confiabilidade{
  color:#f59e0b !important;
}
body[data-page="relatorios"] .relatorios-kpi.backlog,
.relatorios-kpi.backlog{
  --kpi-color:#94a3b8 !important;
}
body[data-page="relatorios"] .relatorios-kpi.backlog .relatorios-kpi-icon,
.relatorios-kpi.backlog .relatorios-kpi-icon{
  background:#94a3b8 !important;
}
body[data-page="relatorios"] .relatorios-kpi.backlog .relatorios-kpi-content > b,
.relatorios-kpi.backlog .relatorios-kpi-content > b,
body[data-page="relatorios"] #rel-kpi-backlog,
#rel-kpi-backlog{
  color:#94a3b8 !important;
}
body[data-page="relatorios"] .relatorios-kpi.cost,
.relatorios-kpi.cost{
  --kpi-color:#16a34a !important;
}
body[data-page="relatorios"] .relatorios-kpi.cost .relatorios-kpi-icon,
.relatorios-kpi.cost .relatorios-kpi-icon{
  background:#16a34a !important;
}
body[data-page="relatorios"] .relatorios-kpi.cost .relatorios-kpi-content > b,
.relatorios-kpi.cost .relatorios-kpi-content > b,
body[data-page="relatorios"] #rel-kpi-custo-total,
#rel-kpi-custo-total{
  color:#16a34a !important;
}


/* Fix relatórios: menu lateral fixo ao rolar o conteúdo */
body[data-page="relatorios"] .sidebar{
  position: sticky !important;
  top: 0 !important;
  height: 100vh !important;
  align-self: flex-start !important;
  z-index: 30;
}

/* O.S. Programado */
.os-metric-card.scheduled .os-metric-value {
  color: #2d8cf0 !important;
}
.os-metric-card.scheduled .os-metric-label {
  color: #34415a;
}
.os-status-card.scheduled {
  color: #2d8cf0 !important;
  border-color: #2d8cf0 !important;
  background: #ffffff !important;
}
.os-status-card.scheduled img {
  width: 17px;
  height: 17px;
  object-fit: contain;
  flex: 0 0 auto;
}
.os-service-card.is-scheduled {
  border-color: rgba(45, 140, 240, 0.35);
  background: #ffffff;
}
.os-service-card.is-scheduled.is-selected {
  border-color: #2d8cf0;
  box-shadow: 0 0 0 1px rgba(45, 140, 240, 0.12) inset;
}


/* O.S. Vencido */
.os-metric-card.overdue .os-metric-value {
  color: #ef4444 !important;
}
.os-metric-card.overdue .os-metric-label {
  color: #34415a;
}
.os-status-card.overdue {
  color: #ef4444 !important;
  border-color: #ef4444 !important;
  background: #ffffff !important;
}
.os-status-card.overdue img {
  width: 17px;
  height: 17px;
  object-fit: contain;
  flex: 0 0 auto;
}
.os-service-card.is-overdue {
  border-color: rgba(239, 68, 68, 0.38);
  background: #ffffff;
}
.os-service-card.is-overdue.is-selected {
  border-color: #ef4444;
  box-shadow: 0 0 0 1px rgba(239, 68, 68, 0.12) inset;
}


/* AJUSTE MOBILE RESPONSIVO FINAL
   Faz a aplicação caber no celular sem forçar largura desktop. */
@media screen and (max-width: 760px) {
  html,
  body {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body { font-size: 13px !important; }

  .app-shell,
  .sidebar-layout,
  .dashboard-container,
  .dashboard-container.sidebar-main,
  .topbar-inner,
  main,
  section,
  .panel,
  .card,
  .modal-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .sidebar-layout { display: block !important; }

  .mobile-topbar {
    display: flex !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 60 !important;
    min-height: 60px !important;
  }

  .dashboard-container,
  .dashboard-container.sidebar-main {
    padding: 72px 10px 18px !important;
    margin: 0 !important;
  }

  .sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    width: min(292px, 86vw) !important;
    max-width: 86vw !important;
    height: 100vh !important;
    z-index: 70 !important;
    overflow-y: auto !important;
  }

  body.sidebar-collapsed .sidebar { transform: translateX(-100%) !important; }
  body:not(.sidebar-collapsed) .sidebar-backdrop { display: block !important; z-index: 65 !important; }

  .stats-grid,
  .relatorios-kpis,
  .relatorios-kpis.relatorios-kpis-full,
  .relatorios-formulas-grid,
  .relatorios-grid,
  .relatorios-grid-3,
  .dashboard-summary-grid,
  .proc-form-grid,
  .proc-form-grid.two,
  .proc-form-grid.three,
  .proc-layout,
  .os-dashboard-grid,
  .os-metrics-grid,
  .estoque-grid,
  .registry-grid,
  .detail-grid-two,
  .pie-card-shell {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 10px !important;
  }

  .stats-grid,
  .toolbar-panel,
  .table-panel,
  .tree-panel,
  .filter-panel,
  .machine-dashboard-panel,
  .inline-add-panel,
  .relatorios-panel,
  .relatorios-card,
  .proc-card-list,
  .os-panel,
  .estoque-panel {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
  }

  .toolbar-panel,
  .toolbar-left,
  .toolbar-right,
  .toolbar-filter-wrap,
  .filter-panel-actions,
  .machine-dashboard-filters,
  .os-toolbar,
  .os-filter-row,
  .relatorios-toolbar,
  .relatorios-chart-title,
  .proc-steps-header,
  .modal-actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 8px !important;
  }

  .btn,
  button.btn,
  .input,
  input,
  select,
  textarea,
  .select-like,
  .search-input,
  .search-input-wide,
  .toolbar-search-grow,
  .search-wide,
  .goal-input,
  .goal-input-wrap,
  .relatorios-period-select,
  .relatorios-asset-tree-filter,
  .os-add-icon-btn,
  .estoque-report-top-btn {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .icon-action-btn { width: 100% !important; min-width: 0 !important; }

  .data-table,
  .tree-embedded-table,
  .proc-table,
  table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: auto !important;
  }

  .table-panel,
  .tree-embedded-table-wrap,
  .proc-table-wrap,
  .relatorios-table-wrap {
    overflow-x: auto !important;
    max-width: 100% !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .tree-asset-grid,
  .tree-inline-info,
  .relatorios-capacidade-box {
    grid-template-columns: 1fr !important;
  }

  .relatorios-tabs {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: 100% !important;
  }

  .relatorios-tab { min-width: 0 !important; padding-left: 8px !important; padding-right: 8px !important; }

  .relatorios-period-charts {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .relatorios-period-chart {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 300px !important;
    padding: 12px !important;
    overflow: hidden !important;
  }

  .relatorios-period-chart .relatorios-bars,
  .relatorios-period-chart .relatorios-line-chart-shell,
  .relatorios-line-chart-shell,
  .relatorios-chart-expand-body .relatorios-line-chart-shell {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 230px !important;
    height: auto !important;
    overflow: hidden !important;
  }

  .relatorios-period-chart .relatorios-line-chart,
  .relatorios-line-chart,
  body[data-page="relatorios"] #rel-chart-period-os .relatorios-line-chart,
  .relatorios-chart-expand-body .relatorios-line-chart {
    width: 100% !important;
    min-width: 0 !important;
    height: 230px !important;
  }

  svg.relatorios-line-chart,
  .relatorios-line-chart svg,
  .relatorios-bars svg {
    width: 100% !important;
    max-width: 100% !important;
  }

  body[data-page="relatorios"] #rel-chart-period-os .relatorios-chart-legend,
  body[data-page="relatorios"] #rel-chart-period-os .relatorios-chart-legend-bottom,
  .relatorios-chart-legend {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .relatorios-asset-tree-node,
  body[data-page="relatorios"] .relatorios-asset-tree-node,
  body[data-page="relatorios"] .relatorios-asset-tree-row-flat {
    min-width: 0 !important;
    width: 100% !important;
  }

  .proc-modal-card,
  .os-detail-modal-card,
  .modal-card,
  dialog .modal-card {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    max-height: calc(100vh - 16px) !important;
    overflow: auto !important;
    padding: 14px !important;
  }

  .proc-step {
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }

  .proc-tabs {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .os-service-card,
  .proc-service-card,
  .relatorios-rank-item,
  .tree-asset-card,
  .stat-card {
    width: 100% !important;
    min-width: 0 !important;
  }

  .os-service-card-meta,
  .os-service-card-header,
  .proc-service-card-header {
    flex-wrap: wrap !important;
    min-width: 0 !important;
  }

  .os-service-card-title,
  .proc-service-card .os-service-card-title,
  .relatorios-rank-item span,
  .tree-asset-name,
  .device-name,
  .device-code {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    text-overflow: clip !important;
    max-width: 100% !important;
  }
}

@media screen and (max-width: 420px) {
  .dashboard-container,
  .dashboard-container.sidebar-main { padding-left: 8px !important; padding-right: 8px !important; }
  .relatorios-tabs { grid-template-columns: 1fr !important; }
}

/* Correção mobile: botões compactos e alinhados sem quebrar o layout */
@media screen and (max-width: 760px) {
  /* Ordem de serviço / Solicitações: busca em cima, filtro pequeno + adicionar na mesma linha */
  body[data-page="ordem"] .os-page-toolbar-actions,
  body[data-page="solicitacao"] .os-page-toolbar-actions,
  .page-ordem-only .os-page-toolbar-actions {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    align-items: center !important;
  }

  body[data-page="ordem"] .os-search-wrap-top,
  body[data-page="solicitacao"] .os-search-wrap-top,
  .page-ordem-only .os-search-wrap-top {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    order: 1 !important;
  }

  body[data-page="ordem"] .os-toolbar-filter-btn,
  body[data-page="solicitacao"] .os-toolbar-filter-btn,
  .page-ordem-only .os-toolbar-filter-btn {
    grid-column: 1 !important;
    order: 2 !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #d9e2ee !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body[data-page="ordem"] .os-add-btn-top,
  body[data-page="solicitacao"] .os-add-btn-top,
  .page-ordem-only .os-add-btn-top {
    grid-column: 2 !important;
    order: 3 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 40px !important;
    margin: 0 !important;
  }

  body[data-page="ordem"] .os-toolbar-filter-image,
  body[data-page="solicitacao"] .os-toolbar-filter-image,
  .page-ordem-only .os-toolbar-filter-image {
    width: 18px !important;
    height: 18px !important;
    object-fit: contain !important;
  }

  /* Ativos: busca em cima e botões pequenos alinhados em uma única linha */
  body[data-page="home"] .assets-workspace-header,
  .page-home-only.assets-workspace-panel .assets-workspace-header {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    align-items: stretch !important;
  }

  body[data-page="home"] .assets-page-title,
  .page-home-only.assets-workspace-panel .assets-page-title {
    padding: 0 !important;
    margin: 0 !important;
  }

  body[data-page="home"] .assets-workspace-toolbar,
  .page-home-only.assets-workspace-panel .assets-workspace-toolbar {
    grid-column: 1 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body[data-page="home"] .assets-workspace-toolbar .search-wrap,
  body[data-page="home"] .assets-workspace-toolbar .search-wide,
  body[data-page="home"] .assets-search-grow,
  .page-home-only.assets-workspace-panel .assets-workspace-toolbar .search-wrap,
  .page-home-only.assets-workspace-panel .assets-workspace-toolbar .search-wide,
  .page-home-only.assets-workspace-panel .assets-search-grow {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: none !important;
  }

  body[data-page="home"] .assets-workspace-toolbar .toolbar-filter-wrap,
  .page-home-only.assets-workspace-panel .assets-workspace-toolbar .toolbar-filter-wrap {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: auto !important;
    min-width: 0 !important;
  }

  body[data-page="home"] #btn-open-filter,
  body[data-page="home"] #btn-asset-add,
  body[data-page="home"] #btn-asset-custom-icon,
  .page-home-only.assets-workspace-panel #btn-open-filter,
  .page-home-only.assets-workspace-panel #btn-asset-add,
  .page-home-only.assets-workspace-panel #btn-asset-custom-icon {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 42px !important;
  }

  body[data-page="home"] .asset-actions-wrap,
  .page-home-only.assets-workspace-panel .asset-actions-wrap {
    width: auto !important;
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
  }

  body[data-page="home"] .asset-actions-menu,
  body[data-page="home"] .asset-edit-popover,
  .page-home-only.assets-workspace-panel .asset-actions-menu,
  .page-home-only.assets-workspace-panel .asset-edit-popover {
    left: auto !important;
    right: 0 !important;
    top: calc(100% + 8px) !important;
  }

  body[data-page="home"] #asset-filter-popover,
  .page-home-only.assets-workspace-panel #asset-filter-popover {
    left: 0 !important;
    right: auto !important;
    top: calc(100% + 8px) !important;
    width: min(300px, calc(100vw - 28px)) !important;
    max-width: calc(100vw - 28px) !important;
  }
}

@media screen and (max-width: 420px) {
  body[data-page="ordem"] .os-page-toolbar-actions,
  body[data-page="solicitacao"] .os-page-toolbar-actions,
  .page-ordem-only .os-page-toolbar-actions {
    grid-template-columns: 44px minmax(0, 1fr) !important;
  }
}


/* Ajuste final mobile dos botões solicitado em 10/06:
   - Ativos: filtro antes do histórico verde e menu depois.
   - Solicitações/O.S.: filtro pequeno ao lado direito do botão Adicionar. */
@media screen and (max-width: 760px) {
  body[data-page="ordem"] .os-page-toolbar-actions,
  body[data-page="ordem-servico"] .os-page-toolbar-actions,
  body[data-page="solicitacao"] .os-page-toolbar-actions,
  .page-ordem-only .os-page-toolbar-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px !important;
    grid-auto-rows: auto !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    align-items: center !important;
    justify-content: stretch !important;
  }

  body[data-page="ordem"] .os-search-wrap-top,
  body[data-page="ordem-servico"] .os-search-wrap-top,
  body[data-page="solicitacao"] .os-search-wrap-top,
  .page-ordem-only .os-search-wrap-top {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    order: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  body[data-page="ordem"] .os-add-btn-top,
  body[data-page="ordem-servico"] .os-add-btn-top,
  body[data-page="solicitacao"] .os-add-btn-top,
  .page-ordem-only .os-add-btn-top {
    grid-column: 1 !important;
    grid-row: 2 !important;
    order: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
  }

  body[data-page="ordem"] .os-toolbar-filter-btn,
  body[data-page="ordem-servico"] .os-toolbar-filter-btn,
  body[data-page="solicitacao"] .os-toolbar-filter-btn,
  .page-ordem-only .os-toolbar-filter-btn {
    grid-column: 2 !important;
    grid-row: 2 !important;
    order: 3 !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #d9e2ee !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body[data-page="ordem"] .os-toolbar-filter-image,
  body[data-page="ordem-servico"] .os-toolbar-filter-image,
  body[data-page="solicitacao"] .os-toolbar-filter-image,
  .page-ordem-only .os-toolbar-filter-image {
    width: 18px !important;
    height: 18px !important;
    object-fit: contain !important;
  }

  body[data-page="home"] .assets-workspace-toolbar,
  .page-home-only.assets-workspace-panel .assets-workspace-toolbar {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body[data-page="home"] .assets-workspace-toolbar .search-wrap,
  body[data-page="home"] .assets-workspace-toolbar .search-wide,
  body[data-page="home"] .assets-search-grow,
  .page-home-only.assets-workspace-panel .assets-workspace-toolbar .search-wrap,
  .page-home-only.assets-workspace-panel .assets-workspace-toolbar .search-wide,
  .page-home-only.assets-workspace-panel .assets-search-grow {
    grid-row: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body[data-page="home"] .assets-workspace-toolbar .toolbar-filter-wrap,
  .page-home-only.assets-workspace-panel .assets-workspace-toolbar .toolbar-filter-wrap {
    grid-row: 2 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body[data-page="home"] #btn-open-filter,
  .page-home-only.assets-workspace-panel #btn-open-filter {
    order: 1 !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    flex: 0 0 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body[data-page="home"] #btn-asset-custom-icon,
  .page-home-only.assets-workspace-panel #btn-asset-custom-icon {
    order: 2 !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    flex: 0 0 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body[data-page="home"] .asset-actions-wrap,
  .page-home-only.assets-workspace-panel .asset-actions-wrap {
    order: 3 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    position: relative !important;
  }

  body[data-page="home"] #btn-asset-add,
  .page-home-only.assets-workspace-panel #btn-asset-add {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    flex: 0 0 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body[data-page="home"] #btn-open-filter img,
  .page-home-only.assets-workspace-panel #btn-open-filter img {
    width: 18px !important;
    height: 18px !important;
    object-fit: contain !important;
  }

  body[data-page="home"] #btn-asset-custom-icon img,
  .page-home-only.assets-workspace-panel #btn-asset-custom-icon img {
    width: 26px !important;
    height: 26px !important;
    object-fit: contain !important;
  }
}

/* Ajuste mobile Ativos 10/06: filtro ao lado da pesquisa; histórico e menu na linha de baixo */
@media screen and (max-width: 760px) {
  body[data-page="home"] .assets-workspace-toolbar,
  .page-home-only.assets-workspace-panel .assets-workspace-toolbar {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 42px 42px minmax(0, 1fr) 44px !important;
    grid-auto-rows: auto !important;
    column-gap: 10px !important;
    row-gap: 12px !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body[data-page="home"] .assets-workspace-toolbar .search-wrap,
  body[data-page="home"] .assets-workspace-toolbar .search-wide,
  body[data-page="home"] .assets-search-grow,
  .page-home-only.assets-workspace-panel .assets-workspace-toolbar .search-wrap,
  .page-home-only.assets-workspace-panel .assets-workspace-toolbar .search-wide,
  .page-home-only.assets-workspace-panel .assets-search-grow {
    grid-column: 1 / 4 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body[data-page="home"] .assets-workspace-toolbar .toolbar-filter-wrap,
  .page-home-only.assets-workspace-panel .assets-workspace-toolbar .toolbar-filter-wrap {
    display: contents !important;
  }

  body[data-page="home"] #btn-open-filter,
  .page-home-only.assets-workspace-panel #btn-open-filter {
    grid-column: 4 !important;
    grid-row: 1 !important;
    order: 1 !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 42px !important;
    min-height: 42px !important;
    flex: 0 0 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body[data-page="home"] #btn-asset-custom-icon,
  .page-home-only.assets-workspace-panel #btn-asset-custom-icon {
    grid-column: 1 !important;
    grid-row: 2 !important;
    order: 2 !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    flex: 0 0 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body[data-page="home"] .asset-actions-wrap,
  .page-home-only.assets-workspace-panel .asset-actions-wrap {
    grid-column: 2 !important;
    grid-row: 2 !important;
    order: 3 !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    flex: 0 0 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    margin: 0 !important;
  }

  body[data-page="home"] #btn-asset-add,
  .page-home-only.assets-workspace-panel #btn-asset-add {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    flex: 0 0 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body[data-page="home"] #btn-open-filter img,
  .page-home-only.assets-workspace-panel #btn-open-filter img {
    width: 22px !important;
    height: 22px !important;
    object-fit: contain !important;
  }

  body[data-page="home"] #btn-asset-custom-icon img,
  .page-home-only.assets-workspace-panel #btn-asset-custom-icon img {
    width: 28px !important;
    height: 28px !important;
    object-fit: contain !important;
  }

  body[data-page="home"] #asset-filter-popover,
  .page-home-only.assets-workspace-panel #asset-filter-popover {
    left: 0 !important;
    right: auto !important;
    top: calc(100% + 8px) !important;
    width: min(300px, calc(100vw - 28px)) !important;
    max-width: calc(100vw - 28px) !important;
    z-index: 30 !important;
  }
}

/* Ajuste mobile geral: manter botões de modais/cards em linha única sem quebrar */
@media screen and (max-width: 760px) {
  /* Modal de detalhes da O.S.: menu de opções + fechar na mesma linha */
  .os-detail-header-actions,
  .os-detail-header-top,
  .os-detail-modal .os-detail-header-top,
  .os-detail-modal .os-detail-header-top-compact {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    width: 100% !important;
    margin-bottom: 10px !important;
  }

  .os-detail-options-wrap,
  .os-detail-modal .os-options-wrap,
  .os-detail-modal .os-detail-options-wrap {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
  }

  #btn-os-options,
  .os-detail-options-btn,
  .os-detail-modal .os-options-btn,
  .os-detail-modal .os-detail-options-btn {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    flex: 0 0 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #btn-close-os-detail-modal,
  .os-detail-close-btn,
  .os-detail-modal .os-detail-close-btn {
    width: auto !important;
    min-width: 104px !important;
    max-width: 160px !important;
    height: 42px !important;
    min-height: 42px !important;
    flex: 0 0 auto !important;
    padding: 0 18px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
  }

  /* Cabeçalho dos cards de O.S.: status/tipo e número ficam na mesma linha */
  .os-detail-combined-card .os-service-card-header,
  .os-service-card-header,
  .proc-service-card-header {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 8px !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .os-detail-combined-card .os-service-card-header-left,
  .os-service-card-header-left {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .os-detail-combined-card .os-service-card-number,
  .os-service-card-number {
    flex: 0 0 auto !important;
    margin-left: 8px !important;
    margin-top: 0 !important;
    white-space: nowrap !important;
    text-align: right !important;
  }

  .os-detail-combined-card .os-service-card .os-list-badge,
  .os-detail-combined-card .os-status-card,
  .os-service-card .os-list-badge,
  .os-service-card .os-status-card {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
  }

  /* Rodapés e ações de modais: botões lado a lado, compactos */
  .os-detail-footer,
  .modal-actions,
  .filter-panel-actions,
  .os-delete-confirm-actions,
  .os-consumido-actions,
  .estoque-filter-actions,
  .chat-create-actions,
  .asset-modal-actions,
  .user-list-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    width: 100% !important;
  }

  .os-detail-footer .btn,
  .modal-actions .btn,
  .filter-panel-actions .btn,
  .os-delete-confirm-actions .os-delete-confirm-btn,
  .os-consumido-actions .btn,
  .estoque-filter-actions .btn,
  .chat-create-actions .btn,
  .asset-modal-actions .btn,
  .user-list-actions .btn {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 1 1 0 !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 10px !important;
    margin: 0 !important;
    white-space: nowrap !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
  }

  /* Botões pequenos de adicionar nos blocos do detalhe da O.S. */
  .os-apontamentos-head,
  .proc-list-card-head,
  .detail-card-header,
  .tree-panel-header {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }

  .os-apontamento-add,
  #btn-add-apontamento,
  #btn-add-consumido,
  .detail-card-header .btn,
  .tree-panel-header .btn {
    width: auto !important;
    min-width: 40px !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 10px !important;
    white-space: nowrap !important;
  }
}

@media screen and (max-width: 380px) {
  .os-detail-footer .btn,
  .modal-actions .btn,
  .filter-panel-actions .btn,
  .os-consumido-actions .btn,
  .estoque-filter-actions .btn,
  .chat-create-actions .btn,
  .asset-modal-actions .btn,
  .user-list-actions .btn {
    font-size: 11px !important;
    padding: 0 7px !important;
  }

  #btn-close-os-detail-modal,
  .os-detail-close-btn,
  .os-detail-modal .os-detail-close-btn {
    min-width: 88px !important;
    padding: 0 12px !important;
  }
}

/* Ajuste solicitado 10/06: somente mobile - número da O.S. no canto direito do card e histórico com pesquisa + filtro na mesma linha */
@media screen and (max-width: 760px) {
  .os-service-card,
  #asset-history-modal .asset-history-list .os-service-card {
    position: relative !important;
  }

  .os-service-card .os-service-card-header,
  #asset-history-modal .asset-history-list .os-service-card-header {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-right: 76px !important;
    box-sizing: border-box !important;
  }

  .os-service-card .os-service-card-header-left,
  #asset-history-modal .asset-history-list .os-service-card-header-left {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .os-service-card .os-service-card-title,
  #asset-history-modal .asset-history-list .os-service-card-title {
    flex: 1 1 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding-right: 0 !important;
  }

  .os-service-card .os-service-card-number,
  #asset-history-modal .asset-history-list .os-service-card-number {
    position: absolute !important;
    top: 2px !important;
    right: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    min-width: 54px !important;
    max-width: 74px !important;
    text-align: right !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    z-index: 2 !important;
  }

  #asset-history-modal .asset-history-toolbar {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  #asset-history-modal .asset-history-toolbar .asset-history-search-wrap {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  #asset-history-modal .asset-history-filter-button {
    flex: 0 0 34px !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 40px !important;
    min-height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* Correção definitiva 10/06: Histórico mobile - pesquisa e filtro na mesma linha, lado a lado */
@media screen and (max-width: 760px) {
  #asset-history-modal .asset-history-card,
  #asset-history-modal.asset-history-modal .asset-history-card {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    box-sizing: border-box !important;
  }

  #asset-history-modal .asset-history-toolbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 40px !important;
    column-gap: 8px !important;
    row-gap: 0 !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 18px 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  #asset-history-modal .asset-history-toolbar .asset-history-search-wrap,
  #asset-history-modal .asset-history-toolbar .search-wrap.os-search-wrap.asset-history-search-wrap {
    grid-column: 1 !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  #asset-history-modal #asset-history-search.os-search-input,
  #asset-history-modal .asset-history-toolbar .asset-history-search-wrap input {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 40px !important;
    box-sizing: border-box !important;
  }

  #asset-history-modal .asset-history-filter-button,
  #asset-history-modal button#asset-history-filter-button.asset-history-filter-button {
    grid-column: 2 !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border: 1px solid #d9e2ee !important;
    background: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #asset-history-modal .asset-history-filter-button .os-toolbar-filter-image {
    width: 20px !important;
    height: 20px !important;
  }
}

/* Correção definitiva: Histórico mobile - fixa a busca e o filtro na mesma linha */
@media screen and (max-width: 760px) {
  #asset-history-modal .asset-history-toolbar {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    margin: 0 0 18px 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  #asset-history-modal .asset-history-toolbar .asset-history-search-wrap,
  #asset-history-modal .asset-history-toolbar .search-wrap.os-search-wrap.asset-history-search-wrap {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    right: 48px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
    transform: none !important;
  }

  #asset-history-modal #asset-history-search.os-search-input,
  #asset-history-modal .asset-history-toolbar .asset-history-search-wrap input {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 40px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  #asset-history-modal .asset-history-filter-button,
  #asset-history-modal button#asset-history-filter-button.asset-history-filter-button {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #d9e2ee !important;
    background: #ffffff !important;
    box-shadow: none !important;
    z-index: 3 !important;
    box-sizing: border-box !important;
  }

  #asset-history-modal .asset-history-filter-button .os-toolbar-filter-image {
    width: 20px !important;
    height: 20px !important;
  }
}


/* mobile-planos-lista-calendario-expand-final */

/* Ajuste solicitado: Planos mobile - lista ao lado da pesquisa e calendário expansível */
.plano-calendar-expand-btn{
  display:none;
  height:40px;
  border:1px solid #2c94fc;
  background:#fff;
  color:#2c94fc;
  font-size:13px;
  font-weight:800;
  padding:0 12px;
  cursor:pointer;
  border-radius:0;
  white-space:nowrap;
}
.plano-calendar-expand-btn:hover{background:#f7fbff;}
.plano-calendar-mobile-overlay{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(15,23,42,.70);
  padding:0;
}
.plano-calendar-mobile-overlay.open{display:flex;}
.plano-calendar-mobile-frame{
  background:#fff;
  border:1px solid #dbe3ef;
  box-shadow:0 22px 60px rgba(15,23,42,.35);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.plano-calendar-mobile-head{
  height:48px;
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 12px;
  border-bottom:1px solid #dbe3ef;
  background:#fff;
  color:#111827;
  font-weight:900;
}
.plano-calendar-mobile-close{
  width:38px;
  height:38px;
  border:1px solid #dbe3ef;
  background:#fff;
  color:#111827;
  font-size:24px;
  line-height:1;
  cursor:pointer;
  border-radius:0;
}
.plano-calendar-mobile-body{
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  background:#fff;
}
.plano-calendar-mobile-body .plano-calendar-shell{
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  border:0 !important;
  overflow:auto !important;
}
body.plano-calendar-mobile-open{overflow:hidden !important;}
@media screen and (max-width:760px){
  body[data-page="plano"] .plano-toolbar .os-page-toolbar-actions{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 46px !important;
    gap:8px !important;
    align-items:center !important;
    width:100% !important;
  }
  body[data-page="plano"] .plano-toolbar .os-search-wrap-top{
    grid-column:1 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    flex:1 1 auto !important;
    margin:0 !important;
  }
  body[data-page="plano"] .plano-toolbar #btn-open-plano-list.plano-list-icon-btn{
    grid-column:2 !important;
    width:46px !important;
    min-width:46px !important;
    max-width:46px !important;
    height:44px !important;
    min-height:44px !important;
    padding:0 !important;
    margin:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:static !important;
    transform:none !important;
  }
  body[data-page="plano"] .plano-toolbar #btn-open-plano-list .plano-list-icon-img{
    width:26px !important;
    height:26px !important;
    object-fit:contain !important;
  }
  body[data-page="plano"] .plano-toolbar #btn-new-plano{
    grid-column:1 / -1 !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:44px !important;
    margin-top:2px !important;
    justify-content:center !important;
  }
  body[data-page="plano"] .plano-month-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:8px !important;
    align-items:center !important;
    margin:10px 0 12px !important;
  }
  body[data-page="plano"] .plano-month-row .plano-month-input{
    grid-column:auto !important;
    width:100% !important;
    min-width:0 !important;
  }
  body[data-page="plano"] .plano-calendar-expand-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:40px !important;
    min-width:120px !important;
    padding:0 10px !important;
    font-size:12px !important;
  }
  .plano-calendar-mobile-frame{
    width:calc(100vh - 20px);
    height:calc(100vw - 20px);
    max-width:calc(100vh - 20px);
    max-height:calc(100vw - 20px);
    transform:rotate(90deg);
    transform-origin:center center;
  }
  .plano-calendar-mobile-body .plano-calendar-grid-equipment{
    min-width:max-content !important;
  }
}
@media screen and (max-width:760px) and (orientation:landscape){
  .plano-calendar-mobile-frame{
    width:calc(100vw - 20px);
    height:calc(100vh - 20px);
    max-width:calc(100vw - 20px);
    max-height:calc(100vh - 20px);
    transform:none;
  }
}
@media screen and (max-width:380px){
  body[data-page="plano"] .plano-calendar-expand-btn{
    min-width:104px !important;
    font-size:11px !important;
  }
}



/* mobile-planos-calendario-mais-amplo-final */
@media screen and (max-width:760px){
  body[data-page="plano"] .plano-month-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    width:100% !important;
    margin:10px 0 12px !important;
  }
  body[data-page="plano"] .plano-month-row .plano-month-input{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:48px !important;
    font-size:16px !important;
    padding:0 14px !important;
    box-sizing:border-box !important;
  }
  body[data-page="plano"] .plano-calendar-expand-btn{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:44px !important;
    font-size:13px !important;
  }
  .plano-calendar-mobile-overlay{
    padding:0 !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .plano-calendar-mobile-frame{
    width:100svh !important;
    height:100svw !important;
    max-width:100svh !important;
    max-height:100svw !important;
    border:0 !important;
    border-radius:0 !important;
    transform:rotate(90deg) !important;
    transform-origin:center center !important;
  }
  .plano-calendar-mobile-head{
    height:40px !important;
    min-height:40px !important;
    padding:0 10px !important;
    font-size:14px !important;
  }
  .plano-calendar-mobile-close{
    width:34px !important;
    height:34px !important;
    font-size:22px !important;
  }
  .plano-calendar-mobile-body{
    height:calc(100% - 40px) !important;
    overflow:auto !important;
  }
  .plano-calendar-mobile-body .plano-calendar-shell{
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    overflow:auto !important;
  }
  .plano-calendar-mobile-body .plano-calendar,
  .plano-calendar-mobile-body .plano-calendar-grid-equipment{
    min-width:900px !important;
  }
}
@media screen and (max-width:760px) and (orientation:landscape){
  .plano-calendar-mobile-frame{
    width:100svw !important;
    height:100svh !important;
    max-width:100svw !important;
    max-height:100svh !important;
    transform:none !important;
  }
}


/* ajuste-final-planos-mobile-sem-tabela-codigo-inline */
@media screen and (max-width: 760px){
  body[data-page="plano"] .plano-month-row{
    display:grid !important;
    grid-template-columns: 1fr !important;
    gap:8px !important;
    width:100% !important;
    margin:12px 0 12px !important;
  }
  body[data-page="plano"] .plano-month-row .plano-month-input{
    grid-column:1 !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:46px !important;
    box-sizing:border-box !important;
  }
  body[data-page="plano"] .plano-calendar-expand-btn,
  body[data-page="plano"] #btn-expand-plano-calendar{
    grid-column:1 !important;
    display:flex !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:44px !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    padding:0 12px !important;
    border:1px solid #2d8cf0 !important;
    background:#fff !important;
    color:#2d8cf0 !important;
    font-size:13px !important;
    font-weight:800 !important;
    white-space:nowrap !important;
    box-sizing:border-box !important;
  }
  /* No mobile, o calendário completo não fica espremido na página.
     Ele aparece somente ao tocar em Expandir calendário. */
  body[data-page="plano"] #plano-view-calendario > .plano-calendar-shell{
    display:none !important;
  }
  body[data-page="plano"] .plano-calendar-mobile-body .plano-calendar-shell{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    overflow:auto !important;
    border:0 !important;
  }
  body[data-page="plano"] .plano-calendar-mobile-body .plano-calendar-grid-equipment{
    display:grid !important;
  }
}

/* correcao-final-posicao-codigo-planos-mobile */
@media screen and (max-width: 760px){
  body[data-page="plano"] #plano-view-calendario > .plano-calendar-shell{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    max-height:none !important;
    border:1px solid #dbe3ef !important;
    box-sizing:border-box !important;
  }
  body[data-page="plano"] #plano-view-calendario > .plano-calendar-shell .plano-calendar,
  body[data-page="plano"] #plano-view-calendario > .plano-calendar-shell .plano-calendar-grid-equipment{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  body[data-page="plano"] #plano-view-calendario > .plano-calendar-shell .plano-calendar-grid-equipment{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) 118px !important;
  }
  body[data-page="plano"] #plano-view-calendario > .plano-calendar-shell .plano-cal-head.day,
  body[data-page="plano"] #plano-view-calendario > .plano-calendar-shell .plano-day-cell{
    display:none !important;
  }
  body[data-page="plano"] #plano-view-calendario > .plano-calendar-shell .plano-cal-head.sticky,
  body[data-page="plano"] #plano-view-calendario > .plano-calendar-shell .plano-cal-cell.fixed-col,
  body[data-page="plano"] #plano-view-calendario > .plano-calendar-shell .plano-cal-head.sticky-code,
  body[data-page="plano"] #plano-view-calendario > .plano-calendar-shell .plano-cal-cell.sticky-code{
    position:static !important;
    left:auto !important;
    right:auto !important;
    z-index:auto !important;
  }
  body[data-page="plano"] #plano-view-calendario > .plano-calendar-shell .plano-cal-head,
  body[data-page="plano"] #plano-view-calendario > .plano-calendar-shell .plano-cal-cell{
    min-width:0 !important;
    box-sizing:border-box !important;
  }
  body[data-page="plano"] #plano-view-calendario > .plano-calendar-shell .plano-head-code,
  body[data-page="plano"] #plano-view-calendario > .plano-calendar-shell .plano-equipment-code{
    width:auto !important;
    min-width:0 !important;
    max-width:118px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
  body[data-page="plano"] #plano-view-calendario > .plano-calendar-shell .plano-equipment-name{
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
  body[data-page="plano"] #plano-view-calendario > .plano-calendar-shell .plano-equipment-name strong,
  body[data-page="plano"] #plano-view-calendario > .plano-calendar-shell .plano-equipment-code strong,
  body[data-page="plano"] #plano-view-calendario > .plano-calendar-shell .plano-equipment-code{
    font-size:13px !important;
  }
}

/* correcao-global-codigo-planos-mobile-todos-filtros */
@media screen and (max-width: 760px){
  body[data-page="plano"] #plano-view-calendario .plano-calendar-shell,
  body[data-page="plano"] #plano-view-calendario > .plano-calendar-shell{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }
  body[data-page="plano"] #plano-view-calendario .plano-calendar,
  body[data-page="plano"] #plano-view-calendario .plano-calendar-grid,
  body[data-page="plano"] #plano-view-calendario .plano-calendar-grid-equipment{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  body[data-page="plano"] #plano-view-calendario .plano-calendar-grid-equipment{
    display:grid !important;
    grid-template-columns:minmax(0, calc(100% - 96px)) 96px !important;
    grid-auto-columns:0 !important;
    grid-auto-flow:row !important;
    overflow:hidden !important;
  }
  body[data-page="plano"] #plano-view-calendario .plano-calendar-grid-equipment .plano-cal-head.day,
  body[data-page="plano"] #plano-view-calendario .plano-calendar-grid-equipment .plano-day-cell{
    display:none !important;
  }
  body[data-page="plano"] #plano-view-calendario .plano-calendar-grid-equipment .plano-head-equipment,
  body[data-page="plano"] #plano-view-calendario .plano-calendar-grid-equipment .plano-equipment-name{
    grid-column:1 !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
  }
  body[data-page="plano"] #plano-view-calendario .plano-calendar-grid-equipment .plano-head-code,
  body[data-page="plano"] #plano-view-calendario .plano-calendar-grid-equipment .plano-equipment-code{
    grid-column:2 !important;
    width:auto !important;
    min-width:0 !important;
    max-width:96px !important;
  }
  body[data-page="plano"] #plano-view-calendario .plano-calendar-grid-equipment .plano-cal-head.sticky,
  body[data-page="plano"] #plano-view-calendario .plano-calendar-grid-equipment .plano-cal-cell.fixed-col,
  body[data-page="plano"] #plano-view-calendario .plano-calendar-grid-equipment .plano-cal-head.sticky-code,
  body[data-page="plano"] #plano-view-calendario .plano-calendar-grid-equipment .plano-cal-cell.sticky-code{
    position:static !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    z-index:auto !important;
    transform:none !important;
    box-sizing:border-box !important;
  }
  body[data-page="plano"] #plano-view-calendario .plano-calendar-grid-equipment .plano-cal-head,
  body[data-page="plano"] #plano-view-calendario .plano-calendar-grid-equipment .plano-cal-cell{
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    padding-left:12px !important;
    padding-right:10px !important;
  }
  body[data-page="plano"] #plano-view-calendario .plano-calendar-grid-equipment .plano-equipment-code,
  body[data-page="plano"] #plano-view-calendario .plano-calendar-grid-equipment .plano-head-code{
    text-align:left !important;
    justify-content:flex-start !important;
  }
}

/* fix-planos-mobile-codigo-todos-calendarios-final */
@media screen and (max-width:760px){
  body[data-page="plano"] .plano-mobile-code-table{display:block !important;width:100% !important;max-width:100% !important;min-width:0 !important;margin:12px 0 0 0 !important;box-sizing:border-box !important;overflow:hidden !important;}
  body[data-page="plano"] .plano-mobile-code-table .plano-mobile-equipment-table{display:block !important;width:100% !important;max-width:100% !important;min-width:0 !important;margin:0 !important;border:1px solid #dbe3ef !important;background:#fff !important;box-sizing:border-box !important;overflow:hidden !important;}
  body[data-page="plano"] .plano-mobile-code-table .plano-mobile-equipment-header,body[data-page="plano"] .plano-mobile-code-table .plano-mobile-equipment-row{display:grid !important;grid-template-columns:minmax(0, 1fr) 104px !important;width:100% !important;min-width:0 !important;max-width:100% !important;box-sizing:border-box !important;}
  body[data-page="plano"] .plano-mobile-code-table .plano-mobile-equipment-header > div,body[data-page="plano"] .plano-mobile-code-table .plano-mobile-equipment-row > div{min-width:0 !important;max-width:100% !important;padding:13px 12px !important;border-right:1px solid #dbe3ef !important;border-bottom:1px solid #dbe3ef !important;box-sizing:border-box !important;overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important;}
  body[data-page="plano"] .plano-mobile-code-table .plano-mobile-equipment-header > div:last-child,body[data-page="plano"] .plano-mobile-code-table .plano-mobile-equipment-row > div:last-child{border-right:0 !important;text-align:left !important;}
  body[data-page="plano"] .plano-mobile-code-table .plano-mobile-equipment-header{background:#f8fafc !important;color:#111827 !important;font-size:12px !important;font-weight:800 !important;text-transform:uppercase !important;}
  body[data-page="plano"] .plano-mobile-code-table .plano-mobile-equipment-row{color:#1f2a3d !important;font-size:13px !important;font-weight:500 !important;}
  body[data-page="plano"] .plano-mobile-code-table .plano-mobile-equipment-row:last-child > div{border-bottom:0 !important;}
  body[data-page="plano"] .plano-mobile-code-table .plano-mobile-equipment-empty{padding:16px 12px !important;color:#6b7280 !important;font-size:13px !important;}
  body[data-page="plano"] #plano-view-calendario > .plano-calendar-shell{display:none !important;}
  body[data-page="plano"] .plano-calendar-mobile-body .plano-calendar-shell{display:block !important;}
  body[data-page="plano"] .plano-calendar-mobile-body .plano-mobile-equipment-table{display:none !important;}
}
@media screen and (min-width:761px){body[data-page="plano"] .plano-mobile-code-table{display:none !important;}}


/* trava-codigo-calendario-expandido-mobile-final */
@media screen and (max-width: 760px){
  body[data-page="plano"] .plano-calendar-mobile-body{
    overflow:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }
  body[data-page="plano"] .plano-calendar-mobile-body .plano-calendar-shell{
    width:max-content !important;
    min-width:100% !important;
    max-width:none !important;
    overflow:visible !important;
  }
  body[data-page="plano"] .plano-calendar-mobile-body .plano-calendar,
  body[data-page="plano"] .plano-calendar-mobile-body .plano-calendar-grid-equipment{
    width:max-content !important;
    min-width:max-content !important;
    max-width:none !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }
  body[data-page="plano"] .plano-calendar-mobile-body .plano-calendar-grid-equipment{
    grid-auto-flow:row !important;
    align-items:stretch !important;
  }
  body[data-page="plano"] .plano-calendar-mobile-body .plano-cal-head,
  body[data-page="plano"] .plano-calendar-mobile-body .plano-cal-cell{
    writing-mode:horizontal-tb !important;
    text-orientation:mixed !important;
    transform:none !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }
  body[data-page="plano"] .plano-calendar-mobile-body .plano-cal-head.sticky,
  body[data-page="plano"] .plano-calendar-mobile-body .plano-cal-cell.fixed-col,
  body[data-page="plano"] .plano-calendar-mobile-body .plano-head-equipment,
  body[data-page="plano"] .plano-calendar-mobile-body .plano-equipment-name{
    position:sticky !important;
    left:0 !important;
    width:180px !important;
    min-width:180px !important;
    max-width:180px !important;
    z-index:30 !important;
    background:#fff !important;
    box-shadow:1px 0 0 #dbe3ef !important;
  }
  body[data-page="plano"] .plano-calendar-mobile-body .plano-cal-head.sticky,
  body[data-page="plano"] .plano-calendar-mobile-body .plano-head-equipment{
    background:#f8fafc !important;
    z-index:42 !important;
  }
  body[data-page="plano"] .plano-calendar-mobile-body .plano-cal-head.sticky-code,
  body[data-page="plano"] .plano-calendar-mobile-body .plano-cal-cell.sticky-code,
  body[data-page="plano"] .plano-calendar-mobile-body .plano-head-code,
  body[data-page="plano"] .plano-calendar-mobile-body .plano-equipment-code{
    position:sticky !important;
    left:180px !important;
    width:92px !important;
    min-width:92px !important;
    max-width:92px !important;
    z-index:28 !important;
    background:#fff !important;
    box-shadow:1px 0 0 #dbe3ef !important;
    text-align:left !important;
    justify-content:flex-start !important;
  }
  body[data-page="plano"] .plano-calendar-mobile-body .plano-cal-head.sticky-code,
  body[data-page="plano"] .plano-calendar-mobile-body .plano-head-code{
    background:#f8fafc !important;
    z-index:40 !important;
  }
  body[data-page="plano"] .plano-calendar-mobile-body .plano-cal-head.day,
  body[data-page="plano"] .plano-calendar-mobile-body .plano-day-cell{
    width:58px !important;
    min-width:58px !important;
    max-width:58px !important;
  }
}


/* Ajuste mobile solicitado: perfil no card do menu e logos no rodapé em coluna */
.sidebar-mobile-user-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.15;
}
.sidebar-mobile-user-role {
  display: block;
  margin-top: 3px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media screen and (max-width: 760px) {
  .sidebar {
    display: flex !important;
    flex-direction: column !important;
    padding-bottom: 12px !important;
  }
  .sidebar-header {
    display: flex !important;
    align-items: center !important;
  }
  .sidebar-mobile-user-card {
    display: flex !important;
    min-height: 62px !important;
    border-radius: 16px !important;
    padding: 8px 12px !important;
  }
  .sidebar-mobile-user-name {
    display: block !important;
    font-size: 14px !important;
    line-height: 17px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    margin: 0 !important;
  }
  .sidebar-mobile-user-role {
    display: block !important;
    font-size: 11px !important;
    line-height: 14px !important;
    font-weight: 600 !important;
    color: rgba(255, 255, 255, 0.9) !important;
  }
  .sidebar-nav {
    flex: 0 1 auto !important;
    overflow-y: auto !important;
    max-height: calc(100vh - 250px) !important;
    padding-bottom: 8px !important;
  }
  .sidebar-footer {
    margin-top: auto !important;
    border-top: 0 !important;
    padding-top: 8px !important;
    gap: 8px !important;
  }
  .sidebar-footer .sidebar-logo-stack {
    display: flex !important;
    width: 100% !important;
    flex-direction: column !important;
    order: 1 !important;
  }
  .sidebar-footer .sidebar-combined-logo-card,
  .sidebar-footer .sidebar-logo-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-height: 0 !important;
    border: 1px solid #e5edf8 !important;
    background: #ffffff !important;
  }
  .sidebar-footer .sidebar-logo-half {
    width: 100% !important;
    min-height: 54px !important;
    padding: 8px 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .sidebar-footer .sidebar-program-logo-half {
    border-right: 0 !important;
    border-bottom: 1px solid #dbe7f5 !important;
    background: #f8fbff !important;
  }
  .sidebar-footer .sidebar-program-logo-img,
  .sidebar-footer .sidebar-company-logo-img {
    width: auto !important;
    max-width: 82% !important;
    max-height: 42px !important;
    object-fit: contain !important;
  }
  .sidebar-footer .sidebar-user-wrap {
    order: 2 !important;
  }
  .sidebar-footer .sidebar-footer-logo {
    display: none !important;
  }
}


/* Ajuste mobile: altura fixa do menu lateral e logos invertidos no rodapé */
@media screen and (max-width: 760px) {
  .sidebar {
    height: 100dvh !important;
    max-height: 100dvh !important;
    min-height: 100dvh !important;
    top: 0 !important;
    bottom: auto !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    padding-bottom: max(10px, env(safe-area-inset-bottom)) !important;
  }

  .sidebar-header {
    flex: 0 0 auto !important;
  }

  .sidebar-nav {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    padding-bottom: 6px !important;
  }

  .sidebar-footer {
    flex: 0 0 auto !important;
    margin-top: 6px !important;
    padding-top: 6px !important;
    gap: 6px !important;
  }

  .sidebar-footer .sidebar-logo-stack {
    flex: 0 0 auto !important;
  }

  .sidebar-footer .sidebar-combined-logo-card,
  .sidebar-footer .sidebar-logo-card {
    max-height: 104px !important;
    overflow: hidden !important;
  }

  .sidebar-footer .sidebar-company-logo-half {
    order: 1 !important;
    min-height: 48px !important;
    border-bottom: 1px solid #dbe7f5 !important;
    background: #ffffff !important;
  }

  .sidebar-footer .sidebar-program-logo-half {
    order: 2 !important;
    min-height: 48px !important;
    border-bottom: 0 !important;
    border-right: 0 !important;
    background: #f8fbff !important;
  }

  .sidebar-footer .sidebar-program-logo-img,
  .sidebar-footer .sidebar-company-logo-img {
    max-height: 36px !important;
    max-width: 78% !important;
  }
}


/* Ajuste mobile: card do usuário igual ao desktop, com bordas retas e seta/menu de opções */
@media screen and (max-width: 760px) {
  .sidebar-mobile-user-card {
    display: none !important;
  }

  .sidebar {
    position: fixed !important;
    padding-top: 104px !important;
  }

  .sidebar-header {
    display: none !important;
  }

  .sidebar-footer .sidebar-user-wrap,
  .sidebar-user-wrap {
    display: block !important;
  }

  .sidebar-footer .sidebar-user-wrap {
    position: absolute !important;
    top: 22px !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    z-index: 95 !important;
    order: 0 !important;
  }

  .sidebar-user-chip,
  body.sidebar-collapsed .sidebar-user-chip {
    width: 100% !important;
    min-height: 58px !important;
    height: 58px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    padding: 8px 38px 8px 12px !important;
    border-radius: 0 !important;
    border: 0 !important;
    background: #2c94fc !important;
    color: #ffffff !important;
    box-sizing: border-box !important;
  }

  .sidebar-user-chip .avatar-circle,
  body.sidebar-collapsed .sidebar-user-chip .avatar-circle {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    flex: 0 0 38px !important;
    border-radius: 50% !important;
  }

  .sidebar-user-chip .user-chip-info,
  body.sidebar-collapsed .sidebar-user-chip .user-chip-info {
    display: flex !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
  }

  .sidebar-user-chip .user-chip-name,
  body.sidebar-collapsed .sidebar-user-chip .user-chip-name {
    display: block !important;
    max-width: 170px !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-size: 14px !important;
    line-height: 17px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .sidebar-user-chip .user-chip-role,
  body.sidebar-collapsed .sidebar-user-chip .user-chip-role {
    display: block !important;
    max-width: 170px !important;
    margin: 2px 0 0 0 !important;
    color: rgba(255,255,255,.9) !important;
    font-size: 11px !important;
    line-height: 14px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .sidebar-user-chip .user-chip-name-mobile,
  body.sidebar-collapsed .sidebar-user-chip .user-chip-name-mobile {
    display: none !important;
  }

  .user-chip-card-icon,
  body.sidebar-collapsed .user-chip-card-icon {
    display: flex !important;
    right: 12px !important;
    color: #ffffff !important;
    opacity: 1 !important;
  }

  .sidebar-footer .sidebar-user-wrap .user-dropdown,
  .sidebar-user-wrap .user-dropdown {
    position: absolute !important;
    top: calc(100% + 6px) !important;
    bottom: auto !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    z-index: 120 !important;
    border-radius: 0 !important;
  }

  .sidebar-nav {
    padding-top: 0 !important;
  }
}

/* Ajuste solicitado: no mobile a opção Relatórios não deve aparecer no menu lateral. */
@media (max-width: 760px) {
  .sidebar-nav a.sidebar-link[href="/relatorios"] {
    display: none !important;
  }
}

/* Ajuste solicitado: no mobile da aba Estoque, filtro na mesma linha da busca. */
@media (max-width: 760px) {
  body[data-page="estoque"] .estoque-toolbar-actions {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    width: 100% !important;
  }

  body[data-page="estoque"] .estoque-search-wrap {
    order: 1 !important;
    flex: 1 1 calc(100% - 58px) !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body[data-page="estoque"] #btn-estoque-filter {
    order: 1 !important;
    flex: 0 0 50px !important;
    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
    height: 52px !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
    border-radius: 0 !important;
  }

  body[data-page="estoque"] #btn-estoque-filter .os-toolbar-filter-image {
    width: 24px !important;
    height: 24px !important;
    object-fit: contain !important;
  }

  body[data-page="estoque"] #btn-open-stock-reports,
  body[data-page="estoque"] #btn-new-stock-item {
    order: 2 !important;
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
}



/* Correção definitiva: Estoque mobile com pesquisa e filtro na mesma linha. */
@media (max-width: 760px) {
  body[data-page="estoque"] .estoque-toolbar,
  body[data-page="estoque"] .os-page-toolbar.estoque-toolbar {
    display: block !important;
    width: 100% !important;
  }

  body[data-page="estoque"] .estoque-toolbar-actions,
  body[data-page="estoque"] .os-page-toolbar-actions.estoque-toolbar-actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 10px !important;
    padding: 0 !important;
    margin: 16px 0 0 0 !important;
    overflow: visible !important;
  }

  body[data-page="estoque"] .estoque-search-filter-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 8px !important;
    box-sizing: border-box !important;
    order: 1 !important;
  }

  body[data-page="estoque"] .estoque-search-filter-row .estoque-search-wrap,
  body[data-page="estoque"] .estoque-search-filter-row .os-search-wrap,
  body[data-page="estoque"] .estoque-search-filter-row .os-search-wrap-top {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 52px !important;
    margin: 0 !important;
    grid-column: auto !important;
    order: 0 !important;
  }

  body[data-page="estoque"] .estoque-search-filter-row #btn-estoque-filter,
  body[data-page="estoque"] #btn-estoque-filter.os-toolbar-filter-btn {
    position: static !important;
    transform: none !important;
    inset: auto !important;
    float: none !important;
    flex: 0 0 52px !important;
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
    border-radius: 0 !important;
    border: 1px solid #d9e2ee !important;
    background: #fff !important;
    z-index: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
    order: 0 !important;
  }

  body[data-page="estoque"] #btn-estoque-filter .os-toolbar-filter-image {
    width: 25px !important;
    height: 25px !important;
    object-fit: contain !important;
  }

  body[data-page="estoque"] #btn-open-stock-reports,
  body[data-page="estoque"] #btn-new-stock-item {
    order: 2 !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    grid-column: auto !important;
  }
}



/* Correção final Estoque mobile 10/06: filtro menor ao lado da busca e botões com altura normal. */
@media (max-width: 760px) {
  body[data-page="estoque"] .estoque-search-filter-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body[data-page="estoque"] .estoque-search-filter-row .estoque-search-wrap,
  body[data-page="estoque"] .estoque-search-filter-row .os-search-wrap,
  body[data-page="estoque"] .estoque-search-filter-row .os-search-wrap-top {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    height: 52px !important;
    margin: 0 !important;
  }

  body[data-page="estoque"] .estoque-search-filter-row #btn-estoque-filter,
  body[data-page="estoque"] #btn-estoque-filter.os-toolbar-filter-btn {
    flex: 0 0 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    padding: 0 !important;
    margin: 0 !important;
    align-self: stretch !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
  }

  body[data-page="estoque"] #btn-estoque-filter .os-toolbar-filter-image {
    width: 22px !important;
    height: 22px !important;
  }

  body[data-page="estoque"] #btn-open-stock-reports,
  body[data-page="estoque"] #btn-new-stock-item {
    width: 100% !important;
    min-height: 56px !important;
    height: 56px !important;
    max-height: none !important;
    padding: 0 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    line-height: normal !important;
    font-size: 16px !important;
  }
}

/* Ajuste final Estoque mobile: manter altura original dos botões e reduzir somente o ícone do filtro. */
@media (max-width: 760px) {
  body[data-page="estoque"] .estoque-toolbar-actions,
  body[data-page="estoque"] .os-page-toolbar-actions.estoque-toolbar-actions {
    gap: 14px !important;
  }

  body[data-page="estoque"] .estoque-search-filter-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 8px !important;
    box-sizing: border-box !important;
  }

  body[data-page="estoque"] .estoque-search-filter-row .estoque-search-wrap,
  body[data-page="estoque"] .estoque-search-filter-row .os-search-wrap,
  body[data-page="estoque"] .estoque-search-filter-row .os-search-wrap-top {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    margin: 0 !important;
  }

  body[data-page="estoque"] .estoque-search-filter-row #btn-estoque-filter,
  body[data-page="estoque"] #btn-estoque-filter.os-toolbar-filter-btn {
    flex: 0 0 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    padding: 0 !important;
    margin: 0 !important;
    align-self: stretch !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    border: 1px solid #d9e2ee !important;
    background: #fff !important;
  }

  body[data-page="estoque"] #btn-estoque-filter .os-toolbar-filter-image {
    width: 17px !important;
    height: 17px !important;
    object-fit: contain !important;
  }

  body[data-page="estoque"] #btn-open-stock-reports,
  body[data-page="estoque"] #btn-new-stock-item,
  body[data-page="estoque"] .estoque-report-top-btn,
  body[data-page="estoque"] .os-add-btn-top {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    padding: 0 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    line-height: 1.2 !important;
    font-size: 16px !important;
  }
}

/* CORREÇÃO FINAL SOLICITADA - Estoque mobile: pesquisa + filtro na mesma linha, ícone menor e botões com altura padrão */
@media (max-width: 900px) {
  body[data-page="estoque"] .os-page-toolbar-actions.estoque-toolbar-actions,
  body[data-page="estoque"] .estoque-toolbar-actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 14px !important;
    margin-top: 16px !important;
  }

  body[data-page="estoque"] .estoque-search-filter-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body[data-page="estoque"] .estoque-search-filter-row .estoque-search-wrap,
  body[data-page="estoque"] .estoque-search-filter-row .os-search-wrap,
  body[data-page="estoque"] .estoque-search-filter-row .os-search-wrap-top {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  body[data-page="estoque"] .estoque-search-filter-row .estoque-search-wrap .search-input,
  body[data-page="estoque"] .estoque-search-filter-row .os-search-input,
  body[data-page="estoque"] #estoque-search {
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    line-height: 52px !important;
    box-sizing: border-box !important;
  }

  body[data-page="estoque"] .estoque-search-filter-row #btn-estoque-filter,
  body[data-page="estoque"] #btn-estoque-filter.os-toolbar-filter-btn,
  body[data-page="estoque"] button#btn-estoque-filter {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    float: none !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    padding: 0 !important;
    margin: 0 !important;
    align-self: stretch !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #d9e2ee !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-sizing: border-box !important;
    z-index: 1 !important;
  }

  body[data-page="estoque"] #btn-estoque-filter .os-toolbar-filter-image,
  body[data-page="estoque"] button#btn-estoque-filter img {
    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;
    min-height: 15px !important;
    max-width: 15px !important;
    max-height: 15px !important;
    object-fit: contain !important;
  }

  body[data-page="estoque"] #btn-open-stock-reports,
  body[data-page="estoque"] #btn-new-stock-item,
  body[data-page="estoque"] button#btn-open-stock-reports.os-add-icon-btn,
  body[data-page="estoque"] button#btn-new-stock-item.os-add-icon-btn {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    padding: 0 16px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    box-sizing: border-box !important;
    line-height: 1.2 !important;
    font-size: 16px !important;
  }

  body[data-page="estoque"] #btn-open-stock-reports .os-add-icon-btn-label,
  body[data-page="estoque"] #btn-new-stock-item .os-add-icon-btn-label {
    font-size: 16px !important;
    line-height: 1.2 !important;
  }
}

/* Ajuste solicitado: Estoque mobile - botões Relatórios e Novo item menores, mantendo filtro ao lado da busca */
@media (max-width: 900px) {
  body[data-page="estoque"] #btn-open-stock-reports,
  body[data-page="estoque"] #btn-new-stock-item,
  body[data-page="estoque"] button#btn-open-stock-reports.os-add-icon-btn,
  body[data-page="estoque"] button#btn-new-stock-item.os-add-icon-btn,
  body[data-page="estoque"] .estoque-report-top-btn,
  body[data-page="estoque"] .os-add-btn-top {
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 0 12px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    gap: 5px !important;
  }

  body[data-page="estoque"] #btn-open-stock-reports .os-add-icon-btn-label,
  body[data-page="estoque"] #btn-new-stock-item .os-add-icon-btn-label {
    font-size: 12px !important;
    line-height: 1 !important;
  }

  body[data-page="estoque"] #btn-open-stock-reports .os-add-icon-btn-image,
  body[data-page="estoque"] #btn-new-stock-item .os-add-icon-btn-image {
    width: 13px !important;
    height: 13px !important;
    min-width: 13px !important;
    max-width: 13px !important;
  }

  body[data-page="estoque"] #btn-estoque-filter .os-toolbar-filter-image,
  body[data-page="estoque"] button#btn-estoque-filter img {
    width: 15px !important;
    height: 15px !important;
  }
}


/* mobile qr size final */
@media (max-width: 900px){
  .mobile-topbar-actions .mobile-qr-btn{width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;flex:0 0 40px!important;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:10px!important;padding:0!important;}
  .mobile-topbar-actions .mobile-qr-btn .mobile-qr-icon{width:18px!important;height:18px!important;display:block!important;object-fit:contain!important;}
}


/* ajuste final: ícone QR exatamente do mesmo tamanho do ícone do menu no mobile */
@media (max-width: 900px){
  .mobile-topbar-actions .mobile-qr-btn,
  .mobile-topbar-actions .mobile-topbar-toggle{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    flex:0 0 40px!important;
  }
  .mobile-topbar-actions .mobile-qr-btn .mobile-qr-icon,
  .mobile-topbar-actions .mobile-topbar-toggle svg,
  .mobile-topbar-actions .mobile-topbar-toggle .sidebar-menu-image{
    width:18px!important;
    height:18px!important;
    max-width:18px!important;
    max-height:18px!important;
    object-fit:contain!important;
  }
}

/* Ajuste solicitado: botão de notificações ao lado do QR no mobile */
@media (max-width: 900px){
  .mobile-topbar-actions .mobile-notifications-btn{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    flex:0 0 40px!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    border-radius:10px!important;
    padding:0!important;
  }
  .mobile-topbar-actions .mobile-notifications-btn .mobile-notifications-icon{
    width:18px!important;
    height:18px!important;
    max-width:18px!important;
    max-height:18px!important;
    object-fit:contain!important;
  }
}

/* ===== Quadro por executante - visual alinhado ao design da O.S. ===== */
body[data-page="ordem-servico"].os-user-board-active .os-page-grid-modern,
body[data-page="ordem"].os-user-board-active .os-page-grid-modern{
  grid-template-columns:1fr !important;
}
body[data-page="ordem-servico"].os-user-board-active .os-calendar-sidebar,
body[data-page="ordem"].os-user-board-active .os-calendar-sidebar{
  display:none !important;
}
.os-board-view-btn{
  height:40px;
  min-width:116px;
  padding:0 17px;
  border:1px solid #2d8cff;
  background:#fff;
  color:#227fea;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-size:14px;
  font-weight:500;
  line-height:1;
  border-radius:0;
  box-shadow:none;
  cursor:pointer;
  box-sizing:border-box;
}
.os-board-view-btn:hover,
.os-board-view-btn.is-active{
  background:#2d8cff;
  border-color:#2d8cff;
  color:#fff;
}
.os-board-view-symbol{
  font-size:15px;
  line-height:1;
  font-weight:700;
}
.os-user-board-panel{
  width:100%;
  box-sizing:border-box;
}
.os-user-board-panel.hidden{display:none !important;}
.os-user-board-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:4px 0 16px;
  border-bottom:1px solid #edf2f8;
  margin-bottom:16px;
}
.os-user-board-title{
  color:#061a36;
  font-size:17px;
  font-weight:800;
}
.os-user-board-subtitle{
  margin-top:5px;
  color:#7b8aa3;
  font-size:12.5px;
  line-height:1.35;
}
.os-user-board-legend{
  display:flex;
  align-items:center;
  gap:8px;
  color:#526278;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
  padding-top:2px;
}
.os-user-board-legend-dot{
  width:9px;
  height:9px;
  display:inline-block;
  border:1px solid currentColor;
  background:#fff;
}
.os-user-board-legend-dot.running{color:#00a650;background:#00a650;}
.os-user-board-legend-dot.standby{color:#9aa7ba;background:#9aa7ba;}
.os-user-board-status-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(176px,1fr));
  gap:10px;
  margin-bottom:16px;
}
.os-user-board-status-card{
  width:100%;
  min-height:58px;
  border-radius:0 !important;
  border:1px solid #dbe4f0 !important;
  background:#fff !important;
  box-shadow:none !important;
  cursor:pointer;
  text-align:left;
}
.os-user-board-status-card:hover,
.os-user-board-status-card.is-active{
  border-color:#2d8cff !important;
  background:#f7fbff !important;
}
.os-user-board-status-card.all .os-metric-label,
.os-user-board-status-card.all .os-metric-value{color:#227fea !important;}
.os-user-board-status-card.done .os-metric-label,
.os-user-board-status-card.done .os-metric-value{color:#00a650 !important;}
.os-user-board-status-card.open .os-metric-label,
.os-user-board-status-card.open .os-metric-value{color:#ff4040 !important;}
.os-user-board-status-card.scheduled .os-metric-label,
.os-user-board-status-card.scheduled .os-metric-value{color:#2f75ff !important;}
.os-user-board-status-card.overdue .os-metric-label,
.os-user-board-status-card.overdue .os-metric-value{color:#ff4040 !important;}
.os-user-board-status-card.external .os-metric-label,
.os-user-board-status-card.external .os-metric-value{color:#ef4444 !important;}
.os-user-board-status-card.material .os-metric-label,
.os-user-board-status-card.material .os-metric-value{color:#8b3dff !important;}
.os-user-board-columns{
  display:flex;
  align-items:stretch;
  gap:14px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:2px 2px 12px;
  scroll-snap-type:x proximity;
}
.os-user-board-columns::-webkit-scrollbar{height:10px;}
.os-user-board-columns::-webkit-scrollbar-track{background:#f5f8fc;border:1px solid #e3ebf5;}
.os-user-board-columns::-webkit-scrollbar-thumb{background:#c7d7ec;border:1px solid #b9cbe2;border-radius:0;}
.os-user-board-column{
  flex:0 0 322px;
  min-width:322px;
  max-width:322px;
  border:1px solid #dbe4f0;
  background:#fbfcfe;
  border-radius:0;
  box-shadow:none;
  display:flex;
  flex-direction:column;
  min-height:520px;
  scroll-snap-align:start;
}
.os-user-board-column-head{
  display:flex;
  align-items:flex-start;
  gap:11px;
  padding:14px 14px 13px;
  border-bottom:1px solid #dbe4f0;
  background:#fff;
}
.os-user-board-avatar{
  width:38px;
  height:38px;
  min-width:38px;
  border:1px solid #2d8cff;
  background:#f7fbff;
  color:#227fea;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-size:15px;
  border-radius:0;
}
.os-user-board-person{
  min-width:0;
  flex:1;
}
.os-user-board-person h3{
  margin:0;
  color:#061a36;
  font-size:15px;
  font-weight:800;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.os-user-board-cargo{
  margin-top:2px;
  color:#6c7c93;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.os-user-board-status{
  margin-top:8px;
  display:inline-flex;
  align-items:center;
  min-height:24px;
  max-width:100%;
  box-sizing:border-box;
  border:1px solid #dbe4f0;
  background:#fff;
  padding:4px 8px;
  color:#526278;
  font-size:11.5px;
  font-weight:800;
  line-height:1.2;
  border-radius:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.os-user-board-status.running{
  border-color:#00a650;
  color:#008f45;
  background:#f4fff8;
}
.os-user-board-status.standby{
  border-color:#dbe4f0;
  color:#64748b;
  background:#f8fafc;
}
.os-user-board-column-count{
  height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 14px;
  border-bottom:1px solid #e8eef7;
  background:#fff;
  color:#5c6b81;
  font-size:12px;
  font-weight:800;
  box-sizing:border-box;
}
.os-user-board-column-count strong{
  color:#227fea;
  font-size:13px;
}
.os-user-board-dropzone{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:12px;
  min-height:380px;
  transition:background .16s ease,border-color .16s ease;
}
.os-user-board-dropzone.is-drag-over{
  background:#f1f8ff;
  outline:1px dashed #2d8cff;
  outline-offset:-7px;
}
.os-user-board-card{
  background:#fff;
  border:1px solid #dbe4f0;
  border-left:3px solid #2d8cff;
  border-radius:0;
  padding:11px 12px 10px;
  box-shadow:none;
  cursor:grab;
  box-sizing:border-box;
  transition:border-color .15s ease,background .15s ease,transform .15s ease;
}
.os-user-board-card:hover,
.os-user-board-card:focus{
  border-color:#2d8cff;
  background:#fafdff;
  outline:none;
}
.os-user-board-card.is-dragging{
  opacity:.58;
  cursor:grabbing;
  transform:scale(.985);
}
.os-user-board-card.is-running{border-left-color:#00a650;}
.os-user-board-card.done{border-left-color:#00a650;}
.os-user-board-card.pending{border-left-color:#ff4040;}
.os-user-board-card.scheduled{border-left-color:#2f75ff;}
.os-user-board-card.overdue{border-left-color:#ff4040;}
.os-user-board-card.external{border-left-color:#ef4444;}
.os-user-board-card.material{border-left-color:#8b3dff;}
.os-user-board-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:9px;
}
.os-user-board-card-head .os-status-card{
  max-width:210px;
  height:28px;
  min-height:28px;
  padding:0 8px;
  font-size:11px;
  border-radius:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.os-status-card.running{
  color:#00a650 !important;
  border-color:#00a650 !important;
  background:#f4fff8 !important;
}
.os-user-board-card-number{
  color:#227fea;
  font-size:14px;
  font-weight:900;
  white-space:nowrap;
}
.os-user-board-card-title{
  color:#061a36;
  font-size:13.5px;
  font-weight:800;
  line-height:1.3;
  margin-bottom:8px;
  word-break:break-word;
}
.os-user-board-card-line{
  color:#34415a;
  font-size:12px;
  line-height:1.35;
  margin-top:4px;
}
.os-user-board-card-line span{
  color:#061a36;
  font-weight:800;
}
.os-user-board-card-badges{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}
.os-user-board-card-badges .os-list-badge{
  font-size:11px;
  min-height:24px;
  padding:5px 9px;
  border-radius:0;
}
.os-user-board-card-foot{
  margin-top:9px;
  padding-top:8px;
  border-top:1px solid #edf2f8;
  color:#7a879a;
  font-size:11.5px;
  font-weight:700;
}
.os-user-board-standby{
  min-height:88px;
  border:1px dashed #cfd8e6;
  background:#fff;
  color:#8b98aa;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:4px;
  text-align:center;
  padding:14px;
  box-sizing:border-box;
}
.os-user-board-standby strong{
  color:#64748b;
  font-size:13px;
}
.os-user-board-standby span{
  font-size:11.5px;
  line-height:1.3;
}
@media(max-width:900px){
  .os-user-board-header{flex-direction:column;align-items:stretch;}
  .os-user-board-legend{white-space:normal;}
  .os-user-board-status-cards{grid-template-columns:1fr;}
  .os-user-board-column{flex-basis:300px;min-width:300px;max-width:300px;}
  .os-board-view-btn{min-width:100px;padding:0 12px;}
}

/* ===== Correção visual final: Quadro por executante clean no padrão da O.S. ===== */
body[data-page="ordem-servico"].os-user-board-active .os-workspace-panel,
body[data-page="ordem"].os-user-board-active .os-workspace-panel,
body[data-page="ordem-servico"].os-user-board-active .os-page-grid-modern,
body[data-page="ordem"].os-user-board-active .os-page-grid-modern,
body[data-page="ordem-servico"].os-user-board-active .os-main-card,
body[data-page="ordem"].os-user-board-active .os-main-card{
  min-width:0 !important;
}
body[data-page="ordem-servico"].os-user-board-active .os-main-card,
body[data-page="ordem"].os-user-board-active .os-main-card{
  overflow:hidden !important;
  padding:18px 18px 20px !important;
  border:1px solid #dbe4f0 !important;
  background:#fff !important;
  box-shadow:none !important;
}
.os-user-board-panel,
.os-user-board-panel *{
  font-family:inherit !important;
  box-sizing:border-box !important;
}
.os-user-board-panel{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  color:#0f172a !important;
}
.os-user-board-header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  padding:0 0 12px !important;
  margin:0 0 14px !important;
  border-bottom:1px solid #edf2f8 !important;
}
.os-user-board-title{
  margin:0 !important;
  color:#0f172a !important;
  font-size:16px !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
  line-height:1.25 !important;
}
.os-user-board-subtitle{
  margin-top:4px !important;
  color:#8a99ad !important;
  font-size:12px !important;
  font-weight:400 !important;
  line-height:1.35 !important;
}
.os-user-board-legend{
  color:#64748b !important;
  font-size:11.5px !important;
  font-weight:500 !important;
  gap:7px !important;
}
.os-user-board-legend-dot{
  width:7px !important;
  height:7px !important;
  border:0 !important;
}
.os-user-board-status-cards{
  width:100% !important;
  max-width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(7, minmax(0, 1fr)) !important;
  gap:8px !important;
  margin:0 0 14px !important;
  overflow:visible !important;
}
.os-user-board-status-card{
  min-width:0 !important;
  min-height:50px !important;
  height:auto !important;
  padding:9px 10px !important;
  border:1px solid #dbe4f0 !important;
  background:#fff !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transition:background .15s ease,border-color .15s ease !important;
}
.os-user-board-status-card:hover,
.os-user-board-status-card.is-active{
  background:#f8fbff !important;
  border-color:#2c94fc !important;
}
.os-user-board-status-card .os-metric-label-row{
  gap:7px !important;
  min-width:0 !important;
}
.os-user-board-status-card .os-metric-icon{
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
}
.os-user-board-status-card .os-metric-label{
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  color:#334155 !important;
  font-size:11.5px !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
}
.os-user-board-status-card .os-metric-value{
  margin-left:6px !important;
  color:#0f172a !important;
  font-size:12px !important;
  font-weight:700 !important;
}
.os-user-board-status-card.all .os-metric-label,
.os-user-board-status-card.all .os-metric-value{color:#2c94fc !important;}
.os-user-board-status-card.done .os-metric-label,
.os-user-board-status-card.done .os-metric-value{color:#16a34a !important;}
.os-user-board-status-card.open .os-metric-label,
.os-user-board-status-card.open .os-metric-value,
.os-user-board-status-card.overdue .os-metric-label,
.os-user-board-status-card.overdue .os-metric-value{color:#ef4444 !important;}
.os-user-board-status-card.scheduled .os-metric-label,
.os-user-board-status-card.scheduled .os-metric-value{color:#2f75ff !important;}
.os-user-board-status-card.external .os-metric-label,
.os-user-board-status-card.external .os-metric-value{color:#b91c1c !important;}
.os-user-board-status-card.material .os-metric-label,
.os-user-board-status-card.material .os-metric-value{color:#8b3dff !important;}
.os-user-board-columns{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  display:flex !important;
  gap:12px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding:0 0 10px !important;
  scroll-snap-type:x proximity !important;
}
.os-user-board-columns::-webkit-scrollbar{height:8px !important;}
.os-user-board-columns::-webkit-scrollbar-track{background:#f8fafc !important;border:1px solid #edf2f8 !important;}
.os-user-board-columns::-webkit-scrollbar-thumb{background:#ccd8e8 !important;border:1px solid #c1cfe2 !important;border-radius:0 !important;}
.os-user-board-column{
  flex:0 0 286px !important;
  min-width:286px !important;
  max-width:286px !important;
  min-height:495px !important;
  border:1px solid #dbe4f0 !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:none !important;
  scroll-snap-align:start !important;
}
.os-user-board-column-head{
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
  padding:12px 12px 11px !important;
  background:#fff !important;
  border-bottom:1px solid #edf2f8 !important;
}
.os-user-board-avatar{
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  border:1px solid #dbe4f0 !important;
  background:#f8fafc !important;
  color:#2c94fc !important;
  font-size:13px !important;
  font-weight:600 !important;
}
.os-user-board-person h3{
  color:#0f172a !important;
  font-size:14px !important;
  font-weight:600 !important;
  line-height:1.25 !important;
  letter-spacing:0 !important;
}
.os-user-board-cargo{
  color:#64748b !important;
  font-size:11.5px !important;
  font-weight:500 !important;
  line-height:1.25 !important;
  margin-top:2px !important;
}
.os-user-board-status{
  margin-top:7px !important;
  min-height:22px !important;
  max-width:100% !important;
  padding:3px 7px !important;
  border:1px solid #dbe4f0 !important;
  background:#fff !important;
  color:#64748b !important;
  font-size:11px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  border-radius:0 !important;
}
.os-user-board-status.running{
  border-color:#16a34a !important;
  color:#15803d !important;
  background:#f7fff9 !important;
}
.os-user-board-status.standby{
  border-color:#e2e8f0 !important;
  color:#64748b !important;
  background:#f8fafc !important;
}
.os-user-board-column-count{
  height:36px !important;
  padding:0 12px !important;
  background:#fbfdff !important;
  border-bottom:1px solid #edf2f8 !important;
  color:#64748b !important;
  font-size:11.5px !important;
  font-weight:500 !important;
}
.os-user-board-column-count strong{
  color:#2c94fc !important;
  font-size:12px !important;
  font-weight:700 !important;
}
.os-user-board-dropzone{
  min-height:355px !important;
  padding:10px !important;
  gap:9px !important;
  background:#fff !important;
}
.os-user-board-dropzone.is-drag-over{
  background:#f8fbff !important;
  outline:1px dashed #2c94fc !important;
  outline-offset:-6px !important;
}
.os-user-board-card{
  border:1px solid #dbe4f0 !important;
  border-left:3px solid #2c94fc !important;
  background:#fff !important;
  padding:10px 11px !important;
  border-radius:0 !important;
  box-shadow:none !important;
  cursor:grab !important;
}
.os-user-board-card:hover,
.os-user-board-card:focus{
  border-color:#2c94fc !important;
  background:#fbfdff !important;
  outline:none !important;
}
.os-user-board-card.is-running{border-left-color:#16a34a !important;}
.os-user-board-card.done{border-left-color:#16a34a !important;}
.os-user-board-card.pending{border-left-color:#ef4444 !important;}
.os-user-board-card.scheduled{border-left-color:#2f75ff !important;}
.os-user-board-card.overdue{border-left-color:#ef4444 !important;}
.os-user-board-card.external{border-left-color:#b91c1c !important;}
.os-user-board-card.material{border-left-color:#8b3dff !important;}
.os-user-board-card-head{
  gap:8px !important;
  margin-bottom:8px !important;
}
.os-user-board-card-head .os-status-card{
  max-width:180px !important;
  min-height:26px !important;
  height:26px !important;
  padding:0 8px !important;
  font-size:11px !important;
  font-weight:500 !important;
  gap:6px !important;
}
.os-user-board-card-head .os-status-card img,
.os-user-board-card-head .os-status-card svg{
  width:13px !important;
  height:13px !important;
}
.os-user-board-card-number{
  color:#2c94fc !important;
  font-size:13px !important;
  font-weight:700 !important;
}
.os-user-board-card-title{
  color:#111827 !important;
  font-size:13px !important;
  font-weight:600 !important;
  line-height:1.35 !important;
  margin-bottom:7px !important;
}
.os-user-board-card-line{
  color:#425b7a !important;
  font-size:11.5px !important;
  font-weight:400 !important;
  line-height:1.35 !important;
  margin-top:3px !important;
}
.os-user-board-card-line span{
  color:#111827 !important;
  font-weight:600 !important;
}
.os-user-board-card-badges{
  gap:5px !important;
  margin-top:8px !important;
}
.os-user-board-card-badges .os-list-badge{
  min-height:22px !important;
  padding:4px 8px !important;
  font-size:10.5px !important;
  font-weight:600 !important;
  border-radius:0 !important;
}
.os-user-board-card-foot{
  margin-top:8px !important;
  padding-top:7px !important;
  border-top:1px solid #edf2f8 !important;
  color:#64748b !important;
  font-size:11px !important;
  font-weight:500 !important;
}
.os-user-board-standby{
  min-height:76px !important;
  border:1px dashed #dbe4f0 !important;
  background:#fbfdff !important;
  color:#8a99ad !important;
  gap:3px !important;
  padding:12px !important;
}
.os-user-board-standby strong{
  color:#64748b !important;
  font-size:12px !important;
  font-weight:600 !important;
}
.os-user-board-standby span{
  color:#8a99ad !important;
  font-size:11px !important;
  font-weight:400 !important;
}
@media(max-width:1180px){
  .os-user-board-status-cards{grid-template-columns:repeat(4, minmax(0,1fr)) !important;}
}
@media(max-width:760px){
  body[data-page="ordem-servico"].os-user-board-active .os-main-card,
  body[data-page="ordem"].os-user-board-active .os-main-card{padding:14px 12px 16px !important;}
  .os-user-board-header{align-items:flex-start !important;flex-direction:column !important;}
  .os-user-board-status-cards{grid-template-columns:repeat(2, minmax(0,1fr)) !important;}
  .os-user-board-column{flex-basis:270px !important;min-width:270px !important;max-width:270px !important;}
}


/* ===== Ajustes finais do quadro por executante ===== */
.os-user-board-header,
.os-user-board-title,
.os-user-board-subtitle,
.os-user-board-legend{
  display:none !important;
}
.os-user-board-panel{
  padding-top:0 !important;
}
.os-user-board-status-cards{
  display:flex !important;
  gap:10px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding:0 0 10px !important;
  margin:0 0 16px !important;
  scroll-snap-type:x proximity !important;
}
.os-user-board-status-cards::-webkit-scrollbar{height:8px !important;}
.os-user-board-status-cards::-webkit-scrollbar-track{background:#f5f8fc;border:1px solid #e3ebf5;}
.os-user-board-status-cards::-webkit-scrollbar-thumb{background:#c7d7ec;border:1px solid #b9cbe2;border-radius:0;}
.os-user-board-status-card{
  flex:0 0 196px !important;
  min-width:196px !important;
  max-width:196px !important;
  min-height:52px !important;
}
.os-user-board-status-card .os-metric-label-row{
  align-items:center !important;
}
.os-user-board-status-card .os-metric-label{
  overflow:visible !important;
  text-overflow:clip !important;
  white-space:normal !important;
  line-height:1.2 !important;
}
.os-user-board-status-card .os-metric-value{
  flex:0 0 auto !important;
  margin-left:8px !important;
}
.os-user-board-column{
  flex:0 0 336px !important;
  min-width:336px !important;
  max-width:336px !important;
}
.os-user-board-column-head{
  padding:14px 14px 12px !important;
}
.os-user-board-person h3,
.os-user-board-cargo,
.os-user-board-status{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
.os-user-board-card-head .os-status-card{
  max-width:none !important;
}
.os-user-board-card-title,
.os-user-board-card-line,
.os-user-board-card-foot,
.os-user-board-card-badges .os-list-badge{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
.os-user-board-standby{
  min-height:64px !important;
  justify-content:center !important;
}
.os-user-board-standby strong{display:none !important;}
.os-user-board-standby span{
  text-align:center !important;
  font-size:11.5px !important;
  line-height:1.35 !important;
}
@media(max-width:760px){
  .os-user-board-status-card{
    flex-basis:180px !important;
    min-width:180px !important;
    max-width:180px !important;
  }
  .os-user-board-column{
    flex-basis:290px !important;
    min-width:290px !important;
    max-width:290px !important;
  }
}


/* ===== Ajuste solicitado: botões Quadro/Lista no mesmo design do Adicionar e filtros 4 + 3 ===== */
.os-board-view-btn{
  min-width:118px !important;
  height:34px !important;
  padding:0 12px !important;
  border:1px solid #2c94fc !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#2c94fc !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  font-size:13px !important;
  font-weight:600 !important;
  line-height:1 !important;
  box-shadow:none !important;
}
.os-board-view-btn:hover,
.os-board-view-btn.is-active,
.os-board-view-btn.is-active:hover{
  background:#f8fbff !important;
  border-color:#2c94fc !important;
  color:#2c94fc !important;
  box-shadow:none !important;
}
.os-board-view-btn:focus{
  outline:none !important;
  box-shadow:0 0 0 2px rgba(44,148,252,.12) !important;
}
.os-board-view-symbol{display:none !important;}
.os-board-view-icon{
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  object-fit:contain !important;
  display:block !important;
}
.os-board-view-label{
  display:inline-flex !important;
  align-items:center !important;
  line-height:1 !important;
  white-space:nowrap !important;
  font-size:13px !important;
  font-weight:600 !important;
}

.os-user-board-status-cards{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:10px !important;
  overflow:visible !important;
  padding:0 !important;
  margin:0 0 16px !important;
  scroll-snap-type:none !important;
}
.os-user-board-status-cards::-webkit-scrollbar{display:none !important;}
.os-user-board-status-card{
  min-width:0 !important;
  max-width:none !important;
  width:100% !important;
  min-height:52px !important;
  height:auto !important;
  padding:9px 12px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
}
.os-user-board-status-card .os-metric-label-row{
  min-width:0 !important;
  flex:1 1 auto !important;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}
.os-user-board-status-card .os-metric-label{
  min-width:0 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  line-height:1.2 !important;
}
.os-user-board-status-card .os-metric-value{
  flex:0 0 auto !important;
  margin-left:10px !important;
}
@media(max-width:980px){
  .os-user-board-status-cards{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}
@media(max-width:560px){
  .os-user-board-status-cards{
    grid-template-columns:1fr !important;
  }
}


/* ===== Ajustes finais: quadro por executante + backlog + correção de toast ===== */
.mobile-notification-toast{
  position:fixed !important;
  left:16px !important;
  right:auto !important;
  bottom:18px !important;
  z-index:2147483647 !important;
  width:min(420px, calc(100vw - 32px)) !important;
  box-sizing:border-box !important;
  background:#fff !important;
  border:1px solid #dbe3ef !important;
  border-left:4px solid #2c94fc !important;
  border-radius:0 !important;
  box-shadow:0 14px 34px rgba(15,23,42,.16) !important;
  padding:12px 13px !important;
  display:none !important;
  color:#4b5563 !important;
  font-size:12px !important;
  line-height:1.35 !important;
  text-decoration:none !important;
}
.mobile-notification-toast.is-visible{display:block !important;}
.mobile-notification-toast strong{
  display:block !important;
  color:#111827 !important;
  font-size:13px !important;
  line-height:1.25 !important;
  margin:0 0 3px !important;
  text-decoration:none !important;
}
.mobile-notification-toast span{
  display:block !important;
  color:#4b5563 !important;
  font-size:12px !important;
  line-height:1.35 !important;
  text-decoration:none !important;
}
.os-add-icon-btn.os-board-view-btn,
#btn-toggle-os-form.os-add-icon-btn.os-add-btn-top{
  height:38px !important;
  min-height:38px !important;
  max-height:38px !important;
  padding:0 18px !important;
  box-sizing:border-box !important;
  align-self:center !important;
}
.os-add-icon-btn.os-board-view-btn .os-add-icon-btn-image,
.os-add-icon-btn.os-board-view-btn .os-board-view-icon{
  width:12px !important;
  height:12px !important;
  min-width:12px !important;
}
.os-user-board-column[data-os-user-column="Backlog"] .os-user-board-avatar{
  color:#64748b !important;
  border-color:#cbd5e1 !important;
  background:#f8fafc !important;
}
.os-user-board-column[data-os-user-column="Backlog"] .os-user-board-column-count strong{
  color:#64748b !important;
}
.os-user-board-column[data-os-user-column="Backlog"] .os-user-board-status{
  color:#64748b !important;
  border-color:#dbe4f0 !important;
  background:#f8fafc !important;
}
@media(max-width:900px){
  .os-add-icon-btn.os-board-view-btn,
  #btn-toggle-os-form.os-add-icon-btn.os-add-btn-top{
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
  }
}


/* ===== Ajuste final solicitado: Backlog com ícone e foto dos usuários ===== */
.os-user-board-status-card.is-backlog-filter-card{
  justify-content:flex-start !important;
  gap:12px !important;
  min-height:66px !important;
  padding:10px 14px !important;
  background:#fff !important;
  border:1px solid #dbe3ef !important;
  color:#64748b !important;
}
.os-user-board-status-card.is-backlog-filter-card:hover,
.os-user-board-status-card.is-backlog-filter-card.is-active{
  background:#fff !important;
  border-color:#dbe3ef !important;
}
.os-board-backlog-card-icon{
  width:26px !important;
  height:26px !important;
  min-width:26px !important;
  object-fit:contain !important;
  opacity:.78 !important;
}
.os-board-backlog-card-content{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:5px !important;
  line-height:1.15 !important;
  min-width:0 !important;
}
.os-user-board-status-card.is-backlog-filter-card .os-metric-label{
  color:#56657a !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1.15 !important;
  white-space:normal !important;
}
.os-user-board-status-card.is-backlog-filter-card .os-metric-value{
  margin:0 !important;
  color:#94a3b8 !important;
  font-size:17px !important;
  font-weight:800 !important;
  line-height:1.15 !important;
}
.os-user-board-avatar{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  border-radius:50% !important;
  overflow:hidden !important;
  border:1px solid #dbe4f0 !important;
  background:#f8fafc !important;
  color:#2c94fc !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
}
.os-user-board-avatar-user{
  border-color:#cfe0f7 !important;
  background:#fff !important;
}
.os-user-board-avatar-img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
.os-user-board-avatar-fallback{
  width:100% !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#2c94fc !important;
  background:#f8fbff !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1 !important;
}
.os-user-board-avatar-backlog{
  border-radius:0 !important;
  border-color:#dbe3ef !important;
  background:#fff !important;
}
.os-user-board-avatar-backlog .os-user-board-backlog-icon{
  width:26px !important;
  height:26px !important;
  object-fit:contain !important;
  opacity:.78 !important;
}
.os-user-board-column[data-os-user-column="Backlog"] .os-user-board-avatar{
  color:#94a3b8 !important;
  border-color:#dbe3ef !important;
  background:#fff !important;
}
@media(max-width:760px){
  .os-user-board-avatar{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
  }
}

/* Backlog na coluna: mostrar somente o ícone, sem quadrado com letra */
.os-user-board-column[data-os-user-column="Backlog"] .os-user-board-avatar.os-user-board-avatar-backlog{
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
}


/* ===== Ajuste final: cards superiores do mesmo tamanho das colunas e foto sem letra ===== */
.os-user-board-status-cards{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  overflow:visible !important;
  padding:0 0 16px !important;
  margin:0 0 16px !important;
}
.os-user-board-status-card{
  flex:0 0 336px !important;
  width:336px !important;
  min-width:336px !important;
  max-width:336px !important;
  min-height:66px !important;
  box-sizing:border-box !important;
}
.os-user-board-column{
  flex:0 0 336px !important;
  width:336px !important;
  min-width:336px !important;
  max-width:336px !important;
  box-sizing:border-box !important;
}
.os-user-board-avatar-user:has(.os-user-board-avatar-img){
  border-radius:50% !important;
  border:1px solid #dbe4f0 !important;
  background:#fff !important;
}
.os-user-board-avatar-user:has(.os-user-board-avatar-img) .os-user-board-avatar-fallback{
  display:none !important;
}
.os-user-board-avatar-user .os-user-board-avatar-img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:50% !important;
}
@supports not selector(:has(*)){
  .os-user-board-avatar-img + .os-user-board-avatar-fallback{
    display:none !important;
  }
}
@media(max-width:1180px){
  .os-user-board-status-card,
  .os-user-board-column{
    flex-basis:320px !important;
    width:320px !important;
    min-width:320px !important;
    max-width:320px !important;
  }
}
@media(max-width:760px){
  .os-user-board-status-cards{
    gap:10px !important;
  }
  .os-user-board-status-card,
  .os-user-board-column{
    flex-basis:290px !important;
    width:290px !important;
    min-width:290px !important;
    max-width:290px !important;
  }
}


/* ===== Ajuste solicitado final: cards de seleção menores e foto inteira no avatar ===== */
.os-user-board-status-cards{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:12px !important;
  overflow:visible !important;
  padding:0 0 16px !important;
  margin:0 0 16px !important;
}
.os-user-board-status-card{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  flex:none !important;
  min-height:64px !important;
}
.os-user-board-column{
  flex:0 0 336px !important;
  width:336px !important;
  min-width:336px !important;
  max-width:336px !important;
}
.os-user-board-avatar-user{
  border-radius:50% !important;
  overflow:hidden !important;
  background:#fff !important;
}
.os-user-board-avatar-user .os-user-board-avatar-img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  border-radius:50% !important;
  background:#fff !important;
}
.os-user-board-avatar-user .os-user-board-avatar-fallback,
.os-user-board-avatar-user:has(.os-user-board-avatar-img) .os-user-board-avatar-fallback{
  display:none !important;
}
@supports not selector(:has(*)){
  .os-user-board-avatar-user .os-user-board-avatar-img + .os-user-board-avatar-fallback{
    display:none !important;
  }
}
@media(max-width:1180px){
  .os-user-board-status-cards{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
}
@media(max-width:760px){
  .os-user-board-status-cards{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:10px !important;
  }
  .os-user-board-column{
    flex-basis:290px !important;
    width:290px !important;
    min-width:290px !important;
    max-width:290px !important;
  }
}


/* ===== Correção final solicitada: botão só ícone, cards menores e avatar preenchido ===== */
#btn-os-user-board.os-board-view-btn,
.os-add-icon-btn.os-board-view-btn{
  width:42px !important;
  min-width:42px !important;
  max-width:42px !important;
  height:36px !important;
  min-height:36px !important;
  max-height:36px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  color:#2c94fc !important;
}
#btn-os-user-board.os-board-view-btn:hover,
#btn-os-user-board.os-board-view-btn:focus,
#btn-os-user-board.os-board-view-btn.is-active,
#btn-os-user-board.os-board-view-btn.is-active:hover,
.os-add-icon-btn.os-board-view-btn:hover,
.os-add-icon-btn.os-board-view-btn:focus,
.os-add-icon-btn.os-board-view-btn.is-active,
.os-add-icon-btn.os-board-view-btn.is-active:hover{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#2c94fc !important;
}
#btn-os-user-board .os-board-view-label,
#btn-os-user-board .os-add-icon-btn-label{
  display:none !important;
}
#btn-os-user-board .os-board-view-icon,
#btn-os-user-board .os-add-icon-btn-image{
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  max-width:16px !important;
  object-fit:contain !important;
  display:block !important;
}
.os-user-board-status-cards{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:10px !important;
  overflow:visible !important;
  padding:0 0 16px !important;
  margin:0 0 16px !important;
}
.os-user-board-status-card,
.os-user-board-status-card.is-backlog-filter-card{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  flex:none !important;
  min-height:58px !important;
  height:58px !important;
  padding:9px 12px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  box-sizing:border-box !important;
}
.os-user-board-status-card.is-backlog-filter-card .os-board-backlog-card-content{
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  min-width:0 !important;
}
.os-user-board-status-card.is-backlog-filter-card .os-metric-value{
  margin-left:auto !important;
  text-align:right !important;
}
.os-user-board-status-card.backlog .os-metric-label-row,
.os-user-board-status-card.all.backlog .os-metric-label-row{
  min-width:0 !important;
  flex:1 1 auto !important;
}
.os-user-board-status-card.backlog .os-metric-value,
.os-user-board-status-card.all.backlog .os-metric-value{
  margin-left:auto !important;
  text-align:right !important;
  color:#94a3b8 !important;
}
.os-user-board-avatar-user{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  max-width:42px !important;
  border-radius:50% !important;
  overflow:hidden !important;
  padding:0 !important;
  border:1px solid #dbe4f0 !important;
  background:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.os-user-board-avatar-user .os-user-board-avatar-img{
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  border-radius:50% !important;
  background:#fff !important;
}
.os-user-board-avatar-user:has(.os-user-board-avatar-img) .os-user-board-avatar-fallback,
.os-user-board-avatar-user .os-user-board-avatar-img + .os-user-board-avatar-fallback{
  display:none !important;
}
@media(max-width:900px){
  .os-user-board-status-cards{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
}
@media(max-width:760px){
  #btn-os-user-board.os-board-view-btn,
  .os-add-icon-btn.os-board-view-btn{
    width:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
  }
  #btn-os-user-board .os-board-view-icon,
  #btn-os-user-board .os-add-icon-btn-image{
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
  }
  .os-user-board-status-cards{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ===== Refinamento do quadro por executante: avatar, status e colunas ===== */
.os-user-board-status-cards{
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:10px !important;
  align-items:stretch !important;
}
.os-user-board-status-card,
.os-user-board-status-card.is-backlog-filter-card{
  min-height:58px !important;
  height:58px !important;
  padding:9px 12px !important;
}
.os-user-board-columns{
  gap:14px !important;
  padding-bottom:14px !important;
}
.os-user-board-column{
  flex:0 0 386px !important;
  width:386px !important;
  min-width:386px !important;
  max-width:386px !important;
  min-height:560px !important;
}
.os-user-board-column-head{
  min-height:94px !important;
  padding:18px 16px 16px !important;
  gap:14px !important;
  align-items:flex-start !important;
}
.os-user-board-person h3{
  font-size:15px !important;
  line-height:1.25 !important;
  margin-bottom:2px !important;
}
.os-user-board-cargo{
  font-size:12px !important;
  line-height:1.25 !important;
}
.os-user-board-avatar-user{
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  max-width:46px !important;
  border-radius:50% !important;
  overflow:hidden !important;
  padding:0 !important;
  border:1px solid #d6e4f8 !important;
  background:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.os-user-board-avatar-user .os-user-board-avatar-img{
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  border-radius:50% !important;
  transform:scale(1.34) !important;
  transform-origin:center center !important;
  background:transparent !important;
}
.os-user-board-avatar-user:has(.os-user-board-avatar-img){
  background:#fff !important;
}
.os-user-board-avatar-user:has(.os-user-board-avatar-img) .os-user-board-avatar-fallback,
.os-user-board-avatar-user .os-user-board-avatar-img + .os-user-board-avatar-fallback{
  display:none !important;
}
.os-user-board-avatar-backlog{
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  max-width:46px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.os-user-board-avatar-backlog .os-user-board-backlog-icon{
  width:30px !important;
  height:30px !important;
}
.os-user-board-status{
  margin-top:9px !important;
  min-height:28px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  padding:5px 10px !important;
  border-radius:0 !important;
  font-size:11.5px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  background:#fff !important;
  border:1px solid #dbe4f0 !important;
  box-sizing:border-box !important;
}
.os-user-board-status::before{
  content:"" !important;
  width:14px !important;
  height:14px !important;
  min-width:14px !important;
  display:inline-block !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:14px 14px !important;
}
.os-user-board-status.standby{
  color:#64748b !important;
  border-color:#d6dee9 !important;
  background:#f8fafc !important;
}
.os-user-board-status.standby::before{
  background-image:url('/static/icons/os_status_standby.png') !important;
}
.os-user-board-status.running{
  color:#15803d !important;
  border-color:#16a34a !important;
  background:#f3fff7 !important;
}
.os-user-board-status.running::before{
  background-image:url('/static/icons/os_status_executando.png') !important;
}
.os-user-board-column-count{
  height:44px !important;
  padding:0 16px !important;
  font-size:12px !important;
}
.os-user-board-dropzone{
  padding:14px !important;
  gap:12px !important;
  min-height:430px !important;
}
.os-user-board-card{
  padding:13px 14px 12px !important;
  border-left-width:3px !important;
}
.os-user-board-card-head{
  margin-bottom:10px !important;
}
.os-user-board-card-head .os-status-card{
  min-height:30px !important;
  height:30px !important;
  padding:0 10px !important;
  font-size:12px !important;
}
.os-user-board-card-title{
  font-size:14.5px !important;
  line-height:1.35 !important;
  margin-bottom:8px !important;
}
.os-user-board-card-line{
  font-size:12.5px !important;
  line-height:1.45 !important;
}
.os-user-board-card-badges{
  margin-top:10px !important;
}
.os-user-board-card-badges .os-list-badge{
  min-height:24px !important;
  padding:5px 9px !important;
  font-size:11px !important;
}
.os-user-board-card-foot{
  margin-top:10px !important;
  padding-top:9px !important;
  font-size:12px !important;
}
.os-user-board-standby{
  min-height:64px !important;
  font-size:12px !important;
}
@media(max-width:1180px){
  .os-user-board-column{
    flex-basis:360px !important;
    width:360px !important;
    min-width:360px !important;
    max-width:360px !important;
  }
}
@media(max-width:760px){
  .os-user-board-status-cards{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
  .os-user-board-column{
    flex-basis:310px !important;
    width:310px !important;
    min-width:310px !important;
    max-width:310px !important;
  }
}


/* ===== Ajuste solicitado: remover linha O.S. atribuídas e criar cards de backlog/status ===== */
.os-user-board-column-count{
  display:none !important;
}
.os-user-board-column-head{
  display:flex !important;
  align-items:flex-start !important;
  gap:14px !important;
  min-height:112px !important;
  padding:18px 16px 16px !important;
  box-sizing:border-box !important;
  background:#fff !important;
  border-bottom:1px solid #edf2f8 !important;
}
.os-user-board-person{
  flex:1 1 auto !important;
  min-width:0 !important;
}
.os-user-board-person-main{
  width:100% !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:12px !important;
  min-width:0 !important;
}
.os-user-board-person-text{
  min-width:0 !important;
}
.os-user-board-header-total{
  margin-left:auto !important;
  color:#334155 !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
}
.os-user-board-header-cards{
  margin-top:10px !important;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  flex-wrap:wrap !important;
}
.os-user-board-status{
  margin:0 !important;
  min-height:28px !important;
  height:28px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  padding:0 10px !important;
  border-radius:0 !important;
  font-size:11.5px !important;
  font-weight:600 !important;
  line-height:1 !important;
  box-sizing:border-box !important;
  white-space:nowrap !important;
}
.os-user-board-status::before{
  display:none !important;
  content:none !important;
}
.os-user-board-status-icon{
  width:14px !important;
  height:14px !important;
  min-width:14px !important;
  object-fit:contain !important;
  display:block !important;
}
.os-user-board-status.standby{
  color:#64748b !important;
  border:1px solid #dbe4f0 !important;
  background:#fff !important;
}
.os-user-board-status.running{
  color:#15803d !important;
  border:1px solid #16a34a !important;
  background:#f3fff7 !important;
}
.os-user-board-user-backlog-card{
  min-height:28px !important;
  height:28px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  padding:0 10px !important;
  border:1px solid #dbe4f0 !important;
  background:#fff !important;
  color:#64748b !important;
  font-size:11.5px !important;
  font-weight:600 !important;
  line-height:1 !important;
  border-radius:0 !important;
  box-sizing:border-box !important;
  white-space:nowrap !important;
}
.os-user-board-user-backlog-card strong{
  color:#64748b !important;
  font-size:11.5px !important;
  font-weight:700 !important;
  margin-left:2px !important;
}
.os-user-board-user-backlog-icon{
  width:14px !important;
  height:14px !important;
  min-width:14px !important;
  object-fit:contain !important;
  opacity:.72 !important;
}
.os-user-board-dropzone{
  padding-top:14px !important;
}
.os-user-board-column.is-backlog-column .os-user-board-header-total{
  color:#334155 !important;
}
.os-user-board-column.is-backlog-column .os-user-board-status{
  color:#64748b !important;
  border-color:#dbe4f0 !important;
  background:#fff !important;
}
@media(max-width:760px){
  .os-user-board-column-head{
    min-height:110px !important;
    padding:16px 14px 14px !important;
  }
  .os-user-board-header-cards{
    gap:6px !important;
  }
  .os-user-board-status,
  .os-user-board-user-backlog-card{
    font-size:11px !important;
    padding:0 8px !important;
  }
}


/* ===== Ajustes solicitados: cards superiores, card O.S. e avatar ===== */
.os-user-board-status-cards{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:10px !important;
  overflow:visible !important;
  padding:0 0 16px !important;
  margin:0 0 16px !important;
}
.os-user-board-status-card,
.os-user-board-status-card.is-backlog-filter-card{
  flex:0 0 272px !important;
  width:272px !important;
  min-width:272px !important;
  max-width:272px !important;
  height:58px !important;
  min-height:58px !important;
  padding:9px 12px !important;
  box-sizing:border-box !important;
}
.os-user-board-status-card .os-metric-label,
.os-user-board-status-card.is-backlog-filter-card .os-metric-label{
  font-size:12px !important;
  line-height:1.2 !important;
}
.os-user-board-status-card .os-metric-value,
.os-user-board-status-card.is-backlog-filter-card .os-metric-value{
  font-size:13px !important;
  line-height:1 !important;
}
.os-user-board-status-card.is-backlog-filter-card .os-board-backlog-card-icon{
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
}
.os-user-board-card,
.os-user-board-card.is-running,
.os-user-board-card.done,
.os-user-board-card.pending,
.os-user-board-card.scheduled,
.os-user-board-card.overdue,
.os-user-board-card.external,
.os-user-board-card.material{
  border:1px solid #dbe4f0 !important;
  border-left:1px solid #dbe4f0 !important;
  background:#fff !important;
  padding:14px 15px 14px !important;
}
.os-user-board-card:hover,
.os-user-board-card:focus{
  border-color:#2c94fc !important;
  border-left-color:#2c94fc !important;
}
.os-user-board-card-head{
  align-items:flex-start !important;
  gap:12px !important;
  margin-bottom:12px !important;
}
.os-user-board-card-number{
  color:#1f7fff !important;
  font-size:18px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.2px !important;
}
.os-user-board-card-title{
  font-size:15px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  margin-bottom:9px !important;
}
.os-user-board-card-line{
  font-size:12.5px !important;
  line-height:1.45 !important;
}
.os-user-board-card-badges{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:7px !important;
  margin-top:11px !important;
  padding-top:0 !important;
}
.os-user-board-card-date-badge{
  min-height:24px !important;
  display:inline-flex !important;
  align-items:center !important;
  padding:5px 9px !important;
  border:1px solid #e4eaf3 !important;
  background:#fff !important;
  color:#425b7a !important;
  font-size:11.5px !important;
  font-weight:500 !important;
  line-height:1 !important;
  box-sizing:border-box !important;
  border-radius:0 !important;
}
.os-user-board-card-foot{
  display:none !important;
}
.os-user-board-avatar-user{
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  max-width:48px !important;
  border-radius:50% !important;
  overflow:hidden !important;
  padding:0 !important;
  border:1px solid #d6e4f8 !important;
  background:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
}
.os-user-board-avatar-user .os-user-board-avatar-img{
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  border-radius:50% !important;
  transform:scale(1.16) !important;
  transform-origin:center center !important;
  background:#fff !important;
}
.os-user-board-avatar-user:has(.os-user-board-avatar-img) .os-user-board-avatar-fallback,
.os-user-board-avatar-user .os-user-board-avatar-img + .os-user-board-avatar-fallback{
  display:none !important;
}
@media(max-width:1180px){
  .os-user-board-status-card,
  .os-user-board-status-card.is-backlog-filter-card{
    flex-basis:260px !important;
    width:260px !important;
    min-width:260px !important;
    max-width:260px !important;
  }
}
@media(max-width:760px){
  .os-user-board-status-card,
  .os-user-board-status-card.is-backlog-filter-card{
    flex-basis:calc(50% - 5px) !important;
    width:calc(50% - 5px) !important;
    min-width:0 !important;
    max-width:none !important;
  }
}


/* ===== Ajustes Kanban + Planos: padrão lista, data simples e executantes no plano ===== */
body.os-user-board-active .os-user-board-status-cards{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, 272px) !important;
  justify-content:start !important;
  gap:10px 12px !important;
  overflow:visible !important;
  padding:0 0 16px !important;
  margin:0 0 16px !important;
}
body.os-user-board-active .os-user-board-status-card,
body.os-user-board-active .os-user-board-status-card.is-backlog-filter-card{
  width:272px !important;
  min-width:272px !important;
  max-width:272px !important;
  min-height:58px !important;
  height:58px !important;
  padding:0 13px !important;
  box-sizing:border-box !important;
}

.os-user-board-card,
.os-user-board-card *{
  font-family:inherit !important;
}
.os-user-board-card{
  border-left:1px solid #dbe4f0 !important;
  padding:14px 15px 13px !important;
}
.os-user-board-card-head{
  margin-bottom:10px !important;
}
.os-user-board-card-number{
  font-size:20px !important;
  font-weight:800 !important;
  line-height:1 !important;
}
.os-user-board-card-title{
  color:#061a36 !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1.32 !important;
  margin-bottom:8px !important;
}
.os-user-board-card-line{
  color:#14365c !important;
  font-size:12px !important;
  font-weight:500 !important;
  line-height:1.42 !important;
}
.os-user-board-card-line span{
  color:#001a36 !important;
  font-weight:800 !important;
}
.os-user-board-card-badges{
  align-items:center !important;
  gap:7px !important;
  margin-top:10px !important;
  padding-bottom:0 !important;
}
.os-user-board-card-date-badge{
  display:none !important;
}
.os-user-board-card-date-text{
  display:inline-flex !important;
  align-items:center !important;
  min-height:24px !important;
  padding:0 !important;
  border:none !important;
  background:transparent !important;
  color:#14365c !important;
  font-size:12px !important;
  font-weight:500 !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
}

.plano-executantes-field{
  align-self:start !important;
}
.plano-executante-list{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  min-height:36px !important;
  padding:0 !important;
}
.plano-executante-option{
  height:36px !important;
  min-height:36px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:0 10px !important;
  border:1px solid #dbe4f0 !important;
  background:#fff !important;
  color:#001a36 !important;
  box-sizing:border-box !important;
  font-size:12px !important;
  line-height:1 !important;
  cursor:pointer !important;
}
.plano-executante-option:hover{
  border-color:#2d8cff !important;
  background:#f7fbff !important;
}
.plano-executante-option input{
  width:14px !important;
  height:14px !important;
  margin:0 !important;
}
.plano-executante-option span{
  display:flex !important;
  flex-direction:column !important;
  gap:3px !important;
}
.plano-executante-option b{
  font-size:12px !important;
  font-weight:700 !important;
  color:#001a36 !important;
}
.plano-executante-option small{
  font-size:10.5px !important;
  font-weight:500 !important;
  color:#65758c !important;
}
.plano-executante-empty{
  color:#7b8aa3 !important;
  font-size:12px !important;
  padding:9px 0 !important;
}
@media(max-width:900px){
  body.os-user-board-active .os-user-board-status-cards{
    grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)) !important;
  }
  body.os-user-board-active .os-user-board-status-card,
  body.os-user-board-active .os-user-board-status-card.is-backlog-filter-card{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }
}


/* ===== Correção final: fonte dos cards Kanban restaurada ===== */
.os-user-board-card{
  font-family:inherit !important;
  border-left:1px solid #dbe4f0 !important;
  padding:14px 15px 14px !important;
}
.os-user-board-card-head{
  align-items:flex-start !important;
  gap:12px !important;
  margin-bottom:12px !important;
}
.os-user-board-card-number{
  color:#1f7fff !important;
  font-size:18px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.2px !important;
}
.os-user-board-card-title{
  color:#061a36 !important;
  font-size:15px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  margin-bottom:9px !important;
}
.os-user-board-card-line{
  color:#425b7a !important;
  font-size:12.5px !important;
  font-weight:400 !important;
  line-height:1.45 !important;
  margin-top:3px !important;
}
.os-user-board-card-line span{
  color:#001a36 !important;
  font-weight:700 !important;
}
.os-user-board-card-badges{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:7px !important;
  margin-top:11px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
.os-user-board-card-date-badge{
  display:none !important;
}
.os-user-board-card-date-text{
  display:inline-flex !important;
  align-items:center !important;
  min-height:24px !important;
  padding:0 !important;
  border:none !important;
  background:transparent !important;
  color:#425b7a !important;
  font-size:12.5px !important;
  font-weight:400 !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
}
.os-user-board-card-foot{
  display:none !important;
}


/* ===== Ajuste final: cards de seleção Kanban iguais aos cards da lista ===== */
body.os-user-board-active .os-user-board-status-cards{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, 272px) !important;
  justify-content:start !important;
  align-items:start !important;
  gap:10px 12px !important;
  overflow:visible !important;
  padding:0 0 16px !important;
  margin:0 0 16px !important;
}
body.os-user-board-active .os-user-board-status-card,
body.os-user-board-active .os-user-board-status-card.is-backlog-filter-card{
  width:272px !important;
  min-width:272px !important;
  max-width:272px !important;
  height:58px !important;
  min-height:58px !important;
  padding:12px 14px !important;
  border:1px solid #dbe4f0 !important;
  background:#fff !important;
  border-radius:0 !important;
  box-shadow:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  box-sizing:border-box !important;
}
body.os-user-board-active .os-user-board-status-card .os-metric-label-row,
body.os-user-board-active .os-user-board-status-card.is-backlog-filter-card .os-board-backlog-card-content{
  display:flex !important;
  align-items:center !important;
  flex-direction:row !important;
  gap:8px !important;
  min-width:0 !important;
  flex:1 1 auto !important;
}
body.os-user-board-active .os-user-board-status-card .os-metric-icon,
body.os-user-board-active .os-user-board-status-card.is-backlog-filter-card .os-board-backlog-card-icon{
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  object-fit:contain !important;
  opacity:1 !important;
}
body.os-user-board-active .os-user-board-status-card .os-metric-label,
body.os-user-board-active .os-user-board-status-card.is-backlog-filter-card .os-metric-label{
  color:#475569 !important;
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:.01em !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
body.os-user-board-active .os-user-board-status-card .os-metric-value,
body.os-user-board-active .os-user-board-status-card.is-backlog-filter-card .os-metric-value{
  margin:0 0 0 8px !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1 !important;
  flex:0 0 auto !important;
  color:#0f172a !important;
}
body.os-user-board-active .os-user-board-status-card.done .os-metric-value{color:#16a34a !important;}
body.os-user-board-active .os-user-board-status-card.open .os-metric-value{color:#ef4444 !important;}
body.os-user-board-active .os-user-board-status-card.scheduled .os-metric-value{color:#2f75ff !important;}
body.os-user-board-active .os-user-board-status-card.overdue .os-metric-value{color:#ef4444 !important;}
body.os-user-board-active .os-user-board-status-card.external .os-metric-value{color:#b91c1c !important;}
body.os-user-board-active .os-user-board-status-card.material .os-metric-value{color:#8b3dff !important;}
body.os-user-board-active .os-user-board-status-card.all.backlog .os-metric-value,
body.os-user-board-active .os-user-board-status-card.is-backlog-filter-card .os-metric-value{color:#94a3b8 !important;}
body.os-user-board-active .os-user-board-status-card:hover,
body.os-user-board-active .os-user-board-status-card.is-active,
body.os-user-board-active .os-user-board-status-card.is-backlog-filter-card:hover,
body.os-user-board-active .os-user-board-status-card.is-backlog-filter-card.is-active{
  background:#fff !important;
  border-color:#2d8cff !important;
}
body.os-user-board-active .os-user-board-status-card.is-active .os-metric-label,
body.os-user-board-active .os-user-board-status-card.is-active .os-metric-value,
body.os-user-board-active .os-user-board-status-card.is-backlog-filter-card.is-active .os-metric-label,
body.os-user-board-active .os-user-board-status-card.is-backlog-filter-card.is-active .os-metric-value{
  color:#1f7fff !important;
}
@media(max-width:900px){
  body.os-user-board-active .os-user-board-status-cards{
    grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)) !important;
  }
  body.os-user-board-active .os-user-board-status-card,
  body.os-user-board-active .os-user-board-status-card.is-backlog-filter-card{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }
}


/* ===== Ajuste Kanban: cards O.S. mais largos, data acima e ativo/código juntos ===== */
.os-user-board-column{
  flex:0 0 430px !important;
  width:430px !important;
  min-width:430px !important;
  max-width:430px !important;
}
.os-user-board-dropzone{
  padding:16px 14px !important;
}
.os-user-board-card,
.os-user-board-card.is-running,
.os-user-board-card.done,
.os-user-board-card.pending,
.os-user-board-card.scheduled,
.os-user-board-card.overdue,
.os-user-board-card.external,
.os-user-board-card.material{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  padding:15px 16px 14px !important;
}
.os-user-board-card-title{
  font-size:15px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  margin-bottom:8px !important;
}
.os-user-board-card-date-line{
  display:block !important;
  color:#425b7a !important;
  font-size:12.5px !important;
  font-weight:400 !important;
  line-height:1.35 !important;
  margin:0 0 4px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}
.os-user-board-card-line.os-user-board-card-asset-line{
  display:block !important;
  color:#425b7a !important;
  font-size:12.5px !important;
  font-weight:400 !important;
  line-height:1.45 !important;
  white-space:normal !important;
}
.os-user-board-card-code-inline{
  margin-left:12px !important;
  color:#001a36 !important;
  font-weight:700 !important;
}
.os-user-board-card-date-text{
  display:none !important;
}
@media(max-width:1180px){
  .os-user-board-column{
    flex-basis:400px !important;
    width:400px !important;
    min-width:400px !important;
    max-width:400px !important;
  }
}
@media(max-width:760px){
  .os-user-board-column{
    flex-basis:330px !important;
    width:330px !important;
    min-width:330px !important;
    max-width:330px !important;
  }
}


/* ===== Execução rápida da O.S. no topo do modal ===== */
.os-detail-header-actions{
  align-items:center !important;
}
.os-execution-actions{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin-right:auto !important;
  min-width:0 !important;
}
.os-execution-actions.hidden{
  display:none !important;
}
.os-exec-action-btn{
  height:36px !important;
  min-height:36px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  padding:0 14px !important;
  border:1px solid #dbe4f0 !important;
  background:#fff !important;
  color:#425b7a !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1 !important;
  cursor:pointer !important;
}
.os-exec-action-btn img{
  width:14px !important;
  height:14px !important;
  object-fit:contain !important;
  display:block !important;
}
.os-exec-action-btn.start,
.os-exec-action-btn.paused{
  border-color:#16a34a !important;
  color:#15803d !important;
  background:#f7fff9 !important;
}
.os-exec-action-btn.running{
  border-color:#64748b !important;
  color:#475569 !important;
  background:#f8fafc !important;
}
.os-exec-action-btn.done{
  border-color:#2d8cff !important;
  color:#227fea !important;
  background:#fff !important;
}
.os-exec-action-btn:hover{
  border-color:#2d8cff !important;
  background:#f7fbff !important;
}
.os-exec-action-check{
  width:14px !important;
  height:14px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:13px !important;
  line-height:1 !important;
}
.os-exec-live-timer{
  height:36px !important;
  min-width:78px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 10px !important;
  border:1px solid #dbe4f0 !important;
  background:#fff !important;
  color:#061a36 !important;
  font-size:12px !important;
  font-weight:800 !important;
  font-variant-numeric:tabular-nums !important;
  box-sizing:border-box !important;
}
.os-exec-live-timer.hidden{display:none !important;}
.os-apontamento-row[data-apontamento-index] .os-apontamento-row-metrics span:first-child strong,
.os-apontamento-row-metrics span{
  font-variant-numeric:tabular-nums !important;
}
@media(max-width:760px){
  .os-detail-header-actions{flex-wrap:wrap !important;}
  .os-execution-actions{width:100% !important;order:1 !important;margin-right:0 !important;}
  .os-options-wrap{order:2 !important;margin-left:auto !important;}
  .os-detail-close-btn{order:3 !important;}
  .os-exec-action-btn{flex:1 1 auto !important;}
}


/* ===== Ajuste: cores dos botões de execução, cronômetro e descrição obrigatória ===== */
.os-exec-action-btn.start{
  border-color:#16A34A !important;
  color:#16A34A !important;
  background:#fff !important;
}
.os-exec-action-btn.start:hover{
  background:#F0FDF4 !important;
  border-color:#16A34A !important;
}
.os-exec-action-btn.running{
  border-color:#F59E0B !important;
  color:#B45309 !important;
  background:#fff !important;
}
.os-exec-action-btn.running:hover{
  background:#FFFBEB !important;
  border-color:#F59E0B !important;
}
.os-exec-action-btn.paused{
  border-color:#2D8CFF !important;
  color:#227FEA !important;
  background:#fff !important;
}
.os-exec-action-btn.paused:hover{
  background:#F7FBFF !important;
  border-color:#2D8CFF !important;
}
.os-exec-action-btn.done{
  border-color:#00A650 !important;
  color:#008F45 !important;
  background:#fff !important;
}
.os-exec-action-btn.done:hover{
  background:#F0FDF4 !important;
  border-color:#00A650 !important;
}
.os-exec-live-timer{
  gap:7px !important;
  font-weight:400 !important;
  color:#061a36 !important;
}
.os-exec-live-timer::before{
  content:'' !important;
  width:14px !important;
  height:14px !important;
  min-width:14px !important;
  display:inline-block !important;
  background:url('/static/icons/os_exec_relogio.png') center/contain no-repeat !important;
}
.os-exec-description-modal{
  border:none !important;
  padding:0 !important;
  width:min(460px, calc(100vw - 34px)) !important;
  background:transparent !important;
}
.os-exec-description-modal::backdrop{
  background:rgba(15,23,42,.45) !important;
}
.os-exec-description-card{
  background:#fff !important;
  border:1px solid #dbe4f0 !important;
  border-radius:0 !important;
  box-shadow:0 18px 45px rgba(15,23,42,.18) !important;
}
.os-exec-description-head{
  min-height:48px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  padding:0 16px !important;
  border-bottom:1px solid #edf2f8 !important;
}
.os-exec-description-head h3{
  margin:0 !important;
  color:#061a36 !important;
  font-size:15px !important;
  font-weight:700 !important;
}
.os-exec-description-close{
  width:32px !important;
  height:32px !important;
  border:1px solid #dbe4f0 !important;
  background:#fff !important;
  color:#64748b !important;
  font-size:18px !important;
  line-height:1 !important;
  cursor:pointer !important;
}
.os-exec-description-body{
  padding:16px !important;
}
.os-exec-description-body p{
  margin:0 0 10px !important;
  color:#64748b !important;
  font-size:12px !important;
  line-height:1.35 !important;
}
#os-exec-description-text{
  width:100% !important;
  min-height:104px !important;
  resize:vertical !important;
}
#os-exec-description-text.input-error{
  border-color:#ef4444 !important;
}
.os-exec-description-footer{
  display:flex !important;
  justify-content:flex-end !important;
  gap:10px !important;
  padding:14px 16px !important;
  border-top:1px solid #edf2f8 !important;
}


/* ===== Correção final: botões maiores e ícone PNG do cronômetro ===== */
.os-execution-actions{
  gap:10px !important;
  align-items:center !important;
}
.os-exec-action-btn{
  height:44px !important;
  min-height:44px !important;
  min-width:112px !important;
  padding:0 20px !important;
  gap:9px !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1 !important;
}
.os-exec-action-btn img{
  width:17px !important;
  height:17px !important;
  min-width:17px !important;
  object-fit:contain !important;
}
.os-exec-live-timer{
  height:44px !important;
  min-height:44px !important;
  min-width:98px !important;
  padding:0 14px !important;
  gap:8px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:13px !important;
  font-weight:400 !important;
  font-variant-numeric:tabular-nums !important;
  color:#061a36 !important;
}
.os-exec-live-timer::before{
  content:'' !important;
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  display:inline-block !important;
  background-image:url('/static/icons/os_exec_relogio.png') !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-size:contain !important;
}
.os-exec-live-timer.hidden{
  display:none !important;
}
@media(max-width:760px){
  .os-exec-action-btn{
    min-width:0 !important;
    height:42px !important;
    min-height:42px !important;
    padding:0 14px !important;
  }
  .os-exec-live-timer{
    height:42px !important;
    min-height:42px !important;
    min-width:88px !important;
  }
}


/* ===== Ajuste solicitado: fechar O.S. com X e apontamento completo ao pausar/concluir ===== */
#btn-close-os-detail-modal.os-detail-x-close-btn,
.os-detail-modal #btn-close-os-detail-modal.os-detail-x-close-btn,
.os-detail-close-btn.os-detail-x-close-btn{
  width:42px !important;
  min-width:42px !important;
  max-width:42px !important;
  height:42px !important;
  min-height:42px !important;
  max-height:42px !important;
  padding:0 !important;
  margin:0 !important;
  flex:0 0 42px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid #dbe4f0 !important;
  background:#fff !important;
  color:#526278 !important;
  border-radius:0 !important;
  font-size:24px !important;
  line-height:1 !important;
  font-weight:400 !important;
  cursor:pointer !important;
  box-shadow:none !important;
}
#btn-close-os-detail-modal.os-detail-x-close-btn:hover,
.os-detail-modal #btn-close-os-detail-modal.os-detail-x-close-btn:hover{
  border-color:#2d8cff !important;
  color:#2d8cff !important;
  background:#f7fbff !important;
}
.input.input-error,
textarea.input-error{
  border-color:#ff4040 !important;
  background:#fffafa !important;
}
@media(max-width:760px){
  #btn-close-os-detail-modal.os-detail-x-close-btn,
  .os-detail-modal #btn-close-os-detail-modal.os-detail-x-close-btn{
    width:40px !important;
    min-width:40px !important;
    max-width:40px !important;
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
    flex-basis:40px !important;
  }
}


/* ===== Ajuste final: datas do apontamento preenchidas e fechar sem borda ===== */
#btn-close-os-detail-modal.os-detail-x-close-btn,
.os-detail-modal #btn-close-os-detail-modal.os-detail-x-close-btn,
.os-detail-close-btn.os-detail-x-close-btn,
#btn-close-apontamento.os-apontamento-close,
.os-apontamento-close{
  border:0 !important;
  outline:none !important;
  box-shadow:none !important;
  background:transparent !important;
}
#btn-close-os-detail-modal.os-detail-x-close-btn:hover,
.os-detail-modal #btn-close-os-detail-modal.os-detail-x-close-btn:hover,
#btn-close-apontamento.os-apontamento-close:hover,
.os-apontamento-close:hover{
  border:0 !important;
  background:transparent !important;
  color:#2d8cff !important;
  box-shadow:none !important;
}

/* ===== Correção: cronômetro responsivo na linha de baixo ===== */
@media(max-width:900px){
  .os-detail-header-actions{
    flex-wrap:wrap !important;
    align-items:flex-start !important;
  }
  .os-execution-actions{
    width:100% !important;
    max-width:100% !important;
    flex:1 0 100% !important;
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    order:1 !important;
  }
  .os-exec-action-btn{
    flex:1 1 0 !important;
    min-width:0 !important;
    height:42px !important;
    min-height:42px !important;
    padding:0 10px !important;
  }
  .os-exec-live-timer{
    order:9 !important;
    flex:0 0 112px !important;
    width:112px !important;
    min-width:112px !important;
    max-width:112px !important;
    height:42px !important;
    min-height:42px !important;
  }
  .os-exec-live-timer:not(.hidden)::after{
    content:'' !important;
    flex-basis:100% !important;
  }
  .os-options-wrap{order:2 !important;}
  .os-detail-close-btn{order:3 !important;}
}
@media(max-width:520px){
  .os-execution-actions::after{
    content:'' !important;
    order:8 !important;
    flex:0 0 100% !important;
    height:0 !important;
  }
  .os-exec-live-timer{
    flex-basis:116px !important;
    width:116px !important;
    max-width:116px !important;
  }
}
@media(max-width:900px){
  .os-execution-actions::after{
    content:'' !important;
    order:8 !important;
    flex:0 0 100% !important;
    width:100% !important;
    height:0 !important;
  }
}


/* ===== Correção mobile: botões menores e cronômetro na linha de baixo ===== */
@media(max-width:760px){
  .os-detail-header-actions{
    gap:6px !important;
    align-items:flex-start !important;
    flex-wrap:wrap !important;
  }
  .os-execution-actions{
    width:auto !important;
    max-width:calc(100% - 92px) !important;
    flex:1 1 auto !important;
    display:flex !important;
    flex-wrap:wrap !important;
    gap:6px !important;
    margin-right:0 !important;
    order:1 !important;
  }
  .os-execution-actions::after{
    content:'' !important;
    order:8 !important;
    flex:0 0 100% !important;
    width:100% !important;
    height:0 !important;
  }
  .os-exec-action-btn{
    flex:0 0 auto !important;
    width:auto !important;
    min-width:78px !important;
    max-width:102px !important;
    height:34px !important;
    min-height:34px !important;
    padding:0 8px !important;
    gap:5px !important;
    font-size:10.5px !important;
    line-height:1 !important;
  }
  .os-exec-action-btn.done{
    min-width:92px !important;
    max-width:112px !important;
  }
  .os-exec-action-btn img{
    width:12px !important;
    height:12px !important;
    min-width:12px !important;
  }
  .os-exec-live-timer{
    order:9 !important;
    flex:0 0 86px !important;
    width:86px !important;
    min-width:86px !important;
    max-width:86px !important;
    height:34px !important;
    min-height:34px !important;
    padding:0 8px !important;
    font-size:11px !important;
    font-weight:400 !important;
  }
  .os-options-wrap{
    order:2 !important;
    flex:0 0 42px !important;
    margin-left:auto !important;
  }
  .os-detail-close-btn{
    order:3 !important;
    flex:0 0 34px !important;
    width:34px !important;
    min-width:34px !important;
    height:34px !important;
    min-height:34px !important;
  }
}
@media(max-width:420px){
  .os-execution-actions{
    max-width:calc(100% - 86px) !important;
    gap:5px !important;
  }
  .os-exec-action-btn{
    min-width:70px !important;
    max-width:88px !important;
    height:32px !important;
    min-height:32px !important;
    padding:0 6px !important;
    font-size:10px !important;
  }
  .os-exec-action-btn.done{
    min-width:84px !important;
    max-width:96px !important;
  }
  .os-exec-live-timer{
    flex-basis:82px !important;
    width:82px !important;
    min-width:82px !important;
    max-width:82px !important;
    height:32px !important;
    min-height:32px !important;
  }
}


/* ===== Card/filtro Executando na lista e no Kanban ===== */
.os-metric-card.executing .os-metric-value{
  color:#00A650 !important;
}
.os-metric-card.executing .os-metric-label{
  color:#001a36 !important;
}
.os-metric-card.executing.is-active,
.os-metric-card.executing:focus{
  border-color:#2D8CFF !important;
}
body.os-user-board-active .os-user-board-status-card.executing .os-metric-label{
  color:#001a36 !important;
}
body.os-user-board-active .os-user-board-status-card.executing .os-metric-value{
  color:#00A650 !important;
}
body.os-user-board-active .os-user-board-status-card.executing.is-active .os-metric-label,
body.os-user-board-active .os-user-board-status-card.executing.is-active .os-metric-value{
  color:#2D8CFF !important;
}


/* ===== Ajuste final: Executando no mesmo padrão dos demais cards/status ===== */
.os-status-card.executing,
.os-status-card.running{
  color:#00A650 !important;
  border-color:#00A650 !important;
  background:#fff !important;
}
.os-status-card.executing img,
.os-status-card.running img{
  width:14px !important;
  height:14px !important;
  object-fit:contain !important;
  display:block !important;
}
.os-user-board-card-head .os-status-card.executing,
.os-user-board-card-head .os-status-card.running{
  background:#fff !important;
  border-color:#00A650 !important;
  color:#00A650 !important;
}
.os-user-board-status.running{
  color:#00A650 !important;
  border-color:#00A650 !important;
  background:#fff !important;
}
.os-user-board-card.is-running .os-status-card,
.os-user-board-card.executing .os-status-card{
  background:#fff !important;
}
.os-user-board-card.executing{
  border-left:1px solid #dbe4f0 !important;
}
.os-metric-card.executing .os-metric-label,
body.os-user-board-active .os-user-board-status-card.executing .os-metric-label{
  color:#001a36 !important;
  font-weight:700 !important;
}
.os-metric-card.executing .os-metric-value,
body.os-user-board-active .os-user-board-status-card.executing .os-metric-value{
  color:#00A650 !important;
}
.os-metric-card.executing.is-active .os-metric-label,
.os-metric-card.executing.is-active .os-metric-value,
body.os-user-board-active .os-user-board-status-card.executing.is-active .os-metric-label,
body.os-user-board-active .os-user-board-status-card.executing.is-active .os-metric-value{
  color:#2D8CFF !important;
}
.os-service-card.is-executing{
  border-color:#2D8CFF !important;
}
.os-service-card.is-executing .os-status-card.executing{
  background:#fff !important;
  border-color:#00A650 !important;
  color:#00A650 !important;
}


/* ===== Ajuste: Executando/Pausado no padrão visual dos cards ===== */
.os-metric-card.executing .os-metric-label,
body.os-user-board-active .os-user-board-status-card.executing .os-metric-label{
  color:#001a36 !important;
  font-weight:700 !important;
}
.os-metric-card.executing .os-metric-value,
body.os-user-board-active .os-user-board-status-card.executing .os-metric-value{
  color:#00A650 !important;
}
.os-metric-card.executing.is-active .os-metric-label,
.os-metric-card.executing.is-active .os-metric-value,
body.os-user-board-active .os-user-board-status-card.executing.is-active .os-metric-label,
body.os-user-board-active .os-user-board-status-card.executing.is-active .os-metric-value{
  color:#2D8CFF !important;
}
.os-status-card.executing,
.os-status-card.running{
  color:#00A650 !important;
  border-color:#00A650 !important;
  background:#fff !important;
}
.os-status-card.paused,
.os-user-board-card-head .os-status-card.paused{
  color:#F59E0B !important;
  border-color:#F59E0B !important;
  background:#fff !important;
}
.os-status-card.executing img,
.os-status-card.running img,
.os-status-card.paused img{
  width:14px !important;
  height:14px !important;
  object-fit:contain !important;
  display:block !important;
}
.os-user-board-status.running{
  color:#00A650 !important;
  border-color:#00A650 !important;
  background:#fff !important;
}
.os-user-board-status.paused{
  color:#F59E0B !important;
  border:1px solid #F59E0B !important;
  background:#fff !important;
}
.os-user-board-status.running .os-user-board-status-icon,
.os-user-board-status.paused .os-user-board-status-icon{
  opacity:1 !important;
}
.os-user-board-card.is-running .os-status-card,
.os-user-board-card.executing .os-status-card,
.os-user-board-card.is-paused .os-status-card,
.os-user-board-card.paused .os-status-card,
.os-service-card.is-executing .os-status-card.executing,
.os-service-card.is-paused .os-status-card.paused{
  background:#fff !important;
}
.os-service-card.is-executing{
  border-color:#2D8CFF !important;
}
.os-service-card.is-paused{
  border-color:#2D8CFF !important;
}
.os-user-board-card.paused,
.os-user-board-card.is-paused{
  border-left:1px solid #dbe4f0 !important;
}


/* ===== Ajuste: pausado continua no filtro Executando e calendário recolhível no mobile ===== */
.os-mobile-calendar-toggle{
  display:none;
}
.os-status-card.paused{
  color:#F59E0B !important;
  border-color:#F59E0B !important;
  background:#fff !important;
}
.os-status-card.paused img{
  width:14px !important;
  height:14px !important;
  object-fit:contain !important;
  display:block !important;
}
.os-service-card.is-paused{
  border-color:#2D8CFF !important;
}
.os-user-board-card.is-paused .os-status-card.paused,
.os-service-card.is-paused .os-status-card.paused{
  background:#fff !important;
  color:#F59E0B !important;
  border-color:#F59E0B !important;
}
@media(max-width:760px){
  .os-page-grid-modern{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  .os-mobile-calendar-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    width:100% !important;
    min-height:38px !important;
    padding:0 12px !important;
    border:1px solid #dbe4f0 !important;
    background:#fff !important;
    color:#001a36 !important;
    font-size:13px !important;
    font-weight:600 !important;
    line-height:1 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    cursor:pointer !important;
    box-sizing:border-box !important;
    order:-2 !important;
  }
  .os-mobile-calendar-toggle-icon{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:18px !important;
    height:18px !important;
    color:#2D8CFF !important;
    font-size:18px !important;
    line-height:1 !important;
  }
  body.os-mobile-calendar-collapsed .os-calendar-sidebar{
    display:none !important;
  }
}


/* ===== Card Pausado nos filtros da lista e Kanban ===== */
.os-metric-card.paused .os-metric-label,
body.os-user-board-active .os-user-board-status-card.paused .os-metric-label{
  color:#001a36 !important;
  font-weight:700 !important;
}
.os-metric-card.paused .os-metric-value,
body.os-user-board-active .os-user-board-status-card.paused .os-metric-value{
  color:#F59E0B !important;
}
.os-metric-card.paused.is-active .os-metric-label,
.os-metric-card.paused.is-active .os-metric-value,
body.os-user-board-active .os-user-board-status-card.paused.is-active .os-metric-label,
body.os-user-board-active .os-user-board-status-card.paused.is-active .os-metric-value{
  color:#2D8CFF !important;
}
.os-user-board-status-card.paused .os-metric-icon,
.os-metric-card.paused .os-metric-icon{
  object-fit:contain !important;
}


/* ===== Recolher calendário desktop/mobile mantendo cards + barra superior Kanban ===== */
.os-calendar-sidebar .os-mobile-calendar-toggle{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  width:100% !important;
  min-height:38px !important;
  padding:0 12px !important;
  border:1px solid #dbe4f0 !important;
  background:#fff !important;
  color:#001a36 !important;
  font-size:13px !important;
  font-weight:600 !important;
  line-height:1 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  cursor:pointer !important;
  box-sizing:border-box !important;
  order:0 !important;
}
.os-calendar-sidebar .os-mobile-calendar-toggle-icon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:18px !important;
  height:18px !important;
  color:#2D8CFF !important;
  font-size:18px !important;
  line-height:1 !important;
}
body.os-mobile-calendar-collapsed .os-calendar-sidebar{
  display:flex !important;
}
body.os-mobile-calendar-collapsed .os-calendar-sidebar > .os-inline-picker,
body.os-mobile-calendar-collapsed .os-calendar-sidebar > #os-calendar-picker-panel{
  display:none !important;
}
body.os-mobile-calendar-collapsed .os-calendar-sidebar .os-metrics{
  display:grid !important;
}
.os-user-board-top-scroll{
  width:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  height:14px !important;
  margin:0 0 10px !important;
  padding:0 !important;
  box-sizing:border-box !important;
}
.os-user-board-top-scroll.hidden{
  display:none !important;
}
.os-user-board-top-scroll-inner{
  height:1px !important;
  min-height:1px !important;
}
.os-user-board-top-scroll::-webkit-scrollbar{
  height:10px !important;
}
.os-user-board-top-scroll::-webkit-scrollbar-track{
  background:#f5f8fc !important;
  border:1px solid #e3ebf5 !important;
}
.os-user-board-top-scroll::-webkit-scrollbar-thumb{
  background:#c7d7ec !important;
  border:1px solid #b9cbe2 !important;
  border-radius:0 !important;
}
.os-user-board-columns{
  scrollbar-width:none !important;
  padding-bottom:2px !important;
}
.os-user-board-columns::-webkit-scrollbar{
  height:0 !important;
  display:none !important;
}
@media(max-width:760px){
  .os-calendar-sidebar{
    display:flex !important;
  }
  body.os-mobile-calendar-collapsed .os-calendar-sidebar{
    display:flex !important;
  }
  body.os-mobile-calendar-collapsed .os-calendar-sidebar > .os-inline-picker,
  body.os-mobile-calendar-collapsed .os-calendar-sidebar > #os-calendar-picker-panel{
    display:none !important;
  }
}


/* ===== Ajuste fino: botão recolher calendário menor e seta próxima do texto ===== */
.os-calendar-sidebar .os-mobile-calendar-toggle{
  width:auto !important;
  min-width:190px !important;
  max-width:max-content !important;
  align-self:center !important;
  justify-content:center !important;
  gap:7px !important;
  padding:0 14px !important;
}
.os-calendar-sidebar .os-mobile-calendar-toggle-icon{
  order:0 !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  font-size:14px !important;
}
.os-calendar-sidebar .os-mobile-calendar-toggle-label{
  order:1 !important;
  white-space:nowrap !important;
}
@media(max-width:760px){
  .os-calendar-sidebar .os-mobile-calendar-toggle{
    width:auto !important;
    min-width:180px !important;
    max-width:max-content !important;
    align-self:center !important;
    justify-content:center !important;
    gap:7px !important;
    padding:0 12px !important;
  }
}


/* ===== Card Backlog na lista de O.S. ===== */
.os-metrics-sidebar .os-metric-card.backlog{
  background:#fff !important;
  border:1px solid #dbe4f0 !important;
}
.os-metrics-sidebar .os-metric-card.backlog .os-metric-label{
  color:#001a36 !important;
  font-weight:700 !important;
}
.os-metrics-sidebar .os-metric-card.backlog .os-metric-value{
  color:#94a3b8 !important;
  font-weight:800 !important;
}
.os-metrics-sidebar .os-metric-card.backlog .os-metric-icon{
  opacity:.78 !important;
  object-fit:contain !important;
}
.os-metrics-sidebar .os-metric-card.backlog:focus,
.os-metrics-sidebar .os-metric-card.backlog.is-active{
  border-color:#2D8CFF !important;
}



/* Lista/Solicitações: card de status selecionado com borda azul */
.os-metrics-sidebar .os-metric-card.is-active,
.os-metrics-sidebar .os-metric-card.is-mobile-selected{
  border-color:#2D8CFF !important;
}
.os-metrics-sidebar .os-metric-card.is-active:focus,
.os-metrics-sidebar .os-metric-card.is-mobile-selected:focus{
  outline:none !important;
  box-shadow:none !important;
}

/* ===== Ajustes finais: backlog recente, botão calendário sutil e botões mobile ===== */
.os-calendar-sidebar .os-mobile-calendar-toggle{
  align-self:flex-end !important;
  width:auto !important;
  min-width:0 !important;
  max-width:max-content !important;
  height:28px !important;
  min-height:28px !important;
  padding:0 2px !important;
  border:0 !important;
  background:transparent !important;
  color:#64748b !important;
  font-size:12px !important;
  font-weight:600 !important;
  gap:5px !important;
  justify-content:flex-end !important;
}
.os-calendar-sidebar .os-mobile-calendar-toggle:hover{
  color:#2D8CFF !important;
  background:transparent !important;
}
.os-calendar-sidebar .os-mobile-calendar-toggle-icon{
  color:#2D8CFF !important;
  font-size:13px !important;
}
@media(max-width:760px){
  .os-actions-inline-top{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    flex-wrap:nowrap !important;
  }
  .os-add-icon-btn.os-board-view-btn{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    width:38px !important;
    min-width:38px !important;
    max-width:38px !important;
    height:38px !important;
    min-height:38px !important;
    padding:0 !important;
    justify-content:center !important;
  }
  .os-add-icon-btn.os-board-view-btn .os-board-view-label{
    display:none !important;
  }
  #btn-toggle-os-form.os-add-icon-btn.os-add-btn-top{
    width:38px !important;
    min-width:38px !important;
    max-width:38px !important;
    height:38px !important;
    min-height:38px !important;
    padding:0 !important;
    justify-content:center !important;
  }
  #btn-toggle-os-form-label{
    display:none !important;
  }
  #btn-toggle-os-form-icon,
  .os-add-icon-btn.os-board-view-btn .os-board-view-icon{
    width:13px !important;
    height:13px !important;
    min-width:13px !important;
  }
  .os-calendar-sidebar .os-mobile-calendar-toggle{
    align-self:flex-end !important;
    width:auto !important;
    min-width:0 !important;
    max-width:max-content !important;
    height:28px !important;
    min-height:28px !important;
    padding:0 2px !important;
    border:0 !important;
    background:transparent !important;
    color:#64748b !important;
    font-size:12px !important;
    gap:5px !important;
  }
}


/* ===== Correção final: botão Kanban/Quadro visível no mobile da O.S. ===== */
@media screen and (max-width: 760px){
  body[data-page="ordem-servico"] .os-page-toolbar-actions,
  body[data-page="ordem"] .os-page-toolbar-actions,
  .page-ordem-only .os-page-toolbar-actions{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) 42px 42px 42px !important;
    grid-auto-rows:42px !important;
    gap:8px !important;
    align-items:center !important;
    width:100% !important;
    max-width:100% !important;
  }

  body[data-page="ordem-servico"] .os-search-wrap-top,
  body[data-page="ordem"] .os-search-wrap-top,
  .page-ordem-only .os-search-wrap-top{
    grid-column:1 !important;
    grid-row:1 !important;
    order:1 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:42px !important;
    margin:0 !important;
  }

  body[data-page="ordem-servico"] #btn-os-user-board.os-board-view-btn,
  body[data-page="ordem"] #btn-os-user-board.os-board-view-btn,
  .page-ordem-only #btn-os-user-board.os-board-view-btn{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    position:static !important;
    transform:none !important;
    grid-column:2 !important;
    grid-row:1 !important;
    order:2 !important;
    width:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    height:42px !important;
    min-height:42px !important;
    max-height:42px !important;
    margin:0 !important;
    padding:0 !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid #2D8CFF !important;
    background:#fff !important;
    color:#2D8CFF !important;
    box-shadow:none !important;
    z-index:3 !important;
  }

  body[data-page="ordem-servico"] #btn-toggle-os-form.os-add-btn-top,
  body[data-page="ordem"] #btn-toggle-os-form.os-add-btn-top,
  .page-ordem-only #btn-toggle-os-form.os-add-btn-top{
    grid-column:3 !important;
    grid-row:1 !important;
    order:3 !important;
    width:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    height:42px !important;
    min-height:42px !important;
    max-height:42px !important;
    margin:0 !important;
    padding:0 !important;
    position:static !important;
    transform:none !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  body[data-page="ordem-servico"] #btn-open-os-filter.os-toolbar-filter-btn,
  body[data-page="ordem"] #btn-open-os-filter.os-toolbar-filter-btn,
  .page-ordem-only #btn-open-os-filter.os-toolbar-filter-btn{
    grid-column:4 !important;
    grid-row:1 !important;
    order:4 !important;
    width:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    height:42px !important;
    min-height:42px !important;
    max-height:42px !important;
    margin:0 !important;
    padding:0 !important;
    position:static !important;
    transform:none !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  body[data-page="ordem-servico"] #btn-os-user-board .os-board-view-label,
  body[data-page="ordem"] #btn-os-user-board .os-board-view-label,
  .page-ordem-only #btn-os-user-board .os-board-view-label,
  body[data-page="ordem-servico"] #btn-toggle-os-form-label,
  body[data-page="ordem"] #btn-toggle-os-form-label,
  .page-ordem-only #btn-toggle-os-form-label{
    display:none !important;
  }

  body[data-page="ordem-servico"] #btn-os-user-board .os-board-view-icon,
  body[data-page="ordem"] #btn-os-user-board .os-board-view-icon,
  .page-ordem-only #btn-os-user-board .os-board-view-icon,
  body[data-page="ordem-servico"] #btn-toggle-os-form-icon,
  body[data-page="ordem"] #btn-toggle-os-form-icon,
  .page-ordem-only #btn-toggle-os-form-icon{
    display:block !important;
    width:15px !important;
    height:15px !important;
    min-width:15px !important;
    object-fit:contain !important;
  }
}


/* ===== Correção mobile: botão adicionar e navegação por setas no Kanban ===== */
.os-user-board-mobile-nav{
  display:none;
}
@media screen and (max-width:760px){
  body[data-page="ordem-servico"] .os-page-toolbar-actions,
  body[data-page="ordem"] .os-page-toolbar-actions,
  .page-ordem-only .os-page-toolbar-actions{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 42px 42px 42px !important;
    grid-auto-rows:42px !important;
    gap:8px !important;
    align-items:center !important;
    width:100% !important;
    max-width:100% !important;
  }
  body[data-page="ordem-servico"] .os-search-wrap-top,
  body[data-page="ordem"] .os-search-wrap-top,
  .page-ordem-only .os-search-wrap-top{
    grid-column:1 !important;
    grid-row:1 !important;
    order:1 !important;
    height:42px !important;
    min-height:42px !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
  }
  body[data-page="ordem-servico"] #btn-os-user-board.os-board-view-btn,
  body[data-page="ordem"] #btn-os-user-board.os-board-view-btn,
  .page-ordem-only #btn-os-user-board.os-board-view-btn,
  body[data-page="ordem-servico"] #btn-toggle-os-form.os-add-btn-top,
  body[data-page="ordem"] #btn-toggle-os-form.os-add-btn-top,
  .page-ordem-only #btn-toggle-os-form.os-add-btn-top,
  body[data-page="ordem-servico"] #btn-open-os-filter.os-toolbar-filter-btn,
  body[data-page="ordem"] #btn-open-os-filter.os-toolbar-filter-btn,
  .page-ordem-only #btn-open-os-filter.os-toolbar-filter-btn{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:static !important;
    transform:none !important;
    width:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    height:42px !important;
    min-height:42px !important;
    max-height:42px !important;
    padding:0 !important;
    margin:0 !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid #2D8CFF !important;
    background:#fff !important;
    color:#2D8CFF !important;
    box-shadow:none !important;
    box-sizing:border-box !important;
  }
  body[data-page="ordem-servico"] #btn-os-user-board.os-board-view-btn,
  body[data-page="ordem"] #btn-os-user-board.os-board-view-btn,
  .page-ordem-only #btn-os-user-board.os-board-view-btn{
    grid-column:2 !important;
    grid-row:1 !important;
    order:2 !important;
  }
  body[data-page="ordem-servico"] #btn-toggle-os-form.os-add-btn-top,
  body[data-page="ordem"] #btn-toggle-os-form.os-add-btn-top,
  .page-ordem-only #btn-toggle-os-form.os-add-btn-top{
    grid-column:3 !important;
    grid-row:1 !important;
    order:3 !important;
  }
  body[data-page="ordem-servico"] #btn-open-os-filter.os-toolbar-filter-btn,
  body[data-page="ordem"] #btn-open-os-filter.os-toolbar-filter-btn,
  .page-ordem-only #btn-open-os-filter.os-toolbar-filter-btn{
    grid-column:4 !important;
    grid-row:1 !important;
    order:4 !important;
  }
  body[data-page="ordem-servico"] #btn-toggle-os-form-label,
  body[data-page="ordem"] #btn-toggle-os-form-label,
  .page-ordem-only #btn-toggle-os-form-label,
  body[data-page="ordem-servico"] #btn-os-user-board .os-board-view-label,
  body[data-page="ordem"] #btn-os-user-board .os-board-view-label,
  .page-ordem-only #btn-os-user-board .os-board-view-label{
    display:none !important;
  }
  body[data-page="ordem-servico"] #btn-toggle-os-form-icon,
  body[data-page="ordem"] #btn-toggle-os-form-icon,
  .page-ordem-only #btn-toggle-os-form-icon{
    display:none !important;
  }
  body[data-page="ordem-servico"] #btn-toggle-os-form::before,
  body[data-page="ordem"] #btn-toggle-os-form::before,
  .page-ordem-only #btn-toggle-os-form::before{
    content:'+' !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#2D8CFF !important;
    font-size:18px !important;
    line-height:1 !important;
    font-weight:500 !important;
  }
  body[data-page="ordem-servico"] #btn-os-user-board .os-board-view-icon,
  body[data-page="ordem"] #btn-os-user-board .os-board-view-icon,
  .page-ordem-only #btn-os-user-board .os-board-view-icon{
    display:block !important;
    width:16px !important;
    height:16px !important;
    min-width:16px !important;
    object-fit:contain !important;
  }
  body[data-page="ordem-servico"] #btn-open-os-filter .os-toolbar-filter-image,
  body[data-page="ordem"] #btn-open-os-filter .os-toolbar-filter-image,
  .page-ordem-only #btn-open-os-filter .os-toolbar-filter-image{
    width:20px !important;
    height:20px !important;
    object-fit:contain !important;
  }

  body.os-user-board-active .os-user-board-top-scroll{
    display:none !important;
  }
  body.os-user-board-active .os-user-board-mobile-nav{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    width:100% !important;
    margin:0 0 12px !important;
    padding:0 !important;
  }
  .os-user-board-mobile-nav.hidden{
    display:none !important;
  }
  .os-user-board-mobile-arrow{
    width:42px !important;
    height:38px !important;
    min-width:42px !important;
    border:1px solid #dbe4f0 !important;
    background:#fff !important;
    color:#2D8CFF !important;
    font-size:26px !important;
    line-height:1 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }
  .os-user-board-mobile-arrow:disabled{
    opacity:.35 !important;
    color:#94a3b8 !important;
  }
  .os-user-board-mobile-current{
    flex:1 1 auto !important;
    min-width:0 !important;
    height:38px !important;
    border:1px solid #dbe4f0 !important;
    background:#fff !important;
    color:#001a36 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:13px !important;
    font-weight:800 !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  body.os-user-board-active .os-user-board-columns{
    overflow-x:hidden !important;
    scroll-snap-type:x mandatory !important;
  }
  body.os-user-board-active .os-user-board-column{
    scroll-snap-align:start !important;
  }
}


/* ===== Ajuste final: espaço no mobile e bloqueio de mover O.S. em execução/pausada ===== */
@media screen and (max-width:760px){
  body[data-page="ordem-servico"] .os-page-toolbar-actions,
  body[data-page="ordem"] .os-page-toolbar-actions,
  .page-ordem-only .os-page-toolbar-actions{
    grid-template-columns:minmax(0,1fr) 42px 42px 42px !important;
    column-gap:14px !important;
    row-gap:8px !important;
    justify-content:stretch !important;
    align-items:center !important;
  }
  body[data-page="ordem-servico"] #btn-os-user-board.os-board-view-btn,
  body[data-page="ordem"] #btn-os-user-board.os-board-view-btn,
  .page-ordem-only #btn-os-user-board.os-board-view-btn,
  body[data-page="ordem-servico"] #btn-toggle-os-form.os-add-btn-top,
  body[data-page="ordem"] #btn-toggle-os-form.os-add-btn-top,
  .page-ordem-only #btn-toggle-os-form.os-add-btn-top,
  body[data-page="ordem-servico"] #btn-open-os-filter.os-toolbar-filter-btn,
  body[data-page="ordem"] #btn-open-os-filter.os-toolbar-filter-btn,
  .page-ordem-only #btn-open-os-filter.os-toolbar-filter-btn{
    width:40px !important;
    min-width:40px !important;
    max-width:40px !important;
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
    justify-self:center !important;
    margin:0 !important;
  }
  body[data-page="ordem-servico"] #btn-toggle-os-form.os-add-btn-top,
  body[data-page="ordem"] #btn-toggle-os-form.os-add-btn-top,
  .page-ordem-only #btn-toggle-os-form.os-add-btn-top{
    margin-left:4px !important;
    margin-right:4px !important;
  }
}
.os-user-board-card.is-move-locked{
  cursor:default !important;
}
.os-user-board-card.is-move-locked.is-dragging{
  opacity:1 !important;
}
.os-user-board-card.is-move-locked::after{
  content:'' !important;
  display:none !important;
}


/* ===== Mobile: recolher cards de status na Lista e no Kanban ===== */
.os-mobile-status-toggle{
  display:none;
}
@media screen and (max-width:760px){
  .os-mobile-status-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:5px !important;
    width:auto !important;
    max-width:max-content !important;
    min-height:28px !important;
    margin:0 0 8px auto !important;
    padding:0 2px !important;
    border:0 !important;
    background:transparent !important;
    color:#64748b !important;
    font-size:12px !important;
    font-weight:600 !important;
    line-height:1 !important;
    box-shadow:none !important;
    cursor:pointer !important;
  }
  .os-mobile-status-toggle:hover{
    color:#2D8CFF !important;
  }
  .os-mobile-status-toggle-icon{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#2D8CFF !important;
    font-size:13px !important;
    line-height:1 !important;
  }
  body.os-list-cards-collapsed .os-metrics-sidebar .os-metric-card{
    display:none !important;
  }
  body.os-list-cards-collapsed .os-metrics-sidebar .os-metric-card.is-mobile-selected{
    display:flex !important;
  }
  body.os-board-cards-collapsed .os-user-board-status-cards .os-user-board-status-card{
    display:none !important;
  }
  body.os-board-cards-collapsed .os-user-board-status-cards .os-user-board-status-card.is-active{
    display:flex !important;
  }
  .os-mobile-board-status-toggle{
    margin-top:0 !important;
    margin-bottom:8px !important;
  }
}


/* ===== Kanban: todos visualizam colunas; mobile com seleção; mover só admin desktop ===== */
@media screen and (max-width:760px){
  body.os-user-board-active .os-user-board-mobile-nav{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
    width:100% !important;
    margin:0 0 12px !important;
    padding:0 !important;
  }
  .os-user-board-mobile-label{
    flex:0 0 auto !important;
    color:#64748b !important;
    font-size:12px !important;
    font-weight:700 !important;
    white-space:nowrap !important;
  }
  .os-user-board-mobile-select{
    flex:1 1 auto !important;
    min-width:0 !important;
    height:38px !important;
    border:1px solid #dbe4f0 !important;
    background:#fff !important;
    color:#001a36 !important;
    font-size:13px !important;
    font-weight:700 !important;
    padding:0 10px !important;
    border-radius:0 !important;
    box-shadow:none !important;
    outline:none !important;
  }
  .os-user-board-mobile-select:focus{
    border-color:#2D8CFF !important;
  }
  .os-user-board-mobile-arrow,
  .os-user-board-mobile-current{
    display:none !important;
  }
  .os-user-board-card[draggable="false"]{
    -webkit-user-drag:none !important;
  }
}
.os-user-board-card.is-move-locked{
  cursor:pointer !important;
}
@media screen and (min-width:761px){
  body[data-is-admin="true"] .os-user-board-card:not(.is-move-locked){
    cursor:grab !important;
  }
  body[data-is-admin="true"] .os-user-board-card:not(.is-move-locked):active{
    cursor:grabbing !important;
  }
}


/* ===== Ajuste final solicitado: topo mobile O.S. com pesquisa maior e botões próximos ===== */
@media screen and (max-width:760px){
  body[data-page="ordem-servico"] .os-page-toolbar-actions,
  body[data-page="ordem"] .os-page-toolbar-actions,
  .page-ordem-only .os-page-toolbar-actions{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:7px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  body[data-page="ordem-servico"] .os-search-wrap-top,
  body[data-page="ordem"] .os-search-wrap-top,
  .page-ordem-only .os-search-wrap-top{
    order:1 !important;
    flex:1 1 auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    height:40px !important;
    min-height:40px !important;
    margin:0 !important;
    grid-column:auto !important;
    grid-row:auto !important;
  }

  body[data-page="ordem-servico"] #btn-os-user-board.os-board-view-btn,
  body[data-page="ordem"] #btn-os-user-board.os-board-view-btn,
  .page-ordem-only #btn-os-user-board.os-board-view-btn{
    order:2 !important;
    flex:0 0 40px !important;
    width:40px !important;
    min-width:40px !important;
    max-width:40px !important;
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
    margin:0 !important;
    padding:0 !important;
    grid-column:auto !important;
    grid-row:auto !important;
  }

  body[data-page="ordem-servico"] #btn-toggle-os-form.os-add-btn-top,
  body[data-page="ordem"] #btn-toggle-os-form.os-add-btn-top,
  .page-ordem-only #btn-toggle-os-form.os-add-btn-top{
    order:3 !important;
    flex:0 0 40px !important;
    width:40px !important;
    min-width:40px !important;
    max-width:40px !important;
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
    margin:0 !important;
    padding:0 !important;
    grid-column:auto !important;
    grid-row:auto !important;
  }

  body[data-page="ordem-servico"] #btn-open-os-filter.os-toolbar-filter-btn,
  body[data-page="ordem"] #btn-open-os-filter.os-toolbar-filter-btn,
  .page-ordem-only #btn-open-os-filter.os-toolbar-filter-btn{
    order:4 !important;
    flex:0 0 40px !important;
    width:40px !important;
    min-width:40px !important;
    max-width:40px !important;
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
    margin:0 !important;
    padding:0 !important;
    grid-column:auto !important;
    grid-row:auto !important;
  }

  body[data-page="ordem-servico"] #btn-os-user-board .os-board-view-label,
  body[data-page="ordem"] #btn-os-user-board .os-board-view-label,
  .page-ordem-only #btn-os-user-board .os-board-view-label,
  body[data-page="ordem-servico"] #btn-toggle-os-form-label,
  body[data-page="ordem"] #btn-toggle-os-form-label,
  .page-ordem-only #btn-toggle-os-form-label{
    display:none !important;
  }
}

@media screen and (max-width:390px){
  body[data-page="ordem-servico"] .os-page-toolbar-actions,
  body[data-page="ordem"] .os-page-toolbar-actions,
  .page-ordem-only .os-page-toolbar-actions{
    gap:6px !important;
  }
  body[data-page="ordem-servico"] #btn-os-user-board.os-board-view-btn,
  body[data-page="ordem"] #btn-os-user-board.os-board-view-btn,
  .page-ordem-only #btn-os-user-board.os-board-view-btn,
  body[data-page="ordem-servico"] #btn-toggle-os-form.os-add-btn-top,
  body[data-page="ordem"] #btn-toggle-os-form.os-add-btn-top,
  .page-ordem-only #btn-toggle-os-form.os-add-btn-top,
  body[data-page="ordem-servico"] #btn-open-os-filter.os-toolbar-filter-btn,
  body[data-page="ordem"] #btn-open-os-filter.os-toolbar-filter-btn,
  .page-ordem-only #btn-open-os-filter.os-toolbar-filter-btn{
    flex-basis:38px !important;
    width:38px !important;
    min-width:38px !important;
    max-width:38px !important;
  }
}


/* ===== Correção definitiva mobile: pesquisa + Kanban + Adicionar + Filtro em uma linha ===== */
@media screen and (max-width: 760px){
  body[data-page="ordem-servico"] .os-page-toolbar,
  body[data-page="ordem"] .os-page-toolbar,
  .page-ordem-only .os-page-toolbar{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:visible !important;
  }

  body[data-page="ordem-servico"] .os-page-toolbar-actions,
  body[data-page="ordem"] .os-page-toolbar-actions,
  .page-ordem-only .os-page-toolbar-actions{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:6px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:visible !important;
    grid-template-columns:none !important;
    grid-auto-rows:unset !important;
  }

  body[data-page="ordem-servico"] .os-search-wrap-top,
  body[data-page="ordem"] .os-search-wrap-top,
  .page-ordem-only .os-search-wrap-top{
    order:1 !important;
    flex:1 1 0 !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
    margin:0 !important;
    padding:0 !important;
    grid-column:auto !important;
    grid-row:auto !important;
    position:relative !important;
    transform:none !important;
  }

  body[data-page="ordem-servico"] .os-search-wrap-top .os-search-input,
  body[data-page="ordem"] .os-search-wrap-top .os-search-input,
  .page-ordem-only .os-search-wrap-top .os-search-input{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
    box-sizing:border-box !important;
  }

  body[data-page="ordem-servico"] #btn-os-user-board.os-board-view-btn,
  body[data-page="ordem"] #btn-os-user-board.os-board-view-btn,
  .page-ordem-only #btn-os-user-board.os-board-view-btn{
    order:2 !important;
  }

  body[data-page="ordem-servico"] #btn-toggle-os-form.os-add-btn-top,
  body[data-page="ordem"] #btn-toggle-os-form.os-add-btn-top,
  .page-ordem-only #btn-toggle-os-form.os-add-btn-top{
    order:3 !important;
  }

  body[data-page="ordem-servico"] #btn-open-os-filter.os-toolbar-filter-btn,
  body[data-page="ordem"] #btn-open-os-filter.os-toolbar-filter-btn,
  .page-ordem-only #btn-open-os-filter.os-toolbar-filter-btn{
    order:4 !important;
  }

  body[data-page="ordem-servico"] #btn-os-user-board.os-board-view-btn,
  body[data-page="ordem"] #btn-os-user-board.os-board-view-btn,
  .page-ordem-only #btn-os-user-board.os-board-view-btn,
  body[data-page="ordem-servico"] #btn-toggle-os-form.os-add-btn-top,
  body[data-page="ordem"] #btn-toggle-os-form.os-add-btn-top,
  .page-ordem-only #btn-toggle-os-form.os-add-btn-top,
  body[data-page="ordem-servico"] #btn-open-os-filter.os-toolbar-filter-btn,
  body[data-page="ordem"] #btn-open-os-filter.os-toolbar-filter-btn,
  .page-ordem-only #btn-open-os-filter.os-toolbar-filter-btn{
    flex:0 0 40px !important;
    width:40px !important;
    min-width:40px !important;
    max-width:40px !important;
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
    margin:0 !important;
    padding:0 !important;
    grid-column:auto !important;
    grid-row:auto !important;
    position:static !important;
    transform:none !important;
    align-self:center !important;
    justify-self:auto !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
  }
}

@media screen and (max-width: 390px){
  body[data-page="ordem-servico"] .os-page-toolbar-actions,
  body[data-page="ordem"] .os-page-toolbar-actions,
  .page-ordem-only .os-page-toolbar-actions{
    gap:5px !important;
  }

  body[data-page="ordem-servico"] #btn-os-user-board.os-board-view-btn,
  body[data-page="ordem"] #btn-os-user-board.os-board-view-btn,
  .page-ordem-only #btn-os-user-board.os-board-view-btn,
  body[data-page="ordem-servico"] #btn-toggle-os-form.os-add-btn-top,
  body[data-page="ordem"] #btn-toggle-os-form.os-add-btn-top,
  .page-ordem-only #btn-toggle-os-form.os-add-btn-top,
  body[data-page="ordem-servico"] #btn-open-os-filter.os-toolbar-filter-btn,
  body[data-page="ordem"] #btn-open-os-filter.os-toolbar-filter-btn,
  .page-ordem-only #btn-open-os-filter.os-toolbar-filter-btn{
    flex-basis:38px !important;
    width:38px !important;
    min-width:38px !important;
    max-width:38px !important;
  }
}


/* ===== CORREÇÃO DEFINITIVA: topo mobile O.S. sempre em uma única linha ===== */
@media screen and (max-width: 760px){
  body[data-page="ordem-servico"] .page-ordem-only .os-page-toolbar-actions,
  body[data-page="ordem-servico"] .os-page-toolbar-actions,
  body[data-page="ordem"] .page-ordem-only .os-page-toolbar-actions,
  body[data-page="ordem"] .os-page-toolbar-actions,
  .page-ordem-only .os-page-toolbar-actions{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) 38px 38px 38px !important;
    grid-template-rows:40px !important;
    grid-auto-rows:40px !important;
    column-gap:6px !important;
    row-gap:0 !important;
    align-items:stretch !important;
    justify-items:stretch !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:visible !important;
  }

  body[data-page="ordem-servico"] .page-ordem-only .os-search-wrap-top,
  body[data-page="ordem-servico"] .os-search-wrap-top,
  body[data-page="ordem"] .page-ordem-only .os-search-wrap-top,
  body[data-page="ordem"] .os-search-wrap-top,
  .page-ordem-only .os-search-wrap-top{
    grid-column:1 !important;
    grid-row:1 !important;
    order:1 !important;
    align-self:stretch !important;
    justify-self:stretch !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
    margin:0 !important;
    padding:0 !important;
    position:relative !important;
    inset:auto !important;
    transform:none !important;
    flex:none !important;
    box-sizing:border-box !important;
  }

  body[data-page="ordem-servico"] .page-ordem-only .os-search-wrap-top .search-input,
  body[data-page="ordem-servico"] .os-search-wrap-top .search-input,
  body[data-page="ordem"] .page-ordem-only .os-search-wrap-top .search-input,
  body[data-page="ordem"] .os-search-wrap-top .search-input,
  .page-ordem-only .os-search-wrap-top .search-input{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
    box-sizing:border-box !important;
  }

  body[data-page="ordem-servico"] #btn-os-user-board,
  body[data-page="ordem"] #btn-os-user-board,
  .page-ordem-only #btn-os-user-board{
    grid-column:2 !important;
    grid-row:1 !important;
    order:2 !important;
  }

  body[data-page="ordem-servico"] #btn-toggle-os-form,
  body[data-page="ordem"] #btn-toggle-os-form,
  .page-ordem-only #btn-toggle-os-form{
    grid-column:3 !important;
    grid-row:1 !important;
    order:3 !important;
  }

  body[data-page="ordem-servico"] #btn-open-os-filter,
  body[data-page="ordem"] #btn-open-os-filter,
  .page-ordem-only #btn-open-os-filter{
    grid-column:4 !important;
    grid-row:1 !important;
    order:4 !important;
  }

  body[data-page="ordem-servico"] #btn-os-user-board,
  body[data-page="ordem-servico"] #btn-toggle-os-form,
  body[data-page="ordem-servico"] #btn-open-os-filter,
  body[data-page="ordem"] #btn-os-user-board,
  body[data-page="ordem"] #btn-toggle-os-form,
  body[data-page="ordem"] #btn-open-os-filter,
  .page-ordem-only #btn-os-user-board,
  .page-ordem-only #btn-toggle-os-form,
  .page-ordem-only #btn-open-os-filter{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    align-items:center !important;
    justify-content:center !important;
    align-self:stretch !important;
    justify-self:stretch !important;
    width:38px !important;
    min-width:38px !important;
    max-width:38px !important;
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
    margin:0 !important;
    padding:0 !important;
    position:static !important;
    inset:auto !important;
    transform:none !important;
    float:none !important;
    flex:none !important;
    box-sizing:border-box !important;
    z-index:auto !important;
  }

  body[data-page="ordem-servico"] #btn-os-user-board .os-board-view-label,
  body[data-page="ordem"] #btn-os-user-board .os-board-view-label,
  .page-ordem-only #btn-os-user-board .os-board-view-label,
  body[data-page="ordem-servico"] #btn-toggle-os-form-label,
  body[data-page="ordem"] #btn-toggle-os-form-label,
  .page-ordem-only #btn-toggle-os-form-label{
    display:none !important;
  }
}

@media screen and (max-width: 380px){
  body[data-page="ordem-servico"] .page-ordem-only .os-page-toolbar-actions,
  body[data-page="ordem-servico"] .os-page-toolbar-actions,
  body[data-page="ordem"] .page-ordem-only .os-page-toolbar-actions,
  body[data-page="ordem"] .os-page-toolbar-actions,
  .page-ordem-only .os-page-toolbar-actions{
    grid-template-columns:minmax(0, 1fr) 36px 36px 36px !important;
    column-gap:5px !important;
  }

  body[data-page="ordem-servico"] #btn-os-user-board,
  body[data-page="ordem-servico"] #btn-toggle-os-form,
  body[data-page="ordem-servico"] #btn-open-os-filter,
  body[data-page="ordem"] #btn-os-user-board,
  body[data-page="ordem"] #btn-toggle-os-form,
  body[data-page="ordem"] #btn-open-os-filter,
  .page-ordem-only #btn-os-user-board,
  .page-ordem-only #btn-toggle-os-form,
  .page-ordem-only #btn-open-os-filter{
    width:36px !important;
    min-width:36px !important;
    max-width:36px !important;
  }
}


/* ===== Correção definitiva: Concluir só aparece com tempo correndo ===== */
#btn-os-exec-conclude.hidden,
#btn-os-exec-conclude[hidden]{
  display:none !important;
}

/* Ajuste solicitado: calendário dentro do painel Kanban da O.S. */
.os-user-board-calendar-wrap{
  border:1px solid #dbe4f0 !important;
  background:#ffffff !important;
  padding:12px !important;
  margin:0 0 16px 0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  box-sizing:border-box !important;
}
.os-user-board-calendar-head{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin-bottom:10px !important;
}
.os-user-board-calendar-head strong{
  display:block !important;
  color:#0f172a !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
}
.os-user-board-calendar-head span{
  display:block !important;
  margin-top:3px !important;
  color:#7b8aa3 !important;
  font-size:12px !important;
  font-weight:600 !important;
  line-height:1.25 !important;
}
.os-user-board-calendar-clear{
  height:32px !important;
  min-width:78px !important;
  padding:0 14px !important;
  border:1px solid #dbe4f0 !important;
  background:#fff !important;
  color:#227fea !important;
  font-size:12px !important;
  font-weight:800 !important;
  cursor:pointer !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.os-user-board-calendar-clear.hidden{display:none !important;}
.os-user-board-calendar-clear:hover,
.os-user-board-calendar-clear:focus{
  border-color:#2d8cff !important;
  background:#f7fbff !important;
  outline:none !important;
}
.os-user-board-inline-picker{
  border:0 !important;
  padding:0 !important;
  background:#fff !important;
  box-shadow:none !important;
  max-width:360px !important;
}
.os-user-board-inline-picker .os-inline-picker-actions{
  justify-content:flex-start !important;
}
body[data-page="ordem-servico"].os-user-board-active .os-user-board-calendar-wrap,
body[data-page="ordem"].os-user-board-active .os-user-board-calendar-wrap{
  display:block !important;
}
body:not(.os-user-board-active) .os-user-board-calendar-wrap{
  display:none !important;
}
@media (min-width: 980px){
  .os-user-board-calendar-wrap{
    width:360px !important;
  }
}
@media (max-width: 760px){
  .os-user-board-calendar-head{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .os-user-board-calendar-clear{
    width:100% !important;
  }
  .os-user-board-inline-picker{
    max-width:none !important;
  }
}

/* Ajuste solicitado: calendário da O.S. em seletor sobreposto, sem título/subtítulo e sem botão recolher */
.os-calendar-sidebar{
  overflow: visible !important;
}
.os-date-picker-shell{
  position: relative !important;
  width: 100% !important;
  max-width: 360px !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  z-index: 30 !important;
}
.os-date-picker-trigger{
  width: 100% !important;
  min-height: 54px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 0 16px !important;
  border: 1px solid #dbe4f0 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  color: #0f172a !important;
  font: inherit !important;
  text-align: left !important;
  cursor: pointer !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}
.os-date-picker-trigger:hover,
.os-date-picker-trigger:focus,
.os-date-picker-trigger[aria-expanded="true"]{
  border-color: #2d8cff !important;
  outline: none !important;
  box-shadow: none !important;
}
.os-date-trigger-icon{
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #74839a !important;
}
.os-date-trigger-icon svg{
  width: 18px !important;
  height: 18px !important;
  display: block !important;
}
.os-date-trigger-label{
  min-width: 0 !important;
  color: #0f172a !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-transform: lowercase !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.os-date-picker-popover{
  position: absolute !important;
  top: calc(100% + 6px) !important;
  left: 0 !important;
  width: min(320px, calc(100vw - 32px)) !important;
  padding: 14px !important;
  border: 1px solid #dbe4f0 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.14) !important;
  z-index: 1400 !important;
  box-sizing: border-box !important;
}
.os-date-picker-popover.hidden{
  display: none !important;
}
.os-date-picker-popover .os-inline-picker{
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  max-width: none !important;
}
.os-date-picker-popover .os-inline-picker-actions{
  justify-content: space-between !important;
}
.os-date-picker-popover .os-inline-picker-day.is-today:not(.is-selected){
  border-color: rgba(44, 148, 252, 0.25) !important;
  background: #f8fbff !important;
  font-weight: 700 !important;
}
.os-user-board-calendar-wrap{
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 0 16px 0 !important;
  box-shadow: none !important;
  width: 360px !important;
  max-width: 100% !important;
  overflow: visible !important;
}
.os-user-board-calendar-head,
.os-user-board-calendar-clear{
  display: none !important;
}
.os-user-board-inline-picker{
  max-width: none !important;
}
body[data-page="ordem-servico"].os-user-board-active .os-main-card,
body[data-page="ordem"].os-user-board-active .os-main-card{
  overflow: visible !important;
}
body[data-page="ordem-servico"].os-user-board-active .os-user-board-panel,
body[data-page="ordem"].os-user-board-active .os-user-board-panel{
  overflow: visible !important;
}
body:not(.os-user-board-active) .os-user-board-calendar-wrap{
  display: none !important;
}
@media (max-width: 760px){
  .os-date-picker-shell,
  .os-user-board-calendar-wrap{
    max-width: 100% !important;
    width: 100% !important;
  }
  .os-date-picker-popover{
    width: 100% !important;
    min-width: 0 !important;
  }
  .os-date-trigger-label{
    font-size: 14px !important;
  }
}

/* ===== Ajuste solicitado: calendário do Kanban ao lado do card Pausado ===== */
body[data-page="ordem-servico"].os-user-board-active .os-user-board-status-cards > .os-user-board-calendar-card,
body[data-page="ordem"].os-user-board-active .os-user-board-status-cards > .os-user-board-calendar-card{
  display:block !important;
  flex:0 0 272px !important;
  width:272px !important;
  min-width:272px !important;
  max-width:272px !important;
  height:58px !important;
  min-height:58px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  box-sizing:border-box !important;
  order:10 !important;
}
body[data-page="ordem-servico"] .os-user-board-status-cards > .os-user-board-calendar-card .os-date-picker-shell,
body[data-page="ordem"] .os-user-board-status-cards > .os-user-board-calendar-card .os-date-picker-shell{
  width:100% !important;
  max-width:100% !important;
  height:58px !important;
  z-index:80 !important;
}
body[data-page="ordem-servico"] .os-user-board-status-cards > .os-user-board-calendar-card .os-date-picker-trigger,
body[data-page="ordem"] .os-user-board-status-cards > .os-user-board-calendar-card .os-date-picker-trigger{
  width:100% !important;
  height:58px !important;
  min-height:58px !important;
  padding:9px 12px !important;
  border:1px solid #dbe4f0 !important;
  background:#fff !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
}
body[data-page="ordem-servico"] .os-user-board-status-cards > .os-user-board-calendar-card .os-date-picker-popover,
body[data-page="ordem"] .os-user-board-status-cards > .os-user-board-calendar-card .os-date-picker-popover{
  z-index:2200 !important;
}
@media(max-width:1180px){
  body[data-page="ordem-servico"].os-user-board-active .os-user-board-status-cards > .os-user-board-calendar-card,
  body[data-page="ordem"].os-user-board-active .os-user-board-status-cards > .os-user-board-calendar-card{
    flex-basis:272px !important;
    width:272px !important;
    min-width:272px !important;
    max-width:272px !important;
  }
}
@media(max-width:760px){
  body[data-page="ordem-servico"].os-user-board-active .os-user-board-status-cards > .os-user-board-calendar-card,
  body[data-page="ordem"].os-user-board-active .os-user-board-status-cards > .os-user-board-calendar-card{
    flex:1 1 100% !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }
}

/* ===== Correção: Não Programado com tamanho comum + Em aberto na mesma cor ===== */
:root{
  --os-nao-programado-color:#ef4444;
  --os-nao-programado-filter:brightness(0) saturate(100%) invert(40%) sepia(75%) saturate(2000%) hue-rotate(330deg) brightness(98%) contrast(92%);
}

/* Evita que o PNG do status Não Programado aumente o card da O.S. */
.os-status-card.pending img,
.os-service-card .os-status-card.pending img,
.os-detail-combined-card .os-status-card.pending img,
.asset-history-list .os-status-card.pending img,
#asset-history-modal .asset-history-list .os-status-card.pending img{
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  max-width:16px !important;
  min-height:16px !important;
  max-height:16px !important;
  display:block !important;
  flex:0 0 16px !important;
  object-fit:contain !important;
}

/* Mantém todos os status da lista com altura normal */
.os-service-card .os-status-card.pending{
  min-height:36px !important;
  height:36px !important;
  padding:6px 14px !important;
  gap:8px !important;
  align-items:center !important;
  box-sizing:border-box !important;
}

/* Card Em aberto: mesma cor do Não Programado */
.os-metrics-sidebar .os-metric-card.backlog .os-metric-label,
.os-metrics-sidebar .os-metric-card.backlog .os-metric-value,
body.os-user-board-active .os-user-board-status-card.all.backlog .os-metric-label,
body.os-user-board-active .os-user-board-status-card.all.backlog .os-metric-value,
body.os-user-board-active .os-user-board-status-card.is-backlog-filter-card .os-metric-label,
body.os-user-board-active .os-user-board-status-card.is-backlog-filter-card .os-metric-value,
.os-user-board-column[data-os-user-column="Backlog"] .os-user-board-column-count strong,
.os-user-board-column[data-os-user-column="Backlog"] .os-user-board-title,
.os-user-board-column[data-os-user-column="Backlog"] .os-user-board-column-title{
  color:var(--os-nao-programado-color) !important;
}

.os-metrics-sidebar .os-metric-card.backlog .os-metric-icon,
body.os-user-board-active .os-user-board-status-card.all.backlog .os-metric-icon,
body.os-user-board-active .os-user-board-status-card.is-backlog-filter-card .os-board-backlog-card-icon,
.os-user-board-column[data-os-user-column="Backlog"] .os-user-board-backlog-icon,
.os-user-board-avatar-backlog .os-user-board-backlog-icon,
.os-user-board-user-backlog-icon{
  filter:none !important;
  opacity:1 !important;
}

/* A coluna Em aberto segue a mesma identidade visual do Não Programado */
.os-user-board-column[data-os-user-column="Backlog"] .os-user-board-avatar,
.os-user-board-column.is-backlog-column .os-user-board-avatar{
  color:var(--os-nao-programado-color) !important;
}

/* ===== Correção: Não Programado sem borda na coluna + texto padrão do card Em aberto ===== */
.os-user-board-column[data-os-user-column="Não Programado"] .os-user-board-avatar.os-user-board-avatar-backlog,
.os-user-board-column[data-os-user-column="Não Programado"] .os-user-board-avatar{
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
}

.os-metrics-sidebar .os-metric-card.backlog .os-metric-label,
body.os-user-board-active .os-user-board-status-card.all.backlog .os-metric-label,
body.os-user-board-active .os-user-board-status-card.is-backlog-filter-card .os-metric-label{
  color:#001a36 !important;
}

/* ===== Multiempresa / assinatura por usuário ===== */
.login-success{
  border:1px solid #c7f0d4;
  background:#f0fdf4;
  color:#166534;
  padding:10px 12px;
  font-size:13px;
  margin:10px 0;
}
.login-forgot-link{
  display:block;
  margin-top:12px;
  text-align:center;
  color:#2c94fc;
  text-decoration:none;
  font-weight:700;
  font-size:13px;
}
.login-reset-dev{
  border:1px solid #d9e8ff;
  background:#f7fbff;
  color:#0f2847;
  padding:10px 12px;
  font-size:12px;
  line-height:1.45;
  margin:12px 0;
  word-break:break-all;
}
.login-reset-dev small{
  display:block;
  margin-top:6px;
  color:#64748b;
}
.subscription-box{
  border:1px solid #d8e2f0;
  padding:12px;
  margin:8px 0 12px;
  background:#fff;
}
.subscription-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#0f172a;
  font-size:13px;
  margin-bottom:8px;
}
.subscription-line span{
  color:#008a3d;
  font-weight:800;
}
.subscription-grid{
  display:grid;
  grid-template-columns:1fr auto;
  gap:6px 12px;
  font-size:12px;
  color:#64748b;
}
.subscription-grid strong{
  color:#0f172a;
  text-align:right;
}
.subscription-owner-actions{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:8px;
  align-items:end;
  margin-top:12px;
}
.subscription-box small{
  display:block;
  margin-top:8px;
  color:#64748b;
  font-size:11px;
}
@media (max-width: 720px){
  .subscription-owner-actions{grid-template-columns:1fr;}
}


/* ===== Painel multiempresa simplificado ===== */
.user-modal-card-wide{
  width:min(1120px, calc(100vw - 28px)) !important;
  max-width:1120px !important;
}
.user-panel-tabs{
  display:flex;
  gap:8px;
  margin:10px 0 14px;
  border-bottom:1px solid #e2e8f0;
}
.user-panel-tab{
  border:1px solid transparent;
  border-bottom:0;
  background:#f8fafc;
  color:#334155;
  font-weight:800;
  font-size:13px;
  padding:10px 14px;
  cursor:pointer;
  border-radius:0;
}
.user-panel-tab.is-active{
  background:#ffffff;
  color:#2c94fc;
  border-color:#d8e2f0;
  box-shadow:0 -2px 0 #2c94fc inset;
}
.user-panel.hidden{display:none !important;}
.user-panel.is-active{display:block;}
.user-panel-block{
  border:1px solid #d8e2f0;
  background:#ffffff;
  padding:14px;
  margin-bottom:12px;
}
.user-section-heading{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:10px;
}
.user-section-heading p{
  margin:4px 0 0;
  color:#64748b;
  font-size:12px;
}
.user-company-layout,
.system-company-layout{
  display:grid;
  grid-template-columns:minmax(280px, .85fr) minmax(420px, 1.4fr);
  gap:12px;
}
.user-current-grid,
.system-company-form{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin-top:12px;
}
.system-company-form .btn{
  align-self:end;
}
.subscription-grid.subscription-grid-cards{
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
}
.subscription-grid.subscription-grid-cards > div,
.system-company-summary > div{
  border:1px solid #e2e8f0;
  background:#f8fafc;
  padding:10px;
}
.subscription-grid.subscription-grid-cards span,
.system-company-summary span{
  display:block;
  color:#64748b;
  font-size:11px;
  font-weight:700;
  margin-bottom:4px;
}
.subscription-grid.subscription-grid-cards strong,
.system-company-summary strong{
  display:block;
  text-align:left;
  color:#0f172a;
  font-size:17px;
}
.owner-user-card small{
  display:block;
  margin-top:8px;
  color:#64748b;
  font-size:11px;
}
.owner-user-highlight{
  background:#f8fbff !important;
  border-color:#cfe5ff !important;
}
.users-list-billable .user-list-item{
  margin-bottom:8px;
}
.system-company-summary{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
}
.system-companies-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.system-company-row{
  border:1px solid #d8e2f0;
  background:#ffffff;
  padding:12px;
  display:grid;
  grid-template-columns:minmax(220px, 1.2fr) minmax(180px, .8fr) minmax(300px, 1.2fr);
  gap:12px;
  align-items:center;
}
.system-company-main{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.system-company-main strong{
  color:#0f172a;
  font-size:14px;
}
.system-company-main span,
.system-company-main small{
  color:#64748b;
  font-size:12px;
}
.system-company-metrics{
  display:flex;
  flex-direction:column;
  gap:3px;
  color:#64748b;
  font-size:12px;
}
.system-company-metrics strong{
  color:#0f172a;
  font-size:14px;
}
.system-company-actions{
  display:grid;
  grid-template-columns:1fr 80px 100px auto;
  gap:8px;
  align-items:center;
}
.system-company-actions .input{
  height:36px;
  min-height:36px;
  font-size:12px;
}
.btn.small{
  padding:7px 10px !important;
  font-size:12px !important;
}
@media (max-width: 920px){
  .user-company-layout,
  .system-company-layout,
  .user-current-grid,
  .system-company-form{
    grid-template-columns:1fr;
  }
  .subscription-grid.subscription-grid-cards,
  .system-company-summary{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .system-company-row{
    grid-template-columns:1fr;
  }
  .system-company-actions{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width: 560px){
  .subscription-grid.subscription-grid-cards,
  .system-company-summary,
  .system-company-actions{
    grid-template-columns:1fr;
  }
  .user-panel-tabs{
    flex-direction:column;
    border-bottom:0;
  }
  .user-panel-tab{
    border:1px solid #d8e2f0;
  }
}



/* ===== Ajuste solicitado: fonte do modal igual ao título Ordem de serviço, sem negrito ===== */
#user-modal .user-modal-card,
#user-modal .user-modal-card *,
#add-user-modal .add-user-modal-card,
#add-user-modal .add-user-modal-card *,
#edit-user-modal .add-user-modal-card,
#edit-user-modal .add-user-modal-card *{
  font-family: inherit !important;
  font-weight: 400 !important;
}

#user-modal .modal-title,
#add-user-modal .modal-title,
#edit-user-modal .modal-title{
  font-size: 19px !important;
  font-weight: 400 !important;
  color: #0f172a !important;
  line-height: 1.2 !important;
  margin-bottom: 12px !important;
}

#user-modal .user-section-title,
#user-modal .user-panel-tab,
#user-modal .subscription-grid strong,
#user-modal .system-company-summary strong,
#user-modal .system-company-main strong,
#user-modal .system-company-metrics strong,
#user-modal .user-list-name,
#user-modal .current-user-name,
#user-modal .user-role-pill,
#user-modal b,
#user-modal strong,
#add-user-modal b,
#add-user-modal strong,
#edit-user-modal b,
#edit-user-modal strong{
  font-weight: 400 !important;
}

#user-modal .user-modal-subtitle,
#user-modal .user-section-heading p,
#user-modal .subscription-box small,
#user-modal .owner-user-card small,
#user-modal .user-list-meta,
#user-modal .user-list-role,
#user-modal .system-company-main span,
#user-modal .system-company-main small,
#user-modal .system-company-metrics,
#user-modal .modal-field,
#add-user-modal .modal-field,
#edit-user-modal .modal-field{
  font-weight: 400 !important;
}



/* ===== Ajuste: valor fixo por usuário + perfis fixos ===== */
.fixed-price-field{
  border:1px solid #d8e2f0;
  background:#f8fafc;
  padding:9px 12px;
  min-height:36px;
  justify-content:center;
}
.fixed-price-field span{
  display:block;
  color:#64748b;
  font-size:12px;
}
.fixed-price-field strong{
  display:block;
  color:#0f172a;
  font-size:14px;
  margin-top:3px;
}
.system-fixed-price{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  border:1px solid #d8e2f0;
  background:#f8fafc;
  color:#0f172a;
  font-size:12px;
  padding:0 8px;
}
#btn-save-subscription{
  background:#2c94fc !important;
  color:#ffffff !important;
  border-color:#2c94fc !important;
}


/* ===== Ajuste solicitado: Configurações em lista simples ===== */
#user-modal .user-modal-subtitle,
#user-modal #user-admin-badge,
#user-modal .user-panel-tabs{
  display:none !important;
}

#user-modal .modal-title{
  font-size:19px !important;
  font-weight:400 !important;
  color:#0f172a !important;
  margin-bottom:18px !important;
}

#user-modal .company-profile-card,
#user-modal .user-management-list-block{
  width:100% !important;
}

.company-profile-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  align-items:end;
}

.company-profile-save-btn{
  grid-column:1 / -1;
  justify-self:start;
}

.users-list-vertical{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  width:100% !important;
}

.users-list-vertical .user-list-item{
  width:100% !important;
  border-radius:0 !important;
  padding:14px !important;
}

#user-modal .user-list-item-between{
  display:flex !important;
}

#user-modal .user-section-heading.users-section-header{
  align-items:center !important;
}

#user-modal .subscription-box-compact{
  margin:10px 0 14px !important;
}

#user-modal .subscription-box-compact .subscription-owner-actions{
  grid-template-columns:minmax(220px, 1fr) minmax(220px, 1fr) auto !important;
}

#user-modal .current-account-card.hidden{
  display:none !important;
}

@media (max-width: 760px){
  .company-profile-grid,
  #user-modal .subscription-box-compact .subscription-owner-actions{
    grid-template-columns:1fr !important;
  }
  .company-profile-save-btn{
    justify-self:stretch;
  }
  #user-modal .user-section-heading.users-section-header{
    align-items:stretch !important;
  }
}



/* ===== Ajuste: dados da empresa em layout fixo + painel por ícone + ações por menu ===== */
#user-modal .user-config-header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin-bottom:14px !important;
}

.config-panel-icon-btn{
  width:38px;
  height:38px;
  border:1px solid #2c94fc;
  background:#2c94fc;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  border-radius:0;
  font-size:20px;
  line-height:1;
}

.company-profile-fixed-card{
  position:relative;
}

.company-profile-top{
  display:grid;
  grid-template-columns:94px minmax(0, 1fr);
  gap:16px;
  align-items:end;
  margin-top:12px;
}

.company-logo-control{
  width:94px;
}

.company-logo-picker{
  width:86px;
  height:86px;
  border:1px solid #d8e2f0;
  background:#f8fafc;
  color:#2c94fc;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  border-radius:0;
  padding:0;
  overflow:hidden;
}

.company-logo-picker:hover{
  border-color:#2c94fc;
  background:#ffffff;
}

.company-logo-placeholder{
  font-size:30px;
  line-height:1;
}

.company-logo-preview{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  background:#fff;
}

.company-name-field{
  margin-bottom:0 !important;
}

.company-profile-bottom{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) minmax(330px, 1.35fr);
  gap:12px;
  align-items:end;
  margin-top:12px;
}

.company-profile-actions{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:12px;
}

.company-subscription-inline{
  border:0 !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
}

.subscription-stats-hidden{
  display:none !important;
}

.company-subscription-inline .subscription-owner-actions{
  display:grid !important;
  grid-template-columns:minmax(90px, 1fr) minmax(140px, auto) auto !important;
  gap:8px !important;
  align-items:end !important;
  margin:0 !important;
}

.company-subscription-inline .subscription-owner-actions.hidden{
  display:none !important;
}

.company-subscription-inline .modal-field{
  margin-bottom:0 !important;
}

.company-subscription-inline .fixed-price-field{
  min-height:37px !important;
  padding:6px 10px !important;
  text-align:center !important;
}

.company-subscription-inline #btn-save-subscription{
  height:37px !important;
  white-space:nowrap !important;
}

.users-list-vertical{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}

.users-list-vertical .user-list-item{
  border-radius:0 !important;
  min-height:74px !important;
}

.user-actions-kebab{
  width:36px;
  height:36px;
  min-width:36px;
  border:1px solid #2c94fc;
  background:#2c94fc;
  color:#ffffff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  border-radius:0;
  font-size:23px;
  line-height:1;
  padding:0;
}

.user-actions-kebab:hover,
.config-panel-icon-btn:hover{
  filter:brightness(.96);
}

.user-actions-modal-card{
  width:min(320px, calc(100vw - 32px)) !important;
  border-radius:0 !important;
}

.user-actions-target{
  border:1px solid #d8e2f0;
  background:#f8fafc;
  padding:10px 12px;
  margin:10px 0 14px;
  color:#0f172a;
  word-break:break-word;
}

.user-actions-buttons{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}

.system-panel-actions{
  display:flex;
  gap:8px;
  align-items:center;
}

@media (max-width: 980px){
  .company-profile-bottom{
    grid-template-columns:1fr;
  }
  .company-subscription-inline .subscription-owner-actions{
    grid-template-columns:1fr !important;
  }
}

@media (max-width: 640px){
  .company-profile-top{
    grid-template-columns:1fr;
  }
  .company-logo-control{
    width:100%;
  }
  .company-logo-picker{
    width:76px;
    height:76px;
  }
  #user-modal .user-section-heading.users-section-header{
    flex-direction:column;
  }
}



/* ===== Ajuste: opções no card da empresa + termos técnicos ===== */
.company-card-header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin-bottom:12px !important;
}

.company-actions-kebab{
  margin-left:auto !important;
}

.company-profile-bottom{
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) minmax(210px, .9fr) !important;
}

.company-subscription-inline .subscription-owner-actions{
  display:block !important;
  margin:0 !important;
}

.company-subscription-inline .subscription-owner-actions.hidden{
  display:none !important;
}

.company-subscription-inline .subscription-owner-actions .modal-field{
  margin-bottom:0 !important;
}

.company-subscription-inline .fixed-price-field,
#subscription-price-fixed{
  display:none !important;
}

.company-subscription-inline #btn-save-subscription{
  display:none !important;
}

#company-actions-modal .btn.primary{
  background:#2c94fc !important;
  border-color:#2c94fc !important;
  color:#ffffff !important;
}

@media (max-width: 980px){
  .company-profile-bottom{
    grid-template-columns:1fr !important;
  }
}



/* ===== Ajuste: CNPJ ao lado do nome + edição em modal + largura menor ===== */
.modal::backdrop{
  background:rgba(15,23,42,.22) !important;
}

#user-modal .user-modal-card-wide{
  width:min(960px, calc(100vw - 36px)) !important;
  max-width:960px !important;
}

.company-profile-top{
  grid-template-columns:86px minmax(0, 1fr) !important;
  align-items:end !important;
}

.company-main-fields{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(240px, .55fr);
  gap:12px;
  align-items:end;
}

.company-profile-bottom{
  grid-template-columns:minmax(0, 1fr) minmax(220px, .55fr) !important;
}

.company-logo-static{
  cursor:default !important;
}

.company-logo-static:hover{
  border-color:#d8e2f0 !important;
  background:#f8fafc !important;
}

.company-profile-actions{
  display:none !important;
}

.company-edit-modal-card{
  width:min(520px, calc(100vw - 32px)) !important;
  border-radius:0 !important;
}

.company-edit-logo-row{
  display:flex;
  align-items:center;
  gap:12px;
  margin:4px 0 14px;
}

.company-edit-logo-row .company-logo-picker{
  width:88px;
  height:88px;
}

#company-actions-modal::backdrop,
#user-actions-modal::backdrop,
#company-edit-modal::backdrop{
  background:rgba(15,23,42,.25) !important;
}

@media (max-width: 820px){
  #user-modal .user-modal-card-wide{
    width:min(94vw, calc(100vw - 22px)) !important;
  }
  .company-main-fields{
    grid-template-columns:1fr;
  }
  .company-profile-bottom{
    grid-template-columns:1fr !important;
  }
}



/* ===== Ajuste solicitado: modal menor e campos alinhados ===== */
#user-modal .user-modal-card-wide{
  width:min(820px, calc(100vw - 40px)) !important;
  max-width:820px !important;
}

#user-modal .company-profile-fixed-card{
  padding:16px !important;
}

#user-modal .company-profile-top{
  display:grid !important;
  grid-template-columns:86px minmax(0, 1fr) !important;
  gap:16px !important;
  align-items:start !important;
}

#user-modal .company-main-fields{
  display:grid !important;
  grid-template-columns:minmax(0, 1.5fr) minmax(240px, 0.75fr) !important;
  gap:12px !important;
  align-items:end !important;
}

#user-modal .company-profile-bottom{
  display:grid !important;
  grid-template-columns:86px minmax(0, 1.5fr) minmax(240px, 0.75fr) !important;
  gap:16px !important;
  align-items:end !important;
  margin-top:12px !important;
}

#user-modal .company-profile-bottom > .modal-field:first-child{
  grid-column:2 !important;
  margin-bottom:0 !important;
}

#user-modal .company-profile-bottom > .subscription-box{
  grid-column:3 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

#user-modal .company-subscription-inline .subscription-owner-actions{
  display:block !important;
}

#user-modal .company-subscription-inline .subscription-owner-actions .modal-field{
  width:100% !important;
  margin-bottom:0 !important;
}

#user-modal .company-subscription-inline .subscription-owner-actions label,
#user-modal .company-subscription-inline .subscription-owner-actions input{
  width:100% !important;
}

#user-modal .company-logo-control{
  width:86px !important;
}

#user-modal .company-logo-picker{
  width:86px !important;
  height:86px !important;
}

@media (max-width: 860px){
  #user-modal .user-modal-card-wide{
    width:min(94vw, calc(100vw - 24px)) !important;
    max-width:94vw !important;
  }

  #user-modal .company-main-fields{
    grid-template-columns:1fr !important;
  }

  #user-modal .company-profile-bottom{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  #user-modal .company-profile-bottom > .modal-field:first-child,
  #user-modal .company-profile-bottom > .subscription-box{
    grid-column:auto !important;
  }
}


/* ===== Ajuste solicitado: popover ao lado do botão + alinhamento nome/CNPJ ===== */
dialog#user-modal > .modal-card.user-modal-card.user-modal-card-wide{
  width:min(760px, calc(100vw - 42px)) !important;
  max-width:760px !important;
}

#company-actions-modal,
#user-actions-modal{
  position:fixed !important;
  inset:auto auto auto auto !important;
  width:260px !important;
  max-width:calc(100vw - 18px) !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  z-index:9999 !important;
}

#company-actions-modal::backdrop,
#user-actions-modal::backdrop{
  background:transparent !important;
}

#company-actions-modal .user-actions-modal-card,
#user-actions-modal .user-actions-modal-card{
  width:260px !important;
  max-width:calc(100vw - 18px) !important;
  padding:14px !important;
  border-radius:0 !important;
  box-shadow:0 8px 22px rgba(15,23,42,.12) !important;
}

#company-actions-modal .modal-title,
#user-actions-modal .modal-title{
  font-size:15px !important;
  margin-bottom:10px !important;
}

#company-actions-modal .user-actions-target,
#user-actions-modal .user-actions-target{
  display:none !important;
}

#company-actions-modal .user-actions-buttons,
#user-actions-modal .user-actions-buttons{
  gap:6px !important;
}

#company-actions-modal .user-actions-buttons .btn,
#user-actions-modal .user-actions-buttons .btn{
  min-height:34px !important;
  padding:8px 10px !important;
}

#user-modal .company-profile-top{
  display:grid !important;
  grid-template-columns:86px minmax(0, 1fr) !important;
  gap:14px !important;
  align-items:start !important;
}

#user-modal .company-main-fields{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(220px, .68fr) !important;
  gap:8px !important;
  align-items:start !important;
}

#user-modal .company-main-fields .modal-field,
#user-modal .company-profile-bottom .modal-field{
  display:grid !important;
  grid-template-rows:20px 36px !important;
  gap:5px !important;
  margin:0 !important;
  align-content:start !important;
}

#user-modal .company-main-fields .modal-field > span,
#user-modal .company-profile-bottom .modal-field > span{
  line-height:20px !important;
  min-height:20px !important;
  display:block !important;
}

#user-modal .company-main-fields .input,
#user-modal .company-profile-bottom .input{
  height:36px !important;
  min-height:36px !important;
  box-sizing:border-box !important;
}

#user-modal .company-profile-bottom{
  display:grid !important;
  grid-template-columns:86px minmax(0, 1fr) minmax(220px, .7fr) !important;
  gap:14px !important;
  align-items:start !important;
  margin-top:10px !important;
}

#user-modal .company-profile-bottom > .modal-field:first-child{
  grid-column:2 !important;
}

#user-modal .company-profile-bottom > .subscription-box{
  grid-column:3 !important;
}

@media (max-width: 800px){
  dialog#user-modal > .modal-card.user-modal-card.user-modal-card-wide{
    width:min(94vw, calc(100vw - 24px)) !important;
    max-width:94vw !important;
  }

  #user-modal .company-profile-top,
  #user-modal .company-main-fields,
  #user-modal .company-profile-bottom{
    grid-template-columns:1fr !important;
  }

  #user-modal .company-profile-bottom > .modal-field:first-child,
  #user-modal .company-profile-bottom > .subscription-box{
    grid-column:auto !important;
  }
}


/* ===== Correção: menu de ações visível e sem subtítulo de usuários ===== */
#user-modal .users-section-header p{
  display:none !important;
}

#company-actions-modal.floating-actions-popover,
#user-actions-modal.floating-actions-popover{
  position:fixed !important;
  inset:auto auto auto auto !important;
  width:260px !important;
  max-width:calc(100vw - 18px) !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  z-index:2147483647 !important;
}

#company-actions-modal.floating-actions-popover::backdrop,
#user-actions-modal.floating-actions-popover::backdrop{
  background:transparent !important;
}

#company-actions-modal.floating-actions-popover .user-actions-modal-card,
#user-actions-modal.floating-actions-popover .user-actions-modal-card{
  width:260px !important;
  max-width:calc(100vw - 18px) !important;
  padding:12px !important;
  border-radius:0 !important;
  box-shadow:0 10px 24px rgba(15,23,42,.18) !important;
}

#user-modal .company-main-fields{
  align-items:start !important;
}

#user-modal .company-main-fields .modal-field{
  align-content:start !important;
  align-self:start !important;
}


/* ===== Correção final: menu de ações em lista pequena ===== */
.actions-popover{
  position:fixed !important;
  width:172px !important;
  min-width:172px !important;
  padding:10px 0 !important;
  background:#ffffff !important;
  border:1px solid #d8e2f0 !important;
  box-shadow:0 10px 26px rgba(15,23,42,.16) !important;
  z-index:2147483647 !important;
  border-radius:0 !important;
}

.actions-popover.hidden{
  display:none !important;
}

.actions-popover-item{
  width:100% !important;
  height:34px !important;
  border:0 !important;
  background:#ffffff !important;
  color:#0f172a !important;
  text-align:left !important;
  padding:0 16px !important;
  font-size:13px !important;
  font-weight:400 !important;
  cursor:pointer !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}

.actions-popover-item:hover{
  background:#f8fafc !important;
}

.actions-popover-item.danger{
  color:#ef4444 !important;
}

#btn-open-system-panel.config-panel-icon-btn{
  background:#ffffff !important;
  border:1px solid #2c94fc !important;
  color:#2c94fc !important;
}

#btn-open-system-panel.config-panel-icon-btn:hover{
  background:#f8fbff !important;
  filter:none !important;
}

#user-modal .company-main-fields{
  align-items:start !important;
}

#user-modal .company-main-fields .modal-field{
  align-self:start !important;
  align-content:start !important;
}

#user-modal .company-main-fields .modal-field > span{
  min-height:20px !important;
  line-height:20px !important;
}


/* ===== Ícone dedicado do botão Painel do Sistema ===== */
.config-panel-icon-img{
  width:18px !important;
  height:18px !important;
  display:block !important;
  object-fit:contain !important;
  pointer-events:none !important;
}

#btn-open-system-panel.config-panel-icon-btn{
  background:#ffffff !important;
  border:1px solid #2c94fc !important;
  color:#2c94fc !important;
}

/* ===== Correção: menu de opções dentro da janela de Configurações ===== */
#user-modal .user-modal-card-wide{
  position:relative !important;
  overflow:visible !important;
}

#user-modal .actions-popover{
  position:absolute !important;
  width:172px !important;
  min-width:172px !important;
  max-width:172px !important;
  padding:10px 0 !important;
  background:#ffffff !important;
  border:1px solid #d8e2f0 !important;
  box-shadow:0 10px 26px rgba(15,23,42,.16) !important;
  z-index:2147483647 !important;
  border-radius:0 !important;
  display:block !important;
}

#user-modal .actions-popover.hidden{
  display:none !important;
}

/* ===== Correção definitiva: popover de opções alinhado ao botão ===== */
#user-modal .user-modal-card-wide,
#user-modal .company-profile-fixed-card,
#user-modal .user-management-list-block,
#user-modal .user-list-item,
#user-modal .user-list-actions{
  overflow:visible !important;
}

#user-modal .actions-popover{
  position:absolute !important;
  inset:auto !important;
  right:auto !important;
  bottom:auto !important;
  transform:none !important;
  width:172px !important;
  min-width:172px !important;
  max-width:172px !important;
  padding:10px 0 !important;
  background:#ffffff !important;
  border:1px solid #d8e2f0 !important;
  box-shadow:0 10px 26px rgba(15,23,42,.16) !important;
  z-index:2147483647 !important;
  border-radius:0 !important;
}

#user-modal .actions-popover.hidden{
  display:none !important;
}

#user-modal .actions-popover.actions-popover-open{
  display:block !important;
}


/* ===== Destaque do botão Painel do Sistema quando selecionado ===== */
#btn-open-system-panel.config-panel-icon-btn.is-active{
  background:#2c94fc !important;
  border-color:#2c94fc !important;
  color:#ffffff !important;
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.20) !important;
}

#btn-open-system-panel.config-panel-icon-btn.is-active:hover{
  background:#1784ee !important;
  border-color:#1784ee !important;
}

#btn-open-system-panel.config-panel-icon-btn.is-active .config-panel-icon-img{
  filter:brightness(0) invert(1) !important;
}

/* ===== Ajuste: destaque do Painel do Sistema somente com sombra ===== */
#btn-open-system-panel.config-panel-icon-btn.is-active{
  background:#ffffff !important;
  border-color:#2c94fc !important;
  color:#2c94fc !important;
  box-shadow:0 6px 16px rgba(15,23,42,.22), 0 0 0 3px rgba(44,148,252,.18) !important;
  filter:none !important;
}

#btn-open-system-panel.config-panel-icon-btn.is-active:hover{
  background:#ffffff !important;
  border-color:#2c94fc !important;
  color:#2c94fc !important;
  box-shadow:0 7px 18px rgba(15,23,42,.26), 0 0 0 3px rgba(44,148,252,.22) !important;
  filter:none !important;
}

#btn-open-system-panel.config-panel-icon-btn.is-active .config-panel-icon-img{
  filter:none !important;
}

/* Correção mobile: manter o menu lateral acima do seletor de data do Kanban */
@media (max-width: 760px){
  body:not(.sidebar-collapsed) .sidebar-backdrop{
    display:block !important;
    position:fixed !important;
    inset:0 !important;
    z-index:8990 !important;
  }
  body:not(.sidebar-collapsed) .sidebar{
    position:fixed !important;
    z-index:9000 !important;
  }
  body:not(.sidebar-collapsed) .os-date-picker-shell,
  body:not(.sidebar-collapsed) .os-date-picker-popover,
  body:not(.sidebar-collapsed) .os-user-board-calendar-wrap,
  body:not(.sidebar-collapsed) .os-user-board-status-cards > .os-user-board-calendar-card{
    z-index:auto !important;
  }
}

/* ===== Ajuste mobile solicitado: colunas do Kanban em cards clicáveis ===== */
@media screen and (max-width: 760px){
  body.os-user-board-active .os-user-board-mobile-nav{
    display:block !important;
    width:100% !important;
    margin:0 0 14px !important;
    padding:0 !important;
  }
  body.os-user-board-active .os-user-board-mobile-nav.hidden{
    display:none !important;
  }
  body.os-user-board-active .os-user-board-mobile-card-list{
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    width:100% !important;
  }
  body.os-user-board-active .os-user-board-mobile-card{
    width:100% !important;
    min-height:78px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;
    padding:10px 12px !important;
    border:1px solid #dbe4f0 !important;
    background:#fff !important;
    color:#001a36 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    text-align:left !important;
    box-sizing:border-box !important;
    cursor:pointer !important;
  }
  body.os-user-board-active .os-user-board-mobile-card.is-active,
  body.os-user-board-active .os-user-board-mobile-card:focus{
    border-color:#2d8cff !important;
    outline:none !important;
  }
  body.os-user-board-active .os-user-board-mobile-card-avatar{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    border-radius:50% !important;
    overflow:hidden !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#f8fbff !important;
    color:#2d8cff !important;
    box-sizing:border-box !important;
  }
  body.os-user-board-active .os-user-board-mobile-card-avatar .os-user-board-avatar,
  body.os-user-board-active .os-user-board-mobile-card-avatar .os-user-board-avatar-user,
  body.os-user-board-active .os-user-board-mobile-card-avatar .os-user-board-avatar-backlog{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    border-radius:50% !important;
    margin:0 !important;
  }
  body.os-user-board-active .os-user-board-mobile-card-avatar img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
    border-radius:50% !important;
  }
  body.os-user-board-active .os-user-board-mobile-card-avatar .os-user-board-backlog-icon{
    width:24px !important;
    height:24px !important;
    object-fit:contain !important;
    border-radius:0 !important;
  }
  body.os-user-board-active .os-user-board-mobile-card-body{
    flex:1 1 auto !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:4px !important;
  }
  body.os-user-board-active .os-user-board-mobile-card-title{
    color:#001a36 !important;
    font-size:13px !important;
    font-weight:800 !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  body.os-user-board-active .os-user-board-mobile-card-cargo{
    color:#64748b !important;
    font-size:11px !important;
    font-weight:600 !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  body.os-user-board-active .os-user-board-mobile-card-pills{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:6px !important;
    margin-top:3px !important;
  }
  body.os-user-board-active .os-user-board-mobile-pill{
    min-height:25px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    padding:0 10px !important;
    border:1px solid #dbe4f0 !important;
    background:#fff !important;
    color:#475569 !important;
    font-size:11px !important;
    font-weight:700 !important;
    line-height:1 !important;
    box-sizing:border-box !important;
    border-radius:0 !important;
  }
  body.os-user-board-active .os-user-board-mobile-pill img{
    width:13px !important;
    height:13px !important;
    min-width:13px !important;
    object-fit:contain !important;
  }
  body.os-user-board-active .os-user-board-mobile-pill strong{
    color:#001a36 !important;
    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;
  }
  body.os-user-board-active .os-user-board-mobile-pill.running{
    border-color:#dbe4f0 !important;
    color:#0f766e !important;
    background:#f8fffd !important;
  }
  body.os-user-board-active .os-user-board-mobile-pill.paused{
    border-color:#dbe4f0 !important;
    color:#b45309 !important;
    background:#fffbf3 !important;
  }
  body.os-user-board-active .os-user-board-mobile-pill.pending{
    color:#ef4444 !important;
  }
  body.os-user-board-active .os-user-board-mobile-active-asset{
    display:block !important;
    color:#425b7a !important;
    font-size:11.5px !important;
    font-weight:700 !important;
    line-height:1.25 !important;
    margin-top:2px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  body.os-user-board-active .os-user-board-mobile-card-chevron{
    flex:0 0 auto !important;
    color:#2d8cff !important;
    font-size:22px !important;
    line-height:1 !important;
    margin-left:auto !important;
  }
  body.os-user-board-active .os-user-board-columns{
    display:block !important;
    overflow:visible !important;
    width:100% !important;
    max-width:100% !important;
  }
  body.os-user-board-active .os-user-board-column{
    display:none !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    flex:0 0 100% !important;
  }
  body.os-user-board-active .os-user-board-column.is-mobile-active{
    display:block !important;
  }
  body.os-user-board-active .os-user-board-column .os-user-board-column-head{
    display:none !important;
  }
  body.os-user-board-active .os-user-board-dropzone{
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }
}

/* ===== Correção mobile: sombra no card de data quando o menu lateral está aberto ===== */
@media screen and (max-width: 760px){
  body[data-page="ordem-servico"] .os-date-picker-trigger,
  body[data-page="ordem"] .os-date-picker-trigger,
  body[data-page="ordem-servico"] .os-user-board-status-cards > .os-user-board-calendar-card .os-date-picker-trigger,
  body[data-page="ordem"] .os-user-board-status-cards > .os-user-board-calendar-card .os-date-picker-trigger{
    box-shadow:0 8px 18px rgba(15, 23, 42, .13) !important;
    border-color:#dbe4f0 !important;
    position:relative !important;
    z-index:1 !important;
  }

  body[data-page="ordem-servico"] .os-date-picker-trigger:hover,
  body[data-page="ordem-servico"] .os-date-picker-trigger:focus,
  body[data-page="ordem-servico"] .os-date-picker-trigger[aria-expanded="true"],
  body[data-page="ordem"] .os-date-picker-trigger:hover,
  body[data-page="ordem"] .os-date-picker-trigger:focus,
  body[data-page="ordem"] .os-date-picker-trigger[aria-expanded="true"]{
    box-shadow:0 9px 20px rgba(15, 23, 42, .16), 0 0 0 2px rgba(44, 148, 252, .10) !important;
    border-color:#2c94fc !important;
  }

  body[data-page="ordem-servico"] .os-date-picker-shell,
  body[data-page="ordem"] .os-date-picker-shell,
  body[data-page="ordem-servico"] .os-user-board-status-cards > .os-user-board-calendar-card,
  body[data-page="ordem"] .os-user-board-status-cards > .os-user-board-calendar-card{
    overflow:visible !important;
  }

  body[data-page="ordem-servico"]:not(.sidebar-collapsed) .os-date-picker-trigger,
  body[data-page="ordem"]:not(.sidebar-collapsed) .os-date-picker-trigger,
  body[data-page="ordem-servico"]:not(.sidebar-collapsed) .os-user-board-status-cards > .os-user-board-calendar-card .os-date-picker-trigger,
  body[data-page="ordem"]:not(.sidebar-collapsed) .os-user-board-status-cards > .os-user-board-calendar-card .os-date-picker-trigger{
    box-shadow:0 8px 18px rgba(15, 23, 42, .13) !important;
  }
}

/* ===== Correção final mobile: card de data no fundo + sombra ao abrir menu lateral ===== */
@media screen and (max-width: 760px){
  body:not(.sidebar-collapsed) .sidebar-backdrop{
    display:block !important;
    position:fixed !important;
    inset:0 !important;
    z-index:8990 !important;
    background:rgba(15,23,42,.32) !important;
  }
  body:not(.sidebar-collapsed) .sidebar{
    position:fixed !important;
    z-index:9000 !important;
  }
  body:not(.sidebar-collapsed) .mobile-topbar{
    z-index:8800 !important;
  }
  body:not(.sidebar-collapsed) .dashboard-container.sidebar-main,
  body:not(.sidebar-collapsed) .os-page-grid-modern,
  body:not(.sidebar-collapsed) .os-calendar-sidebar,
  body:not(.sidebar-collapsed) .os-main-card,
  body:not(.sidebar-collapsed) .os-user-board-panel,
  body:not(.sidebar-collapsed) .os-user-board-status-cards,
  body:not(.sidebar-collapsed) .os-user-board-calendar-card,
  body:not(.sidebar-collapsed) .os-date-picker-shell,
  body:not(.sidebar-collapsed) .os-date-picker-trigger,
  body:not(.sidebar-collapsed) .os-date-picker-popover{
    z-index:auto !important;
  }
  body:not(.sidebar-collapsed) .os-date-picker-popover:not(.hidden){
    display:none !important;
  }
  .os-date-picker-trigger,
  .os-user-board-status-cards > .os-user-board-calendar-card .os-date-picker-trigger{
    background:#fff !important;
    border-color:#dbe4f0 !important;
    box-shadow:0 14px 30px rgba(15,23,42,.12) !important;
  }
  .os-date-picker-trigger:hover,
  .os-date-picker-trigger:focus,
  .os-date-picker-trigger[aria-expanded="true"],
  .os-user-board-status-cards > .os-user-board-calendar-card .os-date-picker-trigger:hover,
  .os-user-board-status-cards > .os-user-board-calendar-card .os-date-picker-trigger:focus,
  .os-user-board-status-cards > .os-user-board-calendar-card .os-date-picker-trigger[aria-expanded="true"]{
    border-color:#2c94fc !important;
    box-shadow:0 16px 34px rgba(15,23,42,.16), 0 0 0 2px rgba(44,148,252,.10) !important;
  }
}

/* ===== Configurações: edição básica do próprio usuário ===== */
#user-modal .self-avatar-edit-btn{
  position:relative !important;
  border:1px solid #e5e7eb !important;
  background:#ffffff !important;
  padding:0 !important;
  cursor:pointer !important;
  overflow:visible !important;
}

#user-modal .self-avatar-edit-btn .avatar-image,
#user-modal .self-avatar-edit-btn svg{
  border-radius:999px !important;
  overflow:hidden !important;
}

#user-modal .self-avatar-pencil{
  position:absolute !important;
  right:-4px !important;
  bottom:-4px !important;
  width:18px !important;
  height:18px !important;
  border:1px solid #d8e2f0 !important;
  background:#ffffff !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  box-shadow:0 4px 10px rgba(15,23,42,.14) !important;
  pointer-events:none !important;
}

#user-modal .self-avatar-pencil img,
#user-modal .self-name-edit-btn img{
  width:12px !important;
  height:12px !important;
  object-fit:contain !important;
  display:block !important;
}

#user-modal .self-edit-pencil-fallback{
  font-size:12px !important;
  line-height:1 !important;
  color:#2c94fc !important;
  font-weight:700 !important;
}

#user-modal .user-list-text{
  min-width:0 !important;
}

#user-modal .user-list-name{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  min-width:0 !important;
}

#user-modal .user-list-name > span{
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

#user-modal .self-name-edit-btn{
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  border:0 !important;
  background:transparent !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:0 !important;
  padding:0 !important;
  cursor:pointer !important;
  box-shadow:none !important;
}

#user-modal .self-name-edit-btn:hover{
  opacity:.75 !important;
  box-shadow:none !important;
}

#user-modal .self-avatar-edit-btn:hover .self-avatar-pencil{
  border-color:#2c94fc !important;
  box-shadow:0 4px 10px rgba(44,148,252,.20) !important;
}

.current-name-edit-card{
  width:min(420px, calc(100vw - 32px)) !important;
  border-radius:0 !important;
}

/* Correção Estoque desktop 17/06: filtro ao lado de Novo item e toolbar alinhada com a busca */
body[data-page="estoque"] .estoque-toolbar-actions,
body[data-page="estoque"] .os-page-toolbar-actions.estoque-toolbar-actions{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  width:auto !important;
  max-width:100% !important;
  min-height:40px !important;
  margin-top:0 !important;
  padding-top:4px !important;
  overflow:visible !important;
}
body[data-page="estoque"] .estoque-search-filter-row{
  display:contents !important;
}
body[data-page="estoque"] .estoque-search-filter-row .estoque-search-wrap,
body[data-page="estoque"] .estoque-search-filter-row .os-search-wrap,
body[data-page="estoque"] .estoque-search-filter-row .os-search-wrap-top{
  order:1 !important;
  flex:0 0 380px !important;
  width:380px !important;
  min-width:380px !important;
  max-width:380px !important;
  height:40px !important;
  min-height:40px !important;
  max-height:40px !important;
  margin:0 !important;
  padding:0 !important;
  align-self:center !important;
  box-sizing:border-box !important;
}
body[data-page="estoque"] #estoque-search,
body[data-page="estoque"] .estoque-search-filter-row .estoque-search-wrap .search-input,
body[data-page="estoque"] .estoque-search-filter-row .os-search-input{
  height:40px !important;
  min-height:40px !important;
  max-height:40px !important;
  line-height:40px !important;
  box-sizing:border-box !important;
}
body[data-page="estoque"] #btn-open-stock-reports,
body[data-page="estoque"] button#btn-open-stock-reports.os-add-icon-btn{
  order:2 !important;
  flex:0 0 auto !important;
  width:auto !important;
  min-width:124px !important;
  max-width:none !important;
  height:38px !important;
  min-height:38px !important;
  max-height:38px !important;
  margin:0 !important;
  padding:0 18px !important;
  align-self:center !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
}
body[data-page="estoque"] #btn-new-stock-item,
body[data-page="estoque"] button#btn-new-stock-item.os-add-icon-btn{
  order:3 !important;
  flex:0 0 auto !important;
  width:auto !important;
  min-width:120px !important;
  max-width:none !important;
  height:38px !important;
  min-height:38px !important;
  max-height:38px !important;
  margin:0 !important;
  padding:0 18px !important;
  align-self:center !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
}
body[data-page="estoque"] .estoque-search-filter-row #btn-estoque-filter,
body[data-page="estoque"] #btn-estoque-filter.os-toolbar-filter-btn,
body[data-page="estoque"] button#btn-estoque-filter{
  order:4 !important;
  position:static !important;
  inset:auto !important;
  transform:none !important;
  float:none !important;
  flex:0 0 38px !important;
  width:38px !important;
  min-width:38px !important;
  max-width:38px !important;
  height:38px !important;
  min-height:38px !important;
  max-height:38px !important;
  margin:0 !important;
  padding:0 !important;
  align-self:center !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
  z-index:1 !important;
}
body[data-page="estoque"] #btn-estoque-filter .os-toolbar-filter-image,
body[data-page="estoque"] button#btn-estoque-filter img{
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  min-height:16px !important;
  max-width:16px !important;
  max-height:16px !important;
  object-fit:contain !important;
  display:block !important;
}

@media (max-width:760px){
  body[data-page="estoque"] .estoque-toolbar,
  body[data-page="estoque"] .os-page-toolbar.estoque-toolbar{
    display:block !important;
    width:100% !important;
  }
  body[data-page="estoque"] .estoque-toolbar-actions,
  body[data-page="estoque"] .os-page-toolbar-actions.estoque-toolbar-actions{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 42px !important;
    align-items:stretch !important;
    gap:8px !important;
    width:100% !important;
    max-width:100% !important;
    margin:16px 0 0 0 !important;
    padding:0 !important;
  }
  body[data-page="estoque"] .estoque-search-filter-row{
    display:contents !important;
  }
  body[data-page="estoque"] .estoque-search-filter-row .estoque-search-wrap,
  body[data-page="estoque"] .estoque-search-filter-row .os-search-wrap,
  body[data-page="estoque"] .estoque-search-filter-row .os-search-wrap-top{
    order:1 !important;
    grid-column:1 !important;
    flex:none !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:52px !important;
    min-height:52px !important;
    max-height:52px !important;
  }
  body[data-page="estoque"] #estoque-search,
  body[data-page="estoque"] .estoque-search-filter-row .estoque-search-wrap .search-input,
  body[data-page="estoque"] .estoque-search-filter-row .os-search-input{
    height:52px !important;
    min-height:52px !important;
    max-height:52px !important;
    line-height:52px !important;
  }
  body[data-page="estoque"] .estoque-search-filter-row #btn-estoque-filter,
  body[data-page="estoque"] #btn-estoque-filter.os-toolbar-filter-btn,
  body[data-page="estoque"] button#btn-estoque-filter{
    order:2 !important;
    grid-column:2 !important;
    flex:none !important;
    width:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    height:52px !important;
    min-height:52px !important;
    max-height:52px !important;
    border:1px solid #d9e2ee !important;
    background:#fff !important;
  }
  body[data-page="estoque"] #btn-open-stock-reports,
  body[data-page="estoque"] button#btn-open-stock-reports.os-add-icon-btn{
    order:3 !important;
    grid-column:1 / -1 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:34px !important;
    min-height:34px !important;
    max-height:34px !important;
    padding:0 12px !important;
    font-size:12px !important;
  }
  body[data-page="estoque"] #btn-new-stock-item,
  body[data-page="estoque"] button#btn-new-stock-item.os-add-icon-btn{
    order:4 !important;
    grid-column:1 / -1 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:34px !important;
    min-height:34px !important;
    max-height:34px !important;
    padding:0 12px !important;
    font-size:12px !important;
  }
  body[data-page="estoque"] #btn-open-stock-reports .os-add-icon-btn-label,
  body[data-page="estoque"] #btn-new-stock-item .os-add-icon-btn-label{
    font-size:12px !important;
    line-height:1 !important;
  }
  body[data-page="estoque"] #btn-open-stock-reports .os-add-icon-btn-image,
  body[data-page="estoque"] #btn-new-stock-item .os-add-icon-btn-image{
    width:13px !important;
    height:13px !important;
  }
  body[data-page="estoque"] #btn-estoque-filter .os-toolbar-filter-image,
  body[data-page="estoque"] button#btn-estoque-filter img{
    width:15px !important;
    height:15px !important;
    min-width:15px !important;
    min-height:15px !important;
    max-width:15px !important;
    max-height:15px !important;
  }
}

/* Ajuste checklist O.S.: extras discretos com remoção e pré-visualização */
.os-procedimento-exec-wrap .proc-open-sol.hidden{
  display:none !important;
}
.os-procedimento-exec-wrap .os-proc-step-extra-header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
}
.os-procedimento-exec-wrap .os-proc-step-extra-remove{
  width:24px !important;
  height:24px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid #dbe3ef !important;
  background:#fff !important;
  color:#7a879a !important;
  border-radius:0 !important;
  font-size:16px !important;
  line-height:1 !important;
  font-weight:800 !important;
  cursor:pointer !important;
  padding:0 !important;
}
.os-procedimento-exec-wrap .os-proc-step-extra-remove:hover,
.os-procedimento-exec-wrap .os-proc-step-extra-remove:focus{
  border-color:#d80000 !important;
  color:#d80000 !important;
  outline:none !important;
}
.os-procedimento-exec-wrap .os-proc-step-photo-preview.hidden{
  display:none !important;
}
.os-procedimento-exec-wrap .os-proc-step-photo-gallery{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  align-items:flex-start !important;
}
.os-procedimento-exec-wrap .os-proc-step-photo-item{
  position:relative !important;
  width:62px !important;
  height:62px !important;
}
.os-procedimento-exec-wrap .os-proc-step-photo-thumb{
  width:62px !important;
  height:62px !important;
  border:1px solid #dbe3ef !important;
  border-radius:0 !important;
  background:#fff !important;
  padding:0 !important;
  overflow:hidden !important;
  cursor:pointer !important;
  display:block !important;
}
.os-procedimento-exec-wrap .os-proc-step-photo-thumb img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
.os-procedimento-exec-wrap .os-proc-step-photo-thumb:hover,
.os-procedimento-exec-wrap .os-proc-step-photo-thumb:focus{
  border-color:#2d8cf0 !important;
  outline:none !important;
}
.os-procedimento-exec-wrap .os-proc-step-photo-remove{
  position:absolute !important;
  top:-7px !important;
  right:-7px !important;
  width:20px !important;
  height:20px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid #d80000 !important;
  background:#fff !important;
  color:#d80000 !important;
  border-radius:50% !important;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:800 !important;
  cursor:pointer !important;
  padding:0 !important;
}
.os-procedimento-exec-wrap .os-proc-step-photo-remove:hover,
.os-procedimento-exec-wrap .os-proc-step-photo-remove:focus{
  background:#fff5f5 !important;
  outline:none !important;
}
.os-procedimento-exec-wrap .os-proc-step-extra-remove.hidden{
  display:none !important;
}

/* Materiais/peças do procedimento vinculados ao estoque */
#proc-modal .proc-material-row{
  grid-template-columns:minmax(220px,1fr) 96px 56px 36px !important;
  align-items:center;
}
#proc-modal .proc-material-item-select,
#proc-modal .proc-material-qty{
  height:36px;
}
#proc-modal .proc-material-unit{
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #dbe3ef;
  background:#fff;
  color:#56657a;
  font-size:12px;
  font-weight:700;
}
@media(max-width:720px){
  #proc-modal .proc-material-row{
    grid-template-columns:1fr 88px 48px 36px !important;
  }
}

/* NAVARIS: correção do campo Materiais/peças em Procedimentos */
#proc-modal #proc-materiais-list .proc-material-row{
  display:grid !important;
  grid-template-columns:24px minmax(0, 1fr) 58px 42px 28px !important;
  gap:6px !important;
  align-items:center !important;
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
#proc-modal #proc-materiais-list .proc-material-row::before{
  width:24px !important;
  min-width:24px !important;
  justify-content:flex-start !important;
}
#proc-modal #proc-materiais-list .proc-material-item-select{
  width:100% !important;
  min-width:0 !important;
  height:36px !important;
  min-height:36px !important;
  padding-left:10px !important;
  padding-right:26px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  box-sizing:border-box !important;
}
#proc-modal #proc-materiais-list .proc-material-qty{
  width:58px !important;
  min-width:58px !important;
  height:36px !important;
  min-height:36px !important;
  padding:0 6px !important;
  text-align:center !important;
  box-sizing:border-box !important;
}
#proc-modal #proc-materiais-list .proc-material-unit{
  width:42px !important;
  min-width:42px !important;
  height:36px !important;
  min-height:36px !important;
  padding:0 4px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  text-overflow:ellipsis !important;
}
#proc-modal #proc-materiais-list .proc-material-row .proc-remove-list-item{
  width:28px !important;
  min-width:28px !important;
  height:36px !important;
  min-height:36px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
}
@media(max-width:720px){
  #proc-modal #proc-materiais-list .proc-material-row{
    grid-template-columns:22px minmax(0, 1fr) 52px 36px 28px !important;
    gap:5px !important;
  }
  #proc-modal #proc-materiais-list .proc-material-row::before{
    width:22px !important;
    min-width:22px !important;
  }
  #proc-modal #proc-materiais-list .proc-material-qty{
    width:52px !important;
    min-width:52px !important;
  }
  #proc-modal #proc-materiais-list .proc-material-unit{
    width:36px !important;
    min-width:36px !important;
    font-size:11px !important;
  }
}


/* Correção: observação do check visível e sem cortar conteúdo */
#proc-modal .proc-check-obs-input{
  height:auto !important;
  min-height:44px !important;
  line-height:1.45 !important;
  white-space:normal !important;
  overflow:hidden !important;
  resize:vertical !important;
  display:block !important;
  padding-top:8px !important;
  padding-bottom:8px !important;
  box-sizing:border-box !important;
}
#proc-modal textarea.proc-check-obs-input{
  height:auto !important;
  min-height:44px !important;
}
.os-procedimento-exec-wrap .proc-check-obs-input,
.os-procedimento-exec-wrap .os-proc-step-obs{
  height:auto !important;
  min-height:0 !important;
  line-height:1.45 !important;
  white-space:normal !important;
  overflow:visible !important;
  word-break:break-word !important;
  overflow-wrap:anywhere !important;
  display:block !important;
  padding-top:2px !important;
  padding-bottom:10px !important;
  box-sizing:border-box !important;
}
.os-procedimento-exec-wrap .os-proc-step-like{
  overflow:visible !important;
}
.os-procedimento-exec-wrap .os-proc-step-exec-obs{
  height:auto !important;
  min-height:62px !important;
  overflow:auto !important;
  white-space:pre-wrap !important;
}

/* Correção final: texto da observação/instrução do check da O.S. não pode ficar escondido verticalmente */
.os-procedimento-exec-wrap .proc-step,
.os-procedimento-exec-wrap .os-proc-step-like,
.os-procedimento-exec-wrap [data-os-proc-step]{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}
.os-procedimento-exec-wrap .proc-check-card-head,
.os-procedimento-exec-wrap .os-proc-check-head{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  align-items:start !important;
}
.os-procedimento-exec-wrap .proc-check-title-input,
.os-procedimento-exec-wrap .os-proc-step-title{
  height:auto !important;
  min-height:30px !important;
  max-height:none !important;
  line-height:1.35 !important;
  white-space:normal !important;
  overflow:visible !important;
  display:block !important;
  padding-top:5px !important;
  padding-bottom:5px !important;
}
.os-procedimento-exec-wrap .proc-check-obs-input.os-proc-step-obs,
.os-procedimento-exec-wrap .os-proc-step-obs{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  line-height:1.5 !important;
  white-space:pre-wrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
  padding:2px 0 12px 42px !important;
  margin:0 0 8px 0 !important;
  box-sizing:border-box !important;
}
.os-procedimento-exec-wrap .proc-check-actions,
.os-procedimento-exec-wrap .os-proc-check-actions{
  position:relative !important;
  z-index:1 !important;
  clear:both !important;
  margin-top:8px !important;
}
@media(max-width:900px){
  .os-procedimento-exec-wrap .proc-check-obs-input.os-proc-step-obs,
  .os-procedimento-exec-wrap .os-proc-step-obs{
    padding-left:0 !important;
  }
}


<style id="navaris-check-desc-definitive-fix">
/* Correção definitiva: a instrução/observação da etapa do check é texto normal, não campo redimensionável. */
.os-procedimento-exec-wrap .os-proc-step-like,
.os-procedimento-exec-wrap [data-os-proc-step]{
  display:block !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}
.os-procedimento-exec-wrap .os-proc-check-head,
.os-procedimento-exec-wrap .proc-check-card-head{
  margin-bottom:8px !important;
  align-items:start !important;
}
.os-procedimento-exec-wrap .os-proc-step-title{
  display:block !important;
  height:auto !important;
  min-height:30px !important;
  max-height:none !important;
  line-height:1.35 !important;
  overflow:visible !important;
  white-space:normal !important;
}
.os-procedimento-exec-wrap .os-proc-step-instruction{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 0 12px 0 !important;
  padding:0 0 0 42px !important;
  box-sizing:border-box !important;
  color:#667085 !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1.55 !important;
  white-space:pre-wrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  border:0 !important;
  background:transparent !important;
  resize:none !important;
}
.os-procedimento-exec-wrap .os-proc-check-actions,
.os-procedimento-exec-wrap .proc-check-actions{
  position:static !important;
  clear:both !important;
  margin-top:10px !important;
  z-index:auto !important;
}
@media(max-width:900px){
  .os-procedimento-exec-wrap .os-proc-step-instruction{
    padding-left:0 !important;
  }
}


/* plano-status-card-evidencia-selecionado: deixa o card de status selecionado em evidencia como no Estoque */
body[data-page="plano"] .plano-metric.active{
  border-color:#2d8cf0 !important;
  background:#f7fbff !important;
  box-shadow:none !important;
}
body[data-page="plano"] .plano-metric:not(.active):hover{
  border-color:#2d8cf0 !important;
  background:#f7fbff !important;
  box-shadow:none !important;
}
body[data-page="plano"] .plano-metric.active .plano-metric-label,
body[data-page="plano"] .plano-metric.active .plano-metric-label span{
  color:#2d8cf0 !important;
}

/* O.S. e Solicitações: evidencia do card de status selecionado igual Estoque/Planos */
body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card.is-active,
body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card.is-mobile-selected,
body[data-page="solicitacao"] .os-metrics-sidebar .os-metric-card.is-active,
body[data-page="solicitacao"] .os-metrics-sidebar .os-metric-card.is-mobile-selected,
body[data-page="ordem-servico"] .os-user-board-status-card.is-active,
body[data-page="ordem-servico"] .os-user-board-status-card[aria-pressed="true"]{
  border-color:#2d8cf0 !important;
  background:#f7fbff !important;
  box-shadow:none !important;
}
body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card:not(.is-active):not(.is-mobile-selected):hover,
body[data-page="solicitacao"] .os-metrics-sidebar .os-metric-card:not(.is-active):not(.is-mobile-selected):hover,
body[data-page="ordem-servico"] .os-user-board-status-card:not(.is-active):hover{
  border-color:#2d8cf0 !important;
  background:#f7fbff !important;
  box-shadow:none !important;
}
body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card.is-active .os-metric-label,
body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card.is-mobile-selected .os-metric-label,
body[data-page="solicitacao"] .os-metrics-sidebar .os-metric-card.is-active .os-metric-label,
body[data-page="solicitacao"] .os-metrics-sidebar .os-metric-card.is-mobile-selected .os-metric-label,
body[data-page="ordem-servico"] .os-user-board-status-card.is-active .os-metric-label,
body[data-page="ordem-servico"] .os-user-board-status-card[aria-pressed="true"] .os-metric-label,
body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card.is-active .os-metric-value,
body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card.is-mobile-selected .os-metric-value,
body[data-page="solicitacao"] .os-metrics-sidebar .os-metric-card.is-active .os-metric-value,
body[data-page="solicitacao"] .os-metrics-sidebar .os-metric-card.is-mobile-selected .os-metric-value,
body[data-page="ordem-servico"] .os-user-board-status-card.is-active .os-metric-value,
body[data-page="ordem-servico"] .os-user-board-status-card[aria-pressed="true"] .os-metric-value{
  color:#2d8cf0 !important;
}

/* Ajuste solicitado: borda selecionada mais fina nos cards de O.S. e Solicitações */
body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card.is-active,
body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card.is-mobile-selected,
body[data-page="solicitacao"] .os-metrics-sidebar .os-metric-card.is-active,
body[data-page="solicitacao"] .os-metrics-sidebar .os-metric-card.is-mobile-selected,
body[data-page="ordem-servico"] .os-user-board-status-card.is-active,
body[data-page="ordem-servico"] .os-user-board-status-card[aria-pressed="true"]{
  border:1px solid #2d8cf0 !important;
  border-width:1px !important;
  outline:0 !important;
  box-shadow:none !important;
  background:#f7fbff !important;
}

body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card.is-active:focus,
body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card.is-active:focus-visible,
body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card.is-mobile-selected:focus,
body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card.is-mobile-selected:focus-visible,
body[data-page="solicitacao"] .os-metrics-sidebar .os-metric-card.is-active:focus,
body[data-page="solicitacao"] .os-metrics-sidebar .os-metric-card.is-active:focus-visible,
body[data-page="solicitacao"] .os-metrics-sidebar .os-metric-card.is-mobile-selected:focus,
body[data-page="solicitacao"] .os-metrics-sidebar .os-metric-card.is-mobile-selected:focus-visible,
body[data-page="ordem-servico"] .os-user-board-status-card.is-active:focus,
body[data-page="ordem-servico"] .os-user-board-status-card.is-active:focus-visible,
body[data-page="ordem-servico"] .os-user-board-status-card[aria-pressed="true"]:focus,
body[data-page="ordem-servico"] .os-user-board-status-card[aria-pressed="true"]:focus-visible{
  border:1px solid #2d8cf0 !important;
  border-width:1px !important;
  outline:0 !important;
  box-shadow:none !important;
}

body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card:not(.is-active):not(.is-mobile-selected):hover,
body[data-page="solicitacao"] .os-metrics-sidebar .os-metric-card:not(.is-active):not(.is-mobile-selected):hover,
body[data-page="ordem-servico"] .os-user-board-status-card:not(.is-active):hover{
  border:1px solid #2d8cf0 !important;
  border-width:1px !important;
  outline:0 !important;
  box-shadow:none !important;
}


/* Correção definitiva: não deixar dupla seleção/foco engrossar borda dos cards de O.S. e Solicitações */
body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card,
body[data-page="solicitacao"] .os-metrics-sidebar .os-metric-card,
body[data-page="ordem-servico"] .os-user-board-status-card{
  box-sizing:border-box !important;
  outline:0 !important;
  border-width:1px !important;
  box-shadow:none !important;
}
body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card.is-active,
body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card.is-mobile-selected,
body[data-page="solicitacao"] .os-metrics-sidebar .os-metric-card.is-active,
body[data-page="solicitacao"] .os-metrics-sidebar .os-metric-card.is-mobile-selected,
body[data-page="ordem-servico"] .os-user-board-status-card.is-active,
body[data-page="ordem-servico"] .os-user-board-status-card[aria-pressed="true"]{
  border:1px solid #2d8cf0 !important;
  background:#f7fbff !important;
  box-shadow:none !important;
  outline:0 !important;
}
body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card:hover,
body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card:focus,
body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card:focus-visible,
body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card:active,
body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card:focus-within,
body[data-page="solicitacao"] .os-metrics-sidebar .os-metric-card:hover,
body[data-page="solicitacao"] .os-metrics-sidebar .os-metric-card:focus,
body[data-page="solicitacao"] .os-metrics-sidebar .os-metric-card:focus-visible,
body[data-page="solicitacao"] .os-metrics-sidebar .os-metric-card:active,
body[data-page="solicitacao"] .os-metrics-sidebar .os-metric-card:focus-within,
body[data-page="ordem-servico"] .os-user-board-status-card:hover,
body[data-page="ordem-servico"] .os-user-board-status-card:focus,
body[data-page="ordem-servico"] .os-user-board-status-card:focus-visible,
body[data-page="ordem-servico"] .os-user-board-status-card:active,
body[data-page="ordem-servico"] .os-user-board-status-card:focus-within{
  border-width:1px !important;
  box-shadow:none !important;
  outline:0 !important;
}


/* NAVARIS - ajuste final do cabeçalho mobile de Procedimentos: menu à direita e resumo compacto */
body[data-page="procedimento"] .proc-service-card .proc-card-summary{
  position:relative !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  padding-right:58px !important;
}
body[data-page="procedimento"] .proc-service-card .proc-card-summary .proc-card-menu-wrap,
body[data-page="procedimento"] .proc-service-card.expanded .proc-card-summary .proc-card-menu-wrap{
  position:absolute !important;
  right:10px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  z-index:90 !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
body[data-page="procedimento"] .proc-service-card .proc-card-summary .proc-card-menu-btn{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body[data-page="procedimento"] .proc-service-card .proc-card-summary .proc-card-menu-icon{
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  max-width:18px !important;
  object-fit:contain !important;
}
body[data-page="procedimento"] .proc-service-card .proc-card-summary .proc-card-menu{
  right:0 !important;
  left:auto !important;
  top:42px !important;
  z-index:9999 !important;
}
body[data-page="procedimento"] .proc-service-card .proc-card-summary .proc-service-card-header,
body[data-page="procedimento"] .proc-service-card .proc-card-summary > .os-service-card-header.proc-service-card-header{
  position:static !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  padding:0 !important;
  margin:0 0 10px 0 !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}
body[data-page="procedimento"] .proc-service-card .proc-card-summary .os-service-card-header-left{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px 14px !important;
}
body[data-page="procedimento"] .proc-service-card .proc-card-summary .proc-card-type-badge{
  flex:0 0 auto !important;
  max-width:100% !important;
}
body[data-page="procedimento"] .proc-service-card .proc-card-summary .os-service-card-title{
  flex:1 1 180px !important;
  min-width:0 !important;
  max-width:100% !important;
  width:auto !important;
  margin:0 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere !important;
  line-height:1.25 !important;
}
body[data-page="procedimento"] .proc-service-card .proc-card-summary .os-service-card-meta-row{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:7px 16px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 0 8px 0 !important;
  overflow:visible !important;
}
body[data-page="procedimento"] .proc-service-card .proc-card-summary .os-service-card-meta-row:last-child{
  margin-bottom:0 !important;
}
body[data-page="procedimento"] .proc-service-card .proc-card-summary .os-service-card-meta-item{
  flex:0 1 auto !important;
  width:auto !important;
  max-width:100% !important;
  min-width:0 !important;
  display:inline-flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  align-items:baseline !important;
  gap:4px !important;
  white-space:normal !important;
  overflow:visible !important;
}
body[data-page="procedimento"] .proc-service-card .proc-card-summary .os-service-card-meta-label{
  flex:0 0 auto !important;
  white-space:nowrap !important;
}
body[data-page="procedimento"] .proc-service-card .proc-card-summary .os-service-card-meta-value{
  flex:0 1 auto !important;
  max-width:100% !important;
  min-width:0 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere !important;
}
@media screen and (max-width:760px){
  body[data-page="procedimento"] .proc-service-card,
  body[data-page="procedimento"] article.proc-service-card.os-service-card{
    position:relative !important;
    padding:12px !important;
    padding-right:12px !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }
  body[data-page="procedimento"] .proc-service-card .proc-card-summary{
    padding-right:54px !important;
  }
  body[data-page="procedimento"] .proc-service-card .proc-card-summary .proc-card-menu-wrap,
  body[data-page="procedimento"] .proc-service-card.expanded .proc-card-summary .proc-card-menu-wrap{
    right:0 !important;
    width:42px !important;
    height:42px !important;
  }
  body[data-page="procedimento"] .proc-service-card .proc-card-summary .os-service-card-header-left{
    gap:8px 12px !important;
  }
  body[data-page="procedimento"] .proc-service-card .proc-card-summary .os-service-card-title{
    flex:1 1 150px !important;
  }
  body[data-page="procedimento"] .proc-service-card .proc-card-summary .os-service-card-meta-row{
    gap:6px 12px !important;
    margin-bottom:7px !important;
  }
}
@media screen and (max-width:390px){
  body[data-page="procedimento"] .proc-service-card .proc-card-summary .os-service-card-title{
    flex-basis:100% !important;
  }
  body[data-page="procedimento"] .proc-service-card .proc-card-summary .os-service-card-meta-row{
    gap:6px 10px !important;
  }
}


/* ===== Modal de pausa programada dos planos ===== */
.plano-pause-dialog .plano-pause-modal-card{
  width:min(720px, calc(100vw - 28px));
  max-height:calc(100vh - 36px);
  overflow:auto;
  border-radius:0;
}
.plano-pause-section{display:grid;gap:10px;margin:18px 0 14px;}
.plano-pause-label{font-weight:800;color:#111827;font-size:14px;}
.plano-pause-option{border:1px solid #dbe3ef;background:#fff;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;cursor:pointer;}
.plano-pause-option:has(input:checked){border-color:#2d8cf0;background:#f7fbff;}
.plano-pause-option input{margin-top:3px;}
.plano-pause-option span{display:grid;gap:3px;}
.plano-pause-option b{font-size:13px;color:#263245;}
.plano-pause-option small{font-size:12px;color:#6b7688;line-height:1.35;}
.plano-pause-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.plano-pause-field[data-pause-field="datas"],.plano-pause-reason{grid-column:1/-1;}
.plano-pause-date-add{display:flex;gap:8px;align-items:center;}
.plano-pause-date-add .input{flex:1;}
.plano-pause-date-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;min-height:28px;align-items:center;}
.plano-pause-date-chip{border:1px solid #dbe3ef;background:#f8fafc;color:#34415a;padding:7px 9px;font-weight:700;display:inline-flex;align-items:center;gap:8px;cursor:pointer;border-radius:0;}
.plano-pause-date-chip span{color:#d80000;font-size:14px;line-height:1;}
.plano-pause-resume{display:grid;gap:8px;margin:18px 0;}
@media(max-width:760px){
  .plano-pause-dialog .plano-pause-modal-card{width:calc(100vw - 18px);padding:18px 14px;}
  .plano-pause-fields{grid-template-columns:1fr;}
  .plano-pause-field[data-pause-field="datas"],.plano-pause-reason{grid-column:auto;}
  .plano-pause-date-add{align-items:stretch;flex-direction:column;}
  .plano-pause-option{padding:11px 12px;}
}



/* Ajuste do modal de pausa de planos: uma única rolagem, fonte igual à tabela de planos e datas específicas somente programadas */
body[data-page="plano"]:has(#plano-pause-modal[open]){ overflow:hidden !important; }
body[data-page="plano"] #plano-pause-modal.plano-pause-dialog{
  overflow:hidden !important;
  max-height:none !important;
}
body[data-page="plano"] #plano-pause-modal .plano-pause-modal-card{
  width:min(720px, calc(100vw - 56px)) !important;
  max-width:min(720px, calc(100vw - 56px)) !important;
  max-height:calc(100vh - 52px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  border-radius:0 !important;
  border:1px solid #dbe3ef !important;
  box-shadow:0 24px 70px rgba(15,23,42,.22) !important;
  font-family:"Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;
  color:#263245 !important;
}
body[data-page="plano"] #plano-pause-modal,
body[data-page="plano"] #plano-pause-modal *{
  letter-spacing:0 !important;
}
body[data-page="plano"] #plano-pause-modal .modal-title{
  font-size:18px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  color:#111827 !important;
  margin:0 !important;
}
body[data-page="plano"] #plano-pause-modal .asset-modal-subtitle{
  font-size:13px !important;
  line-height:1.45 !important;
  font-weight:400 !important;
  color:#7a879a !important;
  margin-top:12px !important;
}
body[data-page="plano"] #plano-pause-modal .plano-pause-label,
body[data-page="plano"] #plano-pause-modal .modal-field > span{
  font-size:13px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  color:#111827 !important;
}
body[data-page="plano"] #plano-pause-modal .plano-pause-option b{
  font-size:13px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  color:#263245 !important;
}
body[data-page="plano"] #plano-pause-modal .plano-pause-option small,
body[data-page="plano"] #plano-pause-modal small.muted{
  font-size:12px !important;
  line-height:1.35 !important;
  font-weight:400 !important;
  color:#6b7688 !important;
}
body[data-page="plano"] #plano-pause-modal .input,
body[data-page="plano"] #plano-pause-modal .btn{
  font-size:13px !important;
  font-family:"Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;
}
body[data-page="plano"] #plano-pause-modal .plano-pause-date-chip{
  font-size:13px !important;
  font-weight:700 !important;
}
@media(max-width:760px){
  body[data-page="plano"] #plano-pause-modal .plano-pause-modal-card{
    width:calc(100vw - 18px) !important;
    max-width:calc(100vw - 18px) !important;
    max-height:calc(100vh - 18px) !important;
    padding:18px 14px !important;
  }
}



/* Calendário interno do modal de pausa: não fecha ao rolar o modal. */
body[data-page="plano"] #plano-pause-modal .plano-pause-date-input{cursor:pointer !important;background:#fff !important;caret-color:transparent !important;}
body[data-page="plano"] #plano-pause-modal .plano-pause-date-input::placeholder{color:#94a3b8 !important;opacity:1 !important;}
body[data-page="plano"] #plano-pause-modal .plano-pause-calendar-popover{width:min(326px,100%) !important;margin-top:8px !important;border:1px solid #dbe3ef !important;background:#fff !important;box-shadow:0 10px 28px rgba(15,23,42,.12) !important;padding:10px !important;z-index:5 !important;box-sizing:border-box !important;overflow:hidden !important;}
body[data-page="plano"] #plano-pause-modal .plano-pause-calendar-header{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:8px !important;margin-bottom:8px !important;}
body[data-page="plano"] #plano-pause-modal .plano-pause-calendar-title{display:flex !important;align-items:center !important;gap:8px !important;font-size:13px !important;font-weight:700 !important;color:#111827 !important;line-height:1 !important;}
body[data-page="plano"] #plano-pause-modal .plano-pause-calendar-year{background:#f1f5f9 !important;padding:10px 18px !important;font-weight:700 !important;color:#111827 !important;}
body[data-page="plano"] #plano-pause-modal .plano-pause-calendar-nav{width:32px !important;height:32px !important;border:0 !important;background:#fff !important;color:#111827 !important;font-size:18px !important;line-height:1 !important;cursor:pointer !important;}
body[data-page="plano"] #plano-pause-modal .plano-pause-calendar-nav:hover{background:#f1f5f9 !important;}
body[data-page="plano"] #plano-pause-modal .plano-pause-calendar-weekdays,body[data-page="plano"] #plano-pause-modal .plano-pause-calendar-days{display:grid !important;grid-template-columns:repeat(7,1fr) !important;gap:2px !important;}
body[data-page="plano"] #plano-pause-modal .plano-pause-calendar-weekdays span{height:28px !important;display:flex !important;align-items:center !important;justify-content:center !important;font-size:12px !important;color:#64748b !important;font-weight:600 !important;}
body[data-page="plano"] #plano-pause-modal .plano-pause-calendar-day,body[data-page="plano"] #plano-pause-modal .plano-pause-calendar-blank{height:34px !important;min-width:0 !important;}
body[data-page="plano"] #plano-pause-modal .plano-pause-calendar-day{border:1px solid transparent !important;background:#fff !important;color:#111827 !important;font-size:13px !important;font-weight:500 !important;cursor:pointer !important;}
body[data-page="plano"] #plano-pause-modal .plano-pause-calendar-day:hover{border-color:#2d8cf0 !important;background:#f7fbff !important;}
body[data-page="plano"] #plano-pause-modal .plano-pause-calendar-day.is-selected{background:#2d8cf0 !important;border-color:#2d8cf0 !important;color:#fff !important;font-weight:700 !important;}
body[data-page="plano"] #plano-pause-modal .plano-pause-calendar-day.is-today:not(.is-selected){border-color:#93c5fd !important;color:#1d4ed8 !important;font-weight:700 !important;}
@media(max-width:760px){body[data-page="plano"] #plano-pause-modal .plano-pause-calendar-popover{width:100% !important;}}

/* ===== Ajuste: seletor de horas da escala de trabalho com rolagem e seleção azul ===== */
#user-scale-modal .scale-time-input-native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 1px !important;
  min-height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

#user-scale-modal .scale-time-picker {
  position: relative;
  width: 100%;
  min-width: 0;
  z-index: 1;
}

#user-scale-modal .scale-time-picker.open {
  z-index: 80;
}

#user-scale-modal .scale-time-display {
  width: 100%;
  height: 36px;
  border: 1px solid #d8deea;
  border-radius: 0;
  background: #ffffff;
  color: #344054;
  padding: 0 10px 0 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font: 500 14px/1 "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  cursor: pointer;
  box-sizing: border-box;
  box-shadow: none !important;
  outline: none !important;
  overflow: hidden;
  appearance: none;
  -webkit-appearance: none;
}

#user-scale-modal .scale-time-display:hover,
#user-scale-modal .scale-time-display:focus,
#user-scale-modal .scale-time-display:focus-visible,
#user-scale-modal .scale-time-picker.open .scale-time-display {
  border-color: #2c94fc;
  outline: none !important;
  box-shadow: inset 0 0 0 2px rgba(44, 148, 252, 0.42) !important;
}

#user-scale-modal .scale-time-display-text {
  font-weight: 600;
  letter-spacing: 0.01em;
}

#user-scale-modal .scale-time-display-text.is-placeholder {
  color: #98a2b3;
  font-weight: 500;
}

#user-scale-modal .scale-time-clock {
  width: 17px;
  height: 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #101828;
  font-size: 17px;
  line-height: 1;
  flex: 0 0 auto;
}

#user-scale-modal .scale-time-panel {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  width: 116px;
  max-width: calc(100vw - 40px);
  grid-template-columns: 1fr 1fr;
  gap: 0;
  padding: 4px;
  background: #ffffff;
  border: 1px solid #b8c2d0;
  border-radius: 0;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.16);
  box-sizing: border-box;
  z-index: 9999;
}

#user-scale-modal .scale-time-picker.open .scale-time-panel {
  display: grid;
}

#user-scale-modal .scale-time-list {
  max-height: 252px;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0 4px 0 2px;
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: #b8c1cc transparent;
}

#user-scale-modal .scale-time-list::-webkit-scrollbar {
  width: 6px;
}

#user-scale-modal .scale-time-list::-webkit-scrollbar-track {
  background: transparent;
}

#user-scale-modal .scale-time-list::-webkit-scrollbar-thumb {
  background: #b8c1cc;
  border-radius: 999px;
  border: 0;
}

#user-scale-modal .scale-time-list::-webkit-scrollbar-thumb:hover {
  background: #aab4c0;
}

#user-scale-modal .scale-time-list::-webkit-scrollbar-button {
  display: none;
  width: 0;
  height: 0;
}

#user-scale-modal .scale-time-option {
  width: 100%;
  height: 36px;
  border: 0;
  border-radius: 0;
  background: #ffffff;
  color: #101828;
  display: flex;
  align-items: center;
  justify-content: center;
  font: 400 14px/1 "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  cursor: pointer;
  box-sizing: border-box;
}

#user-scale-modal .scale-time-option:hover,
#user-scale-modal .scale-time-option:focus-visible {
  background: #eaf4ff;
  color: #2c94fc;
  outline: none;
}

#user-scale-modal .scale-time-option.is-selected,
#user-scale-modal .scale-time-option.is-selected:hover,
#user-scale-modal .scale-time-option.is-selected:focus-visible {
  background: #2c94fc;
  color: #ffffff;
  font-weight: 400;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22);
  outline: none;
}

#user-scale-modal .modal-field {
  position: relative;
}

@media (max-width: 560px) {
  #user-scale-modal .scale-time-panel {
    width: 132px;
  }
  #user-scale-modal .scale-time-list {
    max-height: 220px;
  }
}


/* ===== Correção final: ícone selecionado com sombra somente interna ===== */
#btn-open-system-panel.config-panel-icon-btn.is-active,
#btn-open-system-panel.config-panel-icon-btn.is-active:hover,
#btn-open-system-panel.config-panel-icon-btn.is-active:focus,
#btn-open-system-panel.config-panel-icon-btn.is-active:focus-visible{
  background:#ffffff !important;
  border-color:#2c94fc !important;
  color:#2c94fc !important;
  box-shadow:inset 0 0 0 3px rgba(44,148,252,.18) !important;
  outline:none !important;
  filter:none !important;
}

/* ===== Correção final: preenchimento interno total do ícone selecionado ===== */
#btn-open-system-panel.config-panel-icon-btn.is-active,
#btn-open-system-panel.config-panel-icon-btn.is-active:hover,
#btn-open-system-panel.config-panel-icon-btn.is-active:focus,
#btn-open-system-panel.config-panel-icon-btn.is-active:focus-visible{
  background:#ffffff !important;
  border-color:#2c94fc !important;
  color:#2c94fc !important;
  box-shadow:inset 0 0 0 9999px rgba(44,148,252,.14) !important;
  outline:none !important;
  filter:none !important;
}

/* ===== Painel do Sistema: empresa em modal + cards ===== */
#user-modal .system-panel-heading-clean{
  margin-bottom:10px !important;
}

#user-modal .system-company-toolbar{
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
  margin:0 0 12px !important;
}

#user-modal .system-company-add-btn{
  min-height:36px !important;
  padding:8px 18px !important;
  border-radius:0 !important;
}

#user-modal .system-companies-card-block{
  margin-bottom:12px !important;
}

#user-modal .system-company-list-header{
  align-items:center !important;
  margin-bottom:12px !important;
}

#user-modal .system-companies-cards{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)) !important;
  gap:12px !important;
}

#user-modal .system-company-card{
  border:1px solid #d8e2f0 !important;
  background:#ffffff !important;
  padding:14px !important;
  border-radius:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  min-width:0 !important;
}

#user-modal .system-company-card-top{
  display:grid !important;
  grid-template-columns:72px minmax(0, 1fr) !important;
  gap:12px !important;
  align-items:start !important;
}

#user-modal .system-company-logo-box{
  width:72px !important;
  height:72px !important;
  border:1px solid #d8e2f0 !important;
  background:#f8fafc !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  border-radius:0 !important;
}

#user-modal .system-company-logo-box img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block !important;
  background:#ffffff !important;
}

#user-modal .system-company-logo-fallback{
  color:#2c94fc !important;
  font-size:26px !important;
  line-height:1 !important;
}

#user-modal .system-company-logo-fallback.hidden{
  display:none !important;
}

#user-modal .system-company-info{
  display:flex !important;
  flex-direction:column !important;
  gap:4px !important;
  min-width:0 !important;
}

#user-modal .system-company-title-line{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
  min-width:0 !important;
}

#user-modal .system-company-title-line strong{
  color:#0f172a !important;
  font-size:15px !important;
  line-height:1.2 !important;
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

#user-modal .system-company-info span,
#user-modal .system-company-info small{
  color:#64748b !important;
  font-size:12px !important;
  line-height:1.25 !important;
  word-break:break-word !important;
}

#user-modal .system-company-status-pill{
  border:1px solid #d8e2f0 !important;
  background:#f8fafc !important;
  color:#475569 !important;
  padding:3px 8px !important;
  font-size:11px !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

#user-modal .system-company-status-active{
  border-color:#bfe3cf !important;
  background:#f3fbf6 !important;
  color:#18733b !important;
}

#user-modal .system-company-status-blocked,
#user-modal .system-company-status-inactive{
  border-color:#f4d1d1 !important;
  background:#fff7f7 !important;
  color:#b42318 !important;
}

#user-modal .system-company-contract-grid{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:8px !important;
}

#user-modal .system-company-contract-grid > div{
  border:1px solid #e2e8f0 !important;
  background:#f8fafc !important;
  padding:9px !important;
  min-width:0 !important;
}

#user-modal .system-company-contract-grid span{
  display:block !important;
  color:#64748b !important;
  font-size:11px !important;
  margin-bottom:4px !important;
}

#user-modal .system-company-contract-grid strong{
  display:block !important;
  color:#0f172a !important;
  font-size:13px !important;
  line-height:1.2 !important;
  word-break:break-word !important;
}

#user-modal .system-company-card .system-company-actions{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) 150px auto !important;
  gap:8px !important;
  align-items:end !important;
}

#user-modal .system-company-card .system-company-actions .modal-field{
  margin:0 !important;
}

#user-modal .system-company-card .system-company-actions .input{
  width:100% !important;
  height:36px !important;
  min-height:36px !important;
}

#user-modal .system-company-card .btn-save-system-company{
  height:36px !important;
  white-space:nowrap !important;
}

#user-modal .system-company-create-modal{
  position:absolute !important;
  inset:0 !important;
  z-index:2147483646 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:18px !important;
}

#user-modal .system-company-create-modal.hidden{
  display:none !important;
}

#user-modal .system-company-create-backdrop{
  position:absolute !important;
  inset:0 !important;
  background:rgba(15,23,42,.25) !important;
}

#user-modal .system-company-create-card{
  position:relative !important;
  width:min(540px, calc(100vw - 48px)) !important;
  max-height:calc(100vh - 96px) !important;
  overflow:auto !important;
  background:#ffffff !important;
  border:1px solid #d8e2f0 !important;
  box-shadow:0 18px 42px rgba(15,23,42,.18) !important;
  padding:16px !important;
  border-radius:0 !important;
}

#user-modal .system-company-create-header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin-bottom:12px !important;
}

#user-modal .system-company-create-close{
  width:32px !important;
  height:32px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid #d8e2f0 !important;
  background:#ffffff !important;
  color:#64748b !important;
  border-radius:0 !important;
  cursor:pointer !important;
  font-size:20px !important;
  line-height:1 !important;
  padding:0 !important;
}

#user-modal .system-company-create-close:hover{
  border-color:#2c94fc !important;
  color:#2c94fc !important;
}

#user-modal .system-company-form-modal{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:10px !important;
  margin-top:0 !important;
}

#user-modal .system-company-form-modal .modal-field{
  margin:0 !important;
}

#user-modal .system-company-logo-field{
  grid-column:1 / -1 !important;
}

#user-modal .system-company-create-actions{
  margin-top:14px !important;
  padding:0 !important;
}

@media (max-width: 760px){
  #user-modal .system-companies-cards,
  #user-modal .system-company-contract-grid,
  #user-modal .system-company-card .system-company-actions,
  #user-modal .system-company-form-modal{
    grid-template-columns:1fr !important;
  }
  #user-modal .system-company-card-top{
    grid-template-columns:64px minmax(0, 1fr) !important;
  }
  #user-modal .system-company-logo-box{
    width:64px !important;
    height:64px !important;
  }
  #user-modal .system-company-create-modal{
    align-items:flex-start !important;
    padding:14px !important;
  }
  #user-modal .system-company-create-card{
    width:min(94vw, calc(100vw - 24px)) !important;
    max-height:calc(100vh - 48px) !important;
  }
}

/* ===== Ajuste: dados da empresa com e-mail, endereço e licenças separadas ===== */
#user-modal .company-profile-details-grid{
  display:grid !important;
  grid-template-columns:86px minmax(0, 1fr) minmax(0, 1fr) !important;
  gap:6px 14px !important;
  align-items:start !important;
  margin-top:-22px !important;
}

#user-modal .company-profile-details-grid > .modal-field,
#user-modal .company-profile-details-grid > .subscription-box{
  grid-column:auto !important;
  margin:0 !important;
}

#user-modal .company-profile-details-grid > .modal-field:nth-child(1){
  grid-column:2 !important;
}

#user-modal .company-profile-details-grid > .modal-field:nth-child(2){
  grid-column:3 !important;
}

#user-modal .company-profile-details-grid > .company-address-view-field{
  grid-column:2 / span 2 !important;
}

#user-modal .company-profile-details-grid > .subscription-box{
  grid-column:2 / span 2 !important;
  width:100% !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

#user-modal .company-profile-details-grid .subscription-owner-actions{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(160px, 220px)) !important;
  gap:10px !important;
  align-items:end !important;
  justify-content:start !important;
  margin:0 !important;
  max-width:470px !important;
}

#user-modal .company-profile-details-grid .subscription-owner-actions.hidden{
  display:none !important;
}

#user-modal .company-profile-details-grid .subscription-free-field,
#user-modal .company-profile-details-grid .subscription-paid-field{
  margin:0 !important;
}

#user-modal .company-profile-details-grid .subscription-free-field .input,
#user-modal .company-profile-details-grid .subscription-paid-field .input{
  width:100% !important;
  max-width:220px !important;
}

#user-modal .company-profile-details-grid .subscription-free-field input[readonly],
#user-modal .company-profile-details-grid .subscription-paid-field input[readonly],
#user-modal .company-profile-details-grid .subscription-paid-field input:disabled{
  background:#f8fafc !important;
  color:#64748b !important;
  pointer-events:none !important;
}

#user-modal .company-profile-details-grid .subscription-paid-field input::-webkit-outer-spin-button,
#user-modal .company-profile-details-grid .subscription-paid-field input::-webkit-inner-spin-button{
  -webkit-appearance:none !important;
  margin:0 !important;
}

#user-modal .company-profile-details-grid .subscription-paid-field input[type=number]{
  -moz-appearance:textfield !important;
}

#user-modal .company-profile-details-grid #btn-save-subscription{
  display:none !important;
}

#user-modal .company-edit-modal-card{
  width:min(560px, calc(100vw - 32px)) !important;
}

#user-modal .system-company-contract-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
}

#user-modal .system-company-card .system-company-actions{
  grid-template-columns:minmax(0, 1fr) 150px auto !important;
}

@media (max-width: 800px){
  #user-modal .company-profile-details-grid,
  #user-modal .company-profile-details-grid .subscription-owner-actions,
  #user-modal .system-company-contract-grid{
    grid-template-columns:1fr !important;
  }
  #user-modal .company-profile-details-grid{
    margin-top:0 !important;
  }
  #user-modal .company-profile-details-grid > .modal-field,
  #user-modal .company-profile-details-grid > .company-address-view-field,
  #user-modal .company-profile-details-grid > .subscription-box{
    grid-column:auto !important;
  }
}

/* ===== Ajuste: edição do card da empresa por botão de 3 pontos sem borda ===== */
#user-modal .system-company-title-actions{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  margin-left:auto !important;
  min-width:max-content !important;
}

#user-modal .system-company-card-menu-btn{
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  color:#2c94fc !important;
  font-size:24px !important;
  line-height:1 !important;
  font-weight:700 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
}

#user-modal .system-company-card-menu-btn:hover,
#user-modal .system-company-card-menu-btn:focus{
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  color:#0b7ee8 !important;
}

#user-modal .system-company-card .system-company-actions.hidden{
  display:none !important;
}

#user-modal .system-company-card .system-company-actions{
  border-top:1px solid #e2e8f0 !important;
  padding-top:12px !important;
  margin-top:0 !important;
  grid-template-columns:minmax(0, 1fr) 150px auto !important;
}

#user-modal .system-company-edit-buttons{
  display:flex !important;
  align-items:end !important;
  justify-content:flex-end !important;
  gap:8px !important;
}

#user-modal .system-company-edit-buttons .btn{
  height:36px !important;
  min-height:36px !important;
  white-space:nowrap !important;
}

@media (max-width: 800px){
  #user-modal .system-company-card .system-company-actions{
    grid-template-columns:1fr !important;
  }
  #user-modal .system-company-edit-buttons{
    justify-content:stretch !important;
  }
  #user-modal .system-company-edit-buttons .btn{
    flex:1 1 0 !important;
  }
}

/* ===== Empresas cadastradas: opções por ícone, edição em modal e contratos ===== */
#user-modal .system-company-card-menu-btn img{
  width:18px !important;
  height:18px !important;
  display:block !important;
  object-fit:contain !important;
  pointer-events:none !important;
}

#user-modal .system-company-card-menu-btn img.hidden,
#user-modal .system-company-menu-fallback.hidden{
  display:none !important;
}

#user-modal .system-company-menu-fallback{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:18px !important;
  height:18px !important;
  color:#2c94fc !important;
  font-size:22px !important;
  line-height:1 !important;
}

#user-modal .system-company-contracts-row{
  border-top:1px solid #e2e8f0 !important;
  padding-top:10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
}

#user-modal .system-company-contracts-row span{
  display:block !important;
  color:#64748b !important;
  font-size:11px !important;
  margin-bottom:3px !important;
}

#user-modal .system-company-contracts-row strong{
  display:block !important;
  color:#0f172a !important;
  font-size:13px !important;
}

#user-modal .system-company-edit-card,
#user-modal .system-company-confirm-card{
  width:min(440px, calc(100vw - 32px)) !important;
}

#user-modal .system-company-edit-form-modal{
  grid-template-columns:1fr 160px !important;
}

#user-modal .system-company-confirm-text{
  margin:6px 0 0 !important;
  color:#475569 !important;
  font-size:13px !important;
  line-height:1.45 !important;
}

#user-modal .system-company-contracts-card{
  width:min(780px, calc(100vw - 32px)) !important;
  max-height:calc(100vh - 48px) !important;
  overflow:auto !important;
}

#user-modal .system-contracts-layout{
  display:grid !important;
  grid-template-columns:minmax(0, 1.1fr) minmax(260px, .9fr) !important;
  gap:14px !important;
  align-items:start !important;
}

#user-modal .system-contracts-list-box,
#user-modal .system-contracts-form-box{
  border:1px solid #d8e2f0 !important;
  background:#ffffff !important;
  padding:12px !important;
  border-radius:0 !important;
  min-width:0 !important;
}

#user-modal .system-contracts-subtitle{
  color:#2c94fc !important;
  font-size:13px !important;
  margin:0 0 10px !important;
}

#user-modal .system-contracts-list{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  max-height:320px !important;
  overflow:auto !important;
}

#user-modal .system-contract-item{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  border:1px solid #e2e8f0 !important;
  background:#f8fafc !important;
  padding:9px !important;
  min-width:0 !important;
}

#user-modal .system-contract-main{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:3px !important;
}

#user-modal .system-contract-main strong{
  color:#0f172a !important;
  font-size:13px !important;
  line-height:1.2 !important;
  word-break:break-word !important;
}

#user-modal .system-contract-main span,
#user-modal .system-contract-main small{
  color:#64748b !important;
  font-size:11px !important;
  line-height:1.25 !important;
  word-break:break-word !important;
}

#user-modal .system-contract-actions{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  flex:0 0 auto !important;
}

#user-modal .system-contract-open{
  height:32px !important;
  padding:0 10px !important;
  border:1px solid #2c94fc !important;
  background:#ffffff !important;
  color:#2c94fc !important;
  text-decoration:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:12px !important;
}

#user-modal .system-contracts-form{
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
}

#user-modal .system-contract-file-field{
  grid-column:1 / -1 !important;
}

#user-modal .system-contract-save-btn{
  margin-top:10px !important;
  width:100% !important;
}

@media (max-width: 800px){
  #user-modal .system-company-edit-form-modal,
  #user-modal .system-contracts-layout,
  #user-modal .system-contracts-form{
    grid-template-columns:1fr !important;
  }
  #user-modal .system-company-contracts-row,
  #user-modal .system-contract-item,
  #user-modal .system-contract-actions{
    align-items:stretch !important;
    flex-direction:column !important;
  }
  #user-modal .system-company-contracts-row .btn,
  #user-modal .system-contract-actions .btn,
  #user-modal .system-contract-open{
    width:100% !important;
  }
}


/* ===== Ajuste solicitado: editar empresa sem borda no X e contratos sem estouro ===== */
#user-modal #system-company-edit-modal .system-company-create-close{
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  background:transparent !important;
}

#user-modal #system-company-edit-modal .system-company-create-close:hover,
#user-modal #system-company-edit-modal .system-company-create-close:focus{
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  background:transparent !important;
}

#user-modal .system-company-card-menu-btn{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:0 !important;
}

#user-modal .system-company-card-menu-btn img{
  width:18px !important;
  height:18px !important;
  object-fit:contain !important;
}

#user-modal #system-company-contracts-modal .system-company-contracts-card{
  width:min(760px, calc(100vw - 48px)) !important;
  max-width:calc(100vw - 48px) !important;
  box-sizing:border-box !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
}

#user-modal #system-company-contracts-modal .system-contracts-layout{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(280px, .82fr) !important;
  gap:14px !important;
  overflow:hidden !important;
}

#user-modal #system-company-contracts-modal .system-contracts-list-box,
#user-modal #system-company-contracts-modal .system-contracts-form-box,
#user-modal #system-company-contracts-modal .system-contracts-form,
#user-modal #system-company-contracts-modal .modal-field{
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

#user-modal #system-company-contracts-modal .system-contracts-form{
  grid-template-columns:1fr !important;
  width:100% !important;
  gap:10px !important;
}

#user-modal #system-company-contracts-modal .system-contracts-form .input,
#user-modal #system-company-contracts-modal .system-contracts-form input[type="date"],
#user-modal #system-company-contracts-modal .system-contracts-form input[type="file"]{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

#user-modal #system-company-contracts-modal .system-contract-file-field{
  grid-column:1 !important;
}

@media (max-width: 800px){
  #user-modal #system-company-contracts-modal .system-company-contracts-card{
    width:min(94vw, calc(100vw - 24px)) !important;
    max-width:calc(100vw - 24px) !important;
  }
  #user-modal #system-company-contracts-modal .system-contracts-layout{
    grid-template-columns:1fr !important;
  }
}

/* ===== Ajuste: contratos, data sem popup solto, visualização pela empresa e usuários no painel do dono ===== */
#user-modal .system-company-create-modal{
  position:fixed !important;
  inset:0 !important;
  align-items:center !important;
  justify-content:center !important;
  padding:20px !important;
  overflow:auto !important;
}

#user-modal .system-company-create-close,
#user-modal .system-company-create-close:hover,
#user-modal .system-company-create-close:focus,
#user-modal .system-company-create-close:focus-visible,
#user-modal #system-company-edit-modal .system-company-create-close,
#user-modal #system-company-contracts-modal .system-company-create-close{
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  background:transparent !important;
}

#user-modal #system-company-contracts-modal .system-company-contracts-card{
  width:min(760px, calc(100vw - 40px)) !important;
  max-width:calc(100vw - 40px) !important;
  max-height:calc(100vh - 40px) !important;
  overflow:auto !important;
}

#user-modal #system-company-contracts-modal .system-contracts-layout{
  grid-template-columns:minmax(0, 1fr) minmax(280px, .82fr) !important;
  align-items:start !important;
}

#user-modal #system-company-contracts-modal.contracts-readonly .system-contracts-layout{
  grid-template-columns:1fr !important;
}

#user-modal #system-company-contracts-modal.contracts-readonly .system-contracts-list-box{
  width:100% !important;
}

#user-modal #system-company-contracts-modal .system-contracts-form-box.hidden,
#user-modal #system-company-contracts-modal .system-contract-save-btn.hidden{
  display:none !important;
}

#user-modal #system-company-contracts-modal .contract-date-input{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

#user-modal .system-company-users-box{
  border-top:1px solid #e2e8f0 !important;
  padding-top:10px !important;
}

#user-modal .system-company-users-title{
  color:#2c94fc !important;
  font-size:13px !important;
  margin:0 0 8px !important;
}

#user-modal .system-company-users-list{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
}

#user-modal .system-company-user-item{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:8px !important;
  border:1px solid #e2e8f0 !important;
  background:#f8fafc !important;
  padding:9px !important;
  min-width:0 !important;
}

#user-modal .system-company-user-item > div{
  min-width:0 !important;
}

#user-modal .system-company-user-item span{
  display:block !important;
  color:#64748b !important;
  font-size:11px !important;
  margin-bottom:3px !important;
}

#user-modal .system-company-user-item strong{
  display:block !important;
  color:#0f172a !important;
  font-size:12px !important;
  line-height:1.25 !important;
  word-break:break-word !important;
}

@media (max-width: 900px){
  #user-modal .system-company-user-item{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px){
  #user-modal .system-company-create-modal{
    align-items:flex-start !important;
    padding:12px !important;
  }
  #user-modal #system-company-contracts-modal .system-company-contracts-card{
    width:calc(100vw - 24px) !important;
    max-width:calc(100vw - 24px) !important;
    max-height:calc(100vh - 24px) !important;
  }
  #user-modal .system-company-user-item{
    grid-template-columns:1fr !important;
  }
}

/* ===== Ajuste: usuários em modal e botão de contratos/anexos nos dados da empresa ===== */
#user-modal .company-card-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  margin-left:auto !important;
}

#user-modal .company-contracts-direct-btn{
  height:34px !important;
  min-height:34px !important;
  padding:0 12px !important;
  border:1px solid #d8e2f0 !important;
  background:#ffffff !important;
  color:#2c94fc !important;
  box-shadow:none !important;
  border-radius:0 !important;
  font-size:12px !important;
  font-weight:600 !important;
  white-space:nowrap !important;
}

#user-modal .company-contracts-direct-btn:hover,
#user-modal .company-contracts-direct-btn:focus{
  background:#f8fbff !important;
  border-color:#2c94fc !important;
  box-shadow:none !important;
}

#user-modal #system-company-users-modal .system-company-users-card{
  width:min(760px, calc(100vw - 40px)) !important;
  max-width:calc(100vw - 40px) !important;
  max-height:calc(100vh - 40px) !important;
  overflow:auto !important;
}

#user-modal #system-company-users-modal .system-company-create-close,
#user-modal #system-company-users-modal .system-company-create-close:hover,
#user-modal #system-company-users-modal .system-company-create-close:focus,
#user-modal #system-company-users-modal .system-company-create-close:focus-visible{
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  background:transparent !important;
}

#user-modal .system-company-users-modal-list{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  margin-top:12px !important;
}

#user-modal .system-company-user-card{
  display:grid !important;
  grid-template-columns:56px minmax(0, 1fr) !important;
  gap:12px !important;
  align-items:center !important;
  border:1px solid #e2e8f0 !important;
  background:#ffffff !important;
  padding:12px 14px !important;
  min-width:0 !important;
}

#user-modal .system-company-user-avatar{
  width:46px !important;
  height:46px !important;
  border-radius:999px !important;
  overflow:hidden !important;
  background:#e5e7eb !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#64748b !important;
  font-size:18px !important;
  font-weight:700 !important;
}

#user-modal .system-company-user-avatar img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
}

#user-modal .system-company-user-content{
  min-width:0 !important;
}

#user-modal .system-company-user-head{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin-bottom:8px !important;
}

#user-modal .system-company-user-head strong{
  display:block !important;
  color:#2c94fc !important;
  font-size:15px !important;
  font-weight:500 !important;
  line-height:1.2 !important;
  word-break:break-word !important;
}

#user-modal .system-company-user-head span{
  display:block !important;
  color:#64748b !important;
  font-size:12px !important;
  margin-top:3px !important;
}

#user-modal .system-company-user-head em{
  color:#475569 !important;
  font-size:12px !important;
  font-style:normal !important;
  white-space:nowrap !important;
  margin-top:2px !important;
}

#user-modal .system-company-user-detail-grid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:8px 12px !important;
}

#user-modal .system-company-user-detail-grid > div{
  min-width:0 !important;
}

#user-modal .system-company-user-detail-grid span{
  display:block !important;
  color:#64748b !important;
  font-size:11px !important;
  margin-bottom:3px !important;
}

#user-modal .system-company-user-detail-grid strong{
  display:block !important;
  color:#0f172a !important;
  font-size:12px !important;
  font-weight:500 !important;
  line-height:1.25 !important;
  word-break:break-word !important;
}

@media (max-width: 800px){
  #user-modal .company-card-actions{
    flex-wrap:wrap !important;
  }
  #user-modal .system-company-user-detail-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px){
  #user-modal #system-company-users-modal .system-company-users-card{
    width:calc(100vw - 24px) !important;
    max-width:calc(100vw - 24px) !important;
    max-height:calc(100vh - 24px) !important;
  }
  #user-modal .system-company-user-card{
    grid-template-columns:44px minmax(0, 1fr) !important;
    padding:10px !important;
  }
  #user-modal .system-company-user-avatar{
    width:40px !important;
    height:40px !important;
  }
  #user-modal .system-company-user-detail-grid{
    grid-template-columns:1fr !important;
  }
}


/* ===== Ajuste: fechar configurações pelo X do cabeçalho + confirmação interna de usuário ===== */
#user-modal .user-header-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  margin-left:auto !important;
}

#user-modal .user-modal-top-close{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  border:0 !important;
  background:transparent !important;
  color:#64748b !important;
  box-shadow:none !important;
  outline:0 !important;
  border-radius:0 !important;
  cursor:pointer !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:24px !important;
  line-height:1 !important;
  padding:0 !important;
}

#user-modal .user-modal-top-close:hover,
#user-modal .user-modal-top-close:focus,
#user-modal .user-modal-top-close:focus-visible{
  border:0 !important;
  background:transparent !important;
  color:#2c94fc !important;
  box-shadow:none !important;
  outline:0 !important;
}

#user-modal .user-modal-footer-actions{
  display:none !important;
}

#user-modal #user-delete-confirm-modal.system-company-create-modal{
  position:fixed !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:20px !important;
  z-index:2147483647 !important;
}

#user-modal #user-delete-confirm-modal.system-company-create-modal.hidden{
  display:none !important;
}

#user-modal #user-delete-confirm-modal .system-company-create-backdrop{
  position:absolute !important;
  inset:0 !important;
  background:rgba(15,23,42,.25) !important;
}

#user-modal #user-delete-confirm-modal .user-delete-confirm-card{
  width:min(420px, calc(100vw - 40px)) !important;
  max-width:calc(100vw - 40px) !important;
  position:relative !important;
  z-index:1 !important;
}

/* ===== Ajustes solicitados: seta do usuário, Scrum desktop e modal Executantes ===== */
.sidebar-user-chip .user-chip-card-icon{
  top:57% !important;
  transform:translateY(-50%) !important;
}

@media screen and (min-width: 761px){
  body[data-page="ordem-servico"] .os-page-toolbar-actions,
  body[data-page="ordem"] .os-page-toolbar-actions,
  .page-ordem-only .os-page-toolbar-actions{
    gap:10px !important;
    align-items:center !important;
  }

  body[data-page="ordem-servico"] #btn-os-user-board.os-board-view-btn,
  body[data-page="ordem"] #btn-os-user-board.os-board-view-btn,
  .page-ordem-only #btn-os-user-board.os-board-view-btn,
  body[data-page="ordem-servico"] #btn-open-executantes-status.os-executantes-status-btn,
  body[data-page="ordem"] #btn-open-executantes-status.os-executantes-status-btn,
  .page-ordem-only #btn-open-executantes-status.os-executantes-status-btn{
    width:auto !important;
    min-width:118px !important;
    max-width:none !important;
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
    padding:0 16px !important;
    margin:0 !important;
    border:1px solid #2d8cff !important;
    background:#fff !important;
    color:#227fea !important;
    box-shadow:none !important;
    border-radius:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    font-size:14px !important;
    font-weight:500 !important;
    line-height:1 !important;
    box-sizing:border-box !important;
  }

  body[data-page="ordem-servico"] #btn-os-user-board.os-board-view-btn:hover,
  body[data-page="ordem"] #btn-os-user-board.os-board-view-btn:hover,
  .page-ordem-only #btn-os-user-board.os-board-view-btn:hover,
  body[data-page="ordem-servico"] #btn-open-executantes-status.os-executantes-status-btn:hover,
  body[data-page="ordem"] #btn-open-executantes-status.os-executantes-status-btn:hover,
  .page-ordem-only #btn-open-executantes-status.os-executantes-status-btn:hover{
    border-color:#2d8cff !important;
    background:#f8fbff !important;
    color:#227fea !important;
  }

  body[data-page="ordem-servico"] #btn-os-user-board .os-board-view-label,
  body[data-page="ordem"] #btn-os-user-board .os-board-view-label,
  .page-ordem-only #btn-os-user-board .os-board-view-label,
  body[data-page="ordem-servico"] #btn-open-executantes-status .os-executantes-status-label,
  body[data-page="ordem"] #btn-open-executantes-status .os-executantes-status-label,
  .page-ordem-only #btn-open-executantes-status .os-executantes-status-label{
    display:inline-block !important;
    font-size:14px !important;
    font-weight:500 !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  body[data-page="ordem-servico"] #btn-os-user-board .os-board-view-icon,
  body[data-page="ordem"] #btn-os-user-board .os-board-view-icon,
  .page-ordem-only #btn-os-user-board .os-board-view-icon,
  body[data-page="ordem-servico"] #btn-open-executantes-status .os-executantes-status-icon,
  body[data-page="ordem"] #btn-open-executantes-status .os-executantes-status-icon,
  .page-ordem-only #btn-open-executantes-status .os-executantes-status-icon{
    display:block !important;
    width:15px !important;
    min-width:15px !important;
    max-width:15px !important;
    height:15px !important;
    min-height:15px !important;
    max-height:15px !important;
    object-fit:contain !important;
  }
}

@media screen and (max-width: 760px){
  #btn-open-executantes-status.os-executantes-status-btn{
    display:none !important;
  }
}

.os-executantes-status-modal{
  border:0 !important;
  background:transparent !important;
  padding:0 !important;
  max-width:none !important;
}
.os-executantes-status-modal::backdrop{
  background:rgba(15,23,42,.45) !important;
}
.os-executantes-status-modal-card{
  width:min(860px, calc(100vw - 48px)) !important;
  max-height:calc(100vh - 52px) !important;
  overflow:auto !important;
  border-radius:0 !important;
  padding:24px 28px 28px !important;
  background:#fff !important;
  box-shadow:0 18px 50px rgba(15,23,42,.22) !important;
  box-sizing:border-box !important;
  position:relative !important;
}
.os-executantes-status-close{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#64748b !important;
}
.os-executantes-status-modal-card h2{
  margin:0 44px 6px 0 !important;
  color:#111827 !important;
  font-size:20px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
}
.os-executantes-status-help{
  margin:0 44px 18px 0 !important;
  color:#64748b !important;
  font-size:13px !important;
  line-height:1.35 !important;
}
.os-executantes-status-list{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
}
.os-executante-status-card{
  border:1px solid #dbe4f0 !important;
  background:#fff !important;
  display:grid !important;
  grid-template-columns:54px minmax(0, 1fr) !important;
  gap:14px !important;
  padding:14px !important;
  box-sizing:border-box !important;
}
.os-executante-status-avatar{
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  align-self:start !important;
}
.os-executante-status-body{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}
.os-executante-status-top{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:12px !important;
}
.os-executante-status-person{
  min-width:0 !important;
}
.os-executante-status-person h3{
  margin:0 0 3px !important;
  color:#1683ff !important;
  font-size:17px !important;
  font-weight:500 !important;
  line-height:1.2 !important;
  white-space:normal !important;
  word-break:break-word !important;
}
.os-executante-status-person span{
  display:block !important;
  color:#475569 !important;
  font-size:12px !important;
  line-height:1.25 !important;
}
.os-executante-status-pill{
  min-height:30px !important;
  border:1px solid #dbe4f0 !important;
  background:#f8fafc !important;
  color:#475569 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  padding:0 10px !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
.os-executante-status-pill img{
  width:14px !important;
  height:14px !important;
  object-fit:contain !important;
}
.os-executante-status-pill.running,
.os-executante-status-pill.executing{
  border-color:#bfe6cf !important;
  background:#f1fbf5 !important;
  color:#008f46 !important;
}
.os-executante-status-pill.paused{
  border-color:#fde7b0 !important;
  background:#fff8e8 !important;
  color:#b77900 !important;
}
.os-executante-status-pill.material{
  border-color:#ddd6fe !important;
  background:#f5f3ff !important;
  color:#7c3aed !important;
}
.os-executante-status-current{
  display:flex !important;
  flex-direction:column !important;
  gap:4px !important;
  min-width:0 !important;
}
.os-executante-status-current strong{
  color:#111827 !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1.25 !important;
  white-space:normal !important;
  word-break:break-word !important;
}
.os-executante-status-current span{
  color:#64748b !important;
  font-size:12px !important;
  line-height:1.25 !important;
}
.os-executante-status-grid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:8px !important;
}
.os-executante-status-grid div{
  border:1px solid #e4eaf3 !important;
  background:#f8fafc !important;
  min-height:46px !important;
  padding:8px 10px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:3px !important;
  box-sizing:border-box !important;
}
.os-executante-status-grid span{
  color:#64748b !important;
  font-size:11px !important;
  line-height:1.15 !important;
}
.os-executante-status-grid strong{
  color:#111827 !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1.15 !important;
}
.os-executantes-status-empty{
  border:1px dashed #dbe4f0 !important;
  background:#f8fafc !important;
  color:#64748b !important;
  padding:18px !important;
  font-size:13px !important;
  text-align:center !important;
}
@media screen and (max-width: 700px){
  .os-executantes-status-modal-card{
    width:calc(100vw - 22px) !important;
    max-height:calc(100vh - 22px) !important;
    padding:20px 14px !important;
  }
  .os-executante-status-card{
    grid-template-columns:44px minmax(0, 1fr) !important;
    gap:10px !important;
    padding:12px !important;
  }
  .os-executante-status-avatar{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
  }
  .os-executante-status-top{
    flex-direction:column !important;
    align-items:flex-start !important;
  }
  .os-executante-status-grid{
    grid-template-columns:1fr !important;
  }
}


/* ===== Ajuste final: remover Executantes e padronizar fonte Scrum/Planos ===== */
@media screen and (min-width:761px){
  body[data-page="ordem-servico"] #btn-os-user-board.os-board-view-btn,
  body[data-page="ordem"] #btn-os-user-board.os-board-view-btn,
  .page-ordem-only #btn-os-user-board.os-board-view-btn{
    font-size:13px !important;
    font-weight:600 !important;
  }
  body[data-page="ordem-servico"] #btn-os-user-board .os-board-view-label,
  body[data-page="ordem"] #btn-os-user-board .os-board-view-label,
  .page-ordem-only #btn-os-user-board .os-board-view-label{
    font-size:13px !important;
    font-weight:600 !important;
  }
  body[data-page="plano"] #btn-new-plano.os-add-icon-btn,
  body[data-page="plano"] #btn-new-plano .os-add-icon-btn-label{
    font-size:13px !important;
    font-weight:600 !important;
  }
}
#btn-open-executantes-status,
#os-executantes-status-modal{
  display:none !important;
}


/* ===== Ajustes O.S.: fechar com X e editor de tipos de manutenção ===== */
#btn-close-os-form.os-form-close-x{
  width:36px !important;
  min-width:36px !important;
  height:36px !important;
  min-height:36px !important;
  padding:0 !important;
  margin-left:auto !important;
  border:0 !important;
  background:transparent !important;
  color:#64748b !important;
  font-size:24px !important;
  line-height:1 !important;
  font-weight:400 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
  box-shadow:none !important;
}

#btn-close-os-form.os-form-close-x:hover,
#btn-close-os-form.os-form-close-x:focus-visible{
  color:#1f2937 !important;
  background:transparent !important;
  outline:none !important;
  box-shadow:none !important;
}

.os-section-title-row{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin-bottom:14px !important;
}

.os-section-title-row .os-section-title{
  margin-bottom:0 !important;
}

.os-maintenance-edit-btn{
  border:0 !important;
  background:transparent !important;
  color:#2c94fc !important;
  font-size:13px !important;
  font-weight:600 !important;
  line-height:1 !important;
  padding:4px 0 !important;
  margin:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  cursor:pointer !important;
  box-shadow:none !important;
}

.os-maintenance-edit-btn:hover,
.os-maintenance-edit-btn:focus-visible{
  color:#0b78e3 !important;
  background:transparent !important;
  outline:none !important;
  box-shadow:none !important;
}

.os-maintenance-edit-icon{
  width:14px !important;
  height:14px !important;
  display:block !important;
  object-fit:contain !important;
}

.os-maintenance-corretiva{ background:#dbeafe; color:#1d4ed8; border-color:#93c5fd; }
.os-maintenance-preventiva{ background:#ccfbf1; color:#0f766e; border-color:#5eead4; }
.os-maintenance-preditiva{ background:#ede9fe; color:#6d28d9; border-color:#c4b5fd; }

.os-maintenance-custom-color{
  background:var(--os-maintenance-color) !important;
  border-color:var(--os-maintenance-color) !important;
  color:#ffffff !important;
}

.os-card-select-value.os-maintenance-custom-color,
.os-card-option.os-maintenance-custom-color,
.os-list-badge.os-maintenance-custom-color,
.maintenance-type-badge.os-maintenance-custom-color{
  background:var(--os-maintenance-color) !important;
  border-color:var(--os-maintenance-color) !important;
  color:#ffffff !important;
}

.os-maintenance-types-modal{
  border:0 !important;
  background:transparent !important;
  padding:0 !important;
  max-width:none !important;
}

.os-maintenance-types-modal::backdrop{
  background:rgba(15,23,42,.45) !important;
}

.os-maintenance-types-card{
  width:min(720px, calc(100vw - 36px)) !important;
  max-height:calc(100vh - 48px) !important;
  overflow:auto !important;
  border-radius:0 !important;
  padding:24px !important;
  position:relative !important;
}

.os-maintenance-types-card h2{
  margin:0 42px 16px 0 !important;
  color:#111827 !important;
  font-size:22px !important;
  font-weight:400 !important;
}

.os-maintenance-types-help{
  margin:0 42px 16px 0 !important;
  color:#64748b !important;
  font-size:13px !important;
  line-height:1.4 !important;
}

.os-maintenance-types-close{
  position:absolute !important;
  top:14px !important;
  right:14px !important;
  width:34px !important;
  height:34px !important;
  border:0 !important;
  background:transparent !important;
  color:#64748b !important;
  font-size:22px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
  box-shadow:none !important;
}

.os-maintenance-types-list{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  margin-bottom:12px !important;
}

.os-maintenance-type-row{
  display:grid !important;
  grid-template-columns:132px minmax(210px,1fr) 112px 32px !important;
  gap:10px !important;
  align-items:end !important;
  padding:12px !important;
  border:1px solid #dbe3ef !important;
  background:#fff !important;
}

.os-maintenance-type-row label{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
  margin:0 !important;
  color:#334155 !important;
  font-size:12px !important;
  font-weight:600 !important;
}

.os-maintenance-type-row .input{
  height:36px !important;
  min-height:36px !important;
  border-radius:0 !important;
}

.os-maintenance-row-color{
  width:112px !important;
  max-width:112px !important;
  min-width:0 !important;
  padding:3px !important;
  cursor:pointer !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

.os-maintenance-row-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  min-height:36px !important;
}

.os-maintenance-fixed-badge{
  display:inline-flex !important;
  align-items:center !important;
  min-height:28px !important;
  padding:0 8px !important;
  border:1px solid #dbe3ef !important;
  background:#f8fafc !important;
  color:#64748b !important;
  font-size:11px !important;
  white-space:nowrap !important;
}

.os-maintenance-row-remove{
  width:30px !important;
  height:30px !important;
  border:0 !important;
  background:transparent !important;
  color:#ef4444 !important;
  font-size:20px !important;
  cursor:pointer !important;
  box-shadow:none !important;
}

.os-maintenance-add-custom{
  margin-bottom:14px !important;
}

.os-maintenance-types-actions{
  display:flex !important;
  justify-content:flex-end !important;
  gap:10px !important;
}

@media (max-width:760px){
  .os-maintenance-type-row{
    grid-template-columns:1fr !important;
  }
  .os-maintenance-row-actions{
    justify-content:flex-start !important;
  }
}


/* Correção definitiva: histórico com o mesmo card da O.S. e responsáveis visíveis */
#asset-history-modal .asset-history-list .os-service-card{
  overflow:visible !important;
}
#asset-history-modal .asset-history-list .os-service-card-header{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) auto !important;
  align-items:start !important;
  gap:16px !important;
  overflow:visible !important;
}
#asset-history-modal .asset-history-list .os-service-card-header-left{
  display:flex !important;
  align-items:flex-start !important;
  gap:20px !important;
  min-width:0 !important;
}
#asset-history-modal .asset-history-list .os-service-card-number-wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:9px !important;
  margin-left:auto !important;
  flex:0 0 auto !important;
  min-width:max-content !important;
  align-self:flex-start !important;
  overflow:visible !important;
}
#asset-history-modal .asset-history-list .os-service-card-number-wrap .os-service-card-number{
  margin-left:0 !important;
}
#asset-history-modal .asset-history-list .os-card-responsaveis-avatars{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:3px !important;
  max-width:154px !important;
  flex-wrap:nowrap !important;
  overflow:visible !important;
  cursor:pointer !important;
}
#asset-history-modal .asset-history-list .os-card-responsaveis-avatars:empty{
  display:none !important;
}
#asset-history-modal .asset-history-list .os-card-responsavel-avatar{
  width:32px !important;
  height:32px !important;
  min-width:32px !important;
  max-width:32px !important;
  border-radius:50% !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
#asset-history-modal .asset-history-list .os-service-card-detail-mobile-avatars{
  display:none !important;
}
#asset-history-modal .asset-history-list .os-service-card-responsavel-meta .os-service-card-meta-value{
  max-width:260px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  display:inline-block !important;
  vertical-align:bottom !important;
}
@media(max-width:760px){
  #asset-history-modal .asset-history-list .os-service-card-number-wrap > .os-card-responsaveis-avatars{
    display:none !important;
  }
  #asset-history-modal .asset-history-list .os-service-card-detail-mobile-avatars{
    display:inline-flex !important;
    margin-left:auto !important;
  }
  #asset-history-modal .asset-history-list .os-service-card-header-left{
    flex-wrap:nowrap !important;
  }
}


/* Correção: modal de responsáveis sempre acima de outros modais e histórico. */
dialog.os-card-responsaveis-modal{
  border:0 !important;
  margin:0 !important;
  width:100vw !important;
  height:100vh !important;
  max-width:none !important;
  max-height:none !important;
  min-width:100vw !important;
  min-height:100vh !important;
  z-index:2147483646 !important;
}
dialog.os-card-responsaveis-modal::backdrop{
  background:transparent !important;
}
dialog.os-card-responsaveis-modal:not([open]){
  display:none !important;
}
#asset-history-modal .asset-history-list .os-card-responsavel-avatar.has-image .os-card-responsavel-avatar-img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  border-radius:50% !important;
}


/* Ajuste solicitado: Código e Solicitante alinhados no topo com o campo Responsável. */
.os-code-field,
.os-solicitante-field {
  align-self: start !important;
  align-content: start !important;
}

/* Ajuste solicitado: status do card de Histórico sem quebra de linha. */
#asset-history-modal .asset-history-list .os-service-card-header-left > .os-status-card,
#asset-history-modal .asset-history-list .os-status-card{
  width: max-content !important;
  min-width: 142px !important;
  max-width: none !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 5px 12px !important;
  box-sizing: border-box !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  flex-wrap: nowrap !important;
  line-height: 1 !important;
}
#asset-history-modal .asset-history-list .os-status-card > span,
#asset-history-modal .asset-history-list .os-status-card .os-status-card-label{
  display: inline-block !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}
#asset-history-modal .asset-history-list .os-status-card img,
#asset-history-modal .asset-history-list .os-status-card svg{
  flex: 0 0 15px !important;
}


/* ===== Endereço completo com CEP automático ===== */
#user-modal .company-edit-modal-card{
  width:min(680px, calc(100vw - 32px)) !important;
}

#user-modal .company-address-edit-block{
  margin-top:2px !important;
}

#user-modal .company-address-edit-title{
  font-size:15px !important;
  color:#334155 !important;
  margin:4px 0 8px !important;
}

#user-modal .company-address-edit-grid{
  display:grid !important;
  grid-template-columns:minmax(130px, .42fr) minmax(110px, .32fr) minmax(0, 1fr) !important;
  gap:10px 12px !important;
  align-items:end !important;
}

#user-modal .company-address-edit-grid .modal-field{
  margin:0 !important;
}

#user-modal .company-edit-street-field,
#user-modal .company-edit-complement-field{
  grid-column:1 / -1 !important;
}

#user-modal .company-edit-neighborhood-field{
  grid-column:1 / 2 !important;
}

#user-modal .company-edit-city-field{
  grid-column:2 / 3 !important;
}

#user-modal .company-edit-state-field{
  grid-column:3 / 4 !important;
  max-width:96px !important;
}

#user-modal .company-cep-status{
  min-height:18px !important;
  margin-top:6px !important;
  font-size:12px !important;
  color:#64748b !important;
}

#user-modal .company-cep-status.is-error{
  color:#b91c1c !important;
}

#user-modal .company-cep-status.is-ok{
  color:#166534 !important;
}

@media (max-width: 720px){
  #user-modal .company-address-edit-grid{
    grid-template-columns:1fr !important;
  }
  #user-modal .company-edit-street-field,
  #user-modal .company-edit-complement-field,
  #user-modal .company-edit-neighborhood-field,
  #user-modal .company-edit-city-field,
  #user-modal .company-edit-state-field{
    grid-column:auto !important;
    max-width:none !important;
  }
}

/* Leitura do instrumento de medição no final do procedimento da O.S. */
.os-procedimento-exec-wrap .os-proc-measurement-card{margin-top:14px;}
.os-procedimento-exec-wrap .os-proc-medicao-grid{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(150px,.8fr) minmax(130px,.6fr);gap:12px;align-items:start;}
.os-procedimento-exec-wrap .os-proc-medicao-field{display:flex;flex-direction:column;gap:7px;color:#25324a;font-size:13px;font-weight:700;}
.os-procedimento-exec-wrap .os-proc-medicao-field small{font-weight:700;color:#7a879a;}
.os-procedimento-exec-wrap .os-proc-medicao-obs-field{grid-column:1/-1;}
.os-procedimento-exec-wrap .os-proc-medicao-obs{min-height:70px;resize:vertical;}
.os-procedimento-exec-wrap .os-proc-medicao-grid .input:focus{border-color:#2d8cf0;box-shadow:0 0 0 1px rgba(45,140,240,.12);outline:none;}
@media(max-width:900px){.os-procedimento-exec-wrap .os-proc-medicao-grid{grid-template-columns:1fr;}.os-procedimento-exec-wrap .os-proc-medicao-obs-field{grid-column:auto;}}

/* Ajuste: instrumento de medição como etapa 4 independente e sem negrito */
#proc-modal .proc-final-medicao-section{display:block!important;background:#fff!important;border:1px solid #dbe3ef!important;padding:16px!important;box-sizing:border-box!important;}
#proc-modal .proc-final-medicao-section .proc-form-card-head{margin-bottom:12px!important;}
#proc-modal .proc-final-medicao-title,.os-procedimento-exec-wrap .proc-final-medicao-title,.proc-card-expanded .proc-final-medicao-title{display:block!important;color:#111827!important;font-size:15px!important;font-weight:400!important;line-height:1.25!important;min-height:0!important;align-items:initial!important;}
#proc-modal .proc-final-medicao-tag{color:#7a879a!important;font-size:12px!important;font-weight:400!important;white-space:nowrap!important;}
#proc-modal .proc-final-medicao-desc{color:#64748b!important;font-size:13px!important;font-weight:400!important;line-height:1.45!important;margin:0 0 12px 0!important;}
#proc-modal .proc-final-medicao-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;margin-left:0!important;}
#proc-modal .proc-final-medicao-grid .asset-spec-field,.os-procedimento-exec-wrap .os-proc-medicao-field{display:flex!important;flex-direction:column!important;gap:6px!important;min-width:0!important;color:#25324a!important;font-size:12px!important;font-weight:400!important;}
#proc-modal .proc-final-medicao-grid .asset-spec-field span,.os-procedimento-exec-wrap .os-proc-medicao-field small{color:#25324a!important;font-size:12px!important;font-weight:400!important;}
#proc-modal .proc-final-medicao-grid .input,.os-procedimento-exec-wrap .os-proc-final-medicao-grid .input{width:100%!important;min-height:36px!important;border:1px solid #dbe3ef!important;background:#fff!important;color:#4a5870!important;font-size:13px!important;font-weight:400!important;border-radius:0!important;box-shadow:none!important;}
#proc-modal .proc-final-medicao-grid .input:focus,.os-procedimento-exec-wrap .os-proc-final-medicao-grid .input:focus{border-color:#2c94fc!important;outline:none!important;box-shadow:none!important;}
.os-procedimento-exec-wrap .os-proc-final-medicao-section{margin-top:0!important;}
.os-procedimento-exec-wrap .os-proc-final-medicao-step{display:block!important;width:100%!important;min-width:0!important;background:#fff!important;border:1px solid #dbe3ef!important;padding:14px!important;box-sizing:border-box!important;overflow:hidden!important;}
.os-procedimento-exec-wrap .os-proc-final-medicao-info{display:flex!important;flex-wrap:wrap!important;gap:8px 14px!important;margin:8px 0 12px 0!important;color:#516079!important;font-size:12px!important;font-weight:400!important;}
.os-procedimento-exec-wrap .os-proc-final-medicao-info span,.proc-card-expanded .proc-expand-check-medicao span,.proc-card-expanded .proc-expand-check-medicao-title{font-weight:400!important;}
.os-procedimento-exec-wrap .os-proc-final-medicao-grid{display:grid!important;grid-template-columns:minmax(160px,.8fr) minmax(130px,.5fr) minmax(240px,1.4fr)!important;gap:10px!important;margin-left:0!important;}
.proc-card-expanded .proc-expand-check-medicao strong,.proc-card-expanded .proc-expand-check-medicao b{font-weight:400!important;}
@media(max-width:900px){#proc-modal .proc-final-medicao-grid,.os-procedimento-exec-wrap .os-proc-final-medicao-grid{grid-template-columns:1fr!important;}}


/* Correção visual da etapa 4 - instrumento de medição */
#proc-modal .proc-final-medicao-section{
  display:block!important;
  background:#fff!important;
  border:1px solid #dbe3ef!important;
  padding:16px!important;
  box-sizing:border-box!important;
  margin-top:0!important;
}
#proc-modal .proc-final-medicao-head,
.os-procedimento-exec-wrap .os-proc-final-medicao-section-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:14px!important;
  padding:0!important;
}
#proc-modal .proc-final-medicao-head .proc-form-title-wrap,
.os-procedimento-exec-wrap .os-proc-final-medicao-section-head .proc-form-title-wrap,
.proc-card-expanded .proc-final-medicao-head .proc-form-title-wrap{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  flex:1 1 auto!important;
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
}
#proc-modal .proc-final-medicao-head .proc-form-title-wrap > div,
.os-procedimento-exec-wrap .os-proc-final-medicao-section-head .proc-form-title-wrap > div,
.proc-card-expanded .proc-final-medicao-head .proc-form-title-wrap > div{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
}
#proc-modal .proc-final-medicao-title,
.os-procedimento-exec-wrap .proc-final-medicao-title,
.proc-card-expanded .proc-final-medicao-title{
  display:block!important;
  color:#111827!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.2!important;
  margin:0!important;
  white-space:normal!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
}
#proc-modal .proc-final-medicao-head small,
.os-procedimento-exec-wrap .os-proc-final-medicao-section-head small,
.proc-card-expanded .proc-final-medicao-head small{
  display:block!important;
  color:#7a879a!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.35!important;
  margin-top:4px!important;
  white-space:normal!important;
  width:auto!important;
  max-width:none!important;
}
#proc-modal .proc-final-medicao-tag{
  flex:0 0 auto!important;
  color:#7a879a!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  margin-top:2px!important;
}
#proc-modal .proc-final-medicao-desc{display:none!important;}
#proc-modal .proc-final-medicao-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,360px))!important;
  gap:12px!important;
  align-items:start!important;
  justify-content:start!important;
  margin:0!important;
  width:100%!important;
  max-width:none!important;
}
#proc-modal .proc-final-medicao-grid .asset-spec-field{
  display:grid!important;
  gap:7px!important;
  min-width:0!important;
  width:100%!important;
  max-width:360px!important;
  color:#6b7280!important;
  font-size:13px!important;
  font-weight:400!important;
}
#proc-modal .proc-final-medicao-grid .asset-spec-field span{
  color:#7b8698!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
}
#proc-modal .proc-final-medicao-grid .input{
  width:100%!important;
  min-height:36px!important;
  height:36px!important;
  border:1px solid #dbe3ef!important;
  background:#fff!important;
  color:#4a5870!important;
  font-size:13px!important;
  font-weight:400!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:8px 12px!important;
  box-sizing:border-box!important;
}
#proc-modal .proc-final-medicao-grid .input:focus{
  border-color:#2d8cf0!important;
  outline:none!important;
  box-shadow:none!important;
}
.os-procedimento-exec-wrap .os-proc-final-medicao-section{
  margin-top:0!important;
}
.os-procedimento-exec-wrap .os-proc-final-medicao-step{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  background:#fff!important;
  border:1px solid #dbe3ef!important;
  padding:16px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.os-procedimento-exec-wrap .os-proc-final-medicao-info{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px 14px!important;
  margin:8px 0 12px 0!important;
  color:#516079!important;
  font-size:12px!important;
  font-weight:400!important;
}
.os-procedimento-exec-wrap .os-proc-final-medicao-info span,
.proc-card-expanded .proc-expand-check-medicao span,
.proc-card-expanded .proc-expand-check-medicao-title{
  font-weight:400!important;
}
.os-procedimento-exec-wrap .os-proc-final-medicao-grid{
  display:grid!important;
  grid-template-columns:minmax(0,360px) minmax(0,160px) minmax(0,360px)!important;
  gap:12px!important;
  align-items:start!important;
  justify-content:start!important;
  margin:0!important;
  width:100%!important;
}
.os-procedimento-exec-wrap .os-proc-medicao-field{
  display:grid!important;
  gap:7px!important;
  min-width:0!important;
  color:#6b7280!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
}
.os-procedimento-exec-wrap .os-proc-medicao-obs-field{grid-column:auto!important;}
.os-procedimento-exec-wrap .os-proc-final-medicao-grid .input{
  width:100%!important;
  min-height:36px!important;
  border:1px solid #dbe3ef!important;
  background:#fff!important;
  color:#4a5870!important;
  font-size:13px!important;
  font-weight:400!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:8px 12px!important;
  box-sizing:border-box!important;
}
.os-procedimento-exec-wrap .os-proc-final-medicao-grid textarea.input{
  min-height:36px!important;
  height:36px!important;
  resize:vertical!important;
}
@media(max-width:900px){
  #proc-modal .proc-final-medicao-grid,
  .os-procedimento-exec-wrap .os-proc-final-medicao-grid{
    grid-template-columns:1fr!important;
  }
  #proc-modal .proc-final-medicao-grid .asset-spec-field{
    max-width:none!important;
  }
}


/* Correção definitiva: Etapa 4 - Instrumento de medição sem quebra indevida */
#proc-modal #proc-final-medicao-card .proc-final-medicao-head,
.os-procedimento-exec-wrap .os-proc-final-medicao-section-head,
.proc-card-expanded .proc-expand-step-card .proc-form-card-head:has(.proc-final-medicao-title){
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr) auto!important;
  column-gap:12px!important;
  row-gap:0!important;
  align-items:start!important;
  justify-content:stretch!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0 0 14px 0!important;
  padding:0!important;
}
#proc-modal #proc-final-medicao-card .proc-final-medicao-head .proc-form-title-wrap,
.os-procedimento-exec-wrap .os-proc-final-medicao-section-head .proc-form-title-wrap,
.proc-card-expanded .proc-expand-step-card .proc-form-card-head:has(.proc-final-medicao-title) .proc-form-title-wrap{
  display:contents!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
}
#proc-modal #proc-final-medicao-card .proc-final-medicao-head .proc-step-dot,
.os-procedimento-exec-wrap .os-proc-final-medicao-section-head .proc-step-dot,
.proc-card-expanded .proc-expand-step-card .proc-form-card-head:has(.proc-final-medicao-title) .proc-step-dot{
  grid-column:1!important;
  grid-row:1!important;
  width:30px!important;
  min-width:30px!important;
  height:30px!important;
  margin:0!important;
}
#proc-modal #proc-final-medicao-card .proc-final-medicao-head .proc-form-title-wrap > div,
.os-procedimento-exec-wrap .os-proc-final-medicao-section-head .proc-form-title-wrap > div,
.proc-card-expanded .proc-expand-step-card .proc-form-card-head:has(.proc-final-medicao-title) > div:not(.proc-step-dot),
.proc-card-expanded .proc-expand-step-card .proc-form-card-head:has(.proc-final-medicao-title) .proc-form-title-wrap > div{
  grid-column:2!important;
  grid-row:1!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:visible!important;
  text-align:left!important;
}
#proc-modal #proc-final-medicao-card .proc-final-medicao-title,
.os-procedimento-exec-wrap .os-proc-final-medicao-title,
.proc-card-expanded .proc-final-medicao-title{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  color:#111827!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.25!important;
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  text-align:left!important;
}
#proc-modal #proc-final-medicao-card .proc-final-medicao-head small,
.os-procedimento-exec-wrap .os-proc-final-medicao-section-head small,
.proc-card-expanded .proc-expand-step-card .proc-form-card-head:has(.proc-final-medicao-title) small{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:4px 0 0 0!important;
  color:#7a879a!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.35!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  text-align:left!important;
}
#proc-modal #proc-final-medicao-card .proc-final-medicao-tag{
  grid-column:3!important;
  grid-row:1!important;
  justify-self:end!important;
  align-self:start!important;
  display:block!important;
  margin:2px 0 0 10px!important;
  white-space:nowrap!important;
  color:#7a879a!important;
  font-size:12px!important;
  font-weight:400!important;
}
#proc-modal #proc-final-medicao-card .proc-final-medicao-grid{
  display:grid!important;
  grid-template-columns:minmax(0,360px) minmax(0,360px) minmax(0,360px)!important;
  gap:12px!important;
  align-items:start!important;
  justify-content:start!important;
  width:100%!important;
  margin:0!important;
}
#proc-modal #proc-final-medicao-card .proc-final-medicao-grid .asset-spec-field{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  width:100%!important;
  max-width:360px!important;
  min-width:0!important;
  color:#525866!important;
  font-size:13px!important;
  font-weight:400!important;
}
#proc-modal #proc-final-medicao-card .proc-final-medicao-grid .asset-spec-field span{
  color:#525866!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.35!important;
}
#proc-modal #proc-final-medicao-card .proc-final-medicao-grid .input,
.os-procedimento-exec-wrap .os-proc-final-medicao-grid .input{
  height:36px!important;
  min-height:36px!important;
  width:100%!important;
  border:1px solid #dbe3ef!important;
  border-radius:0!important;
  background:#fff!important;
  color:#4a5870!important;
  font-size:13px!important;
  font-weight:400!important;
  padding:8px 12px!important;
  box-sizing:border-box!important;
  box-shadow:none!important;
}
@media(max-width:900px){
  #proc-modal #proc-final-medicao-card .proc-final-medicao-head,
  .os-procedimento-exec-wrap .os-proc-final-medicao-section-head{
    grid-template-columns:30px minmax(0,1fr)!important;
  }
  #proc-modal #proc-final-medicao-card .proc-final-medicao-tag{
    grid-column:2!important;
    grid-row:2!important;
    justify-self:start!important;
    margin:6px 0 0 0!important;
  }
  #proc-modal #proc-final-medicao-card .proc-final-medicao-grid,
  .os-procedimento-exec-wrap .os-proc-final-medicao-grid{
    grid-template-columns:1fr!important;
  }
  #proc-modal #proc-final-medicao-card .proc-final-medicao-title,
  .os-procedimento-exec-wrap .os-proc-final-medicao-title{
    white-space:normal!important;
  }
}

/* NAVARIS 2026-06-29: procedimento usa a cor exata do tipo da O.S. e critério alinhado ao rótulo */
body[data-page="procedimento"] .proc-card-type-badge .os-list-badge.os-maintenance-custom-color,
body[data-page="procedimento"] .proc-type-card-select .os-card-option.os-maintenance-custom-color,
body[data-page="procedimento"] .proc-type-card-select .os-card-select-value.os-maintenance-custom-color{
  background:var(--os-maintenance-color) !important;
  border-color:var(--os-maintenance-color) !important;
  color:#ffffff !important;
}
body[data-page="procedimento"] .proc-card-type-badge .os-list-badge{
  border-radius:0 !important;
  box-shadow:none !important;
}
body[data-page="procedimento"] .proc-service-card .proc-card-summary .proc-card-criterio-item{
  flex:1 1 100% !important;
  width:100% !important;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:flex-start !important;
  gap:5px !important;
  line-height:1.45 !important;
}
body[data-page="procedimento"] .proc-service-card .proc-card-summary .proc-card-criterio-item .os-service-card-meta-label{
  flex:0 0 auto !important;
  white-space:nowrap !important;
}
body[data-page="procedimento"] .proc-service-card .proc-card-summary .proc-card-criterio-item .os-service-card-meta-value{
  flex:1 1 auto !important;
  min-width:0 !important;
  display:inline !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}

/* Anexos técnicos do item no estoque */
body[data-page="estoque"] .stock-attachments-row{
  display:grid;
  gap:12px;
}
body[data-page="estoque"] .stock-attachment-controls{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
}
body[data-page="estoque"] .stock-attachment-controls .stock-file-field{
  min-width:520px;
}
body[data-page="estoque"] .stock-attachment-list{
  display:grid;
  gap:8px;
}
body[data-page="estoque"] .stock-attachments-empty{
  border:1px dashed #cbd7e8;
  background:#f8fbff;
  color:#70809a;
  font-size:13px;
  padding:12px 14px;
}
body[data-page="estoque"] .stock-attachment-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:stretch;
  gap:8px;
}
body[data-page="estoque"] .stock-attachment-open{
  border:1px solid #dbe3ef;
  background:#fff;
  color:#26364f;
  min-height:42px;
  padding:8px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  text-align:left;
  cursor:pointer;
}
body[data-page="estoque"] .stock-attachment-open:hover,
body[data-page="estoque"] .stock-attachment-open:focus-visible{
  border-color:#2d8cf0;
  color:#2d8cf0;
  outline:none;
}
body[data-page="estoque"] .stock-attachment-open strong,
body[data-page="estoque"] .stock-attachment-open small{
  display:block;
}
body[data-page="estoque"] .stock-attachment-open strong{
  font-size:13px;
  font-weight:800;
  word-break:break-word;
}
body[data-page="estoque"] .stock-attachment-open small{
  color:#70809a;
  font-size:11px;
  margin-top:2px;
}
body[data-page="estoque"] .stock-attachment-open em{
  font-style:normal;
  color:#2d8cf0;
  font-size:12px;
  font-weight:900;
}
body[data-page="estoque"] .stock-attachment-remove{
  border:1px solid #f2c4c4;
  background:#fff;
  color:#d12525;
  padding:0 12px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
body[data-page="estoque"] .stock-attachment-remove:hover{
  background:#fff5f5;
  border-color:#d12525;
}
body[data-page="estoque"] .stock-attachment-controls label.stock-file-label{
  min-width:0 !important;
}
@media(max-width:760px){
  body[data-page="estoque"] .stock-attachment-controls .stock-file-field{min-width:0;width:100%;}
  body[data-page="estoque"] .stock-attachment-item{grid-template-columns:1fr;}
  body[data-page="estoque"] .stock-attachment-remove{height:36px;}
}

/* NAVARIS 2026-06-29: ajuste do modal de item - sem rolagem externa e fonte dos anexos padronizada */
html.stock-item-modal-open,
body.stock-item-modal-open,
html:has(body[data-page="estoque"] #estoque-item-modal[open]),
body[data-page="estoque"]:has(#estoque-item-modal[open]){
  overflow:hidden !important;
}
body[data-page="estoque"] #estoque-item-modal{
  overflow:hidden !important;
  max-width:100vw !important;
  max-height:100vh !important;
}
body[data-page="estoque"] #estoque-item-modal .estoque-item-card{
  max-height:calc(100dvh - 36px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}
body[data-page="estoque"] .stock-attachment-open,
body[data-page="estoque"] .stock-attachment-open strong,
body[data-page="estoque"] .stock-attachment-open small,
body[data-page="estoque"] .stock-attachment-open em,
body[data-page="estoque"] .stock-attachment-remove,
body[data-page="estoque"] #stock-attachment-count{
  font-family:inherit !important;
  font-weight:400 !important;
  line-height:1.25 !important;
}
body[data-page="estoque"] .stock-attachment-open,
body[data-page="estoque"] .stock-attachment-open strong,
body[data-page="estoque"] .stock-attachment-open em,
body[data-page="estoque"] .stock-attachment-remove,
body[data-page="estoque"] #stock-attachment-count{
  font-size:14px !important;
}
body[data-page="estoque"] .stock-attachment-open small{
  font-size:12px !important;
}

/* NAVARIS 2026-06-29: correção - modal de item mantém tamanho após anexar arquivos */
body[data-page="estoque"] #estoque-item-modal[open]{
  position:fixed !important;
  top:18px !important;
  left:50% !important;
  right:auto !important;
  bottom:auto !important;
  transform:translateX(-50%) !important;
  width:min(1050px, calc(100vw - 44px)) !important;
  height:calc(100dvh - 36px) !important;
  max-width:calc(100vw - 44px) !important;
  max-height:calc(100dvh - 36px) !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:transparent !important;
  box-sizing:border-box !important;
}
body[data-page="estoque"] #estoque-item-modal .estoque-item-card{
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:none !important;
  max-height:none !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  box-sizing:border-box !important;
}
body[data-page="estoque"] #estoque-item-modal .estoque-form-sections,
body[data-page="estoque"] #estoque-item-modal .estoque-form-section,
body[data-page="estoque"] #estoque-item-modal .stock-attachments-row,
body[data-page="estoque"] #estoque-item-modal .stock-attachment-list,
body[data-page="estoque"] #estoque-item-modal .stock-attachment-item,
body[data-page="estoque"] #estoque-item-modal .stock-attachment-open,
body[data-page="estoque"] #estoque-item-modal .stock-attachment-open span,
body[data-page="estoque"] #estoque-item-modal .stock-file-field,
body[data-page="estoque"] #estoque-item-modal .stock-file-control,
body[data-page="estoque"] #estoque-item-modal .stock-file-name{
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
body[data-page="estoque"] #estoque-item-modal .stock-attachment-open strong{
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}
body[data-page="estoque"] #estoque-item-modal .stock-file-name,
body[data-page="estoque"] #estoque-item-modal #stock-attachment-count{
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/* NAVARIS 2026-06-29: correção definitiva do modal de item do estoque após anexar arquivos */
html.stock-item-modal-open,
body.stock-item-modal-open,
html:has(body[data-page="estoque"] #estoque-item-modal[open]),
body[data-page="estoque"]:has(#estoque-item-modal[open]){
  overflow:hidden !important;
}
body[data-page="estoque"] #estoque-item-modal[open]{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100dvh !important;
  max-width:none !important;
  max-height:none !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:18px 22px !important;
  overflow:hidden !important;
  background:transparent !important;
  box-sizing:border-box !important;
  transform:none !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
}
body[data-page="estoque"] #estoque-item-modal[open] .estoque-item-card{
  width:min(1050px, calc(100vw - 44px)) !important;
  height:calc(100dvh - 36px) !important;
  min-height:0 !important;
  max-width:calc(100vw - 44px) !important;
  max-height:calc(100dvh - 36px) !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  border-radius:0 !important;
}
body[data-page="estoque"] #estoque-item-modal[open] .modal-title,
body[data-page="estoque"] #estoque-item-modal[open] .asset-modal-subtitle,
body[data-page="estoque"] #estoque-item-modal[open] #stock-item-id{
  flex:0 0 auto !important;
}
body[data-page="estoque"] #estoque-item-modal[open] .estoque-form-sections{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-right:8px !important;
  padding-bottom:8px !important;
  box-sizing:border-box !important;
}
body[data-page="estoque"] #estoque-item-modal[open] .proc-modal-actions{
  flex:0 0 auto !important;
  margin-top:12px !important;
  padding:12px 0 16px !important;
  border-top:1px solid #e4e9f2 !important;
  background:#fff !important;
  box-sizing:border-box !important;
}
body[data-page="estoque"] #estoque-item-modal[open] .stock-attachment-list,
body[data-page="estoque"] #estoque-item-modal[open] .stock-attachment-item,
body[data-page="estoque"] #estoque-item-modal[open] .stock-attachment-open,
body[data-page="estoque"] #estoque-item-modal[open] .stock-attachment-open span,
body[data-page="estoque"] #estoque-item-modal[open] .stock-file-field,
body[data-page="estoque"] #estoque-item-modal[open] .stock-file-control,
body[data-page="estoque"] #estoque-item-modal[open] .stock-file-name{
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
body[data-page="estoque"] #estoque-item-modal[open] .stock-attachment-open strong{
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}
body[data-page="estoque"] #estoque-item-modal[open] .stock-file-name,
body[data-page="estoque"] #estoque-item-modal[open] #stock-attachment-count{
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
@media(max-width:760px){
  body[data-page="estoque"] #estoque-item-modal[open]{padding:10px !important;}
  body[data-page="estoque"] #estoque-item-modal[open] .estoque-item-card{
    width:calc(100vw - 20px) !important;
    max-width:calc(100vw - 20px) !important;
    height:calc(100dvh - 20px) !important;
    max-height:calc(100dvh - 20px) !important;
  }
}

/* NAVARIS 2026-06-29: correção do recuo ao abrir a janela de seleção de arquivos */
body[data-page="estoque"] #estoque-item-modal .stock-file-input{
  display:none !important;
}
body[data-page="estoque"] #estoque-item-modal .stock-file-label{
  appearance:none !important;
  -webkit-appearance:none !important;
  font-family:inherit !important;
}
body[data-page="estoque"] #estoque-item-modal[open]{
  position:fixed !important;
  inset:0 auto auto 0 !important;
  width:100vw !important;
  height:100vh !important;
  min-height:620px !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:18px 22px !important;
  overflow:hidden !important;
  transform:none !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  box-sizing:border-box !important;
}
body[data-page="estoque"] #estoque-item-modal[open] .estoque-item-card{
  width:min(1050px, calc(100vw - 44px)) !important;
  height:calc(100vh - 36px) !important;
  min-height:584px !important;
  max-width:calc(100vw - 44px) !important;
  max-height:none !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  margin:0 !important;
  box-sizing:border-box !important;
}

/* NAVARIS 2026-06-29: ajuste solicitado - X do modal de item no lado direito, sem borda */
body[data-page="estoque"] #estoque-item-modal[open] .estoque-item-card{
  position:relative !important;
}
body[data-page="estoque"] #estoque-item-modal[open] #btn-close-stock-modal,
body[data-page="estoque"] #estoque-item-modal #btn-close-stock-modal.modal-close.estoque-modal-close{
  position:absolute !important;
  top:14px !important;
  right:14px !important;
  left:auto !important;
  bottom:auto !important;
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  max-width:28px !important;
  min-height:28px !important;
  max-height:28px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  outline:none !important;
  box-shadow:none !important;
  background:transparent !important;
  color:#111827 !important;
  font-size:18px !important;
  font-weight:400 !important;
  line-height:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
  z-index:20 !important;
}
body[data-page="estoque"] #estoque-item-modal[open] #btn-close-stock-modal:hover,
body[data-page="estoque"] #estoque-item-modal[open] #btn-close-stock-modal:focus,
body[data-page="estoque"] #estoque-item-modal[open] #btn-close-stock-modal:focus-visible{
  border:0 !important;
  outline:none !important;
  box-shadow:none !important;
  background:transparent !important;
}
body[data-page="estoque"] #estoque-item-modal[open] .modal-title,
body[data-page="estoque"] #estoque-item-modal[open] .asset-modal-subtitle{
  padding-right:44px !important;
}

/* === NAVARIS CMMS - Sidebar fixa no desktop ===
   Mantém o menu lateral esquerdo parado enquanto o conteúdo da página rola. */
@media screen and (min-width: 761px) {
  .sidebar-layout {
    display: flex !important;
    min-height: 100vh !important;
    width: 100% !important;
    overflow: visible !important;
  }

  .sidebar-layout > .sidebar,
  #app-sidebar.sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    height: 100vh !important;
    max-height: 100vh !important;
    z-index: 1200 !important;
    overflow: hidden !important;
  }

  .sidebar-layout > .sidebar .sidebar-nav,
  #app-sidebar.sidebar .sidebar-nav {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .sidebar-layout > .sidebar .sidebar-footer,
  #app-sidebar.sidebar .sidebar-footer {
    flex: 0 0 auto !important;
  }

  .sidebar-layout > .dashboard-container.sidebar-main {
    flex: none !important;
    width: calc(100% - 264px) !important;
    max-width: none !important;
    min-height: 100vh !important;
    margin: 0 0 0 264px !important;
    box-sizing: border-box !important;
  }

  body.sidebar-collapsed .sidebar-layout > .dashboard-container.sidebar-main {
    width: calc(100% - 76px) !important;
    margin-left: 76px !important;
  }
}

@media screen and (min-width: 761px) and (max-width: 1100px) {
  .sidebar-layout > .dashboard-container.sidebar-main {
    width: calc(100% - 76px) !important;
    margin-left: 76px !important;
  }
}

/* Ajuste: descrição do defeito/serviço visível completa em O.S. e Solicitação */
.os-detail-opening-description,
.os-detail-combined-card .os-detail-opening-description{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
  white-space:pre-wrap !important;
  overflow-wrap:anywhere !important;
  resize:none !important;
  box-sizing:border-box !important;
  line-height:1.45 !important;
  padding:10px 14px !important;
}

/* Ajuste final: descrição do defeito/serviço sem corte, sem altura fixa */
.os-detail-opening-description-box,
.os-detail-combined-card .os-detail-opening-description-box{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
  white-space:pre-wrap !important;
  overflow-wrap:anywhere !important;
  resize:none !important;
  box-sizing:border-box !important;
  line-height:1.45 !important;
  padding:10px 14px !important;
  border:1px solid #dde1ea !important;
  border-radius:0 !important;
  background:#fff !important;
  color:#8a94a3 !important;
  font-size:14px !important;
  font-family:inherit !important;
}


/* =========================================================
   Chronos IoT — faixa compacta acima dos logos
   ========================================================= */
.sidebar-chronos-banner {
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  flex: 0 0 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  padding: 3px 10px !important;
  background: #000 !important;
  border: 1px solid #111 !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  transition: opacity .16s ease, box-shadow .16s ease !important;
}
.sidebar-chronos-banner:hover { opacity: .92 !important; }
.sidebar-chronos-banner:focus-visible {
  outline: 2px solid #258bfa !important;
  outline-offset: 2px !important;
}
.sidebar-chronos-banner.active {
  box-shadow: none !important;
}
.sidebar-chronos-banner-img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 84% !important;
  max-height: 34px !important;
  object-fit: contain !important;
}

/* Ao recolher o menu, a faixa do Chronos desaparece em qualquer página. */
body.sidebar-collapsed .sidebar-chronos-banner {
  display: none !important;
}

/* Entre 761 e 1100 px o menu já trabalha no formato compacto. */
@media screen and (min-width: 761px) and (max-width: 1100px) {
  .sidebar-chronos-banner {
    display: none !important;
  }
}

/* No menu mobile aberto, mantém a faixa fina. */
@media screen and (max-width: 760px) {
  body:not(.sidebar-collapsed) .sidebar-chronos-banner {
    display: flex !important;
    height: 40px !important;
    min-height: 40px !important;
    flex-basis: 40px !important;
    padding: 3px 9px !important;
  }
  body:not(.sidebar-collapsed) .sidebar-chronos-banner-img {
    max-width: 84% !important;
    max-height: 32px !important;
  }
}

/* Estoque: alternar os cards de navegação apenas em telas de celular. */
.estoque-cards-toggle-row{display:none}
@media (max-width:760px){
  body[data-page="estoque"] .estoque-cards-toggle-row{
    display:flex;
    justify-content:flex-end;
    margin:12px 0 0;
  }
  body[data-page="estoque"] .estoque-cards-visibility-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:38px;
    padding:0 13px;
    border:1px solid #dbe3ef;
    border-radius:0;
    background:#fff;
    color:#2c94fc;
    font-family:inherit;
    font-size:13px;
    font-weight:600;
    line-height:1.2;
    cursor:pointer;
  }
  body[data-page="estoque"] .estoque-cards-visibility-toggle:focus-visible{
    outline:2px solid #2c94fc;
    outline-offset:2px;
  }
  body[data-page="estoque"] .estoque-cards-toggle-chevron{
    display:inline-block;
    width:7px;
    height:7px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:translateY(-2px) rotate(45deg);
  }
  body[data-page="estoque"] .estoque-cards-visibility-toggle[aria-expanded="true"] .estoque-cards-toggle-chevron{
    transform:translateY(2px) rotate(225deg);
  }
  body[data-page="estoque"] #estoque-tabs.is-collapsed,
  body[data-page="estoque"] #estoque-kpis.is-collapsed{
    grid-template-columns:minmax(0,1fr) !important;
  }
  body[data-page="estoque"] #estoque-tabs.is-collapsed .estoque-tab:not(.active),
  body[data-page="estoque"] #estoque-kpis.is-collapsed .estoque-kpi:not(.is-mobile-selected){
    display:none !important;
  }
  body[data-page="estoque"] #estoque-kpis.is-collapsed .estoque-kpi.is-mobile-selected{
    border-color:#2c94fc;
    background:#f7fbff;
  }
}

/* Chronos e O.S.: status "Não Programado" sempre em uma linha (detalhes e lista). */
.os-service-card .os-status-card.pending,
.os-detail-modal .os-status-card.pending {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  flex: 0 0 auto !important;
  width: max-content !important;
  min-width: max-content !important;
  max-width: none !important;
  align-items: center !important;
  white-space: nowrap !important;
}
.os-service-card .os-status-card.pending > span,
.os-detail-modal .os-status-card.pending > span {
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  flex: 0 0 auto !important;
}


/* Ajuste solicitado 2026-10-10: modal O.S. mais largo/alto no mobile */
@media (max-width: 760px) {
  .os-detail-modal {
    width: calc(100vw - 6px) !important;
    max-width: calc(100vw - 6px) !important;
    margin: 3px auto !important;
  }
  .os-detail-card {
    min-height: calc(100vh - 10px) !important;
    max-height: calc(100vh - 10px) !important;
    padding: 16px 12px 18px !important;
  }
  .os-detail-header {
    margin: 12px 0 16px !important;
  }
}

/* CHRONOS 2026-10: Remover data sem afetar o status (Lista e Scrum).
   O X permanece dentro do mesmo card; nenhum card ou grade é redimensionado. */
body[data-page="ordem-servico"] .os-date-picker-shell.has-selected-date .os-date-picker-trigger,
body[data-page="solicitacao"] .os-date-picker-shell.has-selected-date .os-date-picker-trigger{
  padding-right:42px !important;
  border-color:#2d8cf0 !important;
  background:#f7fbff !important;
}
body[data-page="ordem-servico"] .os-date-picker-shell.has-selected-date .os-date-trigger-label,
body[data-page="solicitacao"] .os-date-picker-shell.has-selected-date .os-date-trigger-label{
  color:#2d8cf0 !important;
}
.os-date-picker-shell .os-date-clear-btn[hidden]{display:none !important;}
.os-date-picker-shell .os-date-clear-btn:not([hidden]){
  position:absolute;
  top:50%;right:9px;transform:translateY(-50%);
  width:23px;height:23px;
  display:flex !important;align-items:center;justify-content:center;
  cursor:pointer;border:0;border-radius:0;
  background:transparent;color:#7f8ca0;
  z-index:85;padding:0;
  opacity:.9;
}
.os-date-picker-shell .os-date-clear-btn:not([hidden]) svg{
  display:block;
  width:13px;
  height:13px;
}
.os-date-picker-shell .os-date-clear-btn:not([hidden]):hover,
.os-date-picker-shell .os-date-clear-btn:not([hidden]):focus-visible{
  color:#5d6b7d;background:transparent;
  outline:none;
  opacity:1;
}


/* Ajuste solicitado: número do card Em aberto no mesmo vermelho do ícone */
.os-metrics-sidebar .os-metric-card.backlog .os-metric-value,
body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card.backlog.is-active .os-metric-value,
body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card.backlog.is-mobile-selected .os-metric-value{
  color:#ef4444 !important;
}


/* Ajuste solicitado: ocultar aviso vazio no Scrum */
#os-user-board-empty{
  display:none !important;
}

/* Ajuste solicitado: valor do card Em aberto no mesmo vermelho do ícone */
body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card.backlog .os-metric-value,
body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card.backlog.is-active .os-metric-value,
body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card.backlog.is-mobile-selected .os-metric-value{
  color:#ef4444 !important;
}


/* Correção definitiva: número do card Em aberto sempre vermelho */
body[data-page="ordem-servico"] #os-metric-card-backlog .os-metric-value,
body[data-page="ordem-servico"] #os-metric-backlog{
  color:#ef4444 !important;
}

/* Chronos O.S. — Mobile: seleção de status tocando no card ativo */
.os-mobile-status-menu[hidden]{display:none !important;}
@media screen and (max-width:760px){
  /* Os antigos controles "Mostrar cards / Recolher cards" não fazem parte desta tela. */
  body[data-page="ordem-servico"] .os-mobile-status-toggle{
    display:none !important;
  }
  /* Sempre um único card de status visível; a data continua em seu próprio card. */
  body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card:not(.is-active),
  body[data-page="ordem-servico"].os-user-board-active .os-user-board-status-cards .os-user-board-status-card:not(.is-active){
    display:none !important;
  }
  body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card.is-active,
  body[data-page="ordem-servico"].os-user-board-active .os-user-board-status-cards .os-user-board-status-card.is-active{
    display:flex !important;
    position:relative !important;
    cursor:pointer !important;
    padding-right:46px !important;
    -webkit-tap-highlight-color:transparent;
  }
  body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card.is-active::after,
  body[data-page="ordem-servico"].os-user-board-active .os-user-board-status-cards .os-user-board-status-card.is-active::after{
    content:'';
    position:absolute;
    right:17px;
    top:50%;
    width:7px;
    height:7px;
    border-right:1.4px solid #94a3b8;
    border-bottom:1.4px solid #94a3b8;
    transform:translateY(-65%) rotate(45deg);
    pointer-events:none;
  }
  body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card.is-active[aria-expanded="true"]::after,
  body[data-page="ordem-servico"].os-user-board-active .os-user-board-status-cards .os-user-board-status-card.is-active[aria-expanded="true"]::after{
    transform:translateY(-20%) rotate(225deg);
  }
  body[data-page="ordem-servico"] .os-metrics-sidebar .os-metric-card.is-active:focus-visible,
  body[data-page="ordem-servico"].os-user-board-active .os-user-board-status-cards .os-user-board-status-card.is-active:focus-visible{
    outline:2px solid #2d8cff !important;
    outline-offset:2px;
  }
  .os-mobile-status-menu:not([hidden]){
    position:fixed !important;
    z-index:2147483000 !important;
    display:flex !important;
    flex-direction:column !important;
    box-sizing:border-box !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    padding:5px !important;
    border:1px solid #cbd9ec !important;
    border-radius:3px !important;
    background:#fff !important;
    box-shadow:0 12px 26px rgba(19,43,73,.17) !important;
  }
  .os-mobile-status-menu-heading{
    padding:9px 12px 8px;
    color:#78879a;
    font-size:11px;
    letter-spacing:.02em;
    font-weight:700;
    border-bottom:1px solid #edf1f7;
  }
  .os-mobile-status-option{
    display:flex;
    flex:0 0 auto;
    align-items:center;
    gap:10px;
    width:100%;
    box-sizing:border-box;
    min-height:46px;
    padding:8px 11px;
    border:0;
    border-bottom:1px solid #f1f4f8;
    border-radius:0;
    text-align:left;
    background:#fff;
    color:#23364c;
    cursor:pointer;
    font-size:12px;
    font-weight:600;
  }
  .os-mobile-status-option:last-child{border-bottom:0;}
  .os-mobile-status-option.is-selected{background:#edf5ff;color:#2475dc;}
  .os-mobile-status-option:active{background:#e8f3ff;}
  .os-mobile-status-option-icon{
    flex:0 0 auto;
    display:block;
    object-fit:contain;
    width:20px;
    height:20px;
  }
  .os-mobile-status-option-name{flex:1 1 auto;min-width:0;}
  .os-mobile-status-option-value{
    flex:0 0 auto;
    font-weight:800;
    font-size:13px;
    font-variant-numeric:tabular-nums;
  }
}


/* Chronos O.S. — seleção de executantes no mobile; Scrum é a visão única */
.os-mobile-users-filter[hidden], .os-mobile-users-menu[hidden], .os-mobile-users-specific[hidden], .os-mobile-users-warning[hidden]{display:none !important;}
@media screen and (min-width:761px){.os-mobile-users-filter{display:none !important;}}
@media screen and (max-width:760px){
  body[data-page="ordem-servico"] #btn-os-user-board,
  body[data-page="ordem-servico"] #btn-os-user-board.os-board-view-btn{display:none !important;}
  /* Distância entre o calendário e o filtro de executantes igual à dos demais cards. */
  body[data-page="ordem-servico"].os-user-board-active .os-user-board-status-cards{
    padding-bottom:0 !important;
    margin-bottom:0 !important;
  }
  body[data-page="ordem-servico"].os-user-board-active .os-mobile-users-filter{
    display:block !important;position:relative !important;margin:10px 0 16px !important;
    width:100% !important;box-sizing:border-box !important;
  }
  .os-mobile-users-trigger{
    display:flex;align-items:center;gap:14px;width:100%;min-height:58px;
    padding:14px 17px;border:1px solid #d8e2f0;border-radius:0;
    color:#102d49;background:#fff;text-align:left;cursor:pointer;
    box-sizing:border-box;font:inherit;
  }
  .os-mobile-users-icon{width:21px;height:21px;flex:none;fill:none;stroke:#6e859f;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
  .os-mobile-users-title{font-size:13px;font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .os-mobile-users-chevron{width:14px;height:14px;flex:none;stroke:#8b9aac;stroke-width:1.4;fill:none;stroke-linecap:round;stroke-linejoin:round;}
  .os-mobile-users-trigger[aria-expanded="true"] .os-mobile-users-chevron{transform:rotate(180deg);}
  .os-mobile-users-trigger:focus-visible{outline:2px solid #2d8cff;outline-offset:2px;}
  .os-mobile-users-menu{
    display:block;position:relative;z-index:95;padding:6px 10px 12px;
    margin-top:5px;background:#fff;border:1px solid #cfdbeb;
    box-shadow:0 9px 22px rgba(26,56,88,.12);box-sizing:border-box;
  }
  .os-mobile-users-heading{font-size:11px;font-weight:600;color:#7c8ba0;padding:10px 10px 11px;border-bottom:1px solid #edf1f5;}
  .os-mobile-users-choice{display:block;width:100%;text-align:left;background:#fff;border:0;
    border-bottom:1px solid #eef1f5;padding:14px 12px;font-size:13px;font-weight:650;
    color:#22374d;cursor:pointer;min-height:45px;}
  .os-mobile-users-choice.is-selected{background:#edf6ff;color:#287bcb;}
  .os-mobile-users-person-list{max-height:210px;overflow-y:auto;overscroll-behavior:contain;border:1px solid #e5ecf5;}
  .os-mobile-users-person{display:flex;align-items:center;gap:10px;padding:12px 8px;border-bottom:1px solid #edf1f5;
    font-size:12px;color:#21344a;cursor:pointer;}
  .os-mobile-users-person:last-child{border-bottom:0;}
  .os-mobile-users-person input[type="checkbox"]{accent-color:#2d8cff;width:16px !important;max-width:16px !important;min-width:16px !important;height:16px !important;flex:0 0 16px !important;margin:0 !important;}
  .os-mobile-users-person span{min-width:0;flex:1 1 auto;overflow-wrap:anywhere;}
  .os-mobile-users-specific{padding:10px 2px 0;}
  .os-mobile-users-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;}
  .os-mobile-users-actions button{padding:9px 16px;font-size:12px;font-weight:700;background:#fff;color:#32506b;
    border:1px solid #d5e0ed;border-radius:0;cursor:pointer;}
  #os-mobile-users-apply{background:#2d8cff;color:#fff;border-color:#2d8cff;}
  .os-mobile-users-warning{color:#c53138;font-size:11px;margin:8px 0 0;}
  .os-mobile-users-no-people{font-size:12px;color:#8997a7;padding:10px;}
}


/* CHRONOS O.S. MOBILE — pesquisa ocupa espaço liberado e perfil de manutenção no topo. */
@media screen and (max-width:760px){
  body[data-page="ordem-servico"] .mobile-topbar{
    flex-wrap:wrap !important;
    align-content:center !important;
    row-gap:3px !important;
    min-height:92px !important;
    box-sizing:border-box !important;
    padding-top:8px !important;
    padding-bottom:7px !important;
  }
  body[data-page="ordem-servico"] .mobile-topbar-profile{
    flex:1 1 0 !important;
    min-width:0 !important;
  }
  body[data-page="ordem-servico"] .mobile-topbar-actions{
    flex:0 0 auto !important;
  }
  body[data-page="ordem-servico"] .mobile-os-user-summary{
    display:flex !important;
    align-items:center !important;
    flex:0 0 100% !important;
    width:100% !important;
    min-width:0 !important;
    gap:9px !important;
    padding:2px 0 0 1px !important;
    color:#627389;
    font-size:10.5px !important;
    font-weight:600;
    line-height:16px;
    box-sizing:border-box;
  }
  body[data-page="ordem-servico"] .mobile-os-user-role{
    min-width:0;
    max-width:35%;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    color:#52657c;
  }
  body[data-page="ordem-servico"] .mobile-os-user-divider{
    display:block;
    width:1px;
    height:11px;
    background:#dce4ee;
    flex:0 0 1px;
  }
  body[data-page="ordem-servico"] .mobile-os-user-status{
    white-space:nowrap;
    color:#72829a;
  }
  body[data-page="ordem-servico"] .mobile-os-user-status.is-running{color:#079557;}
  body[data-page="ordem-servico"] .mobile-os-user-status.is-paused{color:#bc821e;}
  body[data-page="ordem-servico"] .mobile-os-user-open{
    display:inline-flex;
    align-items:center;
    gap:4px;
    min-width:0;
    white-space:nowrap;
    color:#495f77;
  }
  body[data-page="ordem-servico"] .mobile-os-user-open img{
    width:12px;
    height:12px;
    flex:0 0 12px;
    object-fit:contain;
  }
  body[data-page="ordem-servico"] .mobile-os-user-open strong{
    font-weight:800;
    color:#ef4444;
    font-variant-numeric:tabular-nums;
  }
  body[data-page="ordem-servico"] .dashboard-container.sidebar-main{
    padding-top:109px !important;
  }
  /* Com o botão Lista/Scrum oculto, deixam de existir três colunas de botões. */
  body[data-page="ordem-servico"] .os-page-toolbar{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    gap:8px !important;
  }
  body[data-page="ordem-servico"] .os-page-toolbar-actions{
    display:flex !important;
    flex:0 0 auto !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    gap:7px !important;
    justify-content:stretch !important;
    box-sizing:border-box !important;
  }
  body[data-page="ordem-servico"] .os-search-wrap-top{
    flex:1 1 0 !important;
    width:0 !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    grid-column:auto !important;
  }
  body[data-page="ordem-servico"] .os-search-wrap-top .os-search-input{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  body[data-page="ordem-servico"] #btn-toggle-os-form.os-add-btn-top,
  body[data-page="ordem-servico"] #btn-open-os-filter.os-toolbar-filter-btn{
    flex:0 0 38px !important;
    width:38px !important;
    min-width:38px !important;
    max-width:38px !important;
    margin:0 !important;
  }
  /* Dados de usuário logado agora aparecem no cabeçalho superior.
     Os demais executantes seguem com seus indicadores no card. */
  body[data-page="ordem-servico"] .os-user-board-mobile-card.is-current-user .os-user-board-mobile-card-cargo,
  body[data-page="ordem-servico"] .os-user-board-mobile-card.is-current-user .os-user-board-mobile-card-pills{
    display:none !important;
  }
  body[data-page="ordem-servico"] .os-user-board-mobile-card.is-current-user{
    min-height:62px !important;
  }
}
@media screen and (max-width:360px){
  body[data-page="ordem-servico"] .mobile-os-user-summary{gap:6px !important;font-size:10px !important;}
  body[data-page="ordem-servico"] .mobile-os-user-role{max-width:32%;}
  body[data-page="ordem-servico"] #btn-toggle-os-form.os-add-btn-top,
  body[data-page="ordem-servico"] #btn-open-os-filter.os-toolbar-filter-btn{flex-basis:36px !important;width:36px !important;min-width:36px !important;max-width:36px !important;}
}

/* Prioridade sobre regras antigas de grid que reservavam a coluna do botão Scrum. */
@media screen and (max-width:760px){
  body[data-page="ordem-servico"] .mobile-topbar-actions{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:4px !important;
    min-width:0 !important;
  }
  body[data-page="ordem-servico"] .page-ordem-only .os-page-toolbar-actions{
    display:flex !important;
    flex-flow:row nowrap !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    justify-content:flex-start !important;
    align-items:center !important;
    gap:7px !important;
  }
  body[data-page="ordem-servico"] .page-ordem-only .os-search-wrap-top{
    flex:1 1 0 !important;
    width:0 !important;
    max-width:none !important;
    min-width:0 !important;
  }
}


/* Perfil de manutenção no cabeçalho mobile de todas as telas do Chronos.
   Mantém pesquisa e cards exclusivos da página Ordem de Serviço intactos. */
@media screen and (max-width: 760px) {
  body .sidebar-layout > .mobile-topbar {
    flex-wrap:wrap !important;
    align-content:center !important;
    row-gap:3px !important;
    min-height:92px !important;
    box-sizing:border-box !important;
    padding-top:8px !important;
    padding-bottom:7px !important;
  }
  body .sidebar-layout > .mobile-topbar .mobile-topbar-profile {flex:1 1 0 !important;min-width:0 !important;}
  body .sidebar-layout > .mobile-topbar .mobile-topbar-actions {
    display:flex !important;
    flex:0 0 auto !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:4px !important;
    min-width:0 !important;
  }
  body .sidebar-layout > .mobile-topbar .mobile-os-user-summary {
    display:flex !important;
    align-items:center !important;
    flex:0 0 100% !important;
    width:100% !important;
    min-width:0 !important;
    gap:9px !important;
    padding:2px 0 0 1px !important;
    color:#627389;
    font-size:10.5px !important;
    font-weight:600;
    line-height:16px;
    box-sizing:border-box;
  }
  body .sidebar-layout > .mobile-topbar .mobile-os-user-role {
    min-width:0;max-width:35%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#52657c;
  }
  body .sidebar-layout > .mobile-topbar .mobile-os-user-divider {
    display:block;width:1px;height:11px;background:#dce4ee;flex:0 0 1px;
  }
  body .sidebar-layout > .mobile-topbar .mobile-os-user-status {white-space:nowrap;color:#72829a;}
  body .sidebar-layout > .mobile-topbar .mobile-os-user-status.is-running {color:#079557;}
  body .sidebar-layout > .mobile-topbar .mobile-os-user-status.is-paused {color:#bc821e;}
  body .sidebar-layout > .mobile-topbar .mobile-os-user-open {
    display:inline-flex;align-items:center;gap:4px;min-width:0;white-space:nowrap;color:#495f77;
  }
  body .sidebar-layout > .mobile-topbar .mobile-os-user-open img {
    width:12px;height:12px;flex:0 0 12px;object-fit:contain;
  }
  body .sidebar-layout > .mobile-topbar .mobile-os-user-open strong {
    font-weight:800;color:#ef4444;font-variant-numeric:tabular-nums;
  }
  body .sidebar-layout > .dashboard-container.sidebar-main {
    padding-top:109px !important;
  }
}
@media screen and (max-width: 360px) {
  body .sidebar-layout > .mobile-topbar .mobile-os-user-summary {gap:6px !important;font-size:10px !important;}
  body .sidebar-layout > .mobile-topbar .mobile-os-user-role {max-width:32%;}
}

/* CHRONOS — O.S. mobile: filtro de executantes integrado à situação da equipe.
   As O.S. são a visão principal; a equipe só aparece no seletor aberto. */
.os-mobile-flat-os{display:none;}
.os-mobile-users-actions[hidden]{display:none !important;}
@media screen and (max-width:760px){
  body[data-page="ordem-servico"].os-user-board-active #os-user-board-mobile-nav,
  body[data-page="ordem-servico"].os-user-board-active #os-user-board-columns,
  body[data-page="ordem-servico"].os-user-board-active #os-user-board-top-scroll{
    display:none !important;
  }
  body[data-page="ordem-servico"].os-user-board-active .os-mobile-flat-os{
    display:flex !important; flex-direction:column; gap:10px;
    width:100%; min-width:0; box-sizing:border-box;
    margin:0; padding:0;
  }
  body[data-page="ordem-servico"] .os-mobile-flat-os .os-user-board-card{
    display:block !important; width:100%; max-width:100%; min-width:0;
    box-sizing:border-box; margin:0 !important; cursor:pointer;
  }
  .os-mobile-flat-empty{
    padding:20px 12px; text-align:center; border:1px dashed #dbe4f0;
    font-size:12px; color:#7e8ea3;
  }
  body[data-page="ordem-servico"] .os-mobile-users-menu{
    max-width:100%; padding-bottom:10px;
  }
  body[data-page="ordem-servico"] .os-mobile-users-heading{
    padding:9px 10px; font-size:11px;
  }
  body[data-page="ordem-servico"] .os-mobile-users-person-list{
    max-height:min(50vh,360px); overflow:auto; border:0;
    overscroll-behavior:contain;
  }
  body[data-page="ordem-servico"] .os-mobile-users-people-head{
    display:flex;align-items:center;justify-content:space-between;
    gap:8px;padding:12px 10px 7px;
    color:#738498;font-size:11px;font-weight:600;
  }
  body[data-page="ordem-servico"] .os-mobile-users-person.os-mobile-user-row{
    min-height:55px; padding:8px 6px; gap:9px;
    box-sizing:border-box; background:#fff; border-bottom:1px solid #edf1f5;
    text-align:left; cursor:pointer;
  }
  body[data-page="ordem-servico"] .os-mobile-users-person.os-mobile-user-row.is-checked{
    background:#edf6ff;
  }
  body[data-page="ordem-servico"] .os-mobile-users-avatar{
    width:34px; height:34px; flex:0 0 34px; border-radius:50%;
    background:#f0f5fb;color:#3576b9; display:flex;
    align-items:center;justify-content:center;overflow:hidden;
  }
  body[data-page="ordem-servico"] .os-mobile-users-avatar img,
  body[data-page="ordem-servico"] .os-mobile-users-avatar .os-user-board-avatar-img{
    width:100% !important;height:100% !important;object-fit:cover;
    border-radius:50%;display:block;
  }
  body[data-page="ordem-servico"] .os-mobile-users-avatar .os-user-board-avatar-fallback{
    font-size:11px;font-weight:700;
  }
  body[data-page="ordem-servico"] .os-mobile-users-person-details{
    display:flex;flex-direction:column;gap:3px;flex:1;min-width:0;
  }
  body[data-page="ordem-servico"] .os-mobile-users-person-name{
    display:block;font-size:12px;font-weight:700;color:#18314b;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  body[data-page="ordem-servico"] .os-mobile-users-person-status,
  body[data-page="ordem-servico"] .os-mobile-users-person-asset{
    display:block;font-size:10.5px;font-weight:500;color:#7b8999;
    overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
  }
  body[data-page="ordem-servico"] .os-mobile-users-person-status.running{color:#078566;}
  body[data-page="ordem-servico"] .os-mobile-users-person-status.paused{color:#b97e13;}
  body[data-page="ordem-servico"] .os-mobile-users-person-count{
    flex:none;white-space:nowrap;color:#60748a;font-size:10.5px;font-weight:700;
  }
  body[data-page="ordem-servico"] .os-mobile-users-person input[type="checkbox"]{
    width:15px !important;height:15px !important;
    max-width:15px !important;min-width:15px !important;
    flex:0 0 15px !important;
  }
  body[data-page="ordem-servico"] .os-mobile-users-actions{margin-top:9px;}
}
/* Chronos Mobile: faixa compacta e fixa com pesquisa, ações e filtros.
   Os controles originais são reaproveitados; somente mobile é afetado. */
.os-mobile-compact-value,
.os-mobile-short-status{display:none;}
#os-mobile-sticky-controls{display:none;}
@media screen and (max-width:760px){
  body[data-page="ordem-servico"] .os-workspace-panel{
    overflow:visible !important;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls{
    display:flex !important;
    flex-direction:column;
    gap:8px;
    position:sticky !important;
    top:var(--os-mobile-sticky-top,92px) !important;
    z-index:1100 !important;
    width:100% !important;
    min-width:0 !important;
    padding:8px 0 9px !important;
    margin:0 !important;
    box-sizing:border-box;
    background:#fff !important;
    border-bottom:1px solid #e3ebf5;
    box-shadow:0 3px 8px rgba(31,55,81,.045);
    isolation:isolate;
    overflow:visible !important;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls > .os-page-toolbar-actions{
    display:flex !important;
    flex-flow:row nowrap !important;
    align-items:center !important;
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    gap:7px !important;
    box-sizing:border-box !important;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls .os-search-wrap-top{
    flex:1 1 0 !important;
    min-width:0 !important;
    width:0 !important;
    max-width:none !important;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls .os-search-wrap-top .os-search-input{
    width:100% !important; min-width:0 !important;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls .os-mobile-compact-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    align-items:stretch;
    gap:7px !important;
    min-height:54px;
    position:relative;
    overflow:visible !important;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-user-board-status-cards{
    display:contents !important;
    padding:0 !important;
    margin:0 !important;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-user-board-status-cards .os-user-board-status-card:not(.is-active){
    display:none !important;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-user-board-status-cards .os-user-board-status-card.is-active{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-rows:15px 21px !important;
    grid-row:1 !important;
    gap:1px 1px !important;
    align-content:center !important;
    height:54px !important;
    min-height:54px !important;
    max-height:54px !important;
    padding:6px 8px !important;
    margin:0 !important;
    position:relative !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
    min-width:0 !important;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-user-board-status-cards .os-user-board-status-card.is-active::before{
    content:'STATUS';
    display:block;
    grid-column:1 / -1;
    grid-row:1;
    position:static;
    color:#728197;
    font-size:9px;
    font-weight:700;
    line-height:12px;
    letter-spacing:.05em;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-user-board-status-cards .os-user-board-status-card.is-active::after{
    right:7px !important;
    top:auto !important;
    bottom:17px !important;
    width:5px !important;
    height:5px !important;
    border-width:1px !important;
    transform:rotate(45deg) !important;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-user-board-status-cards .os-user-board-status-card.is-active[aria-expanded="true"]::after{
    transform:rotate(225deg) !important;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-user-board-status-cards .os-user-board-status-card.is-active .os-metric-label-row{
    display:flex !important;
    grid-column:1;
    grid-row:2;
    align-items:center;
    gap:6px !important;
    min-width:0;
    overflow:hidden;
    padding:0 !important;
    margin:0 !important;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-user-board-status-cards .os-user-board-status-card.is-active .os-metric-icon{
    display:block !important;
    width:15px !important;
    height:15px !important;
    flex:0 0 15px !important;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-user-board-status-cards .os-user-board-status-card.is-active .os-metric-label{
    display:none !important;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-user-board-status-cards .os-user-board-status-card.is-active .os-mobile-short-status{
    display:block !important;
    width:auto;
    flex:1 1 auto;
    min-width:0;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:11.5px;
    font-weight:700;
    line-height:20px;
    color:#267ce6;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-user-board-status-cards .os-user-board-status-card.is-active .os-metric-value{
    grid-column:2;
    grid-row:2;
    align-self:center;
    min-width:0;
    margin:0 !important;
    padding:0 12px 0 0 !important;
    font-size:11px !important;
    line-height:19px !important;
    font-variant-numeric:tabular-nums;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-user-board-calendar-wrap{
    display:block !important;
    grid-column:2;
    grid-row:1 !important;
    align-self:stretch !important;
    width:100% !important;
    min-width:0 !important;
    min-height:54px !important;
    height:54px !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-sizing:border-box !important;
    overflow:visible !important;
    position:relative;
    z-index:8;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-board-date-picker-shell{
    height:54px !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:visible !important;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-board-date-trigger{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:2px !important;
    height:54px !important;
    min-height:54px !important;
    width:100% !important;
    min-width:0 !important;
    padding:5px 8px !important;
    border:1px solid #d8e2f0 !important;
    box-sizing:border-box !important;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-board-date-trigger::before{
    content:'DATA';
    font-size:9px;
    line-height:12px;
    color:#728197;
    font-weight:700;
    letter-spacing:.05em;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-board-date-trigger .os-date-trigger-icon,
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-board-date-trigger .os-date-trigger-label{
    display:none !important;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-board-date-trigger .os-mobile-compact-value{
    display:block !important;
    width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#18324a;
    font-size:11.5px;
    line-height:20px;
    font-weight:700;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-board-date-picker-shell.has-selected-date #os-board-date-trigger .os-mobile-compact-value{
    color:#2d8cff;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-board-date-clear{
    right:5px !important;
    width:17px !important;
    height:17px !important;
    top:34px !important;
    opacity:.85 !important;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-board-date-popover{
    left:calc(-100% - 7px) !important;
    right:auto !important;
    width:min(325px,calc(100vw - 26px)) !important;
    max-height:min(55dvh,430px);
    overflow-y:auto !important;
    overscroll-behavior:contain;
    z-index:1250 !important;
  }
  body[data-page="ordem-servico"].os-user-board-active #os-mobile-sticky-controls #os-mobile-users-filter{
    display:block !important;
    position:relative !important;
    grid-column:3;
    grid-row:1 !important;
    align-self:stretch !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:54px !important;
    min-height:54px !important;
    margin:0 !important;
    padding:0 !important;
    z-index:7;
    box-sizing:border-box !important;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-mobile-users-trigger{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:2px !important;
    height:54px !important;
    min-height:54px !important;
    width:100% !important;
    min-width:0 !important;
    padding:5px 8px !important;
    border:1px solid #d8e2f0 !important;
    box-sizing:border-box !important;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-mobile-users-trigger::before{
    content:'VISUALIZAR O.S.';
    color:#728197;
    font-size:8px;
    font-weight:700;
    letter-spacing:.05em;
    line-height:12px;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-mobile-users-trigger .os-mobile-users-icon,
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-mobile-users-trigger .os-mobile-users-title{
    display:none !important;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-mobile-users-trigger .os-mobile-compact-value{
    display:block !important;
    width:100%;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#18324a;
    font-size:11.5px;
    line-height:20px;
    font-weight:700;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-mobile-users-trigger .os-mobile-users-chevron{
    position:absolute;
    right:6px;
    bottom:12px;
    width:10px;
    height:10px;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-mobile-users-menu{
    display:block;
    position:absolute !important;
    right:0 !important;
    top:calc(100% + 7px) !important;
    left:auto !important;
    width:min(330px,calc(100vw - 26px)) !important;
    min-width:min(265px,calc(100vw - 26px)) !important;
    max-width:none !important;
    max-height:min(58dvh,455px) !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    z-index:1240 !important;
    margin:0 !important;
    box-shadow:0 12px 26px rgba(25,50,75,.18) !important;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-mobile-users-menu[hidden]{display:none !important;}
}
/* Sticky exige que body não crie um segundo contêiner vertical de rolagem. */
@media screen and (max-width:760px){
  body[data-page="ordem-servico"]{
    overflow-x:clip !important;
    overflow-y:visible !important;
  }
}


body[data-page="ordem-servico"] #os-mobile-sticky-controls #os-board-date-trigger .os-mobile-compact-value{
  font-size:10.5px !important;
}


@media screen and (max-width:760px){
  body[data-page="solicitacao"] .os-workspace-panel{
    overflow:visible !important;
  }
  body[data-page="solicitacao"] #os-mobile-sticky-controls{
    display:flex !important;
    flex-direction:column;
    gap:8px;
    position:sticky !important;
    top:var(--os-mobile-sticky-top,92px) !important;
    z-index:1100 !important;
    width:100% !important;
    min-width:0 !important;
    padding:8px 0 9px !important;
    margin:0 !important;
    box-sizing:border-box;
    background:#fff !important;
    border-bottom:1px solid #e3ebf5;
    box-shadow:0 3px 8px rgba(31,55,81,.045);
    isolation:isolate;
    overflow:visible !important;
  }
  body[data-page="solicitacao"] #os-mobile-sticky-controls > .os-page-toolbar-actions{
    display:flex !important;
    flex-flow:row nowrap !important;
    align-items:center !important;
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    gap:7px !important;
    box-sizing:border-box !important;
  }
  body[data-page="solicitacao"] #os-mobile-sticky-controls .os-search-wrap-top{
    flex:1 1 0 !important;
    min-width:0 !important;
    width:0 !important;
    max-width:none !important;
  }
  body[data-page="solicitacao"] #os-mobile-sticky-controls .os-search-wrap-top .os-search-input{
    width:100% !important;
    min-width:0 !important;
  }
  body[data-page="solicitacao"] #os-mobile-sticky-controls .os-mobile-compact-row{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    align-items:stretch;
    gap:7px !important;
    min-height:54px;
    position:relative;
    overflow:visible !important;
  }
  body[data-page="solicitacao"] #btn-os-list-cards-toggle,
  body[data-page="solicitacao"] .os-page-sidebar .os-metrics-sidebar{
    display:none !important;
  }
  body[data-page="solicitacao"] #os-mobile-list-status-card{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-rows:15px 21px !important;
    gap:1px 1px !important;
    align-content:center !important;
    height:54px !important;
    min-height:54px !important;
    max-height:54px !important;
    padding:6px 8px !important;
    margin:0 !important;
    position:relative !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
    min-width:0 !important;
    border:1px solid #d8e2f0 !important;
    border-radius:0 !important;
    background:#fff !important;
  }
  body[data-page="solicitacao"] #os-mobile-list-status-card::after{
    content:'';
    position:absolute;
    right:7px;
    bottom:17px;
    width:5px;
    height:5px;
    border-right:1px solid #9aa6b6;
    border-bottom:1px solid #9aa6b6;
    transform:rotate(45deg);
  }
  body[data-page="solicitacao"] #os-mobile-list-status-card[aria-expanded="true"]::after{
    transform:rotate(225deg);
  }
  body[data-page="solicitacao"] #os-mobile-list-status-card .os-mobile-list-status-title{
    display:block;
    grid-column:1 / -1;
    grid-row:1;
    color:#728197;
    font-size:9px;
    font-weight:700;
    line-height:12px;
    letter-spacing:.05em;
  }
  body[data-page="solicitacao"] #os-mobile-list-status-card .os-metric-label-row{
    display:flex !important;
    grid-column:1;
    grid-row:2;
    align-items:center;
    gap:6px !important;
    min-width:0;
    overflow:hidden;
    padding:0 !important;
    margin:0 !important;
  }
  body[data-page="solicitacao"] #os-mobile-list-status-card .os-metric-icon{
    display:block !important;
    width:15px !important;
    height:15px !important;
    flex:0 0 15px !important;
  }
  body[data-page="solicitacao"] #os-mobile-list-status-card .os-mobile-short-status{
    display:block !important;
    width:auto;
    flex:1 1 auto;
    min-width:0;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:11.5px;
    font-weight:700;
    line-height:20px;
    color:#267ce6;
  }
  body[data-page="solicitacao"] #os-mobile-list-status-card .os-metric-value{
    grid-column:2;
    grid-row:2;
    align-self:center;
    margin:0 !important;
    padding:0 12px 0 0 !important;
    font-size:11px !important;
    line-height:19px !important;
    font-variant-numeric:tabular-nums;
  }
  body[data-page="solicitacao"] #os-mobile-sticky-controls #os-list-date-picker-shell{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    min-height:54px !important;
    height:54px !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-sizing:border-box !important;
    overflow:visible !important;
    position:relative;
    z-index:8;
  }
  body[data-page="solicitacao"] #os-mobile-sticky-controls #os-list-date-trigger{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:2px !important;
    height:54px !important;
    min-height:54px !important;
    width:100% !important;
    min-width:0 !important;
    padding:5px 8px !important;
    border:1px solid #d8e2f0 !important;
    box-sizing:border-box !important;
  }
  body[data-page="solicitacao"] #os-mobile-sticky-controls #os-list-date-trigger::before{
    content:'DATA';
    font-size:9px;
    line-height:12px;
    color:#728197;
    font-weight:700;
    letter-spacing:.05em;
  }
  body[data-page="solicitacao"] #os-mobile-sticky-controls #os-list-date-trigger .os-date-trigger-icon,
  body[data-page="solicitacao"] #os-mobile-sticky-controls #os-list-date-trigger .os-date-trigger-label{
    display:none !important;
  }
  body[data-page="solicitacao"] #os-mobile-sticky-controls #os-list-date-trigger .os-mobile-compact-value{
    display:block !important;
    width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#18324a;
    font-size:11.5px;
    line-height:20px;
    font-weight:700;
  }
  body[data-page="solicitacao"] #os-mobile-sticky-controls #os-list-date-picker-shell.has-selected-date #os-list-date-trigger .os-mobile-compact-value{
    color:#2d8cff;
  }
  body[data-page="solicitacao"] #os-mobile-sticky-controls #os-list-date-clear{
    right:5px !important;
    width:17px !important;
    height:17px !important;
    top:34px !important;
    opacity:.85 !important;
  }
  body[data-page="solicitacao"] #os-mobile-sticky-controls #os-list-date-popover{
    left:0 !important;
    right:auto !important;
    width:min(325px,calc(100vw - 26px)) !important;
    max-height:min(55dvh,430px);
    overflow-y:auto !important;
    overscroll-behavior:contain;
    z-index:1250 !important;
  }
  body[data-page="solicitacao"]{
    overflow-x:clip !important;
    overflow-y:visible !important;
  }
}


/* Chronos 2026-10-11: telas assíncronas e controles mobile estáveis */
.os-initial-loading{display:none;}
body.os-boot-loading[data-page="ordem-servico"] .os-workspace-panel .os-page-grid-modern,
body.os-boot-loading[data-page="solicitacao"] .os-workspace-panel .os-page-grid-modern,
body.os-boot-loading[data-page="ordem-servico"] .os-workspace-panel .os-page-toolbar-actions,
body.os-boot-loading[data-page="solicitacao"] .os-workspace-panel .os-page-toolbar-actions,
body.os-boot-loading[data-page="ordem-servico"] #os-mobile-sticky-controls,
body.os-boot-loading[data-page="solicitacao"] #os-mobile-sticky-controls{visibility:hidden !important;}
body.os-boot-loading[data-page="ordem-servico"] .os-initial-loading,
body.os-boot-loading[data-page="solicitacao"] .os-initial-loading{
  display:flex !important;align-items:center;justify-content:center;gap:12px;
  min-height:136px;width:100%;box-sizing:border-box;
  padding:24px;color:#586b83;font-size:13px;font-weight:600;
  background:#fff;border:1px solid #e3eaf3;
}
.os-initial-loading.is-error{flex-direction:column;text-align:center;color:#bf3e42;}
.os-initial-spinner,.navaris-loading-spinner{
  display:inline-block;width:19px;height:19px;flex:0 0 19px;
  border:2px solid #d5e5fc;border-top-color:#2979e9;border-radius:50%;
  animation:navaris-spin .8s linear infinite;
}
@keyframes navaris-spin{to{transform:rotate(360deg)}}
.os-initial-loading.is-error .os-initial-spinner{display:none;}
.os-initial-retry:not([hidden]){
  display:inline-flex;border:1px solid #c8d9f0;background:#fff;
  color:#246ce1;font-size:12px;font-weight:700;padding:8px 12px;cursor:pointer;
}
@media screen and (max-width:760px){
  /* O calendário original passa para o card fixo; a antiga coluna não pode repetir indicadores. */
  body[data-page="solicitacao"] #os-calendar-sidebar{
    display:none !important;
  }
  /* O menu do calendário abre para dentro da tela (ancorado pelo lado direito). */
  body[data-page="solicitacao"] #os-mobile-sticky-controls #os-list-date-popover{
    left:auto !important;
    right:0 !important;
    width:min(325px,calc(100vw - 28px)) !important;
    min-width:0 !important;
    max-width:calc(100vw - 28px) !important;
    box-sizing:border-box !important;
    transform:none !important;
  }
  body[data-page="solicitacao"] #os-mobile-sticky-controls #os-list-date-popover .os-inline-picker{
    box-sizing:border-box !important;
    min-width:0 !important;
    max-width:100% !important;
  }
  body[data-page="solicitacao"] #os-mobile-sticky-controls #os-list-date-trigger .os-mobile-compact-value{
    font-size:11px !important;
    padding-right:9px !important;
  }
}
@media (prefers-reduced-motion:reduce){
  .os-initial-spinner,.navaris-loading-spinner{animation-duration:1.7s;}
}

/* Durante o carregamento inicial não reservar espaço para cards ainda vazios. */
body.os-boot-loading[data-page="ordem-servico"] .os-workspace-panel .os-page-grid-modern,
body.os-boot-loading[data-page="solicitacao"] .os-workspace-panel .os-page-grid-modern,
body.os-boot-loading[data-page="ordem-servico"] .os-workspace-panel .os-page-toolbar-actions,
body.os-boot-loading[data-page="solicitacao"] .os-workspace-panel .os-page-toolbar-actions,
body.os-boot-loading[data-page="ordem-servico"] #os-mobile-sticky-controls,
body.os-boot-loading[data-page="solicitacao"] #os-mobile-sticky-controls{display:none !important;}


@media screen and (max-width:760px){
  body[data-page="solicitacao"] .os-list-scroll{
    padding:0 0 12px;
  }
  body[data-page="solicitacao"] .os-pending-grid-list{
    padding:0 0 14px;
    gap:12px;
  }
  body[data-page="solicitacao"] .os-service-card{
    width:100%;
    padding:18px 16px 16px;
  }
  body[data-page="solicitacao"] .os-service-card .os-card-modern,
  body[data-page="solicitacao"] .os-service-card .os-card-shell,
  body[data-page="solicitacao"] .os-service-card article{
    width:100%;
    max-width:none;
  }
}

/* Solicitações: aproveitar a mesma largura útil das O.S. no celular. */
@media screen and (max-width:760px){
  body[data-page="solicitacao"] .os-page-grid-modern,
  body[data-page="solicitacao"] .os-main-card,
  body[data-page="solicitacao"] .os-tab-panel,
  body[data-page="solicitacao"] .os-board-block-clean,
  body[data-page="solicitacao"] .os-list-shell,
  body[data-page="solicitacao"] .os-list-scroll{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
  body[data-page="solicitacao"] .os-main-card{
    padding:6px 0 12px !important;
    margin:0 !important;
  }
  body[data-page="solicitacao"] .os-board-block-clean,
  body[data-page="solicitacao"] .os-list-shell,
  body[data-page="solicitacao"] .os-list-scroll{
    margin:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  body[data-page="solicitacao"] .os-pending-grid-list{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    padding:0 0 12px !important;
    margin:0 !important;
  }
  body[data-page="solicitacao"] .os-service-card{
    display:flex !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    margin:0 !important;
  }
}

/* ============================================================
   CHRONOS · ABERTURA DE O.S. E SOLICITAÇÃO · UI/UX v1
   Todos os campos e IDs originais foram mantidos.
   ============================================================ */
#os-form-panel.os-redesign-ready {
  --form-blue:#247cff;
  --form-navy:#122441;
  --form-border:#dae6f4;
  --form-muted:#647790;
  background:#f7faff !important;
  border:1px solid var(--form-border) !important;
  border-radius:15px !important;
  padding:22px !important;
  box-shadow:0 24px 78px rgba(15,38,78,.21) !important;
  scrollbar-color:#b9cbe1 transparent;
  overscroll-behavior:contain;
}
#os-form-panel.os-redesign-ready .os-form-header {
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  border:0;
  background:#f7faff;
  padding:2px 2px 17px;
  margin:0;
  min-height:0;
  gap:12px;
}
#os-form-panel.os-redesign-ready .os-form-header-main {display:flex;flex-direction:column;gap:3px;min-width:0;}
#os-form-panel.os-redesign-ready #os-form-title {
  font-size:23px !important;
  line-height:1.24 !important;
  font-weight:800 !important;
  letter-spacing:-.35px;
  color:#10213a !important;
}
#os-form-panel.os-redesign-ready .os-form-order-number {
  display:inline-flex;
  align-items:center;
  width:max-content;
  font-size:12px !important;
  margin-top:5px !important;
  padding:4px 7px !important;
  color:#2b70d3 !important;
  background:#e7f1ff;
  border:1px solid #c9e0ff;
  border-radius:4px;
}
#os-form-panel.os-redesign-ready .os-redesign-header-subtitle {
  font-size:13px;
  color:var(--form-muted);
  margin-top:4px;
  line-height:1.35;
}
#os-form-panel.os-redesign-ready #btn-close-os-form {
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  flex:0 0 36px;
  height:36px !important;
  width:36px !important;
  min-width:36px !important;
  border:1px solid #dbe5f3 !important;
  border-radius:7px !important;
  background:#fff !important;
  color:#61758f !important;
  font-size:21px !important;
  line-height:1 !important;
  position:static !important;
  box-shadow:none !important;
  cursor:pointer;
}
#os-form-panel.os-redesign-ready .os-redesign-progress {
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:relative;
  isolation:isolate;
  gap:4px;
  margin:0 0 16px;
  padding:12px 8px 10px;
  background:#fff;
  border:1px solid var(--form-border);
  border-radius:10px;
}
#os-form-panel.os-redesign-ready .os-redesign-progress::before {
  content:'';
  position:absolute;
  z-index:-1;
  top:26px;
  left:11%;
  width:78%;
  height:2px;
  background:#e0e8f3;
}
#os-form-panel.os-redesign-ready .os-redesign-progress-item {
  display:flex;
  flex:1 1 0;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:6px;
  min-width:0;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  padding:0 !important;
  box-shadow:none !important;
  color:#74839a;
  cursor:pointer;
}
#os-form-panel.os-redesign-ready .os-redesign-progress-item span {
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#e8eef7;
  border:2px solid #fff;
  color:#586b83;
  font-size:12px;
  font-weight:800;
  box-shadow:0 0 0 1px #dbe5f1;
}
#os-form-panel.os-redesign-ready .os-redesign-progress-item small {
  display:block;
  font-size:10.5px;
  line-height:1.25;
  text-align:center;
  white-space:normal;
  font-weight:600;
}
#os-form-panel.os-redesign-ready .os-redesign-progress-item.is-active span {
  background:var(--form-blue);
  color:#fff;
  box-shadow:0 0 0 1px var(--form-blue);
}
#os-form-panel.os-redesign-ready .os-redesign-progress-item.is-active small {color:#1e68d4;}
#os-form-panel.os-redesign-ready .os-redesign-progress-item.is-past span {
  background:#dcecff;
  color:#2672e5;
}
#os-form-panel.os-redesign-ready .os-redesign-step {
  display:block;
  padding:19px !important;
  margin:0 0 12px !important;
  border:1px solid var(--form-border) !important;
  background:#fff !important;
  border-radius:10px !important;
  box-shadow:0 2px 7px rgba(25,65,115,.025) !important;
  overflow:visible;
}
#os-form-panel.os-redesign-ready .os-redesign-section-heading {
  display:flex;
  align-items:center;
  gap:11px;
  margin:0 0 18px;
  padding:0 0 13px;
  border-bottom:1px solid #edf2f8;
}
#os-form-panel.os-redesign-ready .os-redesign-number {
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  flex:0 0 32px;
  color:#fff;
  background:var(--form-blue);
  font-size:14px;
  font-weight:800;
  border-radius:50%;
}
#os-form-panel.os-redesign-ready .os-redesign-heading-text {
  display:flex;
  flex-direction:column;
  min-width:0;
  gap:2px;
}
#os-form-panel.os-redesign-ready .os-redesign-heading-text strong {
  font-size:16px;
  font-weight:800;
  color:var(--form-navy);
  letter-spacing:-.1px;
}
#os-form-panel.os-redesign-ready .os-redesign-heading-text small {
  color:var(--form-muted);
  font-size:11px;
  line-height:1.35;
}
#os-form-panel.os-redesign-ready .os-form-grid.three {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:start;
}
#os-form-panel.os-redesign-ready .os-form-grid.os-type-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.72fr);
  gap:16px;
  align-items:start;
}
#os-form-panel.os-redesign-ready .os-form-grid .asset-spec-field,
#os-form-panel.os-redesign-ready .os-header-title-field {
  max-width:none !important;
  min-width:0 !important;
}
#os-form-panel.os-redesign-ready .os-header-title-field {
  margin-bottom:16px;
}
#os-form-panel.os-redesign-ready .os-form-card label,
#os-form-panel.os-redesign-ready .asset-spec-field > label,
#os-form-panel.os-redesign-ready .os-radio-title {
  display:block;
  color:#273b55 !important;
  font-size:12.5px !important;
  font-weight:700 !important;
  margin-bottom:6px;
}
#os-form-panel.os-redesign-ready .os-form-section .os-full-input,
#os-form-panel.os-redesign-ready .os-form-section .os-card-select-trigger,
#os-form-panel.os-redesign-ready .os-form-section .select-like {
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  min-height:45px !important;
  height:auto;
  border:1px solid #d5e1ef !important;
  border-radius:7px !important;
  background:#fff !important;
  color:#203854;
  font-size:13px !important;
  padding:10px 12px;
  box-shadow:none !important;
}
#os-form-panel.os-redesign-ready .os-form-section .os-full-input:focus,
#os-form-panel.os-redesign-ready .os-form-section .os-card-select-trigger:focus-visible,
#os-form-panel.os-redesign-ready .os-form-section textarea:focus {
  border:1px solid var(--form-blue) !important;
  outline:none !important;
  box-shadow:0 0 0 2px rgba(36,124,255,.12) !important;
}
#os-form-panel.os-redesign-ready #os-asset-code,
#os-form-panel.os-redesign-ready #os-horas-estimadas,
#os-form-panel.os-redesign-ready #os-hh-planejado {background:#f0f5fa !important;color:#536c85;}
#os-form-panel.os-redesign-ready .os-form-grid.os-type-grid .os-type-field,
#os-form-panel.os-redesign-ready .os-form-grid.os-type-grid .os-criticality-field {max-width:none !important;}
#os-form-panel.os-redesign-ready .os-type-select-row {width:100%;}
#os-form-panel.os-redesign-ready .os-type-cards {min-width:0;}
#os-form-panel.os-redesign-ready .os-section-title-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin:0 0 11px;
}
#os-form-panel.os-redesign-ready .os-section-title-row .os-section-title {margin:0;font-size:12.5px !important;color:#273b55;}
#os-form-panel.os-redesign-ready .os-radio-block {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  padding:16px 0 10px;
  margin-top:11px;
  border-top:1px solid #edf2f8;
  gap:10px;
}
#os-form-panel.os-redesign-ready .os-radio-title {margin:0 !important;}
#os-form-panel.os-redesign-ready .os-radio-group {display:flex;gap:8px;}
#os-form-panel.os-redesign-ready .os-radio-group .os-radio-option {
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d8e3f1;
  min-width:82px;
  min-height:39px;
  border-radius:6px;
  background:#fff;
  padding:7px 10px;
  cursor:pointer;
  gap:7px;
  margin:0 !important;
}
#os-form-panel.os-redesign-ready .os-radio-group .os-radio-option:has(input:checked) {
  background:#eaf3ff;
  border-color:#73a8fa;
  color:#176bdc;
}
#os-form-panel.os-redesign-ready .os-redesign-external {
  display:block;
  padding:10px 12px;
  border:1px solid #e2e9f2;
  background:#f9fbfe;
  border-radius:6px;
  margin-top:10px;
}
#os-form-panel.os-redesign-ready .os-redesign-external label {display:inline-flex !important;align-items:center;gap:9px;margin:0;}
#os-form-panel.os-redesign-ready .os-textarea {
  width:100% !important;
  min-width:0;
  max-width:none;
  min-height:180px;
  height:auto !important;
  border:1px solid #d5e1ef !important;
  border-radius:7px !important;
  padding:13px 14px;
  background:#fff;
  resize:vertical;
  line-height:1.55;
  font-size:13px;
}
#os-form-panel.os-redesign-ready .os-redesign-description-count {
  display:block;
  text-align:right;
  color:#7e90a5;
  font-size:10px;
  padding-top:5px;
}
#os-form-panel.os-redesign-ready #os-photo-upload .modern-file-label {
  min-height:110px;
  width:100%;
  border:1.5px dashed #95bdff !important;
  border-radius:7px !important;
  background:#f7fbff !important;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
}
#os-form-panel.os-redesign-ready #os-photo-upload .modern-file-icon {color:var(--form-blue) !important;}
#os-form-panel.os-redesign-ready #os-photo-upload .modern-file-texts strong {color:#206bd8;font-weight:700;}
#os-form-panel.os-redesign-ready #os-photo-upload .modern-file-texts small {color:#6e839c;}
#os-form-panel.os-redesign-ready .os-form-footer {
  display:flex;
  flex-flow:row wrap;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  padding:14px 3px 3px;
  margin:0;
  background:transparent;
}
#os-form-panel.os-redesign-ready .os-form-footer #os-save-pending,
#os-form-panel.os-redesign-ready .os-redesign-footer-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto !important;
  min-width:150px;
  height:45px;
  min-height:45px;
  border-radius:6px !important;
  padding:9px 18px;
  font-size:13px;
  font-weight:750;
  cursor:pointer;
}
#os-form-panel.os-redesign-ready .os-form-footer #os-save-pending,
#os-form-panel.os-redesign-ready .os-redesign-footer-button.next {
  border:1px solid #1968e7 !important;
  background:#1976f7 !important;
  color:#fff !important;
}
#os-form-panel.os-redesign-ready .os-redesign-footer-button.back {
  border:1px solid #cdddf0 !important;
  background:#fff !important;
  color:#246fce !important;
}
#os-form-panel.os-redesign-ready .os-redesign-footer-button[hidden],
#os-form-panel.os-redesign-ready .os-redesign-feedback[hidden] {display:none !important;}
#os-form-panel.os-redesign-ready .os-redesign-feedback {
  width:100%;color:#b91c1c;background:#fff4f4;border:1px solid #fecaca;
  padding:8px 10px;border-radius:5px;font-size:12px;
}
/* Desktop: todas as opções acessíveis sem navegação por etapas */
@media (min-width:761px) {
  #os-form-panel.os-redesign-ready .os-redesign-progress,
  #os-form-panel.os-redesign-ready .os-redesign-footer-button {display:none !important;}
}
@media (max-width:760px) {
  #os-form-panel.os-redesign-ready:not(.hidden) {
    display:block !important;
    background:#f7faff !important;
    border-radius:0 !important;
    border:0 !important;
    padding:12px 12px calc(90px + env(safe-area-inset-bottom, 0px)) !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
  }
  #os-form-panel.os-redesign-ready .os-form-header {
    position:relative !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-start !important;
    margin:0 !important;
    padding:7px 1px 12px !important;
    background:#f7faff !important;
    gap:7px !important;
  }
  #os-form-panel.os-redesign-ready .os-form-header-main {width:auto !important;flex:1 1 0;}
  #os-form-panel.os-redesign-ready #os-form-title {font-size:20px !important;line-height:1.25 !important;}
  #os-form-panel.os-redesign-ready .os-form-order-number {font-size:10px !important;margin-top:2px !important;}
  #os-form-panel.os-redesign-ready .os-redesign-header-subtitle {font-size:11px;margin:3px 0 0;}
  #os-form-panel.os-redesign-ready #btn-close-os-form {width:34px !important;min-width:34px !important;height:34px !important;flex:0 0 34px;}
  #os-form-panel.os-redesign-ready .os-redesign-progress {margin-bottom:12px;padding:10px 2px 9px;border-radius:7px;}
  #os-form-panel.os-redesign-ready .os-redesign-progress::before {top:24px;}
  #os-form-panel.os-redesign-ready .os-redesign-progress-item span {width:27px;height:27px;}
  #os-form-panel.os-redesign-ready .os-redesign-progress-item small {font-size:9px;}
  #os-form-panel.os-redesign-ready .os-redesign-step:not(.is-current) {display:none !important;}
  #os-form-panel.os-redesign-ready .os-redesign-step.is-current {
    display:block !important;
    padding:14px 12px 16px !important;
    margin:0 0 6px !important;
    border-radius:7px !important;
  }
  #os-form-panel.os-redesign-ready .os-redesign-section-heading {gap:8px;margin:0 0 15px;padding-bottom:12px;}
  #os-form-panel.os-redesign-ready .os-redesign-number {width:30px;height:30px;flex-basis:30px;font-size:13px;}
  #os-form-panel.os-redesign-ready .os-redesign-heading-text strong {font-size:15px;}
  #os-form-panel.os-redesign-ready .os-redesign-heading-text small {font-size:10px;}
  #os-form-panel.os-redesign-ready .os-form-grid.three,
  #os-form-panel.os-redesign-ready .os-form-grid.os-type-grid {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:12px !important;
  }
  #os-form-panel.os-redesign-ready .os-header-title-field {margin-bottom:12px;}
  #os-form-panel.os-redesign-ready .os-form-section .os-full-input,
  #os-form-panel.os-redesign-ready .os-form-section .os-card-select-trigger {font-size:14px !important;min-height:46px !important;}
  #os-form-panel.os-redesign-ready .os-radio-block {align-items:stretch;flex-direction:column;gap:10px;}
  #os-form-panel.os-redesign-ready .os-radio-group {flex-wrap:nowrap;gap:8px;}
  #os-form-panel.os-redesign-ready .os-radio-group .os-radio-option {flex:1 1 0;}
  #os-form-panel.os-redesign-ready .os-textarea {min-height:190px;}
  #os-form-panel.os-redesign-ready .os-form-footer {
    display:flex !important;
    flex-flow:row nowrap !important;
    align-items:center !important;
    position:fixed !important;
    bottom:0 !important;
    left:0 !important;
    right:0 !important;
    z-index:1205;
    margin:0 !important;
    padding:11px 12px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    background:#fff;
    border-top:1px solid #dce6f2;
    gap:8px !important;
    box-shadow:0 -4px 16px rgba(29,58,96,.08);
  }
  #os-form-panel.os-redesign-ready .os-form-footer #os-save-pending,
  #os-form-panel.os-redesign-ready .os-redesign-footer-button {
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    flex:1 1 0;
    min-height:47px;
    font-size:13px;
  }
  #os-form-panel.os-redesign-ready[data-current-step]:not([data-current-step="4"]) #os-save-pending {
    display:none !important;
  }
  #os-form-panel.os-redesign-ready .os-redesign-feedback:not([hidden]) {display:block !important;flex:1 0 100%;}
}
@media (max-width:350px) {
  #os-form-panel.os-redesign-ready .os-redesign-progress-item small {font-size:8.3px;}
}

#os-form-panel.os-redesign-ready .os-redesign-step[data-form-step="3"] > .os-section-title {display:none !important;}

/* Ajustes de largura dos seletores do formulário */
#os-form-panel.os-redesign-ready .os-card-select,
#os-form-panel.os-redesign-ready .os-card-select-trigger,
#os-form-panel.os-redesign-ready .os-card-select-value,
#os-form-panel.os-redesign-ready .os-type-select-row,
#os-form-panel.os-redesign-ready .os-type-cards {
  box-sizing:border-box !important;
}
#os-form-panel.os-redesign-ready .os-type-select-row .os-type-cards {
  flex:1 1 auto !important;
  width:auto !important;
  max-width:none !important;
}
#os-form-panel.os-redesign-ready .os-type-select-row .os-type-card,
#os-form-panel.os-redesign-ready .os-type-select-row .os-card-select {
  max-width:100% !important;
  min-width:0 !important;
}
#os-form-panel.os-redesign-ready .os-form-section .os-card-select-trigger {
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  padding:8px 12px !important;
}
#os-form-panel.os-redesign-ready .os-card-select-trigger .os-card-select-value {
  flex:1 1 auto !important;
  min-width:0 !important;
  max-width:100% !important;
  width:auto !important;
  text-overflow:ellipsis;
  border-radius:4px !important;
}
#os-form-panel.os-redesign-ready .os-criticality-field .os-card-select-trigger .os-card-select-value {
  flex:0 1 auto !important;
  min-width:78px !important;
  max-width:calc(100% - 32px) !important;
}

#os-form-panel.os-redesign-ready .os-redesign-required {color:#e33838;font-weight:800;}

/* Ajuste solicitado: formulários redesenhados com bordas retas */
#os-form-panel.os-redesign-ready,
#os-form-panel.os-redesign-ready .os-form-header,
#os-form-panel.os-redesign-ready .os-form-section,
#os-form-panel.os-redesign-ready .os-redesign-step,
#os-form-panel.os-redesign-ready .os-redesign-progress,
#os-form-panel.os-redesign-ready .os-redesign-external,
#os-form-panel.os-redesign-ready .os-redesign-feedback,
#os-form-panel.os-redesign-ready #os-photo-upload .modern-file-label,
#os-form-panel.os-redesign-ready .os-form-section .os-full-input,
#os-form-panel.os-redesign-ready .os-form-section .os-card-select-trigger,
#os-form-panel.os-redesign-ready .os-form-section .select-like,
#os-form-panel.os-redesign-ready .os-textarea,
#os-form-panel.os-redesign-ready .os-radio-group .os-radio-option,
#os-form-panel.os-redesign-ready .os-form-footer #os-save-pending,
#os-form-panel.os-redesign-ready .os-redesign-footer-button,
#os-form-panel.os-redesign-ready #btn-close-os-form,
#os-form-panel.os-redesign-ready .os-maintenance-edit-btn,
#os-form-panel.os-redesign-ready .os-add-type-btn,
#os-form-panel.os-redesign-ready .modern-file-summary,
#os-form-panel.os-redesign-ready .modern-file-remove-all,
#os-form-panel.os-redesign-ready .modern-file-gallery,
#os-form-panel.os-redesign-ready .modern-file-remove,
#os-form-panel.os-redesign-ready .modern-file-chip,
#os-form-panel.os-redesign-ready .os-opening-responsaveis-cards .os-opening-responsavel-chip {
  border-radius: 0 !important;
}

#os-form-panel.os-redesign-ready .os-card-select-trigger .os-card-select-value,
#os-form-panel.os-redesign-ready .modern-file-icon {
  border-radius: 0 !important;
}

/* Chronos: formulário rápido sem múltiplos avanços, preservando todas as opções. */
#os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-progress,
#os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-footer-button { display:none !important; }
#os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-optional {
  padding:0 !important;
  overflow:visible;
}
#os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-disclosure-trigger {
  display:flex;
  width:100%;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  border:0 !important;
  border-radius:0 !important;
  background:#fff !important;
  color:#162b49;
  text-align:left;
  padding:15px 17px;
  cursor:pointer;
  box-shadow:none !important;
}
#os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-disclosure-trigger:focus-visible {
  outline:2px solid #247cff !important;
  outline-offset:-3px;
}
#os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-disclosure-label {
  display:flex;
  flex-direction:column;
  min-width:0;
  gap:4px;
}
#os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-disclosure-label strong {
  color:#233754;
  font-size:13px;
  font-weight:800;
}
#os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-disclosure-label small {
  color:#708098;
  font-weight:500;
  font-size:11px;
  line-height:1.35;
}
#os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-disclosure-chevron {
  width:8px;
  height:8px;
  flex:0 0 8px;
  border:solid #8192aa;
  border-width:0 1.5px 1.5px 0;
  transform:rotate(45deg);
  transition:transform .16s ease;
  margin:0 6px 4px;
}
#os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-optional.is-expanded .os-redesign-disclosure-chevron {
  transform:rotate(225deg);
  margin-top:6px;
  margin-bottom:0;
}
#os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-disclosure-content {
  padding:0 17px 17px;
}
#os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-disclosure-content[hidden] {
  display:none !important;
}
#os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-main-grid,
#os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-advanced-grid {
  width:100%;
}
#os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-invalid,
#os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-invalid:focus {
  border-color:#dc3545 !important;
  outline:2px solid rgba(220,53,69,.18) !important;
  outline-offset:0;
}
@media (max-width:760px) {
  #os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-step,
  #os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-step:not(.is-current) {
    display:block !important;
    border-radius:0 !important;
    padding:13px 12px 14px !important;
    margin-bottom:9px !important;
  }
  #os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-optional {
    padding:0 !important;
  }
  #os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-section-heading {
    margin-bottom:11px;
    padding-bottom:9px;
  }
  #os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-heading-text small {
    font-size:10px;
  }
  #os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-main-grid {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }
  #os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-main-grid > .asset-spec-field:not(.os-code-field):not(:has(#os-date)) {
    grid-column:1 / -1;
  }
  #os-form-panel.os-redesign-ready.os-redesign-quick .os-header-title-field {
    margin-bottom:10px;
  }
  #os-form-panel.os-redesign-ready.os-redesign-quick .os-form-grid.os-type-grid {gap:10px !important;}
  #os-form-panel.os-redesign-ready.os-redesign-quick .os-radio-block {padding-top:10px;margin-top:9px;}
  #os-form-panel.os-redesign-ready.os-redesign-quick .os-textarea {
    min-height:125px !important;
    height:auto !important;
    font-size:14px !important;
  }
  #os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-disclosure-trigger {
    min-height:60px;
    padding:12px 13px;
  }
  #os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-disclosure-content {
    padding:0 12px 14px;
  }
  #os-form-panel.os-redesign-ready.os-redesign-quick .os-form-footer {
    gap:0 !important;
  }
  #os-form-panel.os-redesign-ready.os-redesign-quick .os-form-footer #os-save-pending {
    display:inline-flex !important;
    min-height:48px !important;
    width:100% !important;
    border-radius:0 !important;
  }
  #os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-feedback:not([hidden]) {
    position:absolute;
    bottom:calc(100% + 4px);
    left:12px;
    right:12px;
    width:auto !important;
    padding:12px;
    box-shadow:0 6px 18px rgba(15,23,42,.13);
    z-index:1;
  }
}


/* Chronos: retoques do formulário rápido — tipo/criticidade, radio e câmera. */
#os-form-panel.os-redesign-ready .os-criticality-field .os-card-select-trigger {
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}
#os-form-panel.os-redesign-ready .os-criticality-field .os-card-select-trigger .os-card-select-value {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:1 1 auto !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:32px !important;
  box-sizing:border-box !important;
  text-align:center !important;
  border-radius:0 !important;
}
#os-form-panel.os-redesign-ready .os-radio-group .os-radio-option {
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  text-align:center !important;
  cursor:pointer;
}
#os-form-panel.os-redesign-ready .os-radio-group .os-radio-option input[type="radio"] {
  margin:0 !important;
  padding:0 !important;
  flex:0 0 19px !important;
  width:19px !important;
  height:19px !important;
  accent-color:#2389f4;
}
#os-form-panel.os-redesign-ready .os-radio-group .os-radio-option > span {
  flex:0 0 auto !important;
  width:auto !important;
  display:inline-block !important;
  margin:0 !important;
  text-align:left;
  white-space:nowrap;
}
#os-form-panel.os-redesign-ready #os-photo-upload .modern-file-icon {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:#2c94fc !important;
  opacity:1 !important;
  text-shadow:none !important;
}
#os-form-panel.os-redesign-ready #os-photo-upload .os-photo-camera-action {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:43px;
  width:100%;
  box-sizing:border-box;
  padding:9px 12px;
  gap:9px;
  border:1px solid #87b8f6 !important;
  border-radius:0 !important;
  background:#fff;
  color:#176ad6;
  cursor:pointer;
  font-size:13px;
  font-weight:700;
  text-align:center;
}
#os-form-panel.os-redesign-ready #os-photo-upload .os-photo-camera-action svg {
  width:20px;
  height:20px;
  display:block;
  flex:0 0 20px;
}
#os-form-panel.os-redesign-ready #os-photo-upload .os-photo-camera-action:active,
#os-form-panel.os-redesign-ready #os-photo-upload .os-photo-camera-action:hover {
  background:#f0f7ff;
}
#os-form-panel.os-redesign-ready #os-photo-upload .os-photo-camera-action.is-loading {
  opacity:.55;
  pointer-events:none;
}
#os-form-panel.os-redesign-ready #os-photo-camera-input {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
@media(min-width:761px){
  #os-form-panel.os-redesign-ready #os-photo-upload .os-photo-camera-action,
  #os-form-panel.os-redesign-ready #os-photo-camera-input {display:none !important;}
}

/* Galeria e câmera sempre em linhas próprias, sem comprimir "Escolher imagens". */
#os-form-panel.os-redesign-ready #os-photo-upload {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  align-items:stretch !important;
  gap:9px !important;
}
#os-form-panel.os-redesign-ready #os-photo-upload > .modern-file-label,
#os-form-panel.os-redesign-ready #os-photo-upload > .os-photo-camera-action,
#os-form-panel.os-redesign-ready #os-photo-upload > .modern-file-summary,
#os-form-panel.os-redesign-ready #os-photo-upload > .modern-file-gallery {
  grid-column:1 / -1 !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
/* Formulário: responsáveis estáveis e fechamento/retomada de rascunho */
#os-form-panel .os-opening-native-source {display:none !important;}
#os-form-panel .os-opening-people-picker {position:relative;width:100%;min-width:0;z-index:30;}
#os-form-panel .os-people-trigger {display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:46px;padding:10px 12px;border:1px solid #d5e1ef;border-radius:0;background:white;color:#203854;text-align:left;font-size:13px;cursor:pointer;}
#os-form-panel .os-people-trigger:focus-visible {outline:1px solid #257cf5;border-color:#257cf5;}
#os-form-panel .os-people-trigger-text {flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#os-form-panel .os-people-arrow {width:8px;height:8px;flex:0 0 8px;border-right:1px solid #536c85;border-bottom:1px solid #536c85;transform:rotate(45deg) translateY(-2px);}
#os-form-panel .os-people-menu {position:absolute;top:calc(100% + 4px);left:0;right:0;min-width:0;max-height:270px;overflow:auto;border:1px solid #d5e1ef;border-radius:0;background:white;box-shadow:0 9px 23px rgba(12,39,73,.13);z-index:120;}
#os-form-panel .os-people-menu[hidden] {display:none !important;}
#os-form-panel .os-people-menu-title {padding:11px 12px 8px;color:#667890;font-weight:700;font-size:12px;border-bottom:1px solid #e9eff7;}
#os-form-panel .os-people-option {display:flex !important;align-items:center;gap:10px;padding:12px;border-bottom:1px solid #eef2f8;margin:0 !important;color:#203854;cursor:pointer;}
#os-form-panel .os-people-option:has(input:checked) {background:#eef6ff;color:#1b69d1;}
#os-form-panel .os-people-option input {width:16px;height:16px;flex:none;margin:0;accent-color:#257cf5;}
#os-form-panel .os-people-option span {flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;}
#os-form-panel .os-people-empty {padding:14px;color:#71809a;font-size:12px;}
#os-form-panel .os-opening-responsavel-card span {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#os-form-panel .os-opening-responsavel-card {max-width:100%;}
#os-form-panel.os-redesign-ready .os-redesign-external label,#os-form-panel.os-redesign-ready .os-checkbox-option {display:flex !important;align-items:center;gap:10px;flex-wrap:nowrap !important;}
#os-form-panel.os-redesign-ready .os-redesign-external label span,#os-form-panel.os-redesign-ready .os-checkbox-option span {white-space:nowrap !important;}
#os-form-panel.os-redesign-ready .os-opening-footer-close {display:inline-flex;justify-content:center;align-items:center;min-width:115px;height:45px;padding:9px 18px;border:1px solid #bacce1;border-radius:0;background:#fff;color:#345b85;font-weight:700;cursor:pointer;}
/* Confirmação de rascunho: clara, compacta e com duas ações prioritárias. */
.os-opening-draft-overlay {
  position:fixed; inset:0; z-index:99999; display:flex;
  align-items:center; justify-content:center;
  padding:20px 16px calc(20px + env(safe-area-inset-bottom, 0px));
  background:rgba(20,38,61,.48); box-sizing:border-box;
}
.os-opening-draft-overlay[hidden] {display:none !important;}
.os-opening-draft-dialog {
  position:relative; width:min(392px,100%); max-height:calc(100dvh - 50px); overflow-y:auto;
  padding:25px 24px 22px; box-sizing:border-box;
  border:1px solid #d7e3f2; border-radius:0 !important;
  background:#fff; box-shadow:0 20px 46px rgba(12,30,58,.2);
  color:#1b3049; font-family:inherit;
}
.os-opening-draft-dismiss {
  position:absolute; right:13px; top:13px; width:31px; height:31px;
  display:flex; align-items:center; justify-content:center;
  border:0; border-radius:0 !important; background:transparent;
  color:#7b8a9d; cursor:pointer; padding:4px;
}
.os-opening-draft-dismiss:hover,.os-opening-draft-dismiss:focus-visible {background:#eff5ff;color:#1e69cb;outline:1px solid #bad8ff;}
.os-opening-draft-heading {display:flex;align-items:center;gap:10px;margin:0 0 17px;}
.os-opening-draft-symbol {
  width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;
  background:#edf5ff;color:#237af1;border:1px solid #d6e6ff;
}
.os-opening-draft-eyebrow {color:#4076bd;font-size:10px;line-height:1.4;font-weight:800;letter-spacing:.075em;}
.os-opening-draft-dialog h3 {font-size:21px;line-height:1.22;font-weight:800;margin:0 0 8px;color:#172b47;letter-spacing:-.35px;}
.os-opening-draft-dialog > p:not(.os-opening-draft-discard-note) {font-size:13px;line-height:1.55;color:#64758b;margin:0 0 20px;}
.os-opening-draft-actions {display:grid;grid-template-columns:1fr;gap:9px;}
.os-opening-draft-actions button {
  width:100%;min-height:44px;padding:10px 14px;
  border:1px solid #cbd9ea;border-radius:0 !important;background:#fff;
  color:#315476;font-size:13px;font-weight:700;line-height:1.3;
  display:flex;align-items:center;justify-content:center;gap:8px;
  cursor:pointer;transition:background-color .12s,border-color .12s;
}
.os-opening-draft-actions button:hover,.os-opening-draft-actions button:focus-visible {background:#f0f7ff;border-color:#71a6ee;outline:none;}
.os-opening-draft-actions .os-draft-primary {background:#1976f7;color:#fff;border-color:#1976f7;}
.os-opening-draft-actions .os-draft-primary:hover,.os-opening-draft-actions .os-draft-primary:focus-visible {background:#075fd6;color:#fff;border-color:#075fd6;}
.os-opening-draft-actions .os-draft-primary span {font-size:17px;font-weight:500;line-height:1;}
.os-opening-draft-dialog .os-opening-draft-discard-note {margin:11px 0 0;color:#8491a0;font-size:11px;text-align:center;line-height:1.4;}
@media(max-width:420px) {
  .os-opening-draft-overlay {padding:16px;}
  .os-opening-draft-dialog {padding:23px 19px 19px;}
  .os-opening-draft-dialog h3 {font-size:19px;}
  .os-opening-draft-heading {margin-bottom:14px;}
}
@media(max-width:760px) {
  #os-form-panel.os-redesign-ready .os-form-footer .os-opening-footer-close {flex:0 0 98px;min-width:98px;min-height:47px;max-width:35%;height:47px;font-size:13px;}
  #os-form-panel.os-redesign-ready .os-form-footer #os-save-pending {flex:1 1 0;}
  #os-form-panel.os-redesign-ready .os-people-menu {max-height:230px;}
}

/* 2026-10-12 — Responsáveis visíveis, seleção estável e ações separadas */
#os-form-panel.os-redesign-ready .os-opening-people-picker .os-people-menu {
  width:100% !important; max-width:100% !important; box-sizing:border-box !important;
}
#os-form-panel.os-redesign-ready .os-opening-people-picker label.os-people-option {
  display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important;
  justify-content:flex-start !important; align-items:center !important;
  gap:12px !important; width:100% !important; max-width:none !important;
  min-height:50px !important; padding:11px 14px !important;
  margin:0 !important; border-radius:0 !important; box-sizing:border-box !important;
  text-align:left !important; color:#243951 !important; opacity:1 !important;
  visibility:visible !important; background:#fff;
}
#os-form-panel.os-redesign-ready .os-opening-people-picker label.os-people-option:has(input:checked) {
  background:#edf5ff !important;
}
#os-form-panel.os-redesign-ready .os-opening-people-picker label.os-people-option > input[type="checkbox"] {
  display:block !important; position:static !important; flex:0 0 18px !important;
  width:18px !important; height:18px !important; min-width:18px !important;
  margin:0 !important; appearance:auto !important; accent-color:#247cff !important;
}
#os-form-panel.os-redesign-ready .os-opening-people-picker label.os-people-option > .os-people-option-name {
  display:block !important; flex:1 1 auto !important; position:static !important;
  width:auto !important; max-width:none !important; min-width:0 !important;
  color:#243951 !important; opacity:1 !important; visibility:visible !important;
  font-size:13px !important; font-weight:600 !important; line-height:1.4 !important;
  text-align:left !important; white-space:normal !important;
  overflow-wrap:break-word; text-overflow:clip !important;
}
#os-form-panel.os-redesign-ready .os-form-footer {
  gap:11px !important;
}
#os-form-panel.os-redesign-ready .os-form-footer .os-opening-footer-close {
  flex:0 0 auto !important; min-width:110px !important; width:auto !important;
  min-height:46px !important; height:46px !important; margin:0 !important;
  padding:0 18px !important; border:1px solid #aebfd4 !important;
  border-radius:0 !important; background:#fff !important; color:#344a63 !important;
  box-shadow:none !important; font-size:13px !important; font-weight:700 !important;
}
#os-form-panel.os-redesign-ready .os-form-footer #os-save-pending {
  flex:1 1 auto !important; min-width:0 !important; width:auto !important;
  min-height:46px !important; height:46px !important; margin:0 !important;
  border-radius:0 !important; background:#1976f7 !important; color:#fff !important;
  font-weight:750 !important;
}
@media(max-width:760px) {
  #os-form-panel.os-redesign-ready .os-form-footer {
    display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important;
    gap:10px !important; padding:10px 13px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
  }
  #os-form-panel.os-redesign-ready .os-form-footer .os-opening-footer-close {
    flex:0 0 30% !important; min-width:88px !important; max-width:118px !important;
    width:30% !important; height:49px !important; min-height:49px !important;
    padding:0 10px !important;
  }
  #os-form-panel.os-redesign-ready .os-form-footer #os-save-pending {
    flex:1 1 0 !important; width:auto !important; min-width:0 !important;
    max-width:none !important; height:49px !important; min-height:49px !important;
  }
}


/* 2026-10-12 — Ações compactas e simétricas no rodapé do formulário mobile */
@media (max-width:760px) {
  #os-form-panel.os-redesign-ready.os-redesign-quick .os-form-footer {
    justify-content:center !important;
    align-items:center !important;
    gap:12px !important;
    padding:10px 16px calc(11px + env(safe-area-inset-bottom, 0px)) !important;
  }
  #os-form-panel.os-redesign-ready.os-redesign-quick .os-form-footer .os-opening-footer-close,
  #os-form-panel.os-redesign-ready.os-redesign-quick .os-form-footer #os-save-pending {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 1 156px !important;
    width:156px !important;
    min-width:0 !important;
    max-width:156px !important;
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
    padding:0 10px !important;
    margin:0 !important;
    box-sizing:border-box !important;
    border-radius:0 !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
  }
}

/* 2026-10-12 — Ajuste fiel ao Chronos: O.S. compacta, foco na execução, bordas retas */
.os-detail-modal .os-detail-header{
  width:100%;
  display:grid;
  gap:10px;
  min-width:0;
}
.os-detail-modal .os-exec-compact-summary{
  width:100%;
  min-width:0;
  display:grid;
  gap:9px;
  padding:15px 16px;
  border:1px solid #dce5ef;
  background:#fff;
  box-sizing:border-box;
  border-radius:0 !important;
}
.os-detail-modal .os-exec-summary-top,
.os-detail-modal .os-exec-summary-asset,
.os-detail-modal .os-exec-summary-tags,
.os-detail-modal .os-exec-summary-links{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
}
.os-detail-modal .os-exec-summary-top{justify-content:space-between;}
.os-detail-modal .os-exec-summary-top .os-status-card{
  min-height:32px;
  border-radius:0 !important;
}
.os-detail-modal .os-exec-summary-number{
  color:#2583f5;
  font-size:24px;
  font-weight:800;
  line-height:1.1;
}
.os-detail-modal .os-exec-summary-title{
  margin:0;
  font-size:21px;
  line-height:1.27;
  font-weight:700;
  color:#101d32;
  overflow-wrap:anywhere;
}
.os-detail-modal .os-exec-summary-asset{
  font-size:13px;
  color:#475569;
  line-height:1.35;
}
.os-detail-modal .os-exec-summary-asset strong{color:#14243a;font-weight:700;}
.os-detail-modal .os-exec-summary-code{
  font-size:12px;
  background:#f4f7fc;
  border:1px solid #e1e8f0;
  padding:4px 6px;
  color:#64748b;
}
.os-detail-modal .os-exec-summary-tags .os-list-badge{border-radius:0 !important;}
.os-detail-modal .os-exec-summary-links{
  padding-top:10px;
  margin-top:3px;
  border-top:1px solid #e8edf3;
  gap:8px;
}
.os-detail-modal .os-exec-summary-link{
  background:#f7faff;
  color:#2563eb;
  border:1px solid #d5e4f5;
  border-radius:0 !important;
  height:34px;
  padding:0 10px;
  font-family:inherit;
  font-weight:600;
  font-size:12px;
  cursor:pointer;
}
.os-detail-modal .os-exec-summary-link:active,
.os-detail-modal .os-exec-summary-link:hover{
  border-color:#2c84f7;
  background:#eef5ff;
}
.os-detail-modal .os-exec-detail-expandable{
  margin:0;
  background:#fff;
  border:1px solid #dce5ef;
  border-radius:0 !important;
  overflow:hidden;
}
.os-detail-modal .os-exec-detail-expandable summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:46px;
  padding:10px 14px;
  font-size:14px;
  font-weight:700;
  line-height:1.3;
  color:#203249;
  list-style:none;
  cursor:pointer;
}
.os-detail-modal .os-exec-detail-expandable summary::-webkit-details-marker{display:none;}
.os-detail-modal .os-exec-detail-expandable summary::marker{display:none;}
.os-detail-modal .os-exec-more-indicator{
  font-size:11px;
  font-weight:500;
  color:#75869a;
  white-space:nowrap;
}
.os-detail-modal .os-exec-detail-expandable[open] > summary{border-bottom:1px solid #e8edf4;}
.os-detail-modal .os-exec-detail-body{padding:13px 14px;}
.os-detail-modal .os-exec-detail-body .os-service-card{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:10px !important;
  box-shadow:none !important;
  background:#fff;
  border:1px solid #e4eaf2;
}
.os-detail-modal .os-exec-detail-body .os-detail-opening-description{
  width:100%;max-width:100%;min-width:0;
  box-sizing:border-box;
  font-size:13px;
  line-height:1.6;
  color:#475569;
  background:#f9fbfe;
  border:1px solid #dce5ef;
  border-radius:0 !important;
  padding:12px;
  word-break:break-word;
}
.os-detail-modal .os-exec-detail-expandable,
.os-detail-modal #os-apontamentos-wrap,
.os-detail-modal #os-procedimento-exec-wrap,
.os-detail-modal #os-consumidos-wrap { scroll-margin-top:90px; }
/* Exibição do cronômetro mais clara, mantendo cores e linhas do sistema */
.os-detail-modal .os-exec-live-timer:not(.hidden){
  display:inline-flex !important;
  min-height:39px;
  align-items:center;
  justify-content:center;
  padding:0 12px !important;
  color:#1976e8 !important;
  background:#eef6ff !important;
  border:1px solid #bcd8ff !important;
  border-radius:0 !important;
  font-size:16px !important;
  line-height:1.2 !important;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace !important;
  font-weight:700 !important;
  font-variant-numeric:tabular-nums;
  letter-spacing:0 !important;
  box-shadow:none !important;
}
.os-detail-modal .os-exec-live-timer:not(.hidden)::before,
.os-detail-modal .os-exec-live-timer:not(.hidden)::after{
  display:none !important;
  content:none !important;
}
.os-detail-modal .os-exec-action-btn{
  border-radius:0 !important;
  box-shadow:none !important;
}
@media(max-width:760px){
  .os-detail-modal .os-exec-compact-summary{padding:12px;gap:8px;}
  .os-detail-modal .os-exec-summary-number{font-size:21px;}
  .os-detail-modal .os-exec-summary-title{font-size:18px;}
  .os-detail-modal .os-exec-summary-links{gap:6px;}
  .os-detail-modal .os-exec-summary-link{padding:0 8px;font-size:11px;}
  .os-detail-modal .os-exec-detail-expandable summary{font-size:13px;padding:10px 12px;}
  .os-detail-modal .os-exec-more-indicator{font-size:10px;}
}

/* Cronômetro global — discreto, acessível e fixo em qualquer tela do app */
.chronos-global-timer{
  position:fixed;
  right:14px;
  bottom:calc(14px + env(safe-area-inset-bottom,0px));
  z-index:2147482500;
  width:min(336px,calc(100vw - 28px));
  min-width:0;
  padding:12px 13px;
  box-sizing:border-box;
  display:grid;
  gap:8px;
  background:#fff;
  border:1px solid #bad5f5;
  border-left:3px solid #2682ed;
  border-radius:0 !important;
  box-shadow:0 9px 26px rgba(20,54,91,.14);
  color:#0f243f;
  font-family:inherit;
}
.chronos-global-timer.is-hidden{display:none !important;}
.chronos-global-timer-overline{
  display:flex;
  align-items:center;
  gap:7px;
  color:#2874cd;
  font-size:10px;
  font-weight:700;
  letter-spacing:.04em;
}
.chronos-global-timer-dot{
  height:7px;width:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:#19a667;
  box-shadow:0 0 0 3px #e1f7ec;
}
.chronos-global-timer-main{display:flex;gap:9px;align-items:center;justify-content:space-between;}
.chronos-global-timer-info{min-width:0;display:grid;gap:2px;flex:1;}
.chronos-global-timer-info strong{font-size:15px;font-weight:800;color:#12243a;}
.chronos-global-timer-info span{font-size:12px;color:#6a7b91;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.chronos-global-timer-time{
  font:700 17px/1.15 ui-monospace,SFMono-Regular,Consolas,monospace;
  color:#1771dd;
  border:1px solid #d9e9fc;
  padding:8px 9px;
  background:#f5f9ff;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.chronos-global-timer-footer{
  display:flex;
  align-items:center;
  gap:7px;
  border-top:1px solid #edf1f5;
  padding-top:9px;
}
.chronos-global-timer-footer button{
  height:34px;
  border-radius:0 !important;
  cursor:pointer;
  font:600 12px/1.2 inherit;
  text-align:center;
  font-family:inherit;
}
.chronos-global-timer-action{
  flex:1;
  background:#2481f1;
  border:1px solid #2481f1;
  color:white;
  font-weight:700 !important;
}
.chronos-global-timer-link{
  flex:1;
  background:#fff;
  border:1px solid #d4e4f5;
  color:#266dcc;
}
@media(max-width:760px){
  .chronos-global-timer{
    right:12px;
    bottom:calc(12px + env(safe-area-inset-bottom,0px));
    width:min(322px,calc(100vw - 24px));
    padding:10px 11px;
    gap:6px;
  }
  .chronos-global-timer-info strong{font-size:14px;}
  .chronos-global-timer-time{font-size:16px;padding:8px 7px;}
}

/* ============================================================
   CHRONOS O.S. — workspaces de uma tela / versão sem redundâncias
   ============================================================ */
#os-detail-modal.os-workspace-enabled > .os-detail-card > #os-apontamentos-wrap,
#os-detail-modal.os-workspace-enabled > .os-detail-card > #os-consumidos-wrap,
#os-detail-modal.os-workspace-enabled > .os-detail-card > #os-procedimento-exec-wrap {display:none !important;}
#os-detail-modal.os-workspace-enabled .os-exec-compact-summary{border:1px solid #d9e2ed;background:#fff;padding:14px;gap:10px;box-shadow:none;border-radius:0!important;}
#os-detail-modal.os-workspace-enabled .os-exec-summary-title{font-size:19px;line-height:1.3;margin:0;}
#os-detail-modal.os-workspace-enabled .os-exec-summary-top{gap:8px;}
#os-detail-modal.os-workspace-enabled .os-exec-summary-tags{gap:8px;}
#os-detail-modal.os-workspace-enabled .os-detail-header{display:grid;gap:12px;}
.os-workspace-nav{display:grid;gap:8px;}
.os-workspace-nav-item{appearance:none;-webkit-appearance:none;display:flex;align-items:center;gap:12px;box-sizing:border-box;width:100%;min-width:0;min-height:65px;padding:12px 14px;background:#fff;border:1px solid #d9e2ed;border-radius:0;color:#14263f;text-align:left;cursor:pointer;font-family:inherit;transition:border-color .13s,background-color .13s;}
.os-workspace-nav-item:hover,.os-workspace-nav-item:focus-visible{border-color:#2585ee;background:#f8fbff;outline:none;}
.os-workspace-nav-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;color:#2577db;}
.os-workspace-nav-icon svg{width:26px;height:26px;}
.os-workspace-nav-copy{display:grid;gap:3px;min-width:0;flex:1;}
.os-workspace-nav-copy strong{font-size:14px;font-weight:700;line-height:1.25;}
.os-workspace-nav-copy small{font-size:12px;font-weight:400;color:#758399;line-height:1.3;}
.os-workspace-nav-chevron{width:17px;height:17px;color:#667e9d;flex:0 0 17px;}

#os-workspace-modal{box-sizing:border-box;width:min(680px,calc(100% - 26px));max-width:680px;max-height:min(91dvh,900px);min-height:160px;margin:auto;padding:0;background:#fff;border:1px solid #d4dfea;border-radius:0;color:#14243b;box-shadow:0 16px 45px rgba(8,29,59,.22);overflow:hidden;}
#os-workspace-modal::backdrop{background:rgba(23,38,60,.56);}
#os-workspace-modal .os-workspace-panel{max-height:min(91dvh,900px);display:flex;flex-direction:column;min-width:0;overflow:hidden;}
#os-workspace-modal .os-workspace-top{min-height:67px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 18px;border-bottom:1px solid #dce5ee;background:#fff;flex:0 0 auto;}
#os-workspace-modal .os-workspace-heading{min-width:0;display:grid;gap:3px;}
#os-workspace-modal .os-workspace-heading h2{font-size:18px;line-height:1.3;font-weight:750;color:#182b45;margin:0;}
#os-workspace-modal .os-workspace-heading small{font-size:11px;font-weight:600;color:#71839a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#os-workspace-modal .os-workspace-close{font-size:24px;line-height:1;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid transparent;color:#637589;cursor:pointer;background:transparent;border-radius:0;flex:0 0 36px;}
#os-workspace-modal .os-workspace-close:hover{border-color:#d5e0ed;background:#f5f9fe;color:#1478e8;}
#os-workspace-modal .os-workspace-content{min-width:0;flex:1 1 auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:16px 18px 24px;}
#os-workspace-modal .os-workspace-section{border:1px solid #dee6ef;margin:0 0 12px;background:#fff;padding:14px;}
#os-workspace-modal .os-workspace-section-heading{font-size:14px;font-weight:750;color:#14263e;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;}
#os-workspace-modal .os-workspace-section-heading small{font-size:12px;color:#8491a3;font-weight:500;}
#os-workspace-modal .os-workspace-info-list{display:grid;gap:0;}
#os-workspace-modal .os-workspace-info-row{display:grid;grid-template-columns:minmax(110px,38%) minmax(0,1fr);gap:10px;padding:9px 0;border-bottom:1px solid #edf1f5;font-size:13px;line-height:1.5;}
#os-workspace-modal .os-workspace-info-row:last-child{border-bottom:0;}
#os-workspace-modal .os-workspace-info-row span{color:#66768b;}
#os-workspace-modal .os-workspace-info-row strong{font-weight:650;color:#243954;overflow-wrap:anywhere;}
#os-workspace-modal .os-workspace-description{background:#f8fafc;padding:12px;border:1px solid #e1e7f0;color:#4a5970;font-size:13px;white-space:pre-wrap;line-height:1.55;overflow-wrap:anywhere;}
#os-workspace-modal .os-workspace-opening-photos{min-width:0;}
#os-workspace-modal .os-workspace-opening-photos img{max-width:100%;}
#os-workspace-modal > .os-workspace-panel > .os-workspace-content > #os-apontamentos-wrap,
#os-workspace-modal > .os-workspace-panel > .os-workspace-content > #os-consumidos-wrap,
#os-workspace-modal > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap{display:block!important;margin:0;border:0;border-radius:0!important;box-shadow:none;width:100%;max-width:100%;}
#os-workspace-modal .os-apontamentos-head{padding:12px 6px 14px;}
#os-workspace-modal .os-apontamentos-wrap h3{font-size:16px;}
#os-workspace-modal .os-apontamento-add{border-radius:0!important;}
@media (max-width:760px){
  #os-detail-modal.os-workspace-enabled .os-exec-summary-title{font-size:17px;}
  #os-detail-modal.os-workspace-enabled .os-exec-compact-summary{padding:12px;}
  .os-workspace-nav-item{min-height:60px;padding:10px 12px;gap:8px;}
  .os-workspace-nav-copy strong{font-size:13px;}
  .os-workspace-nav-copy small{font-size:11px;}
  #os-workspace-modal{width:calc(100vw - 22px);max-width:calc(100vw - 22px);max-height:calc(100dvh - 24px);}
  #os-workspace-modal .os-workspace-panel{max-height:calc(100dvh - 24px);}
  #os-workspace-modal .os-workspace-top{min-height:58px;padding:11px 13px;}
  #os-workspace-modal .os-workspace-heading h2{font-size:16px;}
  #os-workspace-modal .os-workspace-content{padding:12px 12px 18px;}
  #os-workspace-modal .os-workspace-section{padding:12px;}
  #os-workspace-modal .os-workspace-info-row{grid-template-columns:minmax(104px,41%) minmax(0,1fr);gap:8px;font-size:12px;}
}

/* Card único e enxuto de cronômetro, fiel ao padrão de bordas do Chronos */
.chronos-global-timer{display:grid;gap:8px;width:min(370px,calc(100vw - 24px));padding:12px 13px;border:1px solid #cbdbea;border-left:3px solid #2d89ef;border-radius:0!important;box-shadow:0 8px 24px rgba(28,59,91,.14);}
.chronos-global-timer-top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;}
.chronos-global-timer-heading{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;color:#15824c;white-space:nowrap;}
.chronos-global-timer-dot{background:#16a765;flex:0 0 8px;width:8px;height:8px;box-shadow:0 0 0 3px #e1f6eb;}
.chronos-global-timer .chronos-global-timer-time{font-size:20px;min-width:104px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;white-space:nowrap;padding:8px 10px;color:#1570d8;border:1px solid #d8e9fc;background:#f3f8ff;font-weight:800;line-height:1.1;}
.chronos-global-timer .chronos-global-timer-info{display:grid;gap:2px;min-width:0;}
.chronos-global-timer .chronos-global-timer-info strong{font-size:14px;color:#1d324d;line-height:1.3;}
.chronos-global-timer .chronos-global-timer-info span{font-size:12px;color:#687c95;line-height:1.3;}
.chronos-global-timer .chronos-global-timer-footer{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:10px;margin-top:2px;}
.chronos-global-timer .chronos-global-timer-footer button{display:flex;justify-content:center;align-items:center;width:100%;min-width:0;height:38px;padding:0 7px;box-sizing:border-box;border-radius:0!important;font:700 12px/1.2 inherit;cursor:pointer;white-space:normal;}
.chronos-global-timer .chronos-global-timer-action{background:#2682eb;color:#fff;border:1px solid #2682eb;}
.chronos-global-timer .chronos-global-timer-link{background:#fff;color:#1c6cc4;border:1px solid #cbdbea;}
.chronos-global-timer .chronos-global-timer-action:focus-visible,.chronos-global-timer .chronos-global-timer-link:focus-visible{outline:2px solid #2d85e7;outline-offset:2px;}
/* Área de execução: botões alinhados, cronômetro evidente, sem duplicar relógios. */
#os-detail-modal.os-workspace-enabled .os-execution-actions:not(.hidden){display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important;justify-content:flex-start!important;}
#os-detail-modal.os-workspace-enabled .os-exec-action-btn{height:42px!important;min-height:42px!important;border-radius:0!important;box-shadow:none!important;}
#os-detail-modal.os-workspace-enabled .os-exec-live-timer:not(.hidden){display:flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;box-sizing:border-box!important;background:#f0f7ff!important;border:1px solid #bedbf9!important;color:#1476da!important;font:800 18px/1.1 ui-monospace,SFMono-Regular,Consolas,monospace!important;font-variant-numeric:tabular-nums;box-shadow:none!important;border-radius:0!important;}
@media (max-width:760px){
  .chronos-global-timer{right:12px;left:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:min(355px,calc(100vw - 24px));padding:11px 12px;}
  .chronos-global-timer .chronos-global-timer-time{font-size:18px;min-width:98px;}
  #os-detail-modal.os-workspace-enabled .os-exec-live-timer:not(.hidden){width:100%;order:3;font-size:18px!important;}
}


/* v5 — O.S. minimizada em um card largo, uma única ação. */
.chronos-global-timer{
  width:min(430px,calc(100vw - 28px));
  box-sizing:border-box;
  padding:12px 14px;
  gap:7px;
  background:#fff;
  border:1px solid #d1dfef;
  border-left:4px solid #2786ee;
  border-radius:0!important;
  box-shadow:0 8px 26px rgba(26,58,94,.16);
}
.chronos-global-timer .chronos-global-timer-info strong{font-size:14px;line-height:1.2;}
.chronos-global-timer .chronos-global-timer-info span{font-size:12px;line-height:1.25;}
.chronos-global-timer .chronos-global-timer-time{font-variant-numeric:tabular-nums;}
.chronos-global-timer .chronos-global-timer-footer{
  display:block;
  margin-top:1px;
  padding-top:8px;
  border-top:1px solid #e8eff7;
}
.chronos-global-timer .chronos-global-timer-action{
  width:100%;
  min-height:36px;
  padding:0 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  color:#276fbd;
  background:#f5faff;
  border:1px solid #d5e5f6;
  border-radius:0!important;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}
.chronos-global-timer .chronos-global-timer-action svg{width:17px;height:17px;flex:0 0 17px;}
.chronos-global-timer .chronos-global-timer-action:hover{color:#1c5eaa;background:#eaf4ff;border-color:#abd0f7;}
.chronos-global-timer .chronos-global-timer-action:focus-visible{outline:2px solid #2585ee;outline-offset:2px;}
/* Janelas: título único. Mantém os mesmos formulários originais. */
#os-workspace-modal .os-workspace-heading{gap:0;}
#os-workspace-modal .os-workspace-top{min-height:54px;}
#os-workspace-modal .os-workspace-nav-icon{
  width:38px;height:38px;flex:0 0 38px;
  background:#f2f8ff;border:1px solid #dceaf8;color:#1976d2;
}
#os-workspace-modal .os-workspace-nav-icon svg{width:23px;height:23px;}
.os-workspace-nav-icon{
  width:38px;height:38px;flex:0 0 38px;
  background:#f2f8ff;border:1px solid #dceaf8;color:#1976d2;
}
.os-workspace-nav-icon svg{width:23px;height:23px;}
.os-workspace-nav-item{min-height:62px;gap:12px;}
.os-workspace-nav-chevron{color:#7c90a8;}
/* Apontamentos em largura total: sem segundo título ou sucessivas margens internas. */
#os-workspace-modal #os-apontamentos-wrap,
#os-workspace-modal #os-consumidos-wrap{box-sizing:border-box;width:100%;min-width:0;}
#os-workspace-modal #os-apontamentos-wrap .os-apontamentos-head h3,
#os-workspace-modal #os-consumidos-wrap .os-apontamentos-head h3{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;
}
#os-workspace-modal #os-apontamentos-wrap .os-apontamentos-head,
#os-workspace-modal #os-consumidos-wrap .os-apontamentos-head{
  min-height:45px;box-sizing:border-box;padding:4px 4px 9px;
  justify-content:flex-end;border-bottom:1px solid #e3eaf3;
}
#os-workspace-modal .os-apontamentos-list{
  padding:10px 2px 12px;
  box-sizing:border-box;
  min-width:0;width:100%;gap:10px;
}
#os-workspace-modal .os-apontamento-row{
  box-sizing:border-box;width:100%;max-width:none;min-width:0;
  padding:13px 12px;
  border:1px solid #d7e1ed;border-radius:0;
}
#os-workspace-modal .os-apontamentos-total{padding:12px 4px!important;}
@media(max-width:760px){
  .chronos-global-timer{
    width:calc(100vw - 28px);max-width:none;
    left:14px;right:14px;
    bottom:calc(14px + env(safe-area-inset-bottom,0px));
    padding:11px 13px;gap:7px;
  }
  .chronos-global-timer .chronos-global-timer-time{font-size:18px;min-width:104px;padding:7px 10px;}
  .chronos-global-timer .chronos-global-timer-info strong{font-size:14px;}
  .chronos-global-timer .chronos-global-timer-action{min-height:37px;font-size:13px;}
  #os-workspace-modal .os-workspace-content{padding:8px 10px 14px!important;}
  #os-workspace-modal .os-apontamentos-list{padding:9px 0 10px;}
  #os-workspace-modal .os-apontamento-row{padding:12px 10px;}
  #os-workspace-modal .os-apontamento-row-top{gap:9px;}
  #os-workspace-modal .os-apontamento-row-user{min-width:0;flex:1 1 auto;}
  #os-workspace-modal .os-apontamento-row-user .os-apontamento-user-name{
    white-space:normal;overflow-wrap:anywhere;line-height:1.3;
  }
}


/* v6 — cronômetro mais compacto e atividade preventiva com melhor aproveitamento de largura */
.chronos-global-timer{
  width:min(420px,calc(100vw - 28px));
  padding:10px 12px;
  gap:5px;
}
.chronos-global-timer .chronos-global-timer-top{gap:10px;align-items:flex-start;}
.chronos-global-timer .chronos-global-timer-heading{font-size:10px;gap:7px;}
.chronos-global-timer .chronos-global-timer-dot{width:7px;height:7px;flex:0 0 7px;box-shadow:0 0 0 2px #e1f6eb;}
.chronos-global-timer .chronos-global-timer-info{gap:1px;}
.chronos-global-timer .chronos-global-timer-info strong{font-size:13px;line-height:1.15;}
.chronos-global-timer .chronos-global-timer-info span{font-size:11px;line-height:1.2;}
.chronos-global-timer .chronos-global-timer-time{
  font-size:16px;
  min-width:92px;
  padding:6px 8px;
  line-height:1;
}
.chronos-global-timer .chronos-global-timer-footer{
  margin-top:0;
  padding-top:6px;
}
.chronos-global-timer .chronos-global-timer-action{
  min-height:32px;
  font-size:12px;
  gap:6px;
}
.chronos-global-timer .chronos-global-timer-action svg{width:15px;height:15px;flex:0 0 15px;}

#os-workspace-modal{width:min(760px,calc(100% - 20px));max-width:760px;}
#os-workspace-modal .os-workspace-content{padding:14px 14px 18px;}
#os-workspace-modal > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap,
#os-workspace-modal > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-card-expanded,
#os-workspace-modal > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-form-card,
#os-workspace-modal > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-list-grid,
#os-workspace-modal > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-expand-list-card,
#os-workspace-modal > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-expand-static-list{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
#os-workspace-modal > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-card-expanded{gap:12px !important;}
#os-workspace-modal > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-form-card{padding:14px 14px 16px !important;}
#os-workspace-modal > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-list-grid.proc-expand-base-grid{grid-template-columns:1fr !important;gap:12px !important;}
#os-workspace-modal > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-list-card.proc-expand-list-card{padding:14px 16px !important;}
#os-workspace-modal > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-expand-static-list{gap:10px !important;}
#os-workspace-modal > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-expand-static-item{
  width:100% !important;
  max-width:100% !important;
  grid-template-columns:30px minmax(0,1fr) !important;
  gap:10px !important;
  align-items:start !important;
}
#os-workspace-modal > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-expand-static-item > span:last-child,
#os-workspace-modal > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-expand-desc-box,
#os-workspace-modal > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-list-card-head,
#os-workspace-modal > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-list-card-head span{
  width:100% !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  box-sizing:border-box !important;
}
@media(max-width:760px){
  .chronos-global-timer{
    left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));
    width:calc(100vw - 28px);max-width:none;
    padding:9px 11px;
    gap:4px;
  }
  .chronos-global-timer .chronos-global-timer-time{font-size:15px;min-width:88px;padding:6px 7px;}
  .chronos-global-timer .chronos-global-timer-info strong{font-size:12px;}
  .chronos-global-timer .chronos-global-timer-info span{font-size:10px;}
  .chronos-global-timer .chronos-global-timer-action{min-height:31px;font-size:11.5px;}
  #os-workspace-modal{width:calc(100vw - 14px)!important;max-width:calc(100vw - 14px)!important;}
  #os-workspace-modal .os-workspace-content{padding:10px 10px 14px!important;}
  #os-workspace-modal > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-form-card{padding:12px !important;}
  #os-workspace-modal > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-list-card.proc-expand-list-card{padding:12px 12px 13px !important;}
  #os-workspace-modal > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-expand-static-item{grid-template-columns:28px minmax(0,1fr) !important;gap:8px !important;}
}


/* v7 — bolha minimizada do cronômetro + atividade preventiva com largura mais ampla */
.chronos-global-timer-tools{display:flex;align-items:center;gap:8px;flex:0 0 auto;}
.chronos-global-timer-minimize{
  width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid #d7e3ef;background:#fff;color:#6c7e92;cursor:pointer;flex:0 0 34px;
}
.chronos-global-timer-minimize:hover{background:#f4f8fc;color:#1f6fc8;border-color:#bcd2e8;}
.chronos-global-timer-minimize svg{width:16px;height:16px;}
.chronos-global-timer-bubble{
  position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));
  width:74px;height:74px;border-radius:50%;border:1px solid #cfe0ef;background:#ffffff;
  box-shadow:0 10px 28px rgba(22,46,77,.18);z-index:9998;cursor:pointer;padding:0;
  display:flex;align-items:center;justify-content:center;color:#1478e8;
}
.chronos-global-timer-bubble.is-hidden{display:none !important;}
.chronos-global-timer-bubble-pulse{
  position:absolute;inset:6px;border-radius:50%;border:2px solid rgba(20,120,232,.20);
  animation:chronosTimerPulse 1.8s ease-out infinite;
}
.chronos-global-timer-bubble::after{
  content:'';position:absolute;inset:2px;border-radius:50%;border-top:2px solid #16824b;border-right:2px solid #8fd3ad;border-bottom:2px solid #d7edf9;border-left:2px solid #d7edf9;
  animation:chronosTimerSpin 2.8s linear infinite;
}
.chronos-global-timer-bubble-core{position:relative;z-index:1;display:grid;gap:2px;justify-items:center;line-height:1;}
.chronos-global-timer-bubble-label{font-size:10px;font-weight:800;color:#16824b;letter-spacing:.04em;}
.chronos-global-timer-bubble-time{font-size:14px;font-weight:800;color:#1570d8;font-variant-numeric:tabular-nums;}
@keyframes chronosTimerPulse{0%{transform:scale(.86);opacity:.65;}70%{transform:scale(1);opacity:0;}100%{opacity:0;}}
@keyframes chronosTimerSpin{from{transform:rotate(0);}to{transform:rotate(360deg);}}

#os-workspace-modal.activity-wide{width:min(920px,calc(100% - 10px));max-width:920px;}
#os-workspace-modal.activity-wide .os-workspace-content{padding:10px 10px 16px;}
#os-workspace-modal.activity-wide > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-card-expanded{gap:10px !important;}
#os-workspace-modal.activity-wide > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-form-card{padding:10px !important;}
#os-workspace-modal.activity-wide > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-list-card.proc-expand-list-card{padding:10px 10px 12px !important;}
#os-workspace-modal.activity-wide > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-expand-static-list{gap:8px !important;}
#os-workspace-modal.activity-wide > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-expand-static-item{grid-template-columns:24px minmax(0,1fr) !important;gap:8px !important;}
#os-workspace-modal.activity-wide > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-expand-static-item > span:last-child{padding:12px 14px !important;}
#os-workspace-modal.activity-wide > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-list-card-head{margin-bottom:8px !important;}
@media(max-width:760px){
  .chronos-global-timer-bubble{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:68px;height:68px;}
  .chronos-global-timer-bubble-time{font-size:12px;}
  .chronos-global-timer-minimize{width:30px;height:30px;flex-basis:30px;}
  #os-workspace-modal.activity-wide{width:calc(100vw - 4px)!important;max-width:calc(100vw - 4px)!important;}
  #os-workspace-modal.activity-wide .os-workspace-top{padding:10px 10px !important;}
  #os-workspace-modal.activity-wide .os-workspace-content{padding:6px 6px 12px !important;}
  #os-workspace-modal.activity-wide > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-form-card{padding:8px !important;}
  #os-workspace-modal.activity-wide > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-list-card.proc-expand-list-card{padding:8px !important;}
  #os-workspace-modal.activity-wide > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-expand-static-item{grid-template-columns:20px minmax(0,1fr) !important;gap:6px !important;}
  #os-workspace-modal.activity-wide > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-expand-static-item > span:last-child{padding:10px 10px !important;}
}


/* Chronos v8 — responsáveis no resumo e layout regular da atividade na O.S. */
#os-detail-modal.os-workspace-enabled .os-exec-summary-responsaveis{
  display:flex;align-items:center;justify-content:flex-start;gap:10px;
  min-width:0;max-width:100%;padding:1px 0 2px;
}
#os-detail-modal.os-workspace-enabled .os-exec-summary-responsaveis-label{
  color:#64748b;font-size:12px;font-weight:600;white-space:nowrap;
}
#os-detail-modal.os-workspace-enabled .os-exec-summary-responsaveis .os-card-responsaveis-avatars{
  display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;
  flex-wrap:nowrap!important;gap:2px!important;max-width:150px!important;
}
#os-detail-modal.os-workspace-enabled .os-exec-summary-responsaveis .os-card-responsavel-avatar{
  width:29px!important;height:29px!important;min-width:29px!important;max-width:29px!important;
  font-size:11px!important;
}
/* O formulário original permanece único; somente a organização dentro do modal muda. */
#os-workspace-modal.activity-wide #os-workspace-content{
  width:100%;max-width:100%;min-width:0;box-sizing:border-box;
}
#os-workspace-modal.activity-wide #os-procedimento-exec-wrap,
#os-workspace-modal.activity-wide #os-procedimento-exec-wrap .os-proc-exec-card,
#os-workspace-modal.activity-wide #os-procedimento-exec-wrap .os-proc-steps-list-like,
#os-workspace-modal.activity-wide #os-procedimento-exec-wrap .os-proc-step-like{
  width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;
}
#os-workspace-modal.activity-wide #os-procedimento-exec-wrap .os-proc-step-like{
  display:block!important;padding:11px!important;
}
#os-workspace-modal.activity-wide #os-procedimento-exec-wrap .os-proc-check-actions{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:100%!important;gap:6px!important;
}
#os-workspace-modal.activity-wide #os-procedimento-exec-wrap .os-proc-check-actions .proc-check-choice{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-width:0!important;width:100%!important;height:38px!important;min-height:38px!important;
  padding:0 4px!important;gap:4px!important;font-size:12px!important;
  border-radius:0!important;white-space:nowrap!important;
}
#os-workspace-modal.activity-wide #os-procedimento-exec-wrap .os-proc-check-actions .proc-check-icon{
  width:14px!important;height:14px!important;
}
/* A regra antiga de grade dividia Observação e Foto em duas colunas estreitas. */
#os-workspace-modal.activity-wide #os-procedimento-exec-wrap .os-proc-step-extra-wrap{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;max-width:100%!important;min-width:0!important;
  gap:11px!important;box-sizing:border-box!important;margin-top:12px!important;
}
#os-workspace-modal.activity-wide #os-procedimento-exec-wrap .os-proc-step-extra-wrap > *{
  grid-column:1/-1!important;min-width:0!important;max-width:100%!important;
}
#os-workspace-modal.activity-wide #os-procedimento-exec-wrap .os-proc-step-extra-section:not(.hidden){
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  gap:7px!important;width:100%!important;max-width:100%!important;
  min-width:0!important;box-sizing:border-box!important;
}
#os-workspace-modal.activity-wide #os-procedimento-exec-wrap .os-proc-step-extra-header{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  width:100%!important;min-width:0!important;gap:8px!important;
}
#os-workspace-modal.activity-wide #os-procedimento-exec-wrap .os-proc-step-exec-obs,
#os-workspace-modal.activity-wide #os-procedimento-exec-wrap .os-proc-step-photo-input,
#os-workspace-modal.activity-wide #os-procedimento-exec-wrap .os-proc-step-photo-preview,
#os-workspace-modal.activity-wide #os-procedimento-exec-wrap .os-proc-step-saved-photos,
#os-workspace-modal.activity-wide #os-procedimento-exec-wrap .os-proc-step-photo-gallery{
  width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;
}
#os-workspace-modal.activity-wide #os-procedimento-exec-wrap .os-proc-step-exec-obs{
  min-height:76px!important;padding:10px 11px!important;line-height:1.45!important;
}
#os-workspace-modal.activity-wide #os-procedimento-exec-wrap .proc-nok-photo-hint{
  width:100%!important;max-width:100%!important;min-width:0!important;
  overflow-wrap:anywhere!important;line-height:1.4!important;
}
#os-workspace-modal.activity-wide #os-procedimento-exec-wrap .proc-open-sol:not(.hidden){
  justify-self:start!important;width:auto!important;max-width:100%!important;
  margin-top:1px!important;
}
@media(max-width:760px){
  #os-workspace-modal.activity-wide #os-procedimento-exec-wrap .os-proc-exec-card{padding:8px!important;}
  #os-workspace-modal.activity-wide #os-procedimento-exec-wrap .os-proc-step-like{padding:9px!important;}
  #os-workspace-modal.activity-wide #os-procedimento-exec-wrap .os-proc-check-actions{gap:5px!important;}
  #os-workspace-modal.activity-wide #os-procedimento-exec-wrap .os-proc-check-actions .proc-check-choice{font-size:11px!important;padding:0 2px!important;gap:3px!important;}
  #os-workspace-modal.activity-wide #os-procedimento-exec-wrap .os-proc-check-actions .proc-check-icon{width:12px!important;height:12px!important;}
}


/* CHRONOS v9 — O.S. ativa no cabeçalho mobile e responsáveis após classificação */
.mobile-active-os-shortcut { display:none; }
.mobile-active-os-shortcut[hidden] { display:none!important; }
@media screen and (max-width:760px) {
  body .sidebar-layout > .mobile-topbar .mobile-active-os-shortcut:not([hidden]) {
    display:flex;
    align-items:center;
    flex:0 0 100%;
    width:100%;
    min-width:0;
    height:29px;
    padding:4px 6px 4px 7px;
    box-sizing:border-box;
    gap:7px;
    background:#f1f7ff;
    border:1px solid #dae9fb;
    border-radius:0;
    text-align:left;
    font-family:inherit;
    cursor:pointer;
    line-height:16px;
    color:#41617f;
  }
  .mobile-active-os-indicator {
    width:6px;height:6px;border-radius:50%;flex:0 0 6px;
    background:#16a765;
  }
  .mobile-active-os-shortcut strong {
    flex:0 0 auto;
    font-size:11px;font-weight:800;color:#1976d2;white-space:nowrap;
  }
  .mobile-active-os-title {
    flex:1 1 auto;min-width:0;white-space:nowrap;
    overflow:hidden;text-overflow:ellipsis;font-size:11px;
    color:#4b647e;
  }
  .mobile-active-os-chevron {width:12px;height:12px;flex:0 0 12px;color:#7992ab;}
  body.chronos-active-os-in-topbar .sidebar-layout > .mobile-topbar {
    min-height:128px!important;
  }
  body.chronos-active-os-in-topbar .sidebar-layout > .dashboard-container.sidebar-main {
    padding-top:145px!important;
  }
  #os-detail-modal.os-workspace-enabled .os-exec-summary-responsaveis {
    padding-top:4px;padding-bottom:2px;
    border-top:1px solid #edf1f6;
    margin-top:0;
  }
}


/* CHRONOS v10 — bolha com número/status, card com ações e faixa superior pausada */
.chronos-global-timer{border-left-color:#2d89ef;}
.chronos-global-timer.is-paused{border-left-color:#d8a017;}
.chronos-global-timer.is-paused .chronos-global-timer-heading{color:#b07a00;}
.chronos-global-timer.is-paused .chronos-global-timer-dot{background:#d8a017;box-shadow:0 0 0 3px #fff2cc;}
.chronos-global-timer .chronos-global-timer-footer{grid-template-columns:1fr 1fr;align-items:stretch;}
.chronos-global-timer .chronos-global-timer-link{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:7px;min-height:35px;}
.chronos-global-timer .chronos-global-timer-action.is-pause{background:#fff8ea;color:#b87500;border:1px solid #e7c56a;}
.chronos-global-timer .chronos-global-timer-action.is-resume{background:#eef6ff;color:#1565c0;border:1px solid #b9d5f5;}
.chronos-global-timer .chronos-global-timer-action.is-conclude{background:#eff9f1;color:#14814c;border:1px solid #9fd2b5;}
.chronos-global-timer-bubble{overflow:hidden;}
.chronos-global-timer-bubble::after{border-top-color:#16824b;border-right-color:#9ad4b5;border-bottom-color:#d7edf9;border-left-color:#d7edf9;}
.chronos-global-timer-bubble.is-paused::after{border-top-color:#d8a017;border-right-color:#f1d57c;border-bottom-color:#f8efd2;border-left-color:#f8efd2;animation-duration:4.2s;}
.chronos-global-timer-bubble.is-paused .chronos-global-timer-bubble-pulse{animation:none;opacity:.55;border-color:rgba(216,160,23,.22);}
.chronos-global-timer-bubble-core{gap:1px;}
.chronos-global-timer-bubble-label{font-size:13px;line-height:1;font-weight:800;color:#1570d8;letter-spacing:0;}
.chronos-global-timer-bubble-state{font-size:8px;line-height:1.1;font-weight:800;color:#16824b;text-transform:uppercase;letter-spacing:.05em;}
.chronos-global-timer-bubble.is-paused .chronos-global-timer-bubble-state{color:#b07a00;}
.chronos-global-timer-bubble-time{font-size:13px;line-height:1;font-weight:800;color:#29516e;}
@media(max-width:760px){
  .chronos-global-timer-bubble-label{font-size:12px;}
  .chronos-global-timer-bubble-state{font-size:7.5px;}
  .chronos-global-timer-bubble-time{font-size:11px;}
}
@media screen and (max-width:760px){
  body .sidebar-layout > .mobile-topbar .mobile-active-os-shortcut.is-paused{background:#fffaf0;border-color:#ecd79e;color:#7a6319;}
  .mobile-active-os-shortcut.is-paused .mobile-active-os-indicator{background:#d8a017;}
  .mobile-active-os-shortcut.is-paused strong{color:#b07a00;}
  .mobile-active-os-shortcut.is-paused .mobile-active-os-title{color:#7a6a35;}
  body.chronos-active-os-paused .sidebar-layout > .dashboard-container.sidebar-main{padding-top:145px!important;}
}

/* CHRONOS v10 — atividade preventiva usando melhor a largura */
#os-workspace-modal.activity-wide{width:min(1020px,calc(100% - 4px));max-width:1020px;}
#os-workspace-modal.activity-wide .os-workspace-content{padding:6px 4px 12px!important;}
#os-workspace-modal.activity-wide > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-form-card,
#os-workspace-modal.activity-wide > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-list-card.proc-expand-list-card,
#os-workspace-modal.activity-wide > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .os-proc-step-like{padding:8px!important;}
#os-workspace-modal.activity-wide > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-expand-static-item{grid-template-columns:22px minmax(0,1fr)!important;gap:6px!important;}
#os-workspace-modal.activity-wide > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-expand-static-item > span:last-child{padding:10px 10px!important;}
#os-workspace-modal.activity-wide > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .os-proc-step-extra-header{gap:10px!important;align-items:flex-start!important;}
#os-workspace-modal.activity-wide > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .os-proc-step-extra-wrap{gap:9px!important;}
#os-workspace-modal.activity-wide > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-nok-photo-hint{font-size:12px!important;line-height:1.35!important;}
#os-workspace-modal.activity-wide > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .os-proc-step-photo-controls{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:start!important;}
#os-workspace-modal.activity-wide > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .os-proc-step-photo-input{max-width:100%!important;width:100%!important;}
#os-workspace-modal.activity-wide > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap textarea{width:100%!important;}
@media(max-width:760px){
  #os-workspace-modal.activity-wide{width:calc(100vw - 2px)!important;max-width:calc(100vw - 2px)!important;}
  #os-workspace-modal.activity-wide .os-workspace-content{padding:4px 2px 10px!important;}
  #os-workspace-modal.activity-wide > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-form-card,
  #os-workspace-modal.activity-wide > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .proc-list-card.proc-expand-list-card,
  #os-workspace-modal.activity-wide > .os-workspace-panel > .os-workspace-content > #os-procedimento-exec-wrap .os-proc-step-like{padding:7px!important;}
}


/* CHRONOS v10.1 — correção dos botões do card do cronômetro */
.chronos-global-timer .chronos-global-timer-footer{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:6px !important;
  align-items:stretch !important;
  margin-top:2px !important;
  padding-top:8px !important;
}
.chronos-global-timer .chronos-global-timer-footer button{
  min-width:0 !important;
  width:100% !important;
  min-height:34px !important;
  height:34px !important;
  padding:0 8px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  font-size:11.5px !important;
  line-height:1 !important;
  font-weight:700 !important;
}
.chronos-global-timer .chronos-global-timer-link{
  grid-column:auto !important;
  min-height:34px !important;
}
.chronos-global-timer .chronos-global-timer-link svg{width:14px;height:14px;flex:0 0 14px;}
.chronos-global-timer .chronos-global-timer-action.is-toggle,
.chronos-global-timer .chronos-global-timer-action.is-pause,
.chronos-global-timer .chronos-global-timer-action.is-resume,
.chronos-global-timer .chronos-global-timer-action.is-conclude,
.chronos-global-timer .chronos-global-timer-link{
  border-radius:0 !important;
}
@media(max-width:760px){
  .chronos-global-timer .chronos-global-timer-footer{
    gap:5px !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .chronos-global-timer .chronos-global-timer-footer button{
    min-height:32px !important;
    height:32px !important;
    padding:0 6px !important;
    font-size:11px !important;
  }
}


/* ===== v10.3 — rolagem única da página, sem rolagem individual dos cards =====
   Manter os filtros em sticky, mas preservar o fluxo natural da lista de O.S.
   Não fixar altura na área dos cards nem criar contêiner vertical rolável. */
@media screen and (max-width:760px){
  body[data-page="ordem-servico"] .os-workspace-panel,
  body[data-page="ordem"] .os-workspace-panel{
    overflow:visible !important;
  }
  body[data-page="ordem-servico"] .os-page-grid-modern,
  body[data-page="ordem"] .os-page-grid-modern{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
  body[data-page="ordem-servico"] .os-main-card,
  body[data-page="ordem"] .os-main-card,
  body[data-page="ordem-servico"] .os-user-board-panel,
  body[data-page="ordem"] .os-user-board-panel,
  body[data-page="ordem-servico"] .os-tab-panels,
  body[data-page="ordem"] .os-tab-panels,
  body[data-page="ordem-servico"] .os-tab-panel,
  body[data-page="ordem"] .os-tab-panel,
  body[data-page="ordem-servico"] .os-board-block,
  body[data-page="ordem"] .os-board-block,
  body[data-page="ordem-servico"] .os-list-shell,
  body[data-page="ordem"] .os-list-shell,
  body[data-page="ordem-servico"] .os-list-scroll,
  body[data-page="ordem"] .os-list-scroll,
  body[data-page="ordem-servico"] .os-mobile-flat-os,
  body[data-page="ordem"] .os-mobile-flat-os{
    height:auto !important;
    max-height:none !important;
    min-height:0 !important;
    overflow:visible !important;
    flex:none !important;
    overscroll-behavior:auto !important;
  }
  body[data-page="ordem-servico"] #os-mobile-sticky-controls,
  body[data-page="ordem"] #os-mobile-sticky-controls{
    position:sticky !important;
    top:var(--os-mobile-sticky-top,92px) !important;
    z-index:1100 !important;
  }
}

/* ==============================================================
   Chronos v11 · Solicitações no padrão da Ordem de Serviço
   Pesquisa / filtros fixos no mobile; lista com rolagem natural.
   =============================================================== */
body[data-page="solicitacao"] #os-mobile-list-status-card.is-active{
  border-color:#2b83ed !important;
  background:#f5faff !important;
}
body[data-page="solicitacao"] #os-mobile-list-status-card.is-active .os-mobile-short-status{
  color:#237aec !important;
}
body[data-page="solicitacao"] #os-mobile-list-status-card.is-active .os-metric-value:not([style]){
  color:#237aec !important;
}
body[data-page="solicitacao"] #os-detail-modal .os-detail-header{
  display:grid;
  width:100%;
  gap:12px;
}
body[data-page="solicitacao"] #os-detail-modal .os-solicitacao-summary{
  border:1px solid #d9e2ed;
  background:#fff;
  padding:14px;
  gap:11px;
  box-shadow:none;
  border-radius:0 !important;
}
body[data-page="solicitacao"] #os-detail-modal .os-solicitacao-summary .os-exec-summary-title{
  margin:0;
  font-size:19px;
  line-height:1.3;
}
body[data-page="solicitacao"] #os-detail-modal .os-workspace-nav{
  width:100%;
  max-width:100%;
}
body[data-page="solicitacao"] #os-detail-modal .os-workspace-nav-item{
  min-height:64px;
  border-radius:0;
}
body[data-page="solicitacao"] #os-detail-modal .os-detail-footer{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  justify-content:flex-end;
  gap:10px;
}
body[data-page="solicitacao"] #os-detail-modal .os-detail-footer button{
  min-height:42px;
  border-radius:0 !important;
  font-weight:700;
}
@media screen and (max-width:760px){
  /* Manter apenas a página como área vertical rolável, tal como na O.S. v10.3. */
  body[data-page="solicitacao"] section.os-workspace-panel{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
  body[data-page="solicitacao"] .os-page-grid-modern,
  body[data-page="solicitacao"] .os-main-card,
  body[data-page="solicitacao"] .os-tab-panels,
  body[data-page="solicitacao"] .os-tab-panel,
  body[data-page="solicitacao"] .os-board-block,
  body[data-page="solicitacao"] .os-list-shell,
  body[data-page="solicitacao"] .os-list-scroll{
    height:auto !important;
    max-height:none !important;
    min-height:0 !important;
    overflow:visible !important;
    flex:none !important;
    overscroll-behavior:auto !important;
  }
  body[data-page="solicitacao"] #os-mobile-sticky-controls{
    position:sticky !important;
    top:var(--os-mobile-sticky-top,92px) !important;
    z-index:1100 !important;
    margin:0 0 10px !important;
  }
  body[data-page="solicitacao"] .os-page-grid-modern{
    display:block !important;
    padding-top:0 !important;
    margin-top:0 !important;
  }
  body[data-page="solicitacao"] .os-main-card{
    overflow:visible !important;
    border-radius:0 !important;
    padding:8px 8px 16px !important;
    margin:0 !important;
  }
  body[data-page="solicitacao"] .os-list-scroll{
    overflow-x:hidden !important;
    overflow-y:visible !important;
    padding-bottom:16px !important;
    -webkit-overflow-scrolling:auto;
  }
  body[data-page="solicitacao"] .os-pending-grid-list{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
    padding:0 !important;
    margin:0 !important;
    min-width:0 !important;
    max-width:none !important;
    width:100% !important;
  }
  body[data-page="solicitacao"] .os-service-card{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    padding:14px 14px 16px !important;
    border-radius:0 !important;
    box-sizing:border-box !important;
    flex:none !important;
  }
  body[data-page="solicitacao"] .os-service-card > *{min-width:0;max-width:100%;}
  body[data-page="solicitacao"] #os-detail-modal .os-solicitacao-summary{
    padding:12px;
  }
  body[data-page="solicitacao"] #os-detail-modal .os-solicitacao-summary .os-exec-summary-title{
    font-size:17px;
  }
  body[data-page="solicitacao"] #os-detail-modal .os-detail-footer{
    gap:8px;
  }
  body[data-page="solicitacao"] #os-detail-modal .os-detail-footer button{
    flex:1 1 0;
    min-width:0;
    min-height:42px;
    padding:8px;
    font-size:12px;
    line-height:1.25;
  }
  body[data-page="solicitacao"] #os-workspace-modal .os-workspace-content{
    padding:10px 10px 16px;
  }
  body[data-page="solicitacao"] #os-workspace-modal .os-workspace-section{
    margin-bottom:10px;
    padding:11px;
  }
  body[data-page="solicitacao"] #os-workspace-modal .os-workspace-original-card,
  body[data-page="solicitacao"] #os-workspace-modal .os-workspace-original-card .os-service-card{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
}


/* Chronos v12 — Solicitações: materiais no mesmo menu de detalhe da O.S.
   Ocultar somente a seção original sob o detalhe; a própria seção continua
   disponível ao ser movida para a janela de Itens consumidos. */
body[data-page="solicitacao"] #os-detail-modal > .os-detail-card > #os-consumidos-wrap{
  display:none !important;
}
body[data-page="solicitacao"] #os-workspace-modal #os-consumidos-wrap{
  display:block !important;
  width:100%;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
  margin:0;
  border-radius:0 !important;
}
body[data-page="solicitacao"] #os-workspace-modal #os-consumidos-wrap .os-consumido-form,
body[data-page="solicitacao"] #os-workspace-modal #os-consumidos-wrap .os-apontamentos-list{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}

/* ================================================================
   Chronos V13 - Apontamentos e Itens consumidos em tela cheia MOBILE
   Mantém desktop e outras janelas (detalhes/atividade) como estavam.
   Sem formulários novos: reaproveita os nós e eventos originais.
   ================================================================ */
@media screen and (max-width: 760px) {
  /* Janela das seções de apontamentos e materiais. */
  #os-workspace-modal.os-mobile-fullscreen {
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    background: #fff !important;
    overflow: hidden !important;
  }
  #os-workspace-modal.os-mobile-fullscreen > .os-workspace-panel {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
  #os-workspace-modal.os-mobile-fullscreen .os-workspace-top {
    display: flex !important;
    flex: 0 0 auto !important;
    min-height: 56px !important;
    padding: 10px 15px !important;
    padding-top: calc(10px + env(safe-area-inset-top, 0px)) !important;
    background: #fff !important;
    border-bottom: 1px solid #d9e3ef !important;
    z-index: 3;
  }
  #os-workspace-modal.os-mobile-fullscreen .os-workspace-content {
    display: block !important;
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 12px 12px calc(22px + env(safe-area-inset-bottom, 0px)) !important;
    box-sizing: border-box !important;
  }
  #os-workspace-modal.os-mobile-fullscreen #os-apontamentos-wrap,
  #os-workspace-modal.os-mobile-fullscreen #os-consumidos-wrap {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }
  #os-workspace-modal.os-mobile-fullscreen .os-apontamentos-head {
    padding: 8px 2px 12px !important;
  }
  #os-workspace-modal.os-mobile-fullscreen .os-apontamentos-list,
  #os-workspace-modal.os-mobile-fullscreen .os-apontamento-row,
  #os-workspace-modal.os-mobile-fullscreen .os-consumido-form {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  #os-workspace-modal.os-mobile-fullscreen .os-consumido-form {
    margin: 0 0 12px !important;
    padding: 12px !important;
  }
  #os-workspace-modal.os-mobile-fullscreen .os-consumido-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  /* Janela de criar, editar ou concluir apontamento: tela inteira. */
  dialog#os-apontamento-modal.os-apontamento-modal {
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    width: 100vw !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    box-shadow: none !important;
    background: #fff !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
  #os-apontamento-modal > .os-apontamento-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    min-height: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    background: #fff !important;
  }
  #os-apontamento-modal .os-apontamento-modal-head {
    flex: 0 0 auto !important;
    min-height: 56px !important;
    padding: 10px 16px !important;
    padding-top: calc(10px + env(safe-area-inset-top, 0px)) !important;
    background: #fff !important;
    box-sizing: border-box !important;
    z-index: 3;
  }
  #os-apontamento-modal .os-apontamento-modal-head h3 {
    font-weight: 700 !important;
    color: #142b47 !important;
    line-height: 1.2 !important;
  }
  #os-apontamento-modal .os-apontamento-modal-body {
    display: grid !important;
    align-content: start !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 16px 16px 24px !important;
    box-sizing: border-box !important;
  }
  #os-apontamento-modal .os-apontamento-modal-footer {
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 68px !important;
    margin: 0 !important;
    padding: 11px 16px calc(11px + env(safe-area-inset-bottom, 0px)) !important;
    background: #fff !important;
    border-top: 1px solid #dbe5ef !important;
    box-sizing: border-box !important;
    z-index: 3;
  }
  #os-apontamento-modal .os-apontamento-modal-footer > button {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    min-height: 42px !important;
    border-radius: 0 !important;
    font-weight: 700 !important;
  }
}


/* ================================================================
   Chronos V14 - detalhes/atividade também em tela cheia no mobile
   e calendário/hora mais visível ao abrir no modal de apontamento.
   ================================================================ */
body.chronos-picker-mobile-open{
  overflow:hidden !important;
}

@media screen and (max-width: 760px) {
  /* A mesma janela cheia agora vale para detalhes e atividade. */
  #os-workspace-modal.os-mobile-fullscreen.activity-wide {
    width: 100vw !important;
    max-width: 100vw !important;
  }
  #os-workspace-modal.os-mobile-fullscreen .os-workspace-content > .os-workspace-section,
  #os-workspace-modal.os-mobile-fullscreen .os-workspace-content > #os-procedimento-exec-wrap,
  #os-workspace-modal.os-mobile-fullscreen .os-workspace-content > #os-apontamentos-wrap,
  #os-workspace-modal.os-mobile-fullscreen .os-workspace-content > #os-consumidos-wrap {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  #os-workspace-modal.os-mobile-fullscreen .os-workspace-section {
    margin: 0 0 12px !important;
    padding: 12px !important;
  }
  #os-workspace-modal.os-mobile-fullscreen .os-workspace-opening-card-section {
    padding: 12px !important;
  }
  #os-workspace-modal.os-mobile-fullscreen .os-workspace-original-card,
  #os-workspace-modal.os-mobile-fullscreen .os-workspace-original-card .os-service-card,
  #os-workspace-modal.os-mobile-fullscreen #os-procedimento-exec-wrap,
  #os-workspace-modal.os-mobile-fullscreen #os-procedimento-exec-wrap .os-proc-exec-card,
  #os-workspace-modal.os-mobile-fullscreen #os-procedimento-exec-wrap .os-proc-steps-list-like,
  #os-workspace-modal.os-mobile-fullscreen #os-procedimento-exec-wrap .os-proc-step-like {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* Calendário do apontamento: abre como painel central no mobile, sem empurrar
     o formulário para baixo e já mostrando hora/minuto logo de cara. */
  #os-apontamento-modal .os-apontamento-modal-body {
    position: relative !important;
  }
  #os-apontamento-modal .chronos-picker-wrap.picker-open {
    z-index: 40;
  }
  #os-apontamento-modal .chronos-picker-wrap.picker-open .chronos-picker-panel {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    transform: translate(-50%, -50%) !important;
    width: min(320px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    max-height: min(470px, calc(100dvh - 116px)) !important;
    padding: 12px 12px 10px !important;
    overflow: hidden auto !important;
    overscroll-behavior: contain !important;
    border: 1px solid #d8e0ee !important;
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.22) !important;
    z-index: 2147483000 !important;
    background: #fff !important;
  }
  #os-apontamento-modal .chronos-picker-header {
    grid-template-columns: 30px 1fr 30px !important;
    gap: 8px !important;
    margin-bottom: 8px !important;
  }
  #os-apontamento-modal .chronos-picker-title-group {
    justify-content: center !important;
    gap: 8px !important;
  }
  #os-apontamento-modal .chronos-picker-title {
    padding: 6px 8px !important;
    font-size: 13px !important;
  }
  #os-apontamento-modal .chronos-picker-title-year {
    min-width: 56px !important;
  }
  #os-apontamento-modal .chronos-picker-nav {
    width: 30px !important;
    height: 30px !important;
    font-size: 20px !important;
  }
  #os-apontamento-modal .chronos-picker-weekdays {
    margin-bottom: 6px !important;
  }
  #os-apontamento-modal .chronos-picker-weekdays span {
    font-size: 11px !important;
    padding: 2px 0 !important;
  }
  #os-apontamento-modal .chronos-picker-grid-days,
  #os-apontamento-modal .chronos-picker-grid-months,
  #os-apontamento-modal .chronos-picker-grid-years {
    gap: 3px !important;
  }
  #os-apontamento-modal .chronos-picker-day,
  #os-apontamento-modal .chronos-picker-cell {
    min-height: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    font-size: 14px !important;
  }
  #os-apontamento-modal .chronos-picker-year-range {
    margin-bottom: 8px !important;
    font-size: 12px !important;
  }
  #os-apontamento-modal .chronos-picker-time-row {
    grid-template-columns: 1fr 64px auto 64px !important;
    gap: 8px !important;
    margin-top: 8px !important;
    padding-top: 8px !important;
  }
  #os-apontamento-modal .chronos-picker-time-label {
    font-size: 12px !important;
  }
  #os-apontamento-modal .chronos-picker-time-select {
    height: 32px !important;
    font-size: 12px !important;
    padding: 0 6px !important;
  }
  #os-apontamento-modal .chronos-picker-actions {
    margin-top: 10px !important;
    gap: 8px !important;
  }
  #os-apontamento-modal .chronos-picker-action {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding: 9px 10px !important;
    font-size: 12px !important;
  }
}


/* ================================================================
   CHRONOS V15 - Seletor data e hora em bottom sheet no apontamento
   - fundo escurecido, painel no rodapé, sem rolar para ver o horário
   - comportamento original preservado fora do modal e no desktop
   ================================================================ */
@media screen and (max-width: 760px) {
  #os-apontamento-modal > .chronos-picker-sheet-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 100 !important;
    background: rgba(15, 31, 53, .52) !important;
    cursor: pointer;
  }
  #os-apontamento-modal > .chronos-picker-sheet-panel {
    position: fixed !important;
    inset: auto 0 0 0 !important;
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
    z-index: 101 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    max-height: calc(100dvh - 12px) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 10px 15px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
    background: #fff !important;
    border: 0 !important;
    border-top: 2px solid #2c94fc !important;
    border-radius: 0 !important;
    box-shadow: 0 -16px 40px rgba(9, 24, 45, .20) !important;
    -webkit-overflow-scrolling: touch;
  }
  #os-apontamento-modal .chronos-picker-sheet-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 31px;
    margin-bottom: 4px;
    color: #142b47;
    font-size: 15px;
  }
  #os-apontamento-modal .chronos-picker-sheet-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    font-size: 23px;
    line-height: 1;
    border: 0;
    background: #fff;
    color: #718199;
    cursor: pointer;
  }
  #os-apontamento-modal > .chronos-picker-sheet-panel .chronos-picker-header {
    grid-template-columns: 32px 1fr 32px !important;
    gap: 8px !important;
    margin-bottom: 6px !important;
  }
  #os-apontamento-modal > .chronos-picker-sheet-panel .chronos-picker-title-group {
    justify-content: center !important;
    gap: 8px !important;
  }
  #os-apontamento-modal > .chronos-picker-sheet-panel .chronos-picker-title {
    padding: 5px 7px !important;
    font-size: 13px !important;
  }
  #os-apontamento-modal > .chronos-picker-sheet-panel .chronos-picker-title-year {
    min-width: 56px !important;
  }
  #os-apontamento-modal > .chronos-picker-sheet-panel .chronos-picker-nav {
    width: 32px !important;
    height: 32px !important;
    font-size: 21px !important;
  }
  #os-apontamento-modal > .chronos-picker-sheet-panel .chronos-picker-weekdays {
    margin-bottom: 4px !important;
  }
  #os-apontamento-modal > .chronos-picker-sheet-panel .chronos-picker-weekdays span {
    padding: 1px 0 !important;
    font-size: 11px !important;
  }
  #os-apontamento-modal > .chronos-picker-sheet-panel .chronos-picker-grid-days,
  #os-apontamento-modal > .chronos-picker-sheet-panel .chronos-picker-grid-months,
  #os-apontamento-modal > .chronos-picker-sheet-panel .chronos-picker-grid-years {
    gap: 3px !important;
  }
  #os-apontamento-modal > .chronos-picker-sheet-panel .chronos-picker-day,
  #os-apontamento-modal > .chronos-picker-sheet-panel .chronos-picker-cell {
    min-height: clamp(25px, 4.1dvh, 34px) !important;
    height: clamp(25px, 4.1dvh, 34px) !important;
    padding: 0 !important;
    font-size: 13px !important;
  }
  #os-apontamento-modal > .chronos-picker-sheet-panel .chronos-picker-year-range {
    margin-bottom: 7px !important;
  }
  #os-apontamento-modal > .chronos-picker-sheet-panel .chronos-picker-time-row {
    grid-template-columns: minmax(0, 1fr) 74px 8px 74px !important;
    gap: 7px !important;
    padding-top: 9px !important;
    margin-top: 8px !important;
    border-top: 1px solid #e6edf5;
  }
  #os-apontamento-modal > .chronos-picker-sheet-panel .chronos-picker-time-select {
    width: 100% !important;
    min-width: 0 !important;
    height: 35px !important;
    font-size: 13px !important;
  }
  #os-apontamento-modal > .chronos-picker-sheet-panel .chronos-picker-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1.3fr !important;
    gap: 7px !important;
    margin-top: 10px !important;
  }
  #os-apontamento-modal > .chronos-picker-sheet-panel .chronos-picker-action {
    min-width: 0 !important;
    min-height: 37px !important;
    margin: 0 !important;
    padding: 7px 5px !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    border: 1px solid #d8e3ee !important;
  }
  #os-apontamento-modal > .chronos-picker-sheet-panel .chronos-picker-action.primary {
    color: #2375c6 !important;
    background: #f0f7fd !important;
  }
  #os-apontamento-modal > .chronos-picker-sheet-panel .chronos-picker-action.confirm {
    color: #fff !important;
    background: #2c94fc !important;
    border-color: #2c94fc !important;
  }
}

/* ================================================================
   CHRONOS V18 — Formulário de abertura compacto exclusivamente no
   DESKTOP (Ordem de Serviço). Sem alterações para <=760px/mobile.
   Campos, IDs, listeners e funcionamento original preservados.
   ================================================================ */
@media screen and (min-width:761px) {
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready.os-redesign-quick {
    width:min(980px, calc(100vw - 48px)) !important;
    max-height:calc(100dvh - 32px) !important;
    padding:16px 18px 14px !important;
    overflow-x:hidden !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-form-header {
    padding:1px 0 12px !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready #os-form-title {
    font-size:20px !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-form-order-number {
    margin-top:2px !important;
    padding:3px 6px !important;
    font-size:11px !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-header-subtitle {
    margin-top:1px;
    font-size:11px;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-step {
    padding:14px 16px !important;
    margin-bottom:10px !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-section-heading {
    gap:9px;
    margin-bottom:12px;
    padding-bottom:10px;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-number {
    width:29px;
    height:29px;
    flex:0 0 29px;
    font-size:13px;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-heading-text strong {
    font-size:14px;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-heading-text small {
    font-size:10.5px;
  }
  /* 5 campos de identificação distribuídos em até 3 colunas. */
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-main-grid {
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    gap:11px 14px !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-advanced-grid {
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    gap:10px 14px !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-header-title-field {
    margin-bottom:12px !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .asset-spec-field > label {
    margin-bottom:5px;
    font-size:12px !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-form-section .os-full-input,
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-form-section .os-card-select-trigger,
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-form-section .select-like,
  body[data-page="ordem-servico"] #os-form-panel .os-people-trigger {
    min-height:39px !important;
    padding:7px 10px !important;
    font-size:12.5px !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-section-title-row {
    margin-bottom:0;
  }
  /* Tipo, criticidade e parada na mesma faixa em vez de blocos isolados. */
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-step[data-form-step="2"] {
    display:grid;
    grid-template-columns:minmax(0, 1.5fr) minmax(245px, 1fr);
    column-gap:22px;
    row-gap:10px;
    align-items:end;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-step[data-form-step="2"] > .os-redesign-section-heading,
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-step[data-form-step="2"] > .os-section-title-row {
    grid-column:1 / -1;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-step[data-form-step="2"] > .os-form-grid.os-type-grid {
    grid-column:1;
    grid-template-columns:minmax(0,1fr) minmax(0,.8fr) !important;
    gap:10px !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-step[data-form-step="2"] > .os-radio-block {
    grid-column:2;
    display:flex;
    align-items:flex-start;
    flex-direction:column;
    justify-content:end;
    gap:7px;
    border:0;
    margin:0;
    padding:0 0 1px;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-radio-group {
    gap:8px;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-radio-group .os-radio-option {
    min-width:90px;
    min-height:39px;
    padding:7px 11px;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-textarea {
    height:118px !important;
    min-height:112px !important;
    padding:10px 12px !important;
    font-size:12.5px !important;
    line-height:1.45;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-description-count {
    padding-top:3px;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-disclosure-trigger {
    padding:11px 15px;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-disclosure-content {
    padding:0 15px 13px;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-external {
    display:inline-flex;
    align-items:center;
    width:auto;
    min-width:250px;
    max-width:100%;
    margin-top:9px;
    padding:8px 12px;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready #os-photo-field {
    margin:0;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready #os-photo-upload {
    width:min(100%, 600px) !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready #os-photo-upload .modern-file-label {
    min-height:76px !important;
    padding:11px 16px !important;
    gap:12px;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready #os-photo-upload .modern-file-icon {
    width:39px !important;
    height:39px !important;
    min-width:39px !important;
    display:grid;
    place-items:center;
    font-size:19px !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-form-footer {
    justify-content:flex-end !important;
    gap:10px !important;
    padding:10px 2px 1px !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-form-footer .os-opening-footer-close {
    flex:0 0 125px !important;
    width:125px !important;
    min-width:125px !important;
    height:40px !important;
    min-height:40px !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-form-footer #os-save-pending {
    flex:0 0 168px !important;
    width:168px !important;
    min-width:168px !important;
    height:40px !important;
    min-height:40px !important;
  }
}
@media screen and (min-width:761px) and (max-width:1050px) {
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-step[data-form-step="2"] {
    grid-template-columns:minmax(0,1fr);
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-step[data-form-step="2"] > .os-form-grid.os-type-grid,
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-step[data-form-step="2"] > .os-radio-block {
    grid-column:1 / -1;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-step[data-form-step="2"] > .os-radio-block {
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
  }
}
@media screen and (min-width:761px) {
  /* O placeholder de responsáveis já está indicado no seletor.
     Não manter uma linha vazia que alonga todo o card de identificação. */
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-opening-responsaveis-cards:has(.os-opening-responsavel-empty) {
    display:none !important;
  }
}

/* ================================================================
   CHRONOS V18.1 — Controles realmente compactos no formulário de O.S.
   Apenas DESKTOP; não modifica a solicitação nem o layout mobile.
   ================================================================ */
@media screen and (min-width: 761px) {
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready.os-redesign-quick {
    padding: 12px 16px 11px !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-step:not(.os-redesign-optional) {
    padding: 12px 14px !important;
    margin-bottom: 8px !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-section-heading {
    padding-bottom: 7px !important;
    margin-bottom: 9px !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-optional {
    margin: 0 0 8px !important;
    padding: 0 !important;
    border-radius: 0 !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-disclosure-trigger {
    min-height: 44px !important;
    padding: 9px 12px !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-disclosure-label {
    gap: 2px !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-disclosure-label strong {
    font-size: 12px !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-disclosure-label small {
    font-size: 10px !important;
    line-height: 1.15 !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready.os-redesign-quick .os-redesign-disclosure-content {
    padding: 0 12px 10px !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-advanced-grid {
    gap: 7px 10px !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .asset-spec-field > label {
    margin-bottom: 4px !important;
    font-size: 11.5px !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready #os-programada {
    height: 34px !important;
    min-height: 34px !important;
    width: min(100%, 280px) !important;
    padding: 5px 10px !important;
    font-size: 12px !important;
    border-radius: 0 !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-external {
    margin-top: 7px !important;
    padding: 5px 9px !important;
    min-height: 32px !important;
    min-width: 0 !important;
    width: fit-content !important;
    max-width: 100% !important;
    font-size: 12px !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-external label {
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    gap: 7px !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-redesign-external input[type="checkbox"] {
    width: 14px !important;
    height: 14px !important;
  }
  /* Elimina a zona de soltar imagens desnecessariamente larga no desktop. */
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready #os-photo-field > label {
    display: none !important; /* A própria seção já se chama 'Fotos'. */
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready #os-photo-upload {
    display: grid !important;
    width: min(100%, 318px) !important;
    max-width: 318px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 5px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready #os-photo-upload > .modern-file-label {
    display: inline-flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 43px !important;
    max-height: 43px !important;
    height: 43px !important;
    padding: 5px 9px !important;
    gap: 9px !important;
    margin: 0 !important;
    border: 1px dashed #9ebfe8 !important;
    border-radius: 0 !important;
    background: #f6faff !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready #os-photo-upload > .modern-file-label:hover {
    border-color: #2c94fc !important;
    background: #edf6ff !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready #os-photo-upload .modern-file-icon {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    flex: 0 0 30px !important;
    font-size: 17px !important;
    line-height: 1 !important;
    border-radius: 0 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: #2c94fc !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready #os-photo-upload .modern-file-texts {
    gap: 1px !important;
    min-width: 0 !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready #os-photo-upload .modern-file-texts strong {
    font-size: 12px !important;
    line-height: 1.15 !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready #os-photo-upload .modern-file-texts small {
    font-size: 10px !important;
    line-height: 1.2 !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-form-footer {
    gap: 7px !important;
    padding: 8px 2px 1px !important;
    margin: 0 !important;
  }
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-form-footer .os-opening-footer-close,
  body[data-page="ordem-servico"] #os-form-panel.os-redesign-ready .os-form-footer #os-save-pending {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex: 0 0 112px !important;
    min-width: 112px !important;
    width: 112px !important;
    max-width: 112px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 0 10px !important;
    margin: 0 !important;
    font-size: 11.5px !important;
    line-height: 1 !important;
    border-radius: 0 !important;
    white-space: nowrap !important;
  }
}

/* V18.3: seletor Local/Ativo com pesquisa em tela cheia exclusivamente no mobile. */
#os-asset-select-dropdown > .os-asset-mobile-header { display: none; }
@media (max-width: 760px) {
  body.os-asset-fullscreen-open { overflow: hidden !important; }
  body.os-asset-fullscreen-open #os-asset-select-dropdown:not(.hidden) {
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 2147483000 !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    min-height: 100dvh !important;
    margin: 0 !important;
    padding: env(safe-area-inset-top, 0px) 0 env(safe-area-inset-bottom, 0px) !important;
    overflow: hidden !important;
    background: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown.hidden { display: none !important; }
  body.os-asset-fullscreen-open #os-asset-select-dropdown > .os-asset-mobile-header {
    display: flex !important;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 64px;
    padding: 12px 18px;
    background: #fff;
    border-bottom: 1px solid #dbe4ef;
  }
  #os-asset-select-dropdown .os-asset-mobile-header strong {
    font-size: 17px;
    font-weight: 700;
    color: #142b47;
    line-height: 1.35;
  }
  #os-asset-select-dropdown .os-asset-mobile-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid #dbe4ef;
    border-radius: 0;
    background: #fff;
    color: #62738a;
    cursor: pointer;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown > .os-asset-search-wrap {
    position: relative !important;
    display: flex !important;
    align-items: center;
    flex: 0 0 auto;
    width: 100% !important;
    margin: 0 !important;
    padding: 14px 16px 12px !important;
    background: #f7faff;
    border-bottom: 1px solid #e3ebf5;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown #os-asset-search {
    width: 100% !important;
    min-height: 48px !important;
    height: 48px !important;
    padding: 10px 12px 10px 44px !important;
    font-size: 16px !important;
    border: 1px solid #bfd5eb !important;
    border-radius: 0 !important;
    background: #fff !important;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown > .os-asset-tree {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    width: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 12px 16px 26px !important;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown .asset-tree-list,
  body.os-asset-fullscreen-open #os-asset-select-dropdown .asset-tree-children {
    min-width: 0 !important;
    width: 100% !important;
    box-sizing: border-box;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown .asset-tree-children {
    margin-left: 10px !important;
    padding-left: 12px !important;
    width: calc(100% - 10px) !important;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown .asset-tree-row {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 54px !important;
    padding: 10px 8px !important;
    gap: 10px !important;
    white-space: normal !important;
    align-items: center !important;
    border-bottom: 1px solid #f0f3f8;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown .asset-tree-content {
    display: flex !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    flex-wrap: wrap !important;
    gap: 3px 9px !important;
    overflow-wrap: anywhere;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown .os-asset-node-type {
    color: #6c7a8e;
    font-size: 13px !important;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown .asset-tree-label {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    color: #263a55;
    font-size: 14px !important;
    line-height: 1.4;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown .asset-tree-row.active {
    background: #edf5ff !important;
  }
}
@media (max-width: 760px) {
  body.os-asset-fullscreen-open #os-asset-select-dropdown > .os-asset-search-wrap > .search-icon {
    left: 29px !important;
    width: 18px !important;
    height: 18px !important;
    color: #8093a9 !important;
    z-index: 1;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown > .os-asset-search-wrap > .search-icon svg {
    width: 18px;
    height: 18px;
    display: block;
  }
}

/* V18.4 — árvore Local/Ativo: linhas inteiras e hierarquia legível no mobile.
   As sublistas continuam aninhadas para preservar a lógica de expansão,
   mas NÃO reduzem mais a largura disponível a cada nível. */
#os-asset-select-dropdown > .os-asset-mobile-help { display: none; }
@media (max-width: 760px) {
  body.os-asset-fullscreen-open #os-asset-select-dropdown > .os-asset-mobile-help {
    display: block !important;
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 10px 17px 7px !important;
    font-size: 12px;
    line-height: 1.35;
    color: #75859a;
    background: #fff;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown > .os-asset-tree {
    padding: 2px 14px 24px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown .asset-tree-list,
  body.os-asset-fullscreen-open #os-asset-select-dropdown .asset-tree-children,
  body.os-asset-fullscreen-open #os-asset-select-dropdown .asset-tree-branch,
  body.os-asset-fullscreen-open #os-asset-select-dropdown .asset-tree-node {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border: 0 !important;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown .asset-tree-branch.hidden {
    display: none !important;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown .asset-tree-node > .asset-tree-row::before {
    display: none !important;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown .asset-tree-row {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 63px !important;
    padding: 9px 6px 9px calc(7px + var(--os-mobile-tree-offset, 0px)) !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    gap: 10px !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    border: 0 !important;
    border-bottom: 1px solid #e9eff5 !important;
    background: #fff;
    white-space: normal !important;
    overflow: visible !important;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown .asset-tree-row:active,
  body.os-asset-fullscreen-open #os-asset-select-dropdown .asset-tree-row.active {
    background: #edf5ff !important;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown .asset-tree-toggle {
    order: 3 !important;
    flex: 0 0 36px !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #6f8197 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown .asset-tree-toggle:not(.empty)::before {
    font-size: 22px !important;
    line-height: 1 !important;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown .asset-tree-toggle.empty {
    display: none !important;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown .custom-level-icon,
  body.os-asset-fullscreen-open #os-asset-select-dropdown .asset-tree-icon {
    order: 1 !important;
    flex: 0 0 22px !important;
    width: 22px !important;
    min-width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
    margin: 0 !important;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown .custom-level-icon-image,
  body.os-asset-fullscreen-open #os-asset-select-dropdown .asset-tree-icon img,
  body.os-asset-fullscreen-open #os-asset-select-dropdown .asset-tree-icon svg {
    width: 22px !important;
    height: 22px !important;
    object-fit: contain !important;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown .asset-tree-content {
    order: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    gap: 4px !important;
    padding: 0 !important;
    margin: 0 !important;
    flex-wrap: nowrap !important;
    text-align: left !important;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown .os-asset-node-type {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
    color: #71839a !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
  body.os-asset-fullscreen-open #os-asset-select-dropdown .asset-tree-label {
    display: block !important;
    flex: 0 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 650 !important;
    color: #1c304a !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    text-overflow: clip !important;
    overflow: visible !important;
  }
}

/* V18.5 — Ocultar apenas a legenda duplicada ao lado do icone no
   seletor Local/Ativo do mobile. O tipo acima do nome permanece visivel.
   Essa legenda era o texto auxiliar para leitores de tela do proprio icone. */
@media screen and (max-width:760px) {
  body.os-asset-fullscreen-open #os-asset-select-dropdown .asset-tree-row > .sr-only {
    display:none !important;
  }
}

/* V18.6 — Visualizar S.S. / O.S.: filtro unificado no mobile */
@media screen and (max-width:760px){
  body[data-page="solicitacao"] #os-mobile-sticky-controls .os-mobile-compact-row{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
    overflow:visible !important;
  }
  body[data-page="solicitacao"] #os-mobile-sticky-controls #os-mobile-users-filter{
    display:block !important;
    position:relative !important;
    grid-column:3 !important;
    grid-row:1 !important;
    width:100% !important;
    height:54px !important;
    min-height:54px !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    z-index:12;
  }
  body[data-page="solicitacao"] #os-mobile-sticky-controls #os-mobile-users-trigger{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    position:relative;
    width:100% !important;
    height:54px !important;
    min-height:54px !important;
    gap:2px !important;
    padding:5px 8px !important;
    border:1px solid #d8e2f0 !important;
    border-radius:0 !important;
    background:#fff !important;
    box-sizing:border-box !important;
  }
  body[data-page="solicitacao"] #os-mobile-sticky-controls #os-mobile-users-trigger::before{
    content:'VISUALIZAR S.S.';
    display:block;
    font-size:8px;
    color:#728197;
    font-weight:700;
    line-height:12px;
    letter-spacing:.05em;
  }
  body[data-page="solicitacao"] #os-mobile-sticky-controls #os-mobile-users-trigger .os-mobile-users-icon,
  body[data-page="solicitacao"] #os-mobile-sticky-controls #os-mobile-users-trigger .os-mobile-users-title{
    display:none !important;
  }
  body[data-page="solicitacao"] #os-mobile-sticky-controls #os-mobile-users-trigger .os-mobile-compact-value{
    display:block !important;
    width:100%;
    min-width:0;
    max-width:100%;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    color:#18324a;
    font-size:11.5px;
    line-height:20px;
    font-weight:700;
    padding-right:10px;
  }
  body[data-page="solicitacao"] #os-mobile-sticky-controls #os-mobile-users-trigger .os-mobile-users-chevron{
    position:absolute;
    right:6px;
    bottom:12px;
    width:10px;
    height:10px;
  }
  body[data-page="solicitacao"] #os-mobile-sticky-controls #os-mobile-users-menu{
    display:block;
    position:absolute !important;
    right:0 !important;
    left:auto !important;
    top:calc(100% + 7px) !important;
    width:min(345px,calc(100vw - 26px)) !important;
    min-width:0 !important;
    max-height:min(62dvh,470px) !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    z-index:1300 !important;
    margin:0 !important;
    border:1px solid #d8e2f0;
    box-shadow:0 12px 25px rgba(22,48,74,.17) !important;
    background:#fff;
  }
  body[data-page="solicitacao"] #os-mobile-sticky-controls #os-mobile-users-menu[hidden]{display:none !important;}
  body[data-page="solicitacao"] #os-mobile-sticky-controls #os-mobile-users-person-list{
    max-height:min(35dvh,270px);
  }
  body[data-page="solicitacao"] #os-mobile-users-trigger:focus-visible{
    border-color:#2d8cff !important;
  }
  /* O.S.: deixar a opção Personalizado com o mesmo padrão visual do menu. */
  body[data-page="ordem-servico"] #os-mobile-users-menu .os-mobile-users-choice[data-os-users-choice="specific"].is-selected,
  body[data-page="solicitacao"] #os-mobile-users-menu .os-mobile-users-choice[data-os-users-choice="specific"].is-selected{
    color:#2478cf;
    background:#edf6ff;
  }
}


/* V18.7: seletor personalizado de usuários em tela cheia apenas no mobile */
.os-mobile-users-fullscreen[hidden],
body[data-page="ordem-servico"] #os-mobile-users-fullscreen[hidden],
body[data-page="solicitacao"] #os-mobile-users-fullscreen[hidden]{display:none!important;}
@media screen and (max-width:760px){
  body.os-users-fs-open{overflow:hidden!important;}
  body[data-page="ordem-servico"] #os-mobile-users-fullscreen,
  body[data-page="solicitacao"] #os-mobile-users-fullscreen{
    position:fixed!important;inset:0!important;z-index:2147483000!important;
    display:flex!important;flex-direction:column!important;width:100vw!important;
    height:100dvh!important;min-height:0!important;max-height:100dvh!important;
    margin:0!important;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)!important;
    border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;
    box-sizing:border-box!important;overflow:hidden!important;
  }
  .os-mobile-users-fullscreen .os-users-fs-header{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    padding:15px 17px;border-bottom:1px solid #dce4ee;min-height:65px;flex:0 0 auto;
  }
  .os-mobile-users-fullscreen .os-users-fs-header h2{
    margin:0;font-size:19px;line-height:1.3;color:#142f4a;font-weight:700;
  }
  .os-mobile-users-fullscreen .os-users-fs-close{
    flex:0 0 38px;display:flex;align-items:center;justify-content:center;
    width:38px;height:38px;background:#fff;border:1px solid #d6e1ec;border-radius:0;
    color:#64778a;font-size:27px;line-height:1;cursor:pointer;
  }
  .os-mobile-users-fullscreen .os-users-fs-search-wrap{padding:14px 17px 10px;flex:0 0 auto;}
  .os-mobile-users-fullscreen .os-users-fs-search{
    display:flex;align-items:center;gap:12px;height:48px;padding:0 13px;
    border:1px solid #d5e0eb;background:#fff;width:100%;box-sizing:border-box;
  }
  .os-mobile-users-fullscreen .os-users-fs-search svg{
    width:19px;height:19px;flex:0 0 19px;fill:none;stroke:#8b9aad;
    stroke-width:1.8;stroke-linecap:round;
  }
  .os-mobile-users-fullscreen #os-users-fs-search-input{
    flex:1 1 auto;min-width:0;max-width:none;width:100%;height:42px;
    border:0!important;box-shadow:none!important;padding:0!important;
    margin:0!important;font:inherit;font-size:15px;outline:0!important;background:transparent;
  }
  .os-mobile-users-fullscreen .os-users-fs-selection-count{
    display:block;text-align:right;color:#75879a;font-size:12px;padding-top:8px;
  }
  .os-mobile-users-fullscreen .os-users-fs-scroll{
    flex:1 1 auto;min-height:0;display:flex;flex-direction:column;
    padding:0 17px;box-sizing:border-box;overflow:hidden;
  }
  body[data-page="ordem-servico"] #os-mobile-users-fullscreen .os-mobile-users-specific,
  body[data-page="solicitacao"] #os-mobile-users-fullscreen .os-mobile-users-specific{
    flex:1;min-height:0;width:100%;padding:0!important;margin:0!important;
    display:flex!important;flex-direction:column;overflow:hidden;
  }
  #os-mobile-users-fullscreen .os-mobile-users-specific[hidden]{display:none!important;}
  #os-mobile-users-fullscreen .os-mobile-users-people-head{
    flex:0 0 auto;padding:10px 0!important;color:#77879a;
    font-size:12px;font-weight:600;display:flex;justify-content:space-between;gap:10px;
  }
  body[data-page="ordem-servico"] #os-mobile-users-fullscreen #os-mobile-users-person-list,
  body[data-page="solicitacao"] #os-mobile-users-fullscreen #os-mobile-users-person-list{
    flex:1 1 auto!important;min-height:0!important;width:100%!important;
    max-height:none!important;overflow-x:hidden!important;overflow-y:auto!important;
    overscroll-behavior:contain;border:0!important;
  }
  body[data-page="ordem-servico"] #os-mobile-users-fullscreen .os-mobile-user-row,
  body[data-page="solicitacao"] #os-mobile-users-fullscreen .os-mobile-user-row{
    display:flex!important;align-items:center!important;gap:11px!important;
    padding:11px 4px!important;min-height:62px!important;
    width:100%!important;max-width:100%!important;box-sizing:border-box!important;
    background:#fff;border:0;border-bottom:1px solid #e9eff5!important;
    cursor:pointer;
  }
  #os-mobile-users-fullscreen .os-mobile-user-row.is-checked{background:#edf6ff!important;}
  body[data-page="ordem-servico"] #os-mobile-users-fullscreen .os-mobile-users-avatar,
  body[data-page="solicitacao"] #os-mobile-users-fullscreen .os-mobile-users-avatar{
    display:flex!important;align-items:center!important;justify-content:center!important;
    flex:0 0 40px!important;width:40px!important;height:40px!important;
    min-width:40px!important;max-width:40px!important;min-height:40px!important;
    max-height:40px!important;overflow:hidden!important;border-radius:50%;
    background:#edf4fb;color:#2e7ed5;
  }
  #os-mobile-users-fullscreen .os-mobile-users-avatar img,
  #os-mobile-users-fullscreen .os-mobile-users-avatar .os-user-board-avatar-img{
    position:static!important;display:block!important;object-fit:cover!important;
    width:40px!important;height:40px!important;max-width:40px!important;
    max-height:40px!important;min-width:40px!important;min-height:40px!important;
    border-radius:50%!important;margin:0!important;transform:none!important;
  }
  #os-mobile-users-fullscreen .os-mobile-users-avatar .os-user-board-avatar-fallback{
    font-size:13px!important;font-weight:700!important;line-height:40px;
  }
  #os-mobile-users-fullscreen .os-mobile-users-person-details{
    display:flex!important;flex-direction:column!important;gap:3px!important;
    flex:1 1 auto!important;min-width:0!important;max-width:none!important;
  }
  #os-mobile-users-fullscreen .os-mobile-users-person-name{
    white-space:normal!important;overflow-wrap:break-word!important;
    font-size:14px!important;line-height:1.35!important;font-weight:700;color:#18314b;
  }
  #os-mobile-users-fullscreen .os-mobile-users-person-status,
  #os-mobile-users-fullscreen .os-mobile-users-person-asset{
    font-size:11px!important;line-height:1.3!important;color:#7b8999;
    white-space:normal!important;
  }
  #os-mobile-users-fullscreen .os-mobile-users-person-count{
    display:block!important;flex:0 0 auto!important;min-width:0!important;
    color:#61758b;font-size:11px!important;text-align:right;white-space:nowrap!important;
  }
  #os-mobile-users-fullscreen .os-mobile-user-row input[type="checkbox"]{
    display:block!important;flex:0 0 21px!important;width:21px!important;height:21px!important;
    min-width:21px!important;max-width:21px!important;margin:0 1px 0 0!important;
    accent-color:#2d8cff;
  }
  #os-mobile-users-fullscreen .os-mobile-users-actions{
    display:flex!important;flex:0 0 auto!important;gap:10px;
    margin:0!important;padding:13px 0 15px;border-top:1px solid #dce4ee;
    background:#fff;justify-content:stretch;
  }
  #os-mobile-users-fullscreen .os-mobile-users-actions button{
    flex:1 1 50%;min-width:0;height:45px;border-radius:0;
    font-size:14px;font-weight:700;cursor:pointer;
  }
  #os-mobile-users-fullscreen .os-mobile-users-warning{
    font-size:12px;margin:0;padding:0 0 8px;color:#c23d3d;
  }
}

/* ===== V19: Ativos - resumo, ações rápidas e detalhes em todos os níveis ===== */
.assets-workspace-panel .asset-overview-v19 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 16px;
}
.assets-workspace-panel .asset-overview-stat {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 12px 14px;
  min-width: 0;
  background: #f8faff;
  border: 1px solid #dce7f8;
  border-radius: 0;
}
.assets-workspace-panel .asset-overview-stat > span {
  color: #6b7890;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
}
.assets-workspace-panel .asset-overview-stat > strong {
  font-size: 22px;
  color: #1d385e;
  font-weight: 700;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}
.assets-workspace-panel .asset-quick-section-v19 {
  margin: 0 0 22px;
  border: 1px solid #e2e8f2;
  background: #fff;
}
.assets-workspace-panel .asset-quick-heading-v19 {
  padding: 12px 14px;
  border-bottom: 1px solid #e9edf5;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.assets-workspace-panel .asset-quick-heading-v19 strong {
  color: #202d42;
  font-size: 13px;
  font-weight: 700;
}
.assets-workspace-panel .asset-quick-heading-v19 span {
  color: #8893a6;
  font-size: 11px;
}
.assets-workspace-panel .asset-quick-grid-v19 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.assets-workspace-panel .asset-quick-item-v19 {
  min-width: 0;
  min-height: 61px;
  border: 0;
  border-bottom: 1px solid #edf0f5;
  border-right: 1px solid #edf0f5;
  padding: 12px 13px;
  background: #fff;
  color: #273246;
  display: flex;
  align-items: center;
  text-align: left;
  gap: 10px;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
}
.assets-workspace-panel .asset-quick-item-v19:last-child { border-bottom: 0; }
.assets-workspace-panel .asset-quick-item-v19:nth-child(2n) { border-right: 0; }
.assets-workspace-panel .asset-quick-item-v19:hover,
.assets-workspace-panel .asset-quick-item-v19:focus-visible {
  background: #f0f6ff;
  color: #1268cc;
  outline-offset: -2px;
}
.assets-workspace-panel .asset-quick-item-v19 > svg {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  fill: none;
  stroke: #2788ed;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.asset-quick-chevron-v19 {
  margin-left: auto;
  font-size: 23px;
  color: #9ba6b6;
  font-weight: 400;
  line-height: 1;
}
.asset-quick-count-v19:not([hidden]) {
  padding: 2px 6px;
  background: #edf4ff;
  color: #2266ad;
  font-size: 10px;
  font-weight: 700;
}
#asset-hierarchy-tree .asset-tree-details-btn-v19 {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 4px;
  flex: 0 0 auto;
  position: sticky;
  right: 5px;
  z-index: 1;
  margin-left: 10px;
  padding: 5px 8px;
  min-height: 27px;
  border: 1px solid #d8e5f7;
  border-radius: 0;
  background: #fff;
  color: #246cc0;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
}
#asset-hierarchy-tree .asset-tree-details-btn-v19:hover,
#asset-hierarchy-tree .asset-tree-details-btn-v19:focus-visible,
#asset-hierarchy-tree .asset-tree-row.active .asset-tree-details-btn-v19 {
  background: #eaf3ff;
  border-color: #a7cdfa;
  color: #115cb7;
}
#asset-hierarchy-tree .asset-tree-details-btn-v19 span { font-size: 15px; }
#asset-hierarchy-tree .asset-tree-row:focus-visible {
  outline: 2px solid #2583f1;
  outline-offset: -2px;
}
#asset-hierarchy-tree .asset-tree-row {
  cursor: pointer;
}
#asset-qr-card.asset-qr-highlight-v19 {
  outline: 2px solid #2c94fc !important;
  outline-offset: 3px;
  background: #f0f7ff !important;
}
.asset-quick-modal-v19 {
  padding: 0;
  width: min(680px, calc(100vw - 24px));
  max-width: 680px;
  max-height: min(82vh, 780px);
  border: 0;
  border-radius: 0;
  box-shadow: 0 24px 72px rgba(16,33,66,.22);
  background: #fff;
  color: #202b3f;
}
.asset-quick-modal-v19::backdrop { background: rgba(15, 23, 42, .52); }
.asset-quick-modal-v19 .asset-quick-modal-card-v19 {
  display: flex;
  flex-direction: column;
  padding: 0;
  margin: 0;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  max-height: min(82vh, 780px);
  overflow: hidden;
  background: white;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.asset-quick-modal-head-v19 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 19px 22px 15px;
  border-bottom: 1px solid #e5eaf2;
}
.asset-quick-modal-head-v19 h2 { margin: 0; font-size: 19px; font-weight: 700; color: #1b2f4c; }
.asset-quick-modal-head-v19 p { margin: 5px 0 0; color: #77849a; font-size: 12px; line-height: 1.5; }
.asset-quick-modal-close-v19 {
  color: #536479; background: transparent; border: 0; cursor: pointer;
  font-size: 27px; line-height: 1; padding: 0 4px;
}
.asset-quick-modal-content-v19 { flex: 1; overflow-y: auto; padding: 18px 22px; }
.asset-quick-empty-v19 { padding: 30px 16px; background: #f9fbfe; border: 1px dashed #dce5f2; text-align: center; color: #748198; font-size: 13px; line-height: 1.5; }
.asset-quick-result-v19 {
  display: flex; align-items: center; gap: 12px;
  width: 100%; margin-bottom: 9px; padding: 13px 15px;
  border: 1px solid #e2e8f1; background: #fff; color: #27374e;
  text-align: left; font: inherit;
}
.asset-quick-result-v19 > div, .asset-quick-result-v19 > span:nth-child(2) { display: flex; flex-direction: column; gap: 5px; min-width: 0; flex: 1; }
.asset-quick-result-v19 strong { color: #1d3352; font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; }
.asset-quick-result-v19 span:not(.asset-quick-chevron-v19),
.asset-quick-result-v19 small { color: #7b8798; font-size: 12px; line-height: 1.4; }
.asset-quick-document-v19 { cursor: pointer; }
.asset-quick-document-v19:hover { background: #f4f8ff; border-color: #bbd4f7; }
.asset-quick-file-icon-v19 { flex: 0 0 28px; font-size: 25px !important; color: #2788ed !important; }
.asset-quick-page-link-v19 {
  display: block; color: #1266bd; text-decoration: none;
  font-size: 12px; font-weight: 700; padding: 12px 0 4px; text-align: right;
}
.asset-quick-page-link-v19:hover { text-decoration: underline; }
.asset-quick-modal-foot-v19 {
  display: flex; justify-content: flex-end;
  padding: 12px 22px; border-top: 1px solid #e5eaf2; background: #fafbfd;
}
@media (max-width: 760px) {
  .assets-workspace-panel .asset-overview-v19 { gap: 6px; }
  .assets-workspace-panel .asset-overview-stat { padding: 9px 7px; }
  .assets-workspace-panel .asset-overview-stat > span { font-size: 10px; }
  .assets-workspace-panel .asset-overview-stat > strong { font-size: 20px; }
  .assets-workspace-panel .asset-quick-grid-v19 { grid-template-columns: 1fr; }
  .assets-workspace-panel .asset-quick-item-v19 { min-height: 53px; border-right: 0; border-bottom: 1px solid #edf0f5 !important; }
  .assets-workspace-panel .asset-quick-item-v19:last-child { border-bottom: 0 !important; }
  #asset-hierarchy-tree { overflow-x: auto !important; }
  .asset-quick-modal-v19, .asset-quick-modal-v19 .asset-quick-modal-card-v19 { max-height: 88dvh; }
  .asset-quick-modal-head-v19 { padding: 16px; }
  .asset-quick-modal-content-v19 { padding: 14px 16px; }
  .asset-quick-modal-foot-v19 { padding: 10px 16px; }
}

/* V19: em telas estreitas o botão fica abaixo do nome, sem cobrir a árvore. */
@media (max-width: 760px) {
  #asset-hierarchy-tree .asset-tree-row {
    width: 100% !important;
    min-width: 0 !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 5px 7px !important;
  }
  #asset-hierarchy-tree .asset-tree-row .asset-tree-content {
    flex: 1 1 calc(100% - 28px) !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 30px) !important;
    overflow: hidden !important;
  }
  #asset-hierarchy-tree .asset-tree-row .asset-tree-content .asset-tree-label {
    display: block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    max-width: 100% !important;
  }
  #asset-hierarchy-tree .asset-tree-row .asset-tree-details-btn-v19 {
    flex: 0 0 auto !important;
    position: static !important;
    margin: 0 0 0 auto !important;
    min-height: 26px !important;
  }
}
@media (max-width: 760px) {
  #asset-hierarchy-tree .asset-tree-row .asset-tree-details-btn-v19 {
    position: sticky !important;
    right: 6px !important;
  }
}


/* ===== V19.1: Ativos - detalhes sobrepostos e remoção dos botões da árvore ===== */
#asset-hierarchy-tree .asset-tree-details-btn-v19 { display: none !important; }
.asset-overlay-modal-v20 {
  padding: 0;
  width: min(960px, calc(100vw - 28px));
  max-width: 960px;
  max-height: min(88vh, 920px);
  border: 0;
  border-radius: 0;
  box-shadow: 0 24px 72px rgba(16,33,66,.22);
  background: #fff;
  color: #202b3f;
}
.asset-overlay-modal-v20::backdrop { background: rgba(15, 23, 42, .58); }
.asset-overlay-card-v20 {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  max-height: min(88vh, 920px);
  padding: 0;
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.asset-overlay-head-v20 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px 16px;
  border-bottom: 1px solid #e5eaf2;
}
.asset-overlay-head-v20 h2 { margin: 0; font-size: 20px; font-weight: 700; color: #1b2f4c; }
.asset-overlay-head-v20 p { margin: 5px 0 0; color: #77849a; font-size: 12px; line-height: 1.5; }
.asset-overlay-close-v20 {
  color: #536479;
  background: transparent;
  border: 0;
  cursor: pointer;
  font-size: 28px;
  line-height: 1;
  padding: 0 4px;
}
.asset-overlay-body-v20 {
  flex: 1;
  overflow: auto;
  padding: 22px 24px;
  background: #fbfcff;
}
.asset-overlay-foot-v20 {
  display: flex;
  justify-content: flex-end;
  padding: 12px 24px;
  border-top: 1px solid #e5eaf2;
  background: #fafbfd;
}
.asset-overlay-header-v20 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 200px;
  gap: 18px;
  align-items: start;
  margin-bottom: 18px;
}
.asset-overlay-name-v20 { font-size: 22px; font-weight: 700; color: #152c49; }
.asset-overlay-path-v20 { margin-top: 6px; color: #738197; font-size: 12px; line-height: 1.55; }
.asset-overlay-badges-v20 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 12px;
}
.asset-overlay-criticality-v20 {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid #ead5d5;
  background: #fff5f5;
  color: #b42318;
  font-size: 12px;
  font-weight: 700;
}
.asset-overlay-criticality-v20.asset-overlay-criticality-media {
  background: #fff9ec;
  border-color: #f0dfb5;
  color: #9a6700;
}
.asset-overlay-criticality-v20.asset-overlay-criticality-baixa {
  background: #f0fdf4;
  border-color: #b7e4c7;
  color: #0f6b37;
}
.asset-overlay-qr-v20 {
  border: 1px solid #dce6f3;
  background: #fff;
  padding: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.asset-overlay-qr-v20 a {
  display: block;
  text-decoration: none;
}
.asset-overlay-qr-v20 img {
  width: 144px;
  height: 144px;
  object-fit: contain;
  image-rendering: pixelated;
}
.asset-overlay-qr-v20 span {
  color: #41516a;
  font-size: 11px;
  text-align: center;
  line-height: 1.4;
}
.asset-overlay-summary-v20 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 18px;
}
.asset-overlay-summary-item-v20 {
  padding: 12px 14px;
  border: 1px solid #dce7f8;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.asset-overlay-summary-item-v20 span { color: #6b7890; font-size: 11px; font-weight: 600; line-height: 1.35; }
.asset-overlay-summary-item-v20 strong { font-size: 21px; color: #1d385e; font-weight: 700; line-height: 1.2; }
.asset-overlay-section-v20 {
  margin-top: 16px;
  border: 1px solid #e2e8f2;
  background: #fff;
}
.asset-overlay-section-v20 h3 {
  margin: 0;
  padding: 12px 14px;
  border-bottom: 1px solid #e9edf5;
  color: #202d42;
  font-size: 13px;
  font-weight: 700;
}
.asset-overlay-fields-v20 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
  padding: 14px;
}
.asset-overlay-field-v20 {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.asset-overlay-field-v20 span {
  color: #728097;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .01em;
}
.asset-overlay-field-v20 strong {
  display: block;
  min-height: 43px;
  padding: 11px 12px;
  border: 1px solid #d7e1ef;
  background: #fbfdff;
  color: #2b3f5c;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.45;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}
.asset-overlay-field-wide-v20 { grid-column: 1 / -1; }
.asset-overlay-photos-v20 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: 12px;
  padding: 14px;
}
.asset-overlay-empty-v20 {
  margin: 14px;
  padding: 24px 16px;
  border: 1px dashed #dce5f2;
  background: #f9fbfe;
  text-align: center;
  color: #748198;
  font-size: 13px;
  line-height: 1.5;
}
.asset-overlay-hint-v20 {
  padding: 0 14px 14px;
  color: #65748c;
  font-size: 12px;
  line-height: 1.5;
}
@media (max-width: 900px) {
  .asset-overlay-header-v20 { grid-template-columns: 1fr; }
  .asset-overlay-qr-v20 { max-width: 220px; }
  .asset-overlay-summary-v20 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .asset-overlay-modal-v20, .asset-overlay-card-v20 { max-height: 92dvh; }
  .asset-overlay-head-v20, .asset-overlay-body-v20, .asset-overlay-foot-v20 { padding-left: 16px; padding-right: 16px; }
  .asset-overlay-summary-v20,
  .asset-overlay-fields-v20 { grid-template-columns: 1fr; }
  .asset-overlay-photos-v20 { grid-template-columns: 1fr 1fr; }
}

/* V19.2: somente o cadastro no modal; acesso rápido preserva padrão Chronos. */
.assets-workspace-panel #asset-location-spec-grid,
.assets-workspace-panel #asset-machine-spec-grid { display: none !important; }
/* V19.8: "Ver detalhes" ocupa apenas uma célula da grade, como os demais atalhos. */
.assets-workspace-panel .asset-quick-item-v19.asset-quick-details-v19-2 {
  grid-column: auto;
}
.asset-overlay-modal-v20 .asset-overlay-body-v20 { background: #fff; }
.asset-overlay-modal-v20 .asset-overlay-fields-only-v19-2 { padding: 0; }
.asset-overlay-modal-v20 .asset-overlay-value-v19-2.is-high,
.asset-overlay-modal-v20 .asset-overlay-value-v19-2.is-medium,
.asset-overlay-modal-v20 .asset-overlay-value-v19-2.is-low {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  width: fit-content;
  min-width: 88px;
  color: #fff;
  font-weight: 600;
  border: none;
}
.asset-overlay-modal-v20 .asset-overlay-value-v19-2.is-high { background: #df2027; }
.asset-overlay-modal-v20 .asset-overlay-value-v19-2.is-medium { background: #dc9d24; }
.asset-overlay-modal-v20 .asset-overlay-value-v19-2.is-low { background: #15804a; }
@media (max-width: 760px) {
  .assets-workspace-panel .asset-quick-item-v19.asset-quick-details-v19-2 { grid-column: 1; }
  .asset-overlay-modal-v20 { width: calc(100vw - 16px); max-height: 92dvh; }
}
/* V19.2: garantir que o rodapé Fechar continue visível no modal de celular. */
.asset-overlay-modal-v20 .asset-overlay-card-v20 {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  max-height: min(88dvh, 920px);
  padding: 0;
  margin: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.asset-overlay-modal-v20 .asset-overlay-head-v20,
.asset-overlay-modal-v20 .asset-overlay-foot-v20 { flex-shrink: 0; }
.asset-overlay-modal-v20 .asset-overlay-body-v20 { min-height: 0; flex: 1 1 auto; overflow-y: auto; }
@media (max-width: 760px) {
  .asset-overlay-modal-v20 .asset-overlay-card-v20 { max-height: 86dvh; }
}
/* Override de modais genéricos do sistema: respeitar altura interna e manter Fechar acessível. */
dialog#asset-overlay-modal-v20 > .modal-card.asset-overlay-card-v20 {
  box-sizing: border-box !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  max-height: 88dvh !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}
dialog#asset-overlay-modal-v20 > .asset-overlay-card-v20 > .asset-overlay-body-v20 {
  min-height: 0 !important;
  overflow-y: auto !important;
}
@media (max-width: 760px) {
  dialog#asset-overlay-modal-v20 > .modal-card.asset-overlay-card-v20 {
    max-height: 88dvh !important;
  }
}


/* V19.3: acesso rápido e indicadores de Ativos */
.assets-workspace-panel .asset-overview-v19 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.assets-workspace-panel .asset-quick-count-v19:not([hidden]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  box-sizing: border-box;
  border-radius: 999px;
  background: #e0242c;
  color: #fff;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.assets-workspace-panel .asset-quick-count-v19[hidden] {
  display: none !important;
}
@media (max-width: 760px) {
  .assets-workspace-panel .asset-overview-v19 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ===== V19.4: cards ativos clicáveis, quick actions sem caixa e ícones refinados ===== */
.assets-workspace-panel #btn-asset-custom-icon {
  display: none !important;
}
.assets-workspace-panel .asset-overview-v19 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 16px;
}
.assets-workspace-panel .asset-overview-card-v19 {
  width: 100%;
  min-width: 0;
  border: 1px solid #dce7f8;
  background: #f8faff;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, transform .15s ease;
}
.assets-workspace-panel .asset-overview-card-v19:hover,
.assets-workspace-panel .asset-overview-card-v19:focus-visible {
  background: #eef5ff;
  border-color: #bfd5f3;
}
.assets-workspace-panel .asset-overview-card-icon-v19 {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid #dbe8fb;
}
.assets-workspace-panel .asset-overview-orders-card-v19 .asset-overview-card-icon-v19 {
  color: #e23b3f;
}
.assets-workspace-panel .asset-overview-plans-card-v19 .asset-overview-card-icon-v19 {
  color: #2684ff;
}
.assets-workspace-panel .asset-overview-card-icon-v19 svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.assets-workspace-panel .asset-overview-card-copy-v19 {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1 1 auto;
}
.assets-workspace-panel .asset-overview-card-copy-v19 small {
  color: #6b7890;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
}
.assets-workspace-panel .asset-overview-card-copy-v19 strong {
  color: #1d385e;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}
.assets-workspace-panel .asset-overview-card-count-v19 {
  margin-left: auto;
  color: #173967;
  font-size: 34px;
  font-weight: 700;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.assets-workspace-panel .asset-quick-grid-v19.asset-quick-grid-flat-v19 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid #e2e8f2;
  background: #fff;
  margin-bottom: 20px;
}
.assets-workspace-panel .asset-quick-item-v19 {
  min-width: 0;
  min-height: 61px;
  border: 0;
  border-bottom: 1px solid #edf0f5;
  border-right: 1px solid #edf0f5;
  padding: 12px 13px;
  background: #fff;
  color: #273246;
  display: flex;
  align-items: center;
  text-align: left;
  gap: 10px;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
}
.assets-workspace-panel .asset-quick-item-v19:last-child { border-bottom: 0; }
.assets-workspace-panel .asset-quick-item-v19:nth-child(2n) { border-right: 0; }
.assets-workspace-panel .asset-quick-item-v19.asset-quick-details-v19-2 {
  grid-column: auto;
}
.assets-workspace-panel .asset-quick-icon-v19 {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #2788ed;
}
.assets-workspace-panel .asset-quick-icon-v19 svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.assets-workspace-panel .asset-quick-icon-qr-v19 {
  color: #1f7ff0;
}
.assets-workspace-panel .asset-quick-icon-qr-v19 svg path:nth-child(-n+3) {
  stroke-width: 2;
}
.asset-quick-summary-card-v19 {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  margin-bottom: 14px;
  border: 1px solid #dce7f8;
  background: #f8faff;
}
.asset-quick-summary-card-v19 strong {
  color: #173967;
  font-size: 18px;
  font-weight: 700;
}
.asset-quick-summary-card-v19 b {
  margin-left: auto;
  color: #173967;
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
}
.asset-quick-summary-icon-v19 {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid #dbe8fb;
}
.asset-quick-summary-card-orders .asset-quick-summary-icon-v19 { color: #e23b3f; }
.asset-quick-summary-card-plans .asset-quick-summary-icon-v19 { color: #2684ff; }
.asset-quick-summary-icon-v19 svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.asset-quick-result-top-v19 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}
.asset-quick-os-card-v19,
.asset-quick-plan-card-v19 {
  flex-direction: column;
  align-items: stretch;
}
.asset-quick-plan-status-v19 {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid #d7e5fb;
  background: #edf5ff;
  color: #1f66b2 !important;
  font-size: 11px !important;
  font-weight: 700;
  white-space: nowrap;
}
@media (max-width: 760px) {
  .assets-workspace-panel .asset-overview-v19,
  .assets-workspace-panel .asset-quick-grid-v19.asset-quick-grid-flat-v19 {
    grid-template-columns: 1fr;
  }
  .assets-workspace-panel .asset-overview-card-count-v19 {
    font-size: 30px;
  }
  .assets-workspace-panel .asset-quick-item-v19 {
    border-right: 0;
  }
}

/* refinamento final do bloco de atalhos: sem painel externo, apenas botões */
.assets-workspace-panel .asset-quick-grid-v19.asset-quick-grid-flat-v19 {
  border: 0;
  background: transparent;
  gap: 8px;
}
.assets-workspace-panel .asset-quick-grid-v19.asset-quick-grid-flat-v19 .asset-quick-item-v19 {
  border: 1px solid #e2e8f2;
}
.assets-workspace-panel .asset-quick-grid-v19.asset-quick-grid-flat-v19 .asset-quick-item-v19:nth-child(2n),
.assets-workspace-panel .asset-quick-grid-v19.asset-quick-grid-flat-v19 .asset-quick-item-v19:last-child {
  border-right: 1px solid #e2e8f2;
  border-bottom: 1px solid #e2e8f2;
}

/* ===== V19.5: cards superiores menores e no padrão da janela de O.S. ===== */
.assets-workspace-panel .asset-overview-v19 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 14px;
}
.assets-workspace-panel .asset-overview-mini-card-v19 {
  width: 100%;
  max-width: none;
  padding: 10px 14px;
  min-height: 56px;
  border-radius: 0;
  background: #fff;
  border: 1px solid #dbe4f0;
  box-shadow: none;
  cursor: pointer;
}
.assets-workspace-panel .asset-overview-mini-card-v19:hover,
.assets-workspace-panel .asset-overview-mini-card-v19:focus-visible {
  background: #f8fbff;
  border-color: #c7d9f1;
}
.assets-workspace-panel .asset-overview-mini-card-v19 .os-metric-label-row {
  gap: 8px;
}
.assets-workspace-panel .asset-overview-mini-card-v19 .os-metric-icon {
  width: 18px;
  height: 18px;
}
.assets-workspace-panel .asset-overview-mini-card-v19 .os-metric-label {
  font-size: 12px;
  font-weight: 700;
  color: #1f2937;
}
.assets-workspace-panel .asset-overview-mini-card-v19 .os-metric-value {
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  margin-left: 8px;
}
.assets-workspace-panel .asset-overview-mini-card-open-v19 .os-metric-value {
  color: #ef4444;
}
.assets-workspace-panel .asset-overview-mini-card-plan-v19 .os-metric-value {
  color: #2c94fc;
}
@media (max-width: 760px) {
  .assets-workspace-panel .asset-overview-v19 {
    grid-template-columns: 1fr;
  }
}

/* ===== V19.6: cards do modal de O.S. iguais ao histórico + ícones substituíveis ===== */
.assets-workspace-panel .asset-quick-icon-v19 {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.assets-workspace-panel .asset-quick-icon-img-v19 {
  width: 18px;
  height: 18px;
  object-fit: contain;
  display: block;
}
.assets-workspace-panel .asset-quick-icon-v19 svg {
  display: none;
}
.asset-quick-history-list-v19,
.asset-quick-plan-list-v19 {
  display: grid;
  gap: 12px;
}
.asset-quick-history-list-v19 .os-service-card {
  margin: 0;
}
.asset-quick-plan-card-v19 {
  border: 1px solid #dce7f8;
  background: #fff;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.asset-quick-plan-head-v19 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.asset-quick-plan-head-v19 strong {
  color: #153760;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}
.asset-quick-plan-meta-v19 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: #5b6983;
  font-size: 13px;
  line-height: 1.5;
}
.asset-quick-plan-meta-v19 small {
  color: #66758d;
  font-size: 13px;
}
.asset-quick-plan-status-v19 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 12px;
  border: 1px solid #d7e5fb;
  background: #edf5ff;
  color: #1f66b2;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
@media (max-width: 760px) {
  .asset-quick-plan-head-v19 {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* ===== V19.7: janela compacta e QR sob demanda ===== */
/* Card de resumo do modal: proporcional ao card original do módulo de O.S. */
.asset-quick-modal-v19 .asset-quick-summary-card-v19 {
  min-height: 49px;
  margin: 0 0 12px;
  padding: 8px 12px;
  gap: 10px;
  background: #fff;
  border-color: #dbe4f0;
  box-sizing: border-box;
}
.asset-quick-modal-v19 .asset-quick-summary-native-icon-v19 {
  display: block;
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
  object-fit: contain;
}
.asset-quick-modal-v19 .asset-quick-summary-card-v19 > strong {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  color: #152b49;
}
.asset-quick-modal-v19 .asset-quick-summary-card-v19 > b {
  font-size: 14px;
  font-weight: 800;
  color: #e83943;
}
.asset-quick-modal-v19 .asset-quick-summary-card-plans > b { color: #2788ed; }
/* Lista de planos: compacta, mantendo título, status, procedimento e frequência. */
.asset-quick-modal-v19 .asset-quick-plan-list-v19 {
  display: grid;
  gap: 8px;
}
.asset-quick-modal-v19 .asset-quick-plan-card-v19 {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 5px;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #dbe4f0;
  background: #fff;
}
.asset-quick-modal-v19 .asset-quick-plan-head-v19 {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  min-width: 0;
  flex: 0 0 auto;
}
.asset-quick-modal-v19 .asset-quick-plan-head-v19 strong {
  min-width: 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  color: #17345a;
  overflow-wrap: anywhere;
}
.asset-quick-modal-v19 .asset-quick-plan-status-v19 {
  flex: 0 0 auto;
  min-height: 23px;
  padding: 3px 8px;
  font-size: 10px;
}
.asset-quick-modal-v19 .asset-quick-plan-meta-v19 {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 3px 12px;
  width: 100%;
  min-width: 0;
  flex: 0 0 auto;
  line-height: 1.35;
}
.asset-quick-modal-v19 .asset-quick-plan-meta-v19 span,
.asset-quick-modal-v19 .asset-quick-plan-meta-v19 small {
  color: #718098;
  font-size: 11px;
  line-height: 1.35;
}
/* Modal de QR Code, acessível somente pelo atalho de identificação. */
.asset-quick-qr-view-v19 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 11px;
  padding: 5px 0 12px;
  text-align: center;
}
.asset-quick-qr-hint-v19 {
  margin: 0;
  color: #728197;
  font-size: 12px;
}
.asset-quick-qr-image-wrap-v19 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(260px, 100%);
  min-height: 220px;
  padding: 14px;
  box-sizing: border-box;
  border: 1px solid #dbe4f0;
  color: #64748b;
  font-size: 12px;
  background: #fff;
}
.asset-quick-qr-img-v19 {
  display: block;
  max-width: 100%;
  width: 200px;
  height: 200px;
  object-fit: contain;
  image-rendering: pixelated;
}
.asset-quick-qr-caption-v19 {
  max-width: 100%;
  color: #17345a;
  font-size: 12px;
  overflow-wrap: anywhere;
}
.asset-quick-qr-download-v19 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 16px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  background: #2788ed;
  border: 1px solid #2788ed;
}
.asset-quick-qr-download-v19:hover { background: #146dca; }
@media (max-width: 760px) {
  .asset-quick-modal-v19 .asset-quick-plan-head-v19 { flex-direction: row; align-items: center; }
  .asset-quick-modal-v19 .asset-quick-plan-meta-v19 { flex-direction: column; gap: 3px; }
}


/* V19.10 — Ver detalhes ao lado do Em aberto; ícones de planos padronizados. */
.assets-workspace-panel .asset-overview-v19 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 8px;
}
.assets-workspace-panel .asset-overview-v19 > .asset-overview-mini-card-v19,
.assets-workspace-panel .asset-overview-v19 > .asset-overview-details-v19-10 {
  width: 100%;
  min-width: 0;
  min-height: 56px;
  height: 100%;
  box-sizing: border-box;
}
.assets-workspace-panel .asset-overview-v19 > .asset-overview-details-v19-10 {
  grid-column: auto !important;
  margin: 0;
  padding: 10px 13px;
  border: 1px solid #dbe4f0;
  background: #fff;
  border-radius: 0;
  color: #273246;
  display: flex;
  align-items: center;
  gap: 10px;
}
.assets-workspace-panel .asset-overview-v19 > .asset-overview-details-v19-10:hover,
.assets-workspace-panel .asset-overview-v19 > .asset-overview-details-v19-10:focus-visible {
  background: #f8fbff;
  border-color: #c7d9f1;
}
@media (max-width: 760px) {
  .assets-workspace-panel .asset-overview-v19 { grid-template-columns: 1fr; }
}


/* ===== V19.12: modelo visual refinado para 2 fotos do ativo ===== */
.asset-location-photos.asset-location-photos-model-v19 {
  display: grid;
  grid-template-columns: repeat(2, minmax(200px, 1fr));
  gap: 14px;
}
.asset-photo-slot-v19 {
  min-width: 0;
  border: 1px solid #d7e2f0;
  border-radius: 0;
  background: #fff;
  overflow: hidden;
  box-shadow: none;
}
.asset-photo-slot-v19.asset-location-photo-button {
  display: block;
  padding: 0;
  background: #fff;
}
.asset-photo-slot-placeholder-v19 {
  display: flex;
  flex-direction: column;
}
.asset-photo-slot-head-v19 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 38px;
  padding: 9px 12px;
  border-bottom: 1px solid #e8eef6;
  background: #f8fbff;
}
.asset-photo-slot-step-v19 {
  color: #5c6f8f;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.asset-photo-slot-badge-v19 {
  color: #2c6ebb;
  font-size: 11px;
  font-weight: 700;
}
.asset-photo-slot-illustration-v19 {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 152px;
  padding: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f5f8fd 100%);
}
.asset-photo-slot-illustration-v19 svg {
  width: 100%;
  max-width: 240px;
  height: auto;
  display: block;
}
.assets-detail-panel .asset-location-photo-image {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
  background: #eef3fb;
}
.asset-photo-slot-meta-v19 {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-top: 1px solid #edf2f8;
}
.asset-photo-slot-meta-v19 strong {
  color: #173967;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
}
.asset-photo-slot-meta-v19 span {
  color: #728199;
  font-size: 12px;
  line-height: 1.45;
}
@media (max-width: 760px) {
  .asset-location-photos.asset-location-photos-model-v19 {
    grid-template-columns: 1fr;
  }
  .asset-photo-slot-illustration-v19 {
    min-height: 140px;
  }
}


/* ===== V19.13: fotos por nível (1 local / 2 equipamento), vetores NAVARIS ===== */
.assets-detail-panel .asset-location-photos.asset-photo-location-only-v19 {
  /* Uma foto de local: mesma largura de cada foto de máquina (duas colunas). */
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.assets-detail-panel .asset-location-photos.asset-location-photos-model-v19 {
  gap: 12px !important;
}
.assets-detail-panel .asset-photo-slot-v19 {
  border-radius: 0 !important;
  border: 1px solid #d7e2f0 !important;
  background: #fff;
  box-shadow: none !important;
}
.assets-detail-panel .asset-photo-slot-illustration-v19 {
  min-height: 0;
  padding: 0;
  aspect-ratio: 16 / 9;
  background: #f5f9fe;
  overflow: hidden;
}
.assets-detail-panel .asset-photo-model-image-v19 {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
.assets-detail-panel .asset-photo-slot-meta-v19 {
  padding: 10px 12px 12px;
  gap: 4px;
  border-top: 1px solid #e8eef6;
  text-align: left;
}
.assets-detail-panel .asset-photo-slot-meta-v19 strong {
  color: #1c3960;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.35;
}
.assets-detail-panel .asset-photo-slot-meta-v19 span {
  color: #73829a;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.4;
}
.assets-detail-panel .asset-photo-slot-v19.asset-location-photo-button {
  text-align: left;
}
@media(max-width: 760px) {
  .assets-detail-panel .asset-location-photos.asset-photo-location-only-v19 {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .assets-detail-panel .asset-location-photos.asset-location-photos-model-v19 {
    grid-template-columns: 1fr !important;
  }
}

/* ===== V19.15: seletor de árvore de ativos em tela cheia no mobile ===== */
.asset-mobile-selection-v1915 { display: none; }
.asset-mobile-picker-v1915 { display: none; }
@media (max-width: 760px) {
  body[data-page="home"] .page-home-only.assets-workspace-panel,
  .page-home-only.assets-workspace-panel {
    overflow: visible !important;
  }
  body[data-page="home"] .assets-workspace-panel .assets-workspace-header,
  .page-home-only.assets-workspace-panel .assets-workspace-header {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
  }
  body[data-page="home"] .assets-workspace-header .assets-page-title,
  .page-home-only.assets-workspace-panel .assets-workspace-header .assets-page-title {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  body[data-page="home"] .assets-workspace-toolbar,
  .page-home-only.assets-workspace-panel .assets-workspace-toolbar {
    display: flex !important;
    flex-direction: row !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: fit-content !important;
    margin: 0 !important;
  }
  body[data-page="home"] .assets-workspace-toolbar > .toolbar-filter-wrap,
  .page-home-only.assets-workspace-panel .assets-workspace-toolbar > .toolbar-filter-wrap {
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-end !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    gap: 0 !important;
  }
  .asset-mobile-selection-v1915 { display: block !important; margin: 0 0 14px; }
  .assets-workspace-panel .asset-mobile-select-trigger-v1915 {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 12px !important;
    padding: 11px 12px !important;
    min-height: 70px !important;
    border: 1px solid #d4e1f3 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #18314f !important;
    text-align: left !important;
    cursor: pointer;
    box-shadow: none !important;
  }
  .asset-mobile-select-icon-v1915 {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f6ff;
    border: 1px solid #e0e9f8;
  }
  .asset-mobile-select-icon-v1915 img { max-width: 22px; max-height: 22px; object-fit: contain; }
  .asset-mobile-select-copy-v1915 { display: flex; flex: 1 1 auto; min-width: 0; flex-direction: column; gap: 5px; }
  .asset-mobile-select-copy-v1915 small { color: #7b8aa3; font-size: 11px; font-weight: 500; }
  .asset-mobile-select-copy-v1915 strong { display: block; color: #1d3554; font-size: 13px; font-weight: 700; line-height: 1.4; white-space: normal; overflow-wrap: anywhere; }
  .asset-mobile-select-action-v1915 {
    flex: 0 0 33px;
    width: 33px;
    height: 33px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #d5e4f8;
    color: #2788ed;
    background: #f8fbff;
  }
  .asset-mobile-select-action-v1915 svg { width: 18px; height: 18px; }
  .assets-workspace-panel .assets-workspace-grid {
    display: block !important;
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    margin: 0 !important;
  }
  .assets-workspace-panel .assets-workspace-grid > .assets-detail-panel {
    width: 100% !important;
    min-width: 0 !important;
    padding: 10px !important;
  }
  .assets-workspace-panel .assets-workspace-grid > .assets-tree-sidebar { display: none !important; }
  /* O nome do ativo já aparece no seletor; abaixo ficam só as informações úteis. */
  .assets-workspace-panel .assets-detail-panel > .assets-panel-caption,
  .assets-workspace-panel #asset-selected-name,
  .assets-workspace-panel #asset-selected-path { display: none !important; }
  .assets-workspace-panel .asset-details-top { margin-top: 0 !important; }
  .assets-workspace-panel .asset-details-side-badges { display: none !important; }

  dialog#asset-mobile-picker-v1915.asset-mobile-picker-v1915[open] {
    display: block !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-width: none !important;
    max-height: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #20324a;
    overflow: hidden !important;
    box-shadow: none !important;
    position: fixed !important;
    inset: 0 !important;
  }
  dialog#asset-mobile-picker-v1915::backdrop { background: rgba(17,30,51,.42); }
  .assets-workspace-panel .asset-mobile-picker-shell-v1915 {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    max-height: 100%;
    background: #fff;
  }
  .assets-workspace-panel .asset-mobile-picker-head-v1915 {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: max(20px, env(safe-area-inset-top)) 17px 16px;
    border-bottom: 1px solid #e7edf4;
  }
  .asset-mobile-picker-head-v1915 h2 { flex: 1; margin: 0; color: #152a44; font-size: 19px; line-height: 1.35; font-weight: 700; }
  .assets-workspace-panel .asset-mobile-picker-close-v1915 {
    flex: 0 0 39px;
    width: 39px;
    height: 39px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dce4ee;
    border-radius: 0;
    background: #fff;
    color: #607185;
    cursor: pointer;
  }
  .asset-mobile-picker-close-v1915 svg { width: 20px; height: 20px; }
  .assets-workspace-panel .asset-mobile-picker-tools-v1915 {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: minmax(0,1fr) 44px;
    gap: 8px;
    padding: 15px 17px 8px;
    align-items: center;
  }
  .asset-mobile-picker-tools-v1915 #asset-mobile-picker-search-slot-v1915,
  .asset-mobile-picker-tools-v1915 #asset-mobile-picker-filter-slot-v1915 { min-width: 0; position: relative; }
  .asset-mobile-picker-tools-v1915 .search-wrap.assets-search-grow {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    height: 45px !important;
    border-radius: 0 !important;
  }
  .asset-mobile-picker-tools-v1915 .search-wrap #search-input {
    width: 100% !important;
    min-width: 0 !important;
    height: 45px !important;
    border-radius: 0 !important;
    font-size: 14px !important;
  }
  body[data-page="home"] #asset-mobile-picker-v1915 #btn-open-filter,
  .assets-workspace-panel #asset-mobile-picker-v1915 #btn-open-filter {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 45px !important;
    min-width: 44px !important;
    min-height: 45px !important;
    max-width: 44px !important;
    padding: 0 !important;
    border-radius: 0 !important;
    border: 1px solid #dbe4f0 !important;
    background: #fff !important;
    position: static !important;
  }
  .assets-workspace-panel #asset-mobile-picker-v1915 #asset-filter-popover:not(.hidden) {
    display: block !important;
    position: fixed !important;
    z-index: 2147483640 !important;
    inset: auto 12px 18px 12px !important;
    width: auto !important;
    max-width: none !important;
    max-height: min(75dvh, 550px) !important;
    overflow-y: auto !important;
    background: #fff !important;
    border: 1px solid #dce6f3 !important;
    box-shadow: 0 0 0 100vh rgba(12,28,48,.18),0 12px 44px rgba(13,28,48,.24) !important;
    border-radius: 0 !important;
  }
  .asset-mobile-picker-hint-v1915 {
    margin: 0;
    padding: 13px 18px;
    color: #8190a4;
    font-size: 12px;
    line-height: 1.45;
  }
  .assets-workspace-panel .asset-mobile-picker-tree-slot-v1915 {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    padding: 0 10px max(16px, env(safe-area-inset-bottom));
  }
  .assets-workspace-panel #asset-mobile-picker-v1915 .assets-tree-sidebar {
    display: block !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    min-width: 0 !important;
    width: 100% !important;
  }
  .assets-workspace-panel #asset-mobile-picker-v1915 .assets-tree-sidebar > .assets-panel-caption { display: none !important; }
  .assets-workspace-panel #asset-mobile-picker-v1915 #asset-hierarchy-tree {
    display: block !important;
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
  }
  .assets-workspace-panel #asset-mobile-picker-v1915 .asset-tree-list,
  .assets-workspace-panel #asset-mobile-picker-v1915 .asset-tree-children { list-style: none; padding: 0; margin: 0; }
  .assets-workspace-panel #asset-mobile-picker-v1915 .asset-tree-children {
    margin-left: 12px !important;
    padding-left: 13px !important;
    border-left: 1px dashed #e0e8f2 !important;
  }
  .assets-workspace-panel #asset-mobile-picker-v1915 .asset-tree-node { margin: 0 !important; min-width: 0; }
  .assets-workspace-panel #asset-mobile-picker-v1915 #asset-hierarchy-tree .asset-tree-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 64px !important;
    padding: 9px 10px !important;
    gap: 9px !important;
    margin: 0 0 4px !important;
    border: 1px solid transparent;
    border-radius: 0 !important;
    text-align: left;
    align-items: center !important;
  }
  .assets-workspace-panel #asset-mobile-picker-v1915 #asset-hierarchy-tree .asset-tree-row.active,
  .assets-workspace-panel #asset-mobile-picker-v1915 #asset-hierarchy-tree .asset-tree-row[aria-selected="true"] {
    background: #eef5ff !important;
    border-color: #dbe8fa !important;
  }
  .assets-workspace-panel #asset-mobile-picker-v1915 #asset-hierarchy-tree .asset-tree-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    gap: 4px !important;
    order: 2 !important;
  }
  .assets-workspace-panel #asset-mobile-picker-v1915 #asset-hierarchy-tree .asset-tree-meta {
    display: block !important;
    order: -1 !important;
    color: #7d8aa0 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: initial !important;
  }
  .assets-workspace-panel #asset-mobile-picker-v1915 #asset-hierarchy-tree .asset-tree-label {
    display: block !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1c314d !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    overflow: visible !important;
    max-width: none !important;
  }
  .assets-workspace-panel #asset-mobile-picker-v1915 #asset-hierarchy-tree .custom-level-icon {
    order: 1 !important;
    display: inline-flex !important;
    flex: 0 0 24px !important;
    width: 24px !important;
    height: 24px !important;
  }
  .assets-workspace-panel #asset-mobile-picker-v1915 #asset-hierarchy-tree .custom-level-icon-image {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
  }
  .assets-workspace-panel #asset-mobile-picker-v1915 #asset-hierarchy-tree .asset-tree-row > .asset-tree-icon { display: none !important; }
  .assets-workspace-panel #asset-mobile-picker-v1915 #asset-hierarchy-tree .asset-tree-toggle:not(.empty) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 30px !important;
    width: 30px !important;
    min-width: 30px !important;
    height: 36px !important;
    min-height: 36px !important;
    margin-left: auto !important;
    order: 3 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    cursor: pointer;
  }
  .assets-workspace-panel #asset-mobile-picker-v1915 #asset-hierarchy-tree .asset-tree-toggle:not(.empty)::after {
    content: '⌄' !important;
    display: block !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    color: #6e849e !important;
    transform: rotate(0deg);
  }
  .assets-workspace-panel #asset-mobile-picker-v1915 #asset-hierarchy-tree .asset-tree-toggle:not(.empty).collapsed::after { transform: rotate(-90deg); }
  .assets-workspace-panel #asset-mobile-picker-v1915 #asset-hierarchy-tree .asset-tree-toggle.empty { display: none !important; }
  .assets-workspace-panel #asset-mobile-picker-v1915 #asset-hierarchy-tree .asset-tree-branch.hidden { display: none !important; }
}

/* Prioridade específica acima dos estilos antigos embutidos no HTML mobile. */
@media (max-width:760px) {
  body[data-page="home"] .assets-workspace-panel .assets-workspace-header .assets-workspace-toolbar {
    display: flex !important;
    flex-direction: row !important;
    flex: 0 0 auto !important;
    justify-content: flex-end !important;
    align-items: center !important;
    grid-template-columns: none !important;
    grid-auto-rows: auto !important;
    max-width: fit-content !important;
    min-width: 0 !important;
    width: auto !important;
  }
  body[data-page="home"] .assets-workspace-panel .assets-workspace-toolbar > .toolbar-filter-wrap {
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-end !important;
    grid-row: auto !important;
    width: auto !important;
    flex: 0 0 auto !important;
  }
  body[data-page="home"] .assets-workspace-panel .assets-workspace-toolbar .asset-actions-wrap {
    order: initial !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }
}


/* V19.16: nunca mostrar rótulo auxiliar duplicado à esquerda na árvore mobile.
   O rótulo acima do nome já está em .asset-tree-meta. */
@media (max-width: 760px) {
  .assets-workspace-panel #asset-mobile-picker-v1915 #asset-hierarchy-tree .asset-tree-row > .sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
}


/* V19.17 - mobile: apenas a seta original arredondada do Chronos.
   Antes ::before (imagem oficial) e ::after (glifo) eram desenhados juntos. */
@media (max-width: 760px) {
  .assets-workspace-panel #asset-mobile-picker-v1915 #asset-hierarchy-tree .asset-tree-toggle:not(.empty)::after,
  .assets-workspace-panel #asset-mobile-picker-v1915 #asset-hierarchy-tree .asset-tree-toggle:not(.empty).collapsed::after {
    content: none !important;
    display: none !important;
  }
  .assets-workspace-panel #asset-mobile-picker-v1915 #asset-hierarchy-tree .asset-tree-toggle:not(.empty)::before {
    content: "" !important;
    display: block !important;
    width: 14px !important;
    height: 14px !important;
    background-image: url("icons/toggle-arrow.png") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    transform: rotate(0deg) !important;
  }
  .assets-workspace-panel #asset-mobile-picker-v1915 #asset-hierarchy-tree .asset-tree-toggle:not(.empty).collapsed::before {
    transform: rotate(-90deg) !important;
  }

  /* Filtro aparece acima dos itens, junto à barra de busca. Mantém o modal
     inteiro na camada superior do seletor e libera a área inferior da tela. */
  .assets-workspace-panel #asset-mobile-picker-v1915 #asset-filter-popover:not(.hidden) {
    position: fixed !important;
    inset: auto 14px auto 14px !important;
    top: var(--asset-filter-top-v1917, 155px) !important;
    bottom: auto !important;
    left: 14px !important;
    right: 14px !important;
    width: auto !important;
    max-width: none !important;
    max-height: min(55dvh, 390px) !important;
    overflow-y: auto !important;
    z-index: 2147483640 !important;
    border: 1px solid #dce6f3 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: 0 0 0 100vh rgba(12,28,48,.20),
                0 12px 36px rgba(13,28,48,.22) !important;
  }
}


/* ===== V19.18: duas fotos compactas no mobile e visualização/edição das imagens ===== */
@media (max-width: 760px) {
  /* Sobrescreve a antiga regra da V19.13, que forçava uma imagem por linha. */
  .assets-workspace-panel .assets-detail-panel .asset-location-photos.asset-location-photos-model-v19:not(.asset-photo-location-only-v19) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .assets-workspace-panel .assets-detail-panel .asset-location-photos.asset-photo-location-only-v19 {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .assets-detail-panel .asset-photo-slot-v19 {
    min-width: 0 !important;
    width: 100% !important;
  }
  .assets-detail-panel .asset-photo-slot-v19 .asset-location-photo-image,
  .assets-detail-panel .asset-photo-slot-v19 .asset-photo-slot-illustration-v19 {
    aspect-ratio: 4 / 3 !important;
    width: 100% !important;
    min-height: 0 !important;
    max-height: 170px !important;
    object-fit: cover;
  }
  .assets-detail-panel .asset-photo-slot-v19 .asset-photo-model-image-v19 {
    width: 100% !important;
    object-fit: contain !important;
  }
  .assets-detail-panel .asset-photo-slot-v19 .asset-photo-slot-meta-v19 {
    padding: 9px 8px !important;
    gap: 3px !important;
  }
  .assets-detail-panel .asset-photo-slot-v19 .asset-photo-slot-meta-v19 strong {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }
  .assets-detail-panel .asset-photo-slot-v19 .asset-photo-slot-meta-v19 span {
    font-size: 10px !important;
    line-height: 1.35 !important;
  }
}

/* A janela do visualizador é distinta do formulário de edição. */
dialog#asset-document-modal {
  width: min(940px, calc(100vw - 26px));
  max-width: 940px;
  max-height: 92dvh;
  border-radius: 0 !important;
  background: #fff;
  box-shadow: 0 24px 70px rgba(12,28,48,.28);
  overflow: hidden;
}
dialog#asset-document-modal::backdrop { background: rgba(10,24,44,.55); }
dialog#asset-document-modal > .asset-document-modal-card {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  height: min(86dvh, 820px);
  max-height: 92dvh;
  display: flex !important;
  flex-direction: column;
  gap: 0;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden;
}
dialog#asset-document-modal .asset-document-modal-header {
  display: flex !important;
  align-items: center !important;
  flex-direction: row !important;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 14px 18px;
  border-bottom: 1px solid #e2e8f2;
  background: #fff;
  flex-shrink: 0;
}
dialog#asset-document-modal .asset-document-modal-header > div:first-child {
  min-width: 0;
  flex: 1 1 auto;
}
dialog#asset-document-modal .asset-document-modal-header .modal-title {
  font-size: 15px;
  line-height: 1.3;
  margin: 0 0 4px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
dialog#asset-document-modal .asset-document-modal-header .detail-card-subtitle {
  margin: 0;
  color: #8290a4;
  font-size: 11px;
}
dialog#asset-document-modal .asset-document-modal-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: nowrap;
  flex-shrink: 0;
}
dialog#asset-document-modal .asset-photo-manage-action-v1918,
dialog#asset-document-modal .asset-photo-modal-close-v1918 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex: 0 0 auto;
  min-height: 34px;
  height: 34px;
  padding: 0 9px;
  border: 1px solid #d9e4f2;
  border-radius: 0 !important;
  background: #fff;
  color: #2468ac;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  box-sizing: border-box;
  box-shadow: none;
}
dialog#asset-document-modal .asset-photo-manage-action-v1918[hidden] { display: none !important; }
dialog#asset-document-modal .asset-photo-manage-action-v1918 svg {
  width: 15px;
  height: 15px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linejoin: round;
  stroke-linecap: round;
}
dialog#asset-document-modal .asset-photo-manage-action-v1918.is-danger { color: #c6383b; }
dialog#asset-document-modal .asset-photo-modal-close-v1918 {
  width: 34px;
  font-size: 22px;
  color: #5a6980;
}
dialog#asset-document-modal .asset-photo-manage-action-v1918:disabled,
dialog#asset-document-modal .asset-photo-modal-close-v1918:disabled { opacity: .45; cursor: progress; }
dialog#asset-document-modal .asset-document-download-icon {
  width: auto;
  overflow: visible;
}
dialog#asset-document-modal .asset-document-download-icon img { width: 15px; height: 15px; }
dialog#asset-document-modal .asset-photo-saving-v1918 {
  padding: 7px 16px;
  background: #f0f6ff;
  color: #2269b6;
  font-size: 12px;
  flex-shrink: 0;
}
dialog#asset-document-modal .asset-photo-saving-v1918[hidden] { display: none; }
dialog#asset-document-modal .asset-document-modal-body {
  flex: 1 1 auto;
  min-height: 0 !important;
  max-height: none;
  overflow: auto;
  border: 0;
  border-radius: 0 !important;
  background: #f7f9fc;
}
dialog#asset-document-modal .asset-document-view {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100%;
  padding: 16px;
  box-sizing: border-box;
}
dialog#asset-document-modal .asset-document-view-image img {
  display: block;
  max-width: 100%;
  width: auto;
  height: auto;
  max-height: calc(86dvh - 110px);
  object-fit: contain;
}
@media (max-width: 760px) {
  dialog#asset-document-modal {
    width: calc(100vw - 20px) !important;
    max-width: none;
    max-height: 92dvh;
  }
  dialog#asset-document-modal > .asset-document-modal-card { height: 88dvh; }
  dialog#asset-document-modal .asset-document-modal-header {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 32px;
    grid-template-areas: 'title close' 'buttons buttons';
    gap: 10px;
    padding: 12px;
  }
  dialog#asset-document-modal .asset-document-modal-header > div:first-child { grid-area: title; }
  dialog#asset-document-modal .asset-document-modal-actions { display: contents; }
  dialog#asset-document-modal .asset-photo-modal-close-v1918 {
    grid-area: close;
    width: 32px;
    height: 32px;
    min-height: 32px;
    padding: 0;
  }
  dialog#asset-document-modal .asset-photo-manage-action-v1918 {
    min-width: 0;
    height: 36px;
    min-height: 36px;
    padding: 0 10px;
  }
  dialog#asset-document-modal .asset-document-modal-header {
    grid-template-columns: repeat(3, minmax(0,1fr)) 32px;
    grid-template-areas: 'title title title close' 'buttons buttons buttons buttons';
  }
  dialog#asset-document-modal .asset-photo-manage-action-v1918:not([hidden]) { grid-row: 2; }
  dialog#asset-document-modal .asset-photo-manage-action-v1918:not([hidden])#asset-photo-replace-v1918 { grid-column: 1; }
  dialog#asset-document-modal .asset-photo-manage-action-v1918:not([hidden])#asset-photo-delete-v1918 { grid-column: 2; }
  dialog#asset-document-modal #asset-document-download { grid-column: 3; grid-row: 2; }
  dialog#asset-document-modal .asset-document-modal-actions { display: contents; }
  dialog#asset-document-modal .asset-photo-manage-action-v1918 { font-size: 11px; gap: 5px; }
  dialog#asset-document-modal .asset-document-download-icon { justify-content: center; }
  dialog#asset-document-modal .asset-document-view { padding: 8px; }
  dialog#asset-document-modal .asset-document-view-image img { max-height: calc(88dvh - 155px); }
}


/* ===== V19.19 - Modais de Ativos em tela cheia SOMENTE no celular =====
   Dialogo de Acesso Rapido: O.S. em aberto, Planos, Documentos e QR Code;
   Dialogo de Detalhes do ativo; Dialogo de Historico de manutencao.
   Preserva layout desktop e o visualizador de fotos independente. */
@media screen and (max-width: 760px) {
  dialog#asset-quick-modal-v19.modal.asset-quick-modal-v19,
  dialog#asset-overlay-modal-v20.modal.asset-overlay-modal-v20,
  dialog#asset-history-modal.modal.asset-history-modal {
    box-sizing: border-box !important;
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }
  dialog#asset-quick-modal-v19 > .modal-card.asset-quick-modal-card-v19,
  dialog#asset-overlay-modal-v20 > .modal-card.asset-overlay-card-v20,
  dialog#asset-history-modal > .modal-card.asset-history-card {
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  /* Cabecalho fixo e conteudo rolavel: OS em aberto, Planos, Documentos e QR. */
  dialog#asset-quick-modal-v19 .asset-quick-modal-head-v19,
  dialog#asset-overlay-modal-v20 .asset-overlay-head-v20 {
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: max(16px, env(safe-area-inset-top)) 16px 14px !important;
    margin: 0 !important;
    border-bottom: 1px solid #e3eaf3 !important;
    background: #fff !important;
  }
  dialog#asset-quick-modal-v19 .asset-quick-modal-head-v19 > div:first-child,
  dialog#asset-overlay-modal-v20 .asset-overlay-head-v20 > div:first-child {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  dialog#asset-quick-modal-v19 .asset-quick-modal-head-v19 h2,
  dialog#asset-overlay-modal-v20 .asset-overlay-head-v20 h2 {
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
    overflow-wrap: anywhere !important;
  }
  dialog#asset-quick-modal-v19 .asset-quick-modal-head-v19 p,
  dialog#asset-overlay-modal-v20 .asset-overlay-head-v20 p {
    margin: 5px 0 0 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere !important;
  }
  dialog#asset-quick-modal-v19 #asset-quick-modal-close-v19,
  dialog#asset-overlay-modal-v20 #asset-overlay-close-v20 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 38px !important;
    width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    border: 1px solid #dce5f0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #52657c !important;
    font-size: 25px !important;
    cursor: pointer !important;
  }
  dialog#asset-quick-modal-v19 #asset-quick-modal-content-v19,
  dialog#asset-overlay-modal-v20 #asset-overlay-body-v20 {
    box-sizing: border-box !important;
    display: block !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    padding: 16px 14px calc(24px + env(safe-area-inset-bottom)) !important;
    margin: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    background: #fff !important;
  }
  /* No celular o X do cabecalho substitui o rodape Fechar. */
  dialog#asset-quick-modal-v19 .asset-quick-modal-foot-v19,
  dialog#asset-overlay-modal-v20 .asset-overlay-foot-v20 {
    display: none !important;
  }

  /* Historico: titulo e pesquisa fixos, apenas lista de O.S. rola. */
  dialog#asset-history-modal > .asset-history-card.modal-card {
    position: relative !important;
  }
  dialog#asset-history-modal .asset-history-title-row {
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    padding: max(18px, env(safe-area-inset-top)) 62px 12px 16px !important;
    margin: 0 !important;
    border-bottom: 1px solid #e3eaf3 !important;
    background: #fff !important;
  }
  dialog#asset-history-modal .asset-history-title {
    font-size: 19px !important;
    line-height: 1.3 !important;
    margin: 0 0 7px !important;
  }
  dialog#asset-history-modal #btn-close-asset-history.asset-history-close {
    box-sizing: border-box !important;
    position: absolute !important;
    top: max(16px, env(safe-area-inset-top)) !important;
    right: 16px !important;
    width: 38px !important;
    height: 38px !important;
    z-index: 4 !important;
    border: 1px solid #dce5f0 !important;
    border-radius: 0 !important;
  }
  dialog#asset-history-modal .asset-history-toolbar {
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    align-items: center !important;
    gap: 10px !important;
    background: #fff !important;
  }
  dialog#asset-history-modal .asset-history-toolbar .asset-history-search-wrap {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
  }
  dialog#asset-history-modal .asset-history-toolbar #asset-history-filter-button {
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
  }
  dialog#asset-history-modal #asset-history-list.asset-history-list {
    box-sizing: border-box !important;
    display: block !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 8px 14px calc(24px + env(safe-area-inset-bottom)) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  dialog#asset-history-modal #asset-history-list.asset-history-list .os-service-card {
    margin: 0 0 12px !important;
  }
  dialog#asset-history-modal #asset-history-filter-popover {
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100dvh - 80px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }
}


/* ===== V19.20 | Gestão de anexos nos ativos ===== */
.asset-doc-toolbar-v1920 { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 15px; padding: 0 0 17px; }
.asset-doc-add-v1920 { display: inline-flex; align-items: center; gap: 9px; min-height: 40px; padding: 9px 15px; border: 1px solid #2c94fc; border-radius: 0; background: #2c94fc; color: #fff; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.asset-doc-add-v1920:hover { background: #1b76d3; }
.asset-doc-add-v1920 span { font-size: 22px; line-height: 14px; font-weight: 400; }
.asset-doc-toolbar-v1920 small { font-size: 12px; color: #78869a; line-height: 1.4; }
.asset-doc-list-v1920 { display: grid; gap: 9px; }
.asset-doc-entry-v1920 { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 13px 14px; border: 1px solid #dbe5f3; background: #fff; }
.asset-doc-entry-icon-v1920 { flex: 0 0 24px; color: #2c94fc; font-size: 22px; }
.asset-doc-entry-info-v1920 { display: grid; gap: 5px; min-width: 0; flex: 1; overflow-wrap: anywhere; }
.asset-doc-entry-info-v1920 strong { color: #183756; font-size: 13px; line-height: 1.4; }
.asset-doc-entry-info-v1920 small { color: #75839a; font-size: 12px; line-height: 1.4; }
.asset-doc-entry-actions-v1920 { display: flex; flex: 0 0 auto; gap: 7px; }
.asset-doc-entry-actions-v1920 button { min-height: 33px; padding: 7px 10px; font: inherit; font-size: 12px; font-weight: 700; color: #246fbd; border: 1px solid #d6e5f6; background: #fff; border-radius: 0; cursor: pointer; }
.asset-doc-entry-actions-v1920 button:hover { background: #eef6ff; }
.asset-doc-entry-actions-v1920 .asset-doc-delete-v1920 { color: #ce3239; border-color: #f0dadd; }
.asset-doc-entry-actions-v1920 .asset-doc-delete-v1920:hover { background: #fff3f3; }
.asset-doc-entry-actions-v1920 button:disabled,.asset-doc-add-v1920:disabled { opacity: .55; cursor: wait; }
.asset-doc-empty-v1920 { padding: 28px 16px; border: 1px dashed #dae4f2; background: #f9fbff; color: #7c8999; font-size: 13px; text-align: center; line-height: 1.6; }
.asset-doc-progress-v1920:not([hidden]) { display: block; margin: 0 0 12px; font-size: 12px; color: #237fc9; }
@media (max-width: 760px) {
  .asset-doc-toolbar-v1920 { align-items: stretch; flex-direction: column; padding-bottom: 16px; }
  .asset-doc-add-v1920 { justify-content: center; width: 100%; min-height: 44px; }
  .asset-doc-entry-v1920 { flex-wrap: wrap; padding: 12px; gap: 8px; }
  .asset-doc-entry-actions-v1920 { flex: 0 0 100%; justify-content: flex-end; border-top: 1px solid #edf1f7; padding-top: 9px; }
  .asset-doc-entry-actions-v1920 button { min-height: 37px; }
}


/* ===== V19.21: Cadastro e edicao de ativos em tela cheia no mobile ===== */
/* Desktop mantem o dialog original; o X fica reservado a telas pequenas. */
#asset-modal .asset-modal-head-v1921 { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
#asset-modal .asset-modal-head-v1921 .modal-title { min-width: 0; }
#asset-modal .asset-modal-close-v1921 { display: none; }

@media screen and (max-width: 760px) {
  dialog#asset-modal,
  dialog#asset-modal.modal[open] {
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    background: #fff !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
  dialog#asset-modal > #asset-modal-form.asset-modal-card {
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    background: #fff !important;
  }
  #asset-modal .asset-modal-head-v1921 {
    flex: 0 0 auto !important;
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 68px;
    padding: 14px 18px;
    padding-top: max(14px, env(safe-area-inset-top, 0px));
    border-bottom: 1px solid #e2e8f2;
    background: #fff;
    box-sizing: border-box;
  }
  #asset-modal .asset-modal-head-v1921 .modal-title {
    flex: 1 1 auto;
    font-size: 19px !important;
    line-height: 1.25;
    font-weight: 700;
    margin: 0 !important;
    color: #1b2f4c;
    overflow-wrap: break-word;
  }
  #asset-modal .asset-modal-close-v1921 {
    display: inline-flex !important;
    flex: 0 0 40px;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid #dbe4f0;
    border-radius: 0;
    background: #fff;
    color: #4f6077;
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
  }
  #asset-modal .asset-modal-scroll-v1921 {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 18px 18px 24px;
    box-sizing: border-box;
  }
  #asset-modal .asset-modal-scroll-v1921 .asset-modal-subtitle {
    font-size: 12px;
    line-height: 1.5;
    margin: 0 0 14px;
  }
  #asset-modal .asset-modal-scroll-v1921 .asset-add-types {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0 0 14px;
  }
  #asset-modal .asset-modal-scroll-v1921 .asset-add-type {
    min-width: 0;
    padding: 9px 8px;
    min-height: 46px;
    border-radius: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
    text-align: left;
    white-space: normal;
    line-height: 1.25;
  }
  #asset-modal .asset-modal-scroll-v1921 .asset-add-type img {
    flex: 0 0 auto;
  }
  #asset-modal .asset-modal-scroll-v1921 .asset-standard-flow {
    border-radius: 0;
    padding: 10px 12px;
    font-size: 11px;
    line-height: 1.5;
  }
  #asset-modal .asset-modal-scroll-v1921 .asset-modal-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px;
    min-width: 0;
  }
  #asset-modal .asset-modal-scroll-v1921 .asset-modal-grid > * {
    min-width: 0;
    grid-column: 1 / -1;
  }
  #asset-modal .asset-modal-scroll-v1921 input,
  #asset-modal .asset-modal-scroll-v1921 select,
  #asset-modal .asset-modal-scroll-v1921 textarea {
    max-width: 100%;
    box-sizing: border-box;
  }
  #asset-modal #asset-modal-form > menu.modal-actions {
    display: flex !important;
    flex: 0 0 auto !important;
    flex-direction: row !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 18px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    min-height: 64px;
    background: #fff;
    border-top: 1px solid #e2e8f2;
    box-sizing: border-box;
  }
  #asset-modal #asset-modal-form > menu.modal-actions > .btn {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    flex: 1 1 0 !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    white-space: nowrap;
  }
}


/* V19.22 — cabeçalho mobile simplificado, sem cargo / Stand by / contador.
   Preserva usuário, notificações, scanner, menu e atalho da O.S. ativa. */
@media screen and (max-width: 760px) {
  body .sidebar-layout > .mobile-topbar .mobile-os-user-summary {
    display: none !important;
  }
  body .sidebar-layout > .mobile-topbar {
    min-height: 64px !important;
    height: auto !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    align-content: center !important;
    row-gap: 0 !important;
  }
  body .sidebar-layout > .dashboard-container.sidebar-main,
  body[data-page="ordem-servico"] .sidebar-layout > .dashboard-container.sidebar-main {
    padding-top: 80px !important;
  }
  body.chronos-active-os-in-topbar .sidebar-layout > .mobile-topbar {
    min-height: 103px !important;
    row-gap: 4px !important;
  }
  body.chronos-active-os-in-topbar .sidebar-layout > .dashboard-container.sidebar-main,
  body.chronos-active-os-paused .sidebar-layout > .dashboard-container.sidebar-main {
    padding-top: 119px !important;
  }
}


/* V19.23 — botão de limpar pesquisa ancorado na borda direita do input.
   Corrige os estilos globais que faziam o X ocupar toda a largura no mobile. */
@media screen and (max-width: 760px) {
  body[data-page="ordem-servico"] .os-search-wrap-top,
  body[data-page="ordem"] .os-search-wrap-top,
  body[data-page="solicitacao"] .os-search-wrap-top {
    position: relative !important;
    box-sizing: border-box !important;
  }
  body[data-page="ordem-servico"] .os-search-wrap-top #btn-clear-os-search,
  body[data-page="ordem"] .os-search-wrap-top #btn-clear-os-search,
  body[data-page="solicitacao"] .os-search-wrap-top #btn-clear-os-search {
    position: absolute !important;
    top: 50% !important;
    right: 9px !important;
    left: auto !important;
    bottom: auto !important;
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
    flex: none !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #718096 !important;
    font-size: 17px !important;
    line-height: 1 !important;
    z-index: 3 !important;
    cursor: pointer;
  }
  body[data-page="ordem-servico"] .os-search-wrap-top .os-search-input,
  body[data-page="ordem"] .os-search-wrap-top .os-search-input,
  body[data-page="solicitacao"] .os-search-wrap-top .os-search-input {
    padding-right: 40px !important;
    box-sizing: border-box !important;
  }
  .os-search-wrap-top #btn-clear-os-search.hidden {
    display: none !important;
  }
}


/* ===== V19.24 — Ativos: ferramentas diretamente acima da lista (somente desktop) =====
   Reorganiza visualmente os componentes originais sem mover nós HTML/JS.
   O seletor de árvore e a barra próprios do celular (<=760px) permanecem inalterados. */
@media screen and (min-width: 761px) {
  .page-home-only.assets-workspace-panel {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.5fr);
    grid-template-rows: auto auto minmax(0, 1fr);
    column-gap: 20px;
    row-gap: 12px;
    align-items: start;
  }

  /* O cabeçalho e a grade conservam seus filhos e todos os eventos JS. */
  .page-home-only.assets-workspace-panel > .assets-workspace-header,
  .page-home-only.assets-workspace-panel > .assets-workspace-grid {
    display: contents !important;
  }

  .page-home-only.assets-workspace-panel > .assets-workspace-header > .assets-page-title {
    grid-column: 1 / -1;
    grid-row: 1;
    margin: 0 0 20px !important;
  }

  .page-home-only.assets-workspace-panel > .assets-workspace-header > .assets-workspace-toolbar {
    grid-column: 1 !important;
    grid-row: 2;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .page-home-only.assets-workspace-panel .assets-workspace-toolbar .search-wrap.assets-search-grow {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .page-home-only.assets-workspace-panel .assets-workspace-toolbar > .toolbar-filter-wrap {
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 7px !important;
    width: auto !important;
    min-width: 0 !important;
  }

  .page-home-only.assets-workspace-panel .assets-workspace-grid > .assets-tree-sidebar {
    grid-column: 1;
    grid-row: 3;
    min-width: 0;
    min-height: 505px;
  }

  .page-home-only.assets-workspace-panel .assets-workspace-grid > .assets-detail-panel {
    grid-column: 2;
    grid-row: 2 / 4;
    min-width: 0;
    min-height: 560px;
    align-self: stretch;
  }

  /* Menus posicionados sob seus botões, sem ultrapassar a borda da coluna. */
  .page-home-only.assets-workspace-panel .assets-workspace-toolbar .asset-actions-menu,
  .page-home-only.assets-workspace-panel .assets-workspace-toolbar .asset-edit-popover {
    left: auto !important;
    right: 0 !important;
    top: calc(100% + 8px) !important;
  }
}


/* V19.25 — indicador de preenchimento dos checks no cartão Atividade da O.S. */
.os-workspace-nav-progress-track{
  display:block;position:relative;width:100%;max-width:330px;height:5px;
  box-sizing:border-box;margin-top:5px;overflow:hidden;border-radius:20px;
  background:#e5edf7;
}
.os-workspace-nav-progress-fill{
  display:block;height:100%;width:0;background:#2684ea;border-radius:inherit;
  transition:width .25s ease,background-color .2s ease;
}
.os-workspace-nav-progress-fill.is-complete{background:#1b9964;}
.os-workspace-nav-percentage{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  min-width:54px;min-height:29px;box-sizing:border-box;padding:5px 8px;
  border:1px solid #d0e3f9;background:#f1f7ff;color:#1875d4;
  font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.15;
}
.os-workspace-nav-percentage.is-complete{
  color:#188151;background:#ebf9f1;border-color:#bae9d0;
}
@media(max-width:760px){
  .os-workspace-nav-percentage{min-width:48px;min-height:26px;padding:4px 6px;font-size:12px;}
  .os-workspace-nav-progress-track{margin-top:4px;}
}

/* CHRONOS V19.27 — abertura branca, informações visíveis e fotos diretas */
#os-form-panel.os-redesign-ready,
#os-form-panel.os-redesign-ready .os-form-header,
#os-form-panel.os-redesign-ready .os-redesign-step,
#os-form-panel.os-redesign-ready .os-redesign-always-open,
#os-form-panel.os-redesign-ready .os-redesign-photo-section {
  background:#fff !important;
}
#os-form-panel.os-redesign-ready .os-solicitante-field {display:none !important;}
#os-form-panel.os-redesign-ready .os-redesign-title-row {
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;min-width:0;
}
#os-form-panel.os-redesign-ready .os-redesign-title-row > #os-form-order-number {
  order:-1;flex:0 0 auto;margin:0 !important;white-space:nowrap;
  background:#fff !important;border:1px solid #bed8fc;color:#1766d6 !important;
  font-size:13px !important;font-weight:800;padding:5px 10px !important;
}
#os-form-panel.os-redesign-ready .os-redesign-title-row > #os-form-title {flex:1 1 150px;}
#os-form-panel.os-redesign-ready .os-redesign-simple-heading {
  display:flex;flex-direction:column;gap:4px;margin-bottom:15px;padding-bottom:12px;
  border-bottom:1px solid #e7edf4;color:#1f314b;
}
#os-form-panel.os-redesign-ready .os-redesign-simple-heading strong {font-size:15px;font-weight:800;}
#os-form-panel.os-redesign-ready .os-redesign-simple-heading small {font-size:12px;color:#68798e;}
#os-form-panel.os-redesign-ready #os-photo-field > label {display:none !important;}
#os-form-panel.os-redesign-ready .os-redesign-photo-content {display:block !important;}
#os-form-panel.os-redesign-ready #os-photo-upload {
  width:100% !important;max-width:none !important;display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;
  border:none !important;padding:0 !important;margin:0 !important;
  background:#fff !important;min-height:0 !important;
}
#os-form-panel.os-redesign-ready #os-photo-upload > .modern-file-label,
#os-form-panel.os-redesign-ready #os-photo-upload > .os-photo-camera-action {
  box-sizing:border-box !important;display:flex !important;flex-direction:row !important;
  align-items:center !important;justify-content:center !important;
  width:100% !important;min-width:0 !important;max-width:none !important;
  height:auto !important;min-height:54px !important;max-height:none !important;
  margin:0 !important;padding:9px 10px !important;gap:8px !important;
  border:1px solid #b9d1ee !important;border-radius:0 !important;
  background:#fff !important;color:#236cbf !important;cursor:pointer;
}
#os-form-panel.os-redesign-ready #os-photo-upload .modern-file-icon {
  display:grid !important;place-items:center !important;flex:0 0 26px !important;
  width:26px !important;height:26px !important;min-width:26px !important;
  font-size:19px !important;background:transparent !important;color:#247cff !important;
  -webkit-text-fill-color:#247cff !important;
}
#os-form-panel.os-redesign-ready #os-photo-upload .modern-file-texts strong,
#os-form-panel.os-redesign-ready #os-photo-upload .os-photo-camera-action span {
  color:#236cbf !important;font-size:13px !important;line-height:1.25 !important;font-weight:700 !important;
}
#os-form-panel.os-redesign-ready #os-photo-upload .modern-file-texts small {display:none !important;}
#os-form-panel.os-redesign-ready #os-photo-upload .modern-file-summary,
#os-form-panel.os-redesign-ready #os-photo-upload .modern-file-gallery {
  grid-column:1/-1 !important;width:100% !important;
}
#os-form-panel.os-redesign-ready #os-photo-upload .modern-file-summary.hidden,
#os-form-panel.os-redesign-ready #os-photo-upload .modern-file-gallery.hidden {display:none !important;}
@media (max-width:760px){
  /* O modal cobre a barra fixa do aplicativo: seu título/número deixam de ficar escondidos. */
  body.os-form-open #os-form-backdrop:not(.hidden){z-index:15000 !important;}
  body.os-form-open #os-form-panel.os-redesign-ready:not(.hidden){
    position:fixed !important;inset:0 !important;top:0 !important;left:0 !important;
    right:0 !important;bottom:0 !important;z-index:15001 !important;
    width:100vw !important;max-width:100vw !important;min-width:100vw !important;
    height:100dvh !important;max-height:100dvh !important;
    margin:0 !important;transform:none !important;overscroll-behavior:contain;
    overflow-y:auto !important;overflow-x:hidden !important;
    padding:calc(14px + env(safe-area-inset-top,0px)) 14px calc(104px + env(safe-area-inset-bottom,0px)) !important;
    background:#fff !important;
  }
  body.os-form-open #os-form-panel.os-redesign-ready .os-form-header{
    background:#fff !important;position:relative !important;z-index:1;
    padding:4px 0 16px !important;margin:0 !important;
  }
  body.os-form-open #os-form-panel.os-redesign-ready .os-form-footer{
    z-index:15002 !important;background:#fff !important;
  }
  body.os-form-open #os-form-panel.os-redesign-ready .os-redesign-step,
  body.os-form-open #os-form-panel.os-redesign-ready .os-redesign-always-open,
  body.os-form-open #os-form-panel.os-redesign-ready .os-redesign-photo-section{
    background:#fff !important;margin-bottom:12px !important;border:1px solid #e3e8ef !important;
    padding:14px 13px !important;
  }
  body.os-form-open #os-form-panel.os-redesign-ready #os-photo-upload{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  body.os-form-open #os-form-panel.os-redesign-ready #os-photo-upload > .modern-file-label,
  body.os-form-open #os-form-panel.os-redesign-ready #os-photo-upload > .os-photo-camera-action{
    padding:10px 6px !important;min-height:51px !important;
  }
}
/* Fotos: ações lado a lado imediatamente abaixo do cabeçalho em todas as larguras. */
#os-form-panel.os-redesign-ready #os-photo-upload > .modern-file-label,
#os-form-panel.os-redesign-ready #os-photo-upload > .os-photo-camera-action {
  grid-column:auto !important;
  grid-row:auto !important;
}




/* V19.54 — mesmo cartão da O.S. em todas as áreas do Chronos. */
.os-card-date-inline {
  display:inline-flex !important;align-items:center !important;gap:7px !important;
  flex:0 0 auto;min-width:0;font-family:inherit;color:#263b58;
  white-space:nowrap;
}
.os-card-date-inline img {width:20px;height:20px;flex:0 0 20px;object-fit:contain;}
.os-card-date-inline time {font:inherit;color:#263b58;}
.os-card-asset-inline {
  display:inline-flex !important;align-items:center !important;gap:9px !important;
  max-width:100%;min-width:0;flex:0 1 auto;
}
/* V19.55 — cards da O.S.: somente o ícone do ativo, sem moldura. */
.os-card-asset-icon {
  display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;min-width:24px;flex:0 0 24px;
  padding:0;border:0;border-radius:0;
  background:transparent;box-shadow:none;
}
.os-card-asset-icon img {
  width:24px;height:24px;max-width:100%;max-height:100%;
  padding:0;border:0;border-radius:0;
  background:transparent;box-shadow:none;
  object-fit:contain;display:block;
}
.os-card-asset-text {display:flex;flex-direction:column;gap:1px;min-width:0;max-width:100%;}
.os-card-asset-text small {font-size:11px;line-height:1.2;font-weight:500;color:#7c8ba0;}
.os-card-asset-text strong {font-size:13px;line-height:1.3;color:#19324e;font-weight:700;overflow-wrap:anywhere;}
.os-service-card .os-list-badge.os-card-stop-badge,
.os-user-board-card .os-list-badge.os-card-stop-badge,
.os-print-opening-badges .os-list-badge.os-card-stop-badge,
#asset-history-modal .os-list-badge.os-card-stop-badge {
  display:inline-flex;align-items:center;justify-content:center;
  min-height:34px;padding:6px 14px;border:1px solid #d9a600;
  background:#d9a600 !important;color:#ffffff !important;font-weight:700 !important;
  border-radius:0 !important;white-space:normal;text-align:center;
}
.os-print-opening-meta-grid > .os-card-date-inline,
.os-print-opening-meta-grid > .os-card-asset-inline {
  margin:0;display:flex !important;
}
@media (max-width:760px) {
  .os-card-asset-inline {max-width:100%;}
  .os-card-asset-text strong {font-size:12px;}
  .os-card-date-inline img {width:18px;height:18px;flex-basis:18px;}
  .os-service-card-meta-row-top {align-items:center;gap:10px 12px;}
}


/* V19.56/V19.57/V19.59 — caixas de foto dos Ativos com tamanho único em todos os níveis */
.assets-detail-panel {
  --asset-photo-box-width-v1957: 200px;
  --asset-photo-box-ratio-v1957: 4 / 3;
}
.assets-detail-panel .asset-location-photos.asset-location-photos-model-v19,
.assets-detail-panel .asset-location-photos.asset-photo-location-only-v19 {
  display: grid !important;
  gap: 12px !important;
  justify-content: start !important;
  align-content: start !important;
}
/* Local/Planta/Área/Setor: uma caixa padrão por linha. */
.assets-detail-panel .asset-location-photos.asset-photo-location-only-v19 {
  grid-template-columns: repeat(1, minmax(var(--asset-photo-box-width-v1957), var(--asset-photo-box-width-v1957))) !important;
}
/* Ativos/equipamentos e derivados: duas caixas lado a lado no desktop. */
.assets-detail-panel #asset-machine-photos.asset-location-photos.asset-location-photos-model-v19 {
  grid-template-columns: repeat(2, minmax(var(--asset-photo-box-width-v1957), var(--asset-photo-box-width-v1957))) !important;
}
.assets-detail-panel .asset-photo-slot-v19.asset-photo-add-v1956,
.assets-detail-panel .asset-photo-slot-v19.asset-photo-filled-v1956 {
  box-sizing: border-box !important;
  display: flex !important;
  width: var(--asset-photo-box-width-v1957) !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: var(--asset-photo-box-ratio-v1957) !important;
  border-radius: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  box-shadow: none !important;
  align-self: start !important;
  justify-self: start !important;
}
.assets-detail-panel .asset-photo-slot-v19.asset-photo-add-v1956 {
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 16px 10px !important;
  border: 1px dashed #8cc5ed !important;
  background: #fff !important;
  color: #2c94fc !important;
  text-align: center !important;
  cursor: pointer !important;
}
.assets-detail-panel .asset-photo-slot-v19.asset-photo-add-v1956:hover,
.assets-detail-panel .asset-photo-slot-v19.asset-photo-add-v1956:focus-visible {
  border-color: #2c94fc !important;
  background: #f8fbff !important;
}
.assets-detail-panel .asset-photo-add-icon-v1956 {
  display: block !important;
  width: 26px !important;
  height: 26px !important;
  max-width: 26px !important;
  flex: 0 0 26px !important;
  object-fit: contain !important;
}
.assets-detail-panel .asset-photo-add-title-v1956 {
  display: block !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: #2c94fc !important;
}
.assets-detail-panel .asset-photo-add-help-v1956 {
  display: block !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  color: #6a859f !important;
}
.assets-detail-panel .asset-photo-slot-v19.asset-photo-filled-v1956 {
  border: 1px solid #d7e2f0 !important;
  padding: 0 !important;
  background: #fff !important;
}
.assets-detail-panel .asset-photo-slot-v19.asset-photo-filled-v1956 > .asset-location-photo-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
}
@media (max-width: 760px) {
  .assets-workspace-panel .assets-detail-panel {
    --asset-photo-box-width-v1957: min(44vw, 200px);
  }
  .assets-workspace-panel .assets-detail-panel .asset-location-photos.asset-photo-location-only-v19 {
    grid-template-columns: repeat(1, minmax(0, min(100%, 200px))) !important;
    justify-content: start !important;
  }
  .assets-workspace-panel .assets-detail-panel #asset-machine-photos.asset-location-photos.asset-location-photos-model-v19 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    justify-content: stretch !important;
  }
  .assets-workspace-panel .assets-detail-panel .asset-photo-slot-v19.asset-photo-add-v1956,
  .assets-workspace-panel .assets-detail-panel .asset-photo-slot-v19.asset-photo-filled-v1956 {
    width: 100% !important;
    aspect-ratio: var(--asset-photo-box-ratio-v1957) !important;
    max-height: none !important;
    justify-self: stretch !important;
  }
}

/* V19.58 — texto da plaqueta legível sem alterar dimensões do cartão */
.assets-detail-panel .asset-photo-slot-v19.asset-photo-add-plate-v1958 {
  gap: 5px !important;
  padding: 10px 7px !important;
}
.assets-detail-panel .asset-photo-slot-v19.asset-photo-add-plate-v1958 .asset-photo-add-title-v1956 {
  font-size: 12px !important;
  line-height: 1.25 !important;
  max-width: 175px !important;
  overflow-wrap: normal !important;
}
.assets-detail-panel .asset-photo-slot-v19.asset-photo-add-plate-v1958 .asset-photo-add-help-v1956 {
  font-size: 10px !important;
}

/* V19.58 — texto completo e mesma proporção das caixas também em telas estreitas. */
@media (max-width: 760px) {
  .assets-workspace-panel .assets-detail-panel .asset-location-photos.asset-photo-location-only-v19 {
    grid-template-columns: repeat(1, minmax(min(100%, 200px), 200px)) !important;
    gap: 12px !important;
    justify-content: start !important;
  }
  .assets-workspace-panel .assets-detail-panel #asset-machine-photos.asset-location-photos.asset-location-photos-model-v19 {
    grid-template-columns: repeat(2, minmax(0, min(100%, 200px))) !important;
    gap: 12px !important;
    justify-content: start !important;
  }
  .assets-workspace-panel .assets-detail-panel .asset-photo-slot-v19.asset-photo-add-v1956,
  .assets-workspace-panel .assets-detail-panel .asset-photo-slot-v19.asset-photo-filled-v1956 {
    width: min(100%, 200px) !important;
    aspect-ratio: 4 / 3 !important;
    justify-self: start !important;
  }
}


/* V19.60 — visualização da O.S.: ativo no mesmo padrão dos cards */
.os-detail-modal .os-exec-summary-asset .os-card-asset-inline{
  gap:10px !important;
}
.os-detail-modal .os-exec-summary-asset .os-card-asset-text{
  gap:0 !important;
}
.os-detail-modal .os-exec-summary-asset .os-card-asset-text strong{
  font-size:14px;
  line-height:1.25;
  color:#19324e;
}
.os-detail-modal .os-exec-summary-asset .os-card-asset-icon,
.os-detail-modal .os-exec-summary-asset .os-card-asset-icon img{
  width:24px;height:24px;min-width:24px;
}


/* V19.61 — textos idênticos nas duas caixas de fotos dos ativos.
   A primeira caixa passa a usar a mesma tipografia/ritmo da placa. */
.assets-detail-panel #asset-machine-photos .asset-photo-slot-v19.asset-photo-add-v1956 {
  gap: 5px !important;
  padding: 10px 7px !important;
}
.assets-detail-panel #asset-machine-photos .asset-photo-slot-v19.asset-photo-add-v1956 .asset-photo-add-title-v1956 {
  font-size: 12px !important;
  line-height: 1.25 !important;
  max-width: 175px !important;
  overflow-wrap: normal !important;
}
.assets-detail-panel #asset-machine-photos .asset-photo-slot-v19.asset-photo-add-v1956 .asset-photo-add-help-v1956 {
  font-size: 10px !important;
}

/* V19.62 — Icones personalizaveis dos 4 menus da O.S. */
.os-workspace-nav-icon > .os-workspace-nav-image,
#os-detail-modal .os-workspace-nav-icon > .os-workspace-nav-image,
#os-workspace-modal .os-workspace-nav-icon > .os-workspace-nav-image {
  display:block !important;
  width:23px !important;
  height:23px !important;
  min-width:23px !important;
  max-width:23px !important;
  max-height:23px !important;
  object-fit:contain !important;
  flex:0 0 23px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* Chronos V19.63 — seletor compacto de status no desktop: Lista e Kanban */
.os-desktop-status-picker-trigger { display:none; }
@media screen and (min-width:761px) {
  body[data-page="ordem-servico"] .os-desktop-status-picker-trigger {
    display:flex !important;
    width:100% !important;
    min-width:0 !important;
    min-height:60px !important;
    box-sizing:border-box !important;
    padding:7px 13px 9px !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:center !important;
    gap:4px !important;
    border:1px solid #d7e3f2 !important;
    border-radius:0 !important;
    background:#fff !important;
    color:#19334c !important;
    box-shadow:none !important;
    font-family:inherit !important;
    cursor:pointer !important;
    text-align:left !important;
  }
  body[data-page="ordem-servico"] .os-desktop-status-picker-trigger:hover,
  body[data-page="ordem-servico"] .os-desktop-status-picker-trigger:focus-visible,
  body[data-page="ordem-servico"] .os-desktop-status-picker-trigger[aria-expanded="true"] {
    border-color:#2C94FC !important;
    outline:none !important;
    background:#f8fbff !important;
  }
  .os-desktop-status-picker-caption {
    display:block;
    font-size:10px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.03em;
    color:#7185a0;
  }
  .os-desktop-status-picker-main {
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
    width:100%;
  }
  .os-desktop-status-picker-icon {
    width:21px;
    height:21px;
    flex:0 0 21px;
    object-fit:contain;
  }
  .os-desktop-status-picker-label {
    min-width:0;
    flex:1 1 auto;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:13px;
    font-weight:700;
    color:#19334c;
  }
  .os-desktop-status-picker-count {
    flex:0 0 auto;
    font-size:13px;
    font-weight:800;
    font-variant-numeric:tabular-nums;
    color:#2C94FC;
  }
  .os-desktop-status-picker-chevron {
    width:16px;
    height:16px;
    flex:0 0 16px;
    color:#6683a3;
    transition:transform .15s ease;
  }
  .os-desktop-status-picker-trigger[aria-expanded="true"] .os-desktop-status-picker-chevron {
    transform:rotate(180deg);
  }
  /* Os elementos antigos continuam no DOM para contagens e eventos, mas não
     devem ocupar espaço visual nem duplicar os filtros no desktop. */
  body[data-page="ordem-servico"] .os-calendar-sidebar .os-metrics-sidebar {
    display:none !important;
  }
  body[data-page="ordem-servico"].os-user-board-active #os-user-board-status-cards {
    display:flex !important;
    flex-flow:row wrap !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:12px !important;
    overflow:visible !important;
    width:100% !important;
    margin:0 0 14px !important;
    padding:0 !important;
  }
  body[data-page="ordem-servico"] #os-user-board-status-cards > .os-user-board-status-card {
    display:none !important;
  }
  body[data-page="ordem-servico"].os-user-board-active #os-user-board-status-cards > .os-desktop-status-picker-trigger,
  body[data-page="ordem-servico"].os-user-board-active #os-user-board-status-cards > .os-user-board-calendar-card {
    flex:0 1 300px !important;
    width:min(300px, 100%) !important;
    max-width:100% !important;
    min-width:220px !important;
    margin:0 !important;
    align-self:stretch !important;
  }
  body[data-page="ordem-servico"].os-user-board-active #os-user-board-status-cards > .os-user-board-calendar-card .os-date-picker-shell,
  body[data-page="ordem-servico"].os-user-board-active #os-user-board-status-cards > .os-user-board-calendar-card .os-date-picker-trigger {
    width:100% !important;
    max-width:100% !important;
    min-height:60px !important;
    height:100% !important;
  }
  /* Mesmo menu dropdown já usado no mobile, com largura e scroll próprios. */
  body[data-page="ordem-servico"] .os-mobile-status-menu:not([hidden]) {
    position:fixed !important;
    z-index:2147483000 !important;
    display:flex !important;
    flex-direction:column !important;
    box-sizing:border-box !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    padding:5px !important;
    border:1px solid #cbd9ec !important;
    border-radius:3px !important;
    background:#fff !important;
    box-shadow:0 12px 26px rgba(19,43,73,.17) !important;
  }
  body[data-page="ordem-servico"] .os-mobile-status-menu-heading {
    padding:9px 12px 8px;
    color:#78879a;
    font-size:11px;
    font-weight:700;
    border-bottom:1px solid #edf1f7;
  }
  body[data-page="ordem-servico"] .os-mobile-status-option {
    display:flex;
    align-items:center;
    gap:10px;
    width:100%;
    min-height:46px;
    flex:0 0 auto;
    box-sizing:border-box;
    padding:8px 11px;
    border:0;
    border-bottom:1px solid #f1f4f8;
    border-radius:0;
    background:#fff;
    text-align:left;
    color:#23364c;
    cursor:pointer;
    font-family:inherit;
    font-size:12px;
    font-weight:600;
  }
  body[data-page="ordem-servico"] .os-mobile-status-option:last-child { border-bottom:0; }
  body[data-page="ordem-servico"] .os-mobile-status-option:hover,
  body[data-page="ordem-servico"] .os-mobile-status-option.is-selected { background:#edf5ff;color:#2475dc; }
  body[data-page="ordem-servico"] .os-mobile-status-option-icon { width:20px;height:20px;flex:0 0 20px;object-fit:contain; }
  body[data-page="ordem-servico"] .os-mobile-status-option-name { flex:1 1 auto;min-width:0; }
  body[data-page="ordem-servico"] .os-mobile-status-option-value { font-weight:800;font-size:13px;font-variant-numeric:tabular-nums; }
}

/* V19.64 — "Visualizar O.S. de" no desktop, Lista e Scrum.
   Reaproveita o mesmo filtro de usuários do mobile sem duplicar o estado. */
@media screen and (min-width:761px) {
  body[data-page="ordem-servico"] #os-mobile-users-filter:not([hidden]) {
    display:block !important;
    position:relative !important;
    flex:0 1 300px !important;
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    isolation:isolate;
    z-index:60;
  }
  body[data-page="ordem-servico"] .os-calendar-sidebar > #os-mobile-users-filter {
    margin-top:12px !important;
  }
  body[data-page="ordem-servico"] #os-mobile-users-trigger {
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    gap:9px !important;
    width:100% !important;
    min-height:60px !important;
    padding:25px 13px 9px !important;
    box-sizing:border-box !important;
    border:1px solid #d7e3f2 !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
    font-family:inherit !important;
    text-align:left !important;
    cursor:pointer !important;
  }
  body[data-page="ordem-servico"] #os-mobile-users-trigger::before {
    content:'VISUALIZAR O.S.';
    position:absolute;
    top:8px;
    left:13px;
    font-size:10px;
    font-weight:700;
    color:#7185a0;
    letter-spacing:.03em;
    line-height:1.2;
  }
  body[data-page="ordem-servico"] #os-mobile-users-trigger:hover,
  body[data-page="ordem-servico"] #os-mobile-users-trigger:focus-visible,
  body[data-page="ordem-servico"] #os-mobile-users-trigger[aria-expanded="true"] {
    border-color:#2C94FC !important;
    background:#f8fbff !important;
    outline:0 !important;
  }
  body[data-page="ordem-servico"] #os-mobile-users-trigger .os-mobile-users-icon {display:none !important;}
  body[data-page="ordem-servico"] #os-mobile-users-trigger .os-mobile-users-title {
    display:block !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    font-size:13px !important;
    font-weight:700 !important;
    color:#19334c !important;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
  }
  body[data-page="ordem-servico"] #os-mobile-users-trigger .os-mobile-compact-value {display:none !important;}
  body[data-page="ordem-servico"] #os-mobile-users-trigger .os-mobile-users-chevron {
    display:block !important;
    flex:0 0 15px;
    width:15px;height:15px;
    stroke:#7c90a7;stroke-width:1.6;fill:none;
    transition:transform .16s ease;
  }
  body[data-page="ordem-servico"] #os-mobile-users-trigger[aria-expanded="true"] .os-mobile-users-chevron {transform:rotate(180deg);}
  body[data-page="ordem-servico"] #os-mobile-users-menu:not([hidden]) {
    position:absolute !important;
    display:block !important;
    box-sizing:border-box !important;
    left:0 !important;
    top:calc(100% + 5px) !important;
    width:min(335px,calc(100vw - 32px)) !important;
    max-width:none !important;
    max-height:min(56vh,430px) !important;
    overflow:auto !important;
    margin:0 !important;
    padding:6px 10px 10px !important;
    background:#fff !important;
    border:1px solid #cedbea !important;
    border-radius:0 !important;
    box-shadow:0 12px 24px rgba(28,54,78,.18) !important;
    z-index:1400 !important;
  }
  body[data-page="ordem-servico"] #os-mobile-users-menu .os-mobile-users-heading {
    font-size:11px;font-weight:600;color:#7b8ba0;padding:10px 10px;
  }
  body[data-page="ordem-servico"] #os-mobile-users-menu .os-mobile-users-choice {
    display:block;width:100%;padding:14px 12px;border:0;border-bottom:1px solid #eef1f5;
    text-align:left;background:#fff;color:#263a51;font-family:inherit;font-size:13px;
    font-weight:650;cursor:pointer;
  }
  body[data-page="ordem-servico"] #os-mobile-users-menu .os-mobile-users-choice:hover,
  body[data-page="ordem-servico"] #os-mobile-users-menu .os-mobile-users-choice.is-selected {
    color:#2478cf;background:#edf6ff;
  }
  /* Scrum: status, calendário e visualização de O.S. numa única faixa. */
  body[data-page="ordem-servico"].os-user-board-active .os-desktop-board-filters-row {
    display:flex !important;
    flex-flow:row wrap !important;
    align-items:stretch !important;
    gap:12px !important;
    width:100% !important;
    margin:0 0 14px !important;
    overflow:visible !important;
  }
  body[data-page="ordem-servico"].os-user-board-active .os-desktop-board-filters-row > #os-user-board-status-cards {
    display:flex !important;
    flex:1 1 550px !important;
    width:auto !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    gap:12px !important;
  }
  body[data-page="ordem-servico"].os-user-board-active .os-desktop-board-filters-row > #os-mobile-users-filter {
    flex:1 1 240px !important;
    max-width:300px !important;
    width:auto !important;
  }
  body[data-page="ordem-servico"].os-user-board-active .os-desktop-board-filters-row #os-mobile-users-trigger {height:100% !important;}
  /* Personalizado abre a mesma lista de executantes, em modal central no desktop. */
  body.os-users-fs-open {overflow:hidden !important;}
  body[data-page="ordem-servico"] #os-mobile-users-fullscreen:not([hidden]) {
    position:fixed !important;
    inset:50% auto auto 50% !important;
    transform:translate(-50%,-50%) !important;
    display:flex !important;
    flex-direction:column !important;
    width:min(640px,calc(100vw - 36px)) !important;
    height:min(670px,calc(100vh - 48px)) !important;
    max-height:calc(100dvh - 48px) !important;
    min-height:0 !important;
    z-index:2147483000 !important;
    box-sizing:border-box !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
    background:white !important;
    border:1px solid #d6e0ec !important;
    box-shadow:0 0 0 9999px rgba(14,27,46,.5),0 16px 40px rgba(16,39,67,.2) !important;
  }
  #os-mobile-users-fullscreen .os-users-fs-header {
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    min-height:62px;box-sizing:border-box;padding:14px 20px;
    border-bottom:1px solid #e0e7ef;
  }
  #os-mobile-users-fullscreen .os-users-fs-header h2 {margin:0;font-size:18px;color:#1d354e;}
  #os-mobile-users-fullscreen .os-users-fs-close {
    display:flex;align-items:center;justify-content:center;
    width:33px;height:33px;background:#fff;border:0;color:#718198;font-size:25px;cursor:pointer;
  }
  #os-mobile-users-fullscreen .os-users-fs-search-wrap {padding:12px 20px 10px;}
  #os-mobile-users-fullscreen .os-users-fs-search {
    display:flex;align-items:center;gap:10px;border:1px solid #d6e0ed;
    padding:0 12px;height:43px;box-sizing:border-box;
  }
  #os-mobile-users-fullscreen .os-users-fs-search svg {width:18px;height:18px;fill:none;stroke:#8aa0b5;stroke-width:1.7;}
  #os-mobile-users-fullscreen #os-users-fs-search-input {
    flex:1;width:100%;height:40px;min-width:0;border:0!important;
    box-shadow:none!important;outline:none!important;background:transparent;font:inherit;font-size:14px;
  }
  #os-mobile-users-fullscreen .os-users-fs-selection-count {display:block;font-size:12px;color:#7d8a9b;padding-top:7px;text-align:right;}
  #os-mobile-users-fullscreen .os-users-fs-scroll {
    display:flex;flex:1 1 auto;min-height:0;overflow:hidden;flex-direction:column;padding:0 20px;
  }
  #os-mobile-users-fullscreen .os-mobile-users-specific:not([hidden]) {
    display:flex !important;flex:1;flex-direction:column;min-height:0;overflow:hidden;
  }
  #os-mobile-users-fullscreen .os-mobile-users-people-head {
    display:flex;justify-content:space-between;gap:10px;color:#71839a;
    font-size:12px;padding:8px 0;
  }
  #os-mobile-users-fullscreen #os-mobile-users-person-list {
    display:block !important;flex:1 1 auto !important;min-height:0;
    overflow-y:auto !important;max-height:none !important;border:0 !important;
  }
  #os-mobile-users-fullscreen .os-mobile-user-row {
    display:flex !important;align-items:center;gap:12px;min-height:60px;
    padding:9px 4px;border-bottom:1px solid #edf1f6;box-sizing:border-box;cursor:pointer;
  }
  #os-mobile-users-fullscreen .os-mobile-users-avatar {display:flex;flex:0 0 38px;width:38px;height:38px;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;background:#edf4fa;}
  #os-mobile-users-fullscreen .os-mobile-users-avatar img {width:38px;height:38px;object-fit:cover;border-radius:50%;}
  #os-mobile-users-fullscreen .os-mobile-users-person-details {display:flex;flex:1;flex-direction:column;gap:3px;min-width:0;}
  #os-mobile-users-fullscreen .os-mobile-users-person-name {font-size:13px;font-weight:700;color:#203851;}
  #os-mobile-users-fullscreen .os-mobile-users-person-status,
  #os-mobile-users-fullscreen .os-mobile-users-person-asset {font-size:11px;color:#8090a1;}
  #os-mobile-users-fullscreen .os-mobile-users-person-count {font-size:12px;color:#6e7e91;}
  #os-mobile-users-fullscreen .os-mobile-user-row input[type="checkbox"] {flex:0 0 18px;width:18px;height:18px;accent-color:#2C94FC;}
  #os-mobile-users-fullscreen .os-mobile-users-actions:not([hidden]) {display:flex !important;gap:10px;justify-content:flex-end;align-items:center;padding:12px 0;border-top:1px solid #e6edf3;}
  #os-mobile-users-fullscreen .os-mobile-users-actions button {padding:9px 17px;border:1px solid #cddbed;background:white;color:#1c3b61;cursor:pointer;font-weight:700;}
  #os-mobile-users-fullscreen #os-mobile-users-apply {border-color:#2C94FC;background:#2C94FC;color:#fff;}
  #os-mobile-users-fullscreen .os-mobile-users-warning {font-size:12px;color:#bd3232;}
}
@media screen and (max-width:760px) {
  .os-desktop-board-filters-row {display:contents !important;}
}


/* V19.65 — Desktop: filtros de Scrum unidos, sem jogar "Visualizar O.S." para a direita. */
@media screen and (min-width:761px) {
  body[data-page="ordem-servico"].os-user-board-active .os-desktop-board-filters-row {
    display:grid !important;
    grid-template-columns:minmax(0, 2fr) minmax(0, 1fr) !important;
    width:100% !important;
    max-width:924px !important;
    gap:12px !important;
    align-items:stretch !important;
    justify-content:start !important;
    margin:0 0 14px !important;
  }
  body[data-page="ordem-servico"].os-user-board-active .os-desktop-board-filters-row > #os-user-board-status-cards {
    display:flex !important;
    flex:initial !important;
    flex-flow:row nowrap !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    gap:12px !important;
    margin:0 !important;
    padding:0 !important;
    align-items:stretch !important;
  }
  body[data-page="ordem-servico"].os-user-board-active #os-user-board-status-cards > .os-desktop-status-picker-trigger,
  body[data-page="ordem-servico"].os-user-board-active #os-user-board-status-cards > .os-user-board-calendar-card {
    flex:1 1 0 !important;
    width:0 !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
  }
  body[data-page="ordem-servico"].os-user-board-active .os-desktop-board-filters-row > #os-mobile-users-filter {
    display:block !important;
    flex:initial !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    align-self:stretch !important;
    margin:0 !important;
  }
  body[data-page="ordem-servico"].os-user-board-active .os-desktop-board-filters-row #os-mobile-users-trigger {
    height:100% !important;
  }
  /* O menu é posicionado pela geometria do botão, fora dos painéis de scroll. */
  body[data-page="ordem-servico"] #os-mobile-users-menu.os-desktop-users-popover:not([hidden]) {
    position:fixed !important;
    left:var(--os-users-menu-left, 10px) !important;
    top:var(--os-users-menu-top, 10px) !important;
    right:auto !important;
    bottom:auto !important;
    width:var(--os-users-menu-width, 300px) !important;
    max-width:none !important;
    margin:0 !important;
    z-index:2147483000 !important;
    transform:none !important;
  }
}


/* V19.66 — Lista desktop: calendário acima dos filtros e espaçamento uniforme. */
@media screen and (min-width: 761px) {
  body[data-page="ordem-servico"]:not(.os-user-board-active) #os-calendar-sidebar {
    gap: 12px !important;
    overflow: visible !important;
  }
  body[data-page="ordem-servico"]:not(.os-user-board-active) #os-calendar-sidebar > #os-list-date-picker-shell,
  body[data-page="ordem-servico"]:not(.os-user-board-active) #os-calendar-sidebar > #os-desktop-list-status-trigger,
  body[data-page="ordem-servico"]:not(.os-user-board-active) #os-calendar-sidebar > #os-mobile-users-filter {
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  body[data-page="ordem-servico"]:not(.os-user-board-active) #os-calendar-sidebar > #os-list-date-picker-shell {
    position: relative !important;
    z-index: 100 !important;
    overflow: visible !important;
  }
  body[data-page="ordem-servico"]:not(.os-user-board-active) #os-list-date-picker-shell #os-list-date-trigger {
    min-height: 60px !important;
  }
  body[data-page="ordem-servico"]:not(.os-user-board-active) #os-list-date-popover:not(.hidden) {
    z-index: 2000 !important;
  }
}


/* V19.67 — icones da barra lateral personalizaveis em static/icons */
.sidebar-link-icon img.sidebar-custom-icon {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  object-fit: contain !important;
  flex: 0 0 20px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.sidebar-toggle img.sidebar-menu-image.sidebar-custom-icon {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  object-fit: contain !important;
  border: 0 !important;
  background: transparent !important;
}
.sidebar-icon-button img.sidebar-chat-icon.sidebar-custom-icon {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  object-fit: contain !important;
  background: transparent !important;
  border: 0 !important;
}


/* V19.71 — Ativos mobile: bordas integrais e ícone das caixas de foto proporcional.
   A regra antiga .asset-quick-item-v19:last-child removia a borda inferior
   do último atalho em cada grupo (Ver detalhes e Identificação QR Code). */
@media screen and (max-width: 760px) {
  .assets-workspace-panel .asset-overview-v19 > button.asset-quick-item-v19.asset-overview-details-v19-10,
  .assets-workspace-panel .asset-quick-grid-v19.asset-quick-grid-flat-v19 > button.asset-quick-item-v19 {
    border: 1px solid #dbe4f0 !important;
    box-sizing: border-box !important;
    background-clip: padding-box !important;
  }
  .assets-workspace-panel .asset-overview-v19 > button.asset-quick-item-v19.asset-overview-details-v19-10:last-child,
  .assets-workspace-panel .asset-quick-grid-v19.asset-quick-grid-flat-v19 > button.asset-quick-item-v19:last-child {
    border-bottom: 1px solid #dbe4f0 !important;
  }
  .assets-workspace-panel .assets-detail-panel .asset-photo-slot-v19.asset-photo-add-v1956 .asset-photo-add-icon-v1956 {
    display: block !important;
    position: static !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
    flex: 0 0 18px !important;
    object-fit: contain !important;
    object-position: center !important;
    image-rendering: auto !important;
    transform: none !important;
  }
}


/* V19.72 — menu de ações dos Ativos no padrão visual do Chronos */
.page-home-only.assets-workspace-panel .assets-workspace-toolbar #asset-actions-menu {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: auto !important;
  right: 0 !important;
  z-index: 250 !important;
  width: 208px !important;
  min-width: 208px !important;
  max-width: calc(100vw - 20px) !important;
  box-sizing: border-box !important;
  padding: 6px !important;
  border: 1px solid #d8e4f2 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: 0 10px 26px rgba(29, 55, 90, .13) !important;
  font-family: "Segoe UI", Tahoma, sans-serif !important;
}
.page-home-only.assets-workspace-panel .assets-workspace-toolbar #asset-actions-menu.hidden {
  display: none !important;
}
.page-home-only.assets-workspace-panel .assets-workspace-toolbar #asset-actions-menu:not(.hidden) {
  display: grid !important;
  gap: 2px !important;
}
#asset-actions-menu .asset-actions-heading {
  padding: 9px 10px 8px !important;
  color: #8090a6 !important;
  font-family: "Segoe UI", Tahoma, sans-serif !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
  letter-spacing: .02em !important;
  font-weight: 600 !important;
  border-bottom: 1px solid #ecf1f7 !important;
  margin-bottom: 3px !important;
}
#asset-actions-menu .asset-actions-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 40px !important;
  padding: 9px 10px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  text-align: left !important;
  color: #1f3652 !important;
  font-family: "Segoe UI", Tahoma, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  cursor: pointer !important;
  transition: background .12s ease, color .12s ease;
}
#asset-actions-menu .asset-actions-item-icon {
  flex: 0 0 17px !important;
  display: block !important;
  width: 17px !important;
  height: 17px !important;
  color: #2c94fc !important;
}
#asset-actions-menu .asset-actions-item:hover,
#asset-actions-menu .asset-actions-item:focus-visible {
  background: #edf6ff !important;
  color: #1874d7 !important;
  outline: none !important;
}
#asset-actions-menu .asset-actions-item:focus-visible {
  box-shadow: inset 0 0 0 1px #2c94fc !important;
}
#asset-actions-menu .asset-actions-separator {
  height: 1px !important;
  background: #ebf0f6 !important;
  margin: 4px 0 !important;
}
#asset-actions-menu .asset-actions-item.danger {
  color: #d93838 !important;
}
#asset-actions-menu .asset-actions-item.danger .asset-actions-item-icon {
  color: #d93838 !important;
}
#asset-actions-menu .asset-actions-item.danger:hover,
#asset-actions-menu .asset-actions-item.danger:focus-visible {
  color: #c62828 !important;
  background: #fff3f3 !important;
}
/* O tipo segue selecionado acima; não ocupa uma linha redundante no formulário. */
#asset-modal .asset-modal-grid > .asset-parent-field-v1972 {
  grid-column: 1 / -1;
}


/* V19.79 — Cadastro de ativos e menu do usuário */
/* Documentos são administrados somente pelo atalho “Documentos e manuais”.
   Mantemos os inputs internos para não descartar anexos existentes na edição. */
#asset-modal .asset-doc-upload-legacy-hidden-v1979 { display:none !important; }

/* Menu de três pontos: somente ações escritas, sem título e sem ícones. */
#asset-actions-menu .asset-actions-heading,
#asset-actions-menu .asset-actions-item-icon { display:none !important; }
#asset-actions-menu .asset-actions-item {
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
  gap:0 !important;
  min-height:40px !important;
  padding:10px 14px !important;
  text-align:left !important;
}

/* Calendário da data de compra usa a imagem substituível os_calendario.png. */
#asset-modal .chronos-picker-icon img {
  display:block !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  max-width:18px !important;
  object-fit:contain !important;
}

/* Tipografia Segoe UI para todo o menu de usuário, independentemente do tema. */
#user-dropdown,
#user-dropdown *,
.sidebar-user-wrap #user-dropdown,
.sidebar-user-wrap #user-dropdown * {
  font-family:"Segoe UI", Tahoma, Arial, sans-serif !important;
  letter-spacing:normal !important;
}
#user-dropdown .user-dropdown-name { font-size:16px !important; font-weight:600 !important; }
#user-dropdown .user-dropdown-role { font-size:12px !important; font-weight:400 !important; }
#user-dropdown .user-dropdown-item { font-size:14px !important; font-weight:500 !important; }

/* V19.80 — campos obrigatórios e visualização imediata da criticidade no cadastro. */
#asset-modal .asset-required-label-v1980 > span:first-child::after {
  content: ' *';
  color: #dc2626;
  font-weight: 700;
}
#asset-modal label.modal-field #asset-modal-criticality-preview-v1980 {
  display: inline-flex;
  margin-top: 8px;
  align-self: flex-start;
  font-family: 'Segoe UI', sans-serif;
  font-size: 12px;
  line-height: 1.2;
  min-height: 30px;
  padding: 7px 12px;
  max-width: none;
  color: #ffffff;
}
#asset-modal label.modal-field #asset-modal-criticality-preview-v1980.hidden {
  display: none !important;
}

/* V19.81 — Criticidade compacta somente no cadastro de local/ativo. */
#asset-modal .asset-modal-grid > label.asset-modal-criticality-field-v1981 {
  width: min(200px, 100%) !important;
  max-width: 200px !important;
  justify-self: start !important;
  min-width: 0 !important;
}
#asset-modal .asset-modal-criticality-field-v1981 > select#asset-modal-criticality-select-v1980 {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 200px !important;
  box-sizing: border-box !important;
}
#asset-modal label.asset-modal-criticality-field-v1981 > #asset-modal-criticality-preview-v1980 {
  width: fit-content !important;
  min-width: 0 !important;
  max-width: 180px !important;
  height: auto !important;
  box-sizing: border-box !important;
  justify-self: start !important;
  align-self: start !important;
  padding: 8px 12px !important;
  color: #ffffff !important;
  font-family: 'Segoe UI', Tahoma, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-align: center !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}
@media (max-width: 760px) {
  #asset-modal .asset-modal-scroll-v1921 .asset-modal-grid > label.asset-modal-criticality-field-v1981 {
    width: min(200px, 100%) !important;
    max-width: 200px !important;
  }
}

/* V19.83 — Ver detalhes do ativo: altura natural, sem espaço vazio no desktop.
   O conteúdo cresce até o limite da tela e só então passa a rolar. O layout
   em tela cheia do mobile (<= 760px) permanece inalterado. */
@media screen and (min-width: 761px) {
  dialog#asset-overlay-modal-v20.modal.asset-overlay-modal-v20 {
    box-sizing: border-box !important;
    width: min(760px, calc(100vw - 40px)) !important;
    max-width: 760px !important;
    height: fit-content !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 48px) !important;
    overflow: hidden !important;
  }
  dialog#asset-overlay-modal-v20 > .modal-card.asset-overlay-card-v20 {
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 48px) !important;
    overflow: hidden !important;
  }
  dialog#asset-overlay-modal-v20 > .asset-overlay-card-v20 > .asset-overlay-body-v20 {
    box-sizing: border-box !important;
    flex: 0 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 190px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 16px 22px 18px !important;
  }
}


/* V19.86 — altura alinhada à lateral direita, rolagem discreta e independente.
   Usa a altura da própria linha da grade, sem esticar a página ao expandir nós.
   Restrito ao desktop; o seletor de Ativos do mobile não é alterado. */
@media screen and (min-width: 761px) {
  .page-home-only.assets-workspace-panel .assets-workspace-grid > .assets-tree-sidebar {
    display: flex !important;
    flex-direction: column !important;
    align-self: start !important;
    box-sizing: border-box !important;
    /* Alinha a base ao painel de detalhes sem que a árvore determine a altura da página. */
    height: clamp(504px, calc(100dvh - 190px), 680px) !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
  }

  .page-home-only.assets-workspace-panel .assets-workspace-grid > .assets-tree-sidebar > #asset-hierarchy-tree {
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: auto !important;
    overscroll-behavior: contain;
    scrollbar-gutter: auto;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 transparent;
    -webkit-overflow-scrolling: touch;
  }

  .page-home-only.assets-workspace-panel .assets-workspace-grid > .assets-tree-sidebar > #asset-hierarchy-tree::-webkit-scrollbar {
    width: 5px;
    height: 5px;
  }
  .page-home-only.assets-workspace-panel .assets-workspace-grid > .assets-tree-sidebar > #asset-hierarchy-tree::-webkit-scrollbar-track {
    background: transparent;
  }
  .page-home-only.assets-workspace-panel .assets-workspace-grid > .assets-tree-sidebar > #asset-hierarchy-tree::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 10px;
  }
  .page-home-only.assets-workspace-panel .assets-workspace-grid > .assets-tree-sidebar > #asset-hierarchy-tree::-webkit-scrollbar-thumb:hover {
    background: #aebed0;
  }
}

/* V19.88 — X de Histórico no mesmo estilo do seletor de ativos. */
#asset-history-modal #btn-close-asset-history.asset-history-close,
dialog#asset-history-modal #btn-close-asset-history.asset-history-close {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  font-size: 25px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  font-family: 'Segoe UI', sans-serif !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  color: #64758c !important;
}
/* V19.89 — carregamento dos modulos com a mesma largura e altura da O.S.
   Durante a primeira busca, nao existem conteudos a distribuir em grades;
   Ativos usava duas colunas e prendia o indicador na coluna da arvore. */
body.navaris-module-boot-loading[data-page="home"] .assets-workspace-panel,
body.navaris-module-boot-loading[data-page="dashboard"] .machine-dashboard-panel,
body.navaris-module-boot-loading[data-page="procedimento"] .procedimento-panel,
body.navaris-module-boot-loading[data-page="plano"] .plano-panel,
body.navaris-module-boot-loading[data-page="estoque"] .estoque-panel,
body.navaris-module-boot-loading[data-page="relatorios"] .relatorios-panel {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.navaris-module-loader { display: none !important; }
body.navaris-module-boot-loading .navaris-module-loader[data-loading-for] {
  display: flex !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 136px !important;
  margin: 0 !important;
  padding: 24px !important;
  border: 1px solid #e3eaf3 !important;
  background: #fff !important;
  color: #586b83 !important;
  align-items: center !important;
  align-content: center !important;
  justify-content: center !important;
  flex-flow: row wrap !important;
  gap: 12px !important;
  font: 600 13px/1.45 'Segoe UI', sans-serif !important;
  grid-column: 1 / -1 !important;
}
body.navaris-module-boot-loading .navaris-module-loader > .os-initial-spinner {
  width: 19px !important;
  height: 19px !important;
  min-width: 19px !important;
  min-height: 19px !important;
  max-width: 19px !important;
  max-height: 19px !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  flex: 0 0 19px !important;
  border-width: 2px !important;
}
.navaris-module-loader .navaris-module-loading-extra {
  flex-basis: 100%;
  color: #6f7e91;
  text-align: center;
  font: 400 13px/1.5 'Segoe UI', sans-serif;
}
.navaris-module-loader .navaris-module-loading-extra:empty { display: none; }
.navaris-module-loader.is-error > .os-initial-spinner { display: none; }
.navaris-module-loader.is-error .navaris-module-loading-label { color: #c33333; }
.navaris-module-loading-retry:not([hidden]) {
  cursor: pointer;
  border: 1px solid #bcd6fa;
  padding: 9px 14px;
  background: #fff;
  color: #2c94fc;
  font: 600 13px/1.2 'Segoe UI', sans-serif;
}
/* Hide only the active module's not-yet-ready content. Other pages and dialogs
   are not touched. */
body.navaris-module-boot-loading[data-page="home"] .assets-workspace-panel > :not(.navaris-module-loader),
body.navaris-module-boot-loading[data-page="dashboard"] .machine-dashboard-panel > :not(.navaris-module-loader),
body.navaris-module-boot-loading[data-page="procedimento"] .procedimento-panel > :not(.navaris-module-loader),
body.navaris-module-boot-loading[data-page="plano"] .plano-panel > :not(.navaris-module-loader),
body.navaris-module-boot-loading[data-page="estoque"] .estoque-panel > :not(.navaris-module-loader),
body.navaris-module-boot-loading[data-page="relatorios"] .relatorios-panel > :not(.navaris-module-loader) {
  display: none !important;
}

/* V19.91 — caixa de confirmação de exclusão, no padrão do Chronos. */
#asset-delete-confirm-v1991 {
  box-sizing: border-box !important;
  position: fixed !important;
  inset: 0 !important;
  margin: auto !important;
  padding: 0 !important;
  width: min(410px, calc(100vw - 32px)) !important;
  max-width: 410px !important;
  min-width: 0 !important;
  height: max-content !important;
  max-height: calc(100dvh - 32px) !important;
  overflow: auto !important;
  background: #fff !important;
  border: 1px solid #dae4f0 !important;
  border-radius: 4px !important;
  box-shadow: 0 10px 30px rgba(24, 47, 75, .13) !important;
  color: #192f49 !important;
  font-family: 'Segoe UI', Tahoma, sans-serif !important;
  z-index: 2147483500 !important;
}
#asset-delete-confirm-v1991::backdrop {
  background: transparent !important;
  backdrop-filter: none !important;
}
#asset-delete-confirm-v1991 .asset-delete-confirm-content-v1991 {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 20px 22px;
  font-family: inherit;
}
#asset-delete-confirm-title-v1991 {
  font: 600 16px/1.4 'Segoe UI', Tahoma, sans-serif;
  color: #152a44;
  margin: 0 0 8px;
}
#asset-delete-confirm-message-v1991 {
  margin: 0;
  font: 400 13px/1.55 'Segoe UI', Tahoma, sans-serif;
  color: #52677e;
  overflow-wrap: anywhere;
}
#asset-delete-confirm-v1991 .asset-delete-confirm-actions-v1991 {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  margin-top: 20px;
}
#asset-delete-confirm-v1991 .asset-delete-confirm-actions-v1991 button {
  box-sizing: border-box;
  min-width: 95px;
  height: 38px;
  padding: 0 14px;
  border-radius: 0;
  font: 600 13px 'Segoe UI', Tahoma, sans-serif;
  cursor: pointer;
}
#asset-delete-confirm-v1991 .asset-delete-cancel-v1991 {
  color: #314965;
  border: 1px solid #cbd9e9;
  background: #fff;
}
#asset-delete-confirm-v1991 .asset-delete-submit-v1991 {
  color: #fff;
  border: 1px solid #d94343;
  background: #df4646;
}
#asset-delete-confirm-v1991 .asset-delete-submit-v1991:hover { background: #c72f2f; }
#asset-delete-confirm-v1991 .asset-delete-cancel-v1991:hover { border-color: #2c94fc; }
#asset-delete-confirm-v1991 .asset-delete-confirm-actions-v1991 button:focus-visible {
  outline: 2px solid #2c94fc;
  outline-offset: 2px;
}
@media (max-width: 420px) {
  #asset-delete-confirm-v1991 .asset-delete-confirm-content-v1991 { padding: 18px 16px; }
  #asset-delete-confirm-v1991 .asset-delete-confirm-actions-v1991 button { flex: 1 1 0; }
}


/* V19.92 — mensagens centralizadas, em primeiro plano, com padrão branco/azul. */
#toast.toast {
  box-sizing: border-box !important;
  position: fixed !important;
  inset: auto !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  width: max-content !important;
  max-width: min(470px, calc(100vw - 32px)) !important;
  min-height: 52px !important;
  padding: 13px 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  background: #fff !important;
  color: #2c94fc !important;
  border: 1px solid #2c94fc !important;
  border-radius: 0 !important;
  box-shadow: 0 6px 22px rgba(35, 66, 107, .12) !important;
  font: 600 14px/1.45 'Segoe UI', Tahoma, sans-serif !important;
  z-index: 2147483647 !important;
  pointer-events: none !important;
}
#toast.toast.hidden { display: none !important; }
#toast.toast.is-error {
  color: #c83b3b !important;
  border-color: #d95a5a !important;
}
#toast.toast:popover-open { display: flex !important; }

/* V19.92 — centralização exata do número no círculo de Documentos e manuais. */
.assets-workspace-panel #asset-quick-doc-count-v19:not([hidden]) {
  display: inline-grid !important;
  place-items: center !important;
  align-content: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 20px !important;
  min-width: 20px !important;
  height: 20px !important;
  min-height: 20px !important;
  padding: 0 !important;
  margin: 0 0 0 2px !important;
  border-radius: 50% !important;
  background: #e0242c !important;
  color: #fff !important;
  font: 700 11px/1 'Segoe UI', Tahoma, sans-serif !important;
  text-align: center !important;
  vertical-align: middle !important;
  font-variant-numeric: tabular-nums !important;
}

/* V19.94 - filtro de O.S.: menus próprios com seleção azul do Chronos. */
.os-filter-popover .os-filter-native-hidden-v1994 {
  display: none !important;
}
.os-filter-popover .os-filter-row,
.os-filter-popover .os-filter-type-field,
.os-filter-popover .os-filter-row-fields,
.os-filter-popover .os-filter-row-fields .modal-field {
  min-width: 0;
}
.os-filter-popover .os-filter-blue-dropdown-v1994 {
  position: relative;
  width: 100%;
  font-family: 'Segoe UI', Arial, sans-serif;
}
.os-filter-popover .os-filter-blue-trigger-v1994 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 38px;
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #d5e1ef;
  border-radius: 0;
  background: #fff;
  color: #253951;
  font: 13px 'Segoe UI', Arial, sans-serif;
  text-align: left;
  cursor: pointer;
}
.os-filter-popover .os-filter-blue-trigger-v1994:hover,
.os-filter-popover .os-filter-blue-trigger-v1994:focus-visible,
.os-filter-popover .os-filter-blue-dropdown-v1994.is-open .os-filter-blue-trigger-v1994 {
  border-color: #2c94fc;
  outline: none;
}
.os-filter-popover .os-filter-blue-arrow-v1994 {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-right: 1.6px solid #527190;
  border-bottom: 1.6px solid #527190;
  transform: translateY(-2px) rotate(45deg);
}
.os-filter-popover .os-filter-blue-dropdown-v1994.is-open .os-filter-blue-arrow-v1994 {
  transform: translateY(2px) rotate(225deg);
}
.os-filter-popover .os-filter-blue-menu-v1994 {
  position: absolute;
  z-index: 100;
  top: calc(100% + 2px);
  left: 0;
  width: 100%;
  max-width: 100%;
  padding: 0;
  background: #fff;
  border: 1px solid #c8dbef;
  box-shadow: 0 8px 18px rgba(28, 61, 100, .12);
  box-sizing: border-box;
}
.os-filter-popover .os-filter-blue-menu-v1994.hidden {display: none !important;}
.os-filter-popover .os-filter-blue-options-v1994 {
  overflow-y: auto;
  max-height: min(260px, 45vh);
  scrollbar-width: thin;
  scrollbar-color: #c7dbf2 transparent;
}
.os-filter-popover .os-filter-blue-option-v1994 {
  display: block;
  width: 100%;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: #344962;
  text-align: left;
  padding: 10px 12px;
  font: 13px 'Segoe UI', Arial, sans-serif;
  cursor: pointer;
  overflow-wrap: anywhere;
}
.os-filter-popover .os-filter-blue-option-v1994:hover,
.os-filter-popover .os-filter-blue-option-v1994:focus-visible {
  background: #eaf4ff;
  color: #344962;
  outline: none;
}
.os-filter-popover .os-filter-blue-option-v1994.is-selected,
.os-filter-popover .os-filter-blue-option-v1994.is-selected:hover,
.os-filter-popover .os-filter-blue-option-v1994.is-selected:focus-visible {
  background: #2c94fc;
  color: #fff;
}
.os-filter-popover .os-filter-blue-search-v1994 {
  width: calc(100% - 16px);
  margin: 8px;
  min-height: 34px;
  padding: 7px 9px;
  border: 1px solid #d6e4f1;
  border-radius: 0;
  background: #fff;
  color: #253951;
  font: 13px 'Segoe UI', Arial, sans-serif;
  box-sizing: border-box;
}
.os-filter-popover .os-filter-blue-search-v1994:focus {
  border-color: #2c94fc;
  outline: none;
}
.os-filter-popover .os-filter-blue-empty-v1994 {
  padding: 12px;
  color: #718096;
  font: 12px 'Segoe UI', Arial, sans-serif;
}


/* V19.95 — Avatares no filtro Solicitante (Lista / Scrum). */
.os-filter-popover .os-filter-solicitante-person-v1995 {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  max-width: 100%;
  line-height: 1.35;
}
.os-filter-popover .os-filter-solicitante-avatar-v1995 {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  overflow: hidden;
  background: #eaf2fc;
  color: #416a9a;
  border: 1px solid #d4e2f1;
  box-sizing: border-box;
}
.os-filter-popover .os-filter-solicitante-initials-v1995 {
  font: 600 11px/1 'Segoe UI', Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0;
}
.os-filter-popover .os-filter-solicitante-photo-v1995 {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
.os-filter-popover .os-filter-solicitante-name-v1995 {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
  font: 400 13px/1.35 'Segoe UI', Arial, sans-serif;
}
.os-filter-popover .os-filter-blue-option-v1994:has(.os-filter-solicitante-person-v1995) {
  display: flex;
  align-items: center;
  min-height: 46px;
  padding: 6px 10px;
}
.os-filter-popover .os-filter-blue-trigger-v1994:has(.os-filter-solicitante-person-v1995) {
  padding-block: 4px;
  min-height: 42px;
}
/* O calendário dos cards da O.S. também é usado nos seletores Lista e Scrum. */
.os-date-picker-trigger .os-date-trigger-icon img {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  max-width: 100%;
  object-fit: contain;
  border: 0;
  background: transparent;
}
.os-date-picker-trigger .os-date-trigger-icon:has(img) {
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;
}

/* V19.97 — filtro Ativo: seletor com modal como o da página Ativos. */
.os-filter-asset-select-v1997 { width:100%; min-width:0; }
.os-filter-asset-trigger-v1997 {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  box-sizing:border-box; width:100%; min-height:44px; padding:9px 12px;
  background:#fff; color:#19324e; border:1px solid #d4dfec;
  font: 13px 'Segoe UI', sans-serif; text-align:left; cursor:pointer;
}
.os-filter-asset-trigger-v1997:hover, .os-filter-asset-trigger-v1997:focus-visible { border-color:#2c94fc;outline:none; }
.os-filter-asset-trigger-content-v1997 { display:flex;align-items:center;gap:9px;min-width:0; }
.os-filter-asset-trigger-content-v1997 > img {width:24px;height:24px;object-fit:contain;flex:0 0 24px;}
.os-filter-asset-trigger-content-v1997 > span {min-width:0;overflow-wrap:anywhere;font-weight:600;}
.os-filter-asset-chevron-v1997 {font-size:22px;color:#718199;line-height:1;}
.os-filter-asset-picker-overlay-v1997 {
  position:fixed !important;inset:0 !important;z-index:2147483005 !important;
  display:flex;align-items:center;justify-content:center;padding:12px;
  box-sizing:border-box;background:rgba(31,41,55,.30);
  font-family:'Segoe UI',sans-serif;
}
.os-filter-asset-picker-v1997 {
  box-sizing:border-box;display:flex;flex-direction:column;width:min(680px,calc(100vw - 24px));
  height:min(600px,calc(100dvh - 30px));min-height:0;
  background:#fff;border:1px solid #dce5ef;border-radius:3px;
  box-shadow:0 14px 42px rgba(15,23,42,.14);color:#152b46;overflow:hidden;
}
.os-filter-asset-picker-header-v1997 {
  flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;
  min-height:64px;padding:12px 16px;border-bottom:1px solid #e4ebf4;
}
.os-filter-asset-picker-header-v1997 strong {font-size:16px;font-weight:700;}
.os-filter-asset-picker-close-v1997 {
  width:34px;height:34px;border:0;background:transparent;color:#6d8199;
  font:26px/1 'Segoe UI',sans-serif;cursor:pointer;
}
.os-filter-asset-picker-tools-v1997 {display:flex;gap:8px;align-items:center;padding:14px 16px 8px;flex:0 0 auto;}
.os-filter-asset-picker-search-v1997 {
  flex:1;min-width:0;height:44px;display:flex;align-items:center;gap:8px;
  padding:0 11px;border:1px solid #d3e0ee;color:#8aa0b5;
}
.os-filter-asset-picker-search-v1997:focus-within {border-color:#2c94fc;}
.os-filter-asset-picker-search-v1997 input {background:#fff;border:0;outline:0;min-width:0;width:100%;font:13px 'Segoe UI',sans-serif;color:#243c56;}
.os-filter-asset-picker-search-v1997 input::placeholder {color:#899bb1;}
.os-filter-asset-picker-filter-v1997 {
  width:44px;height:44px;flex:0 0 44px;background:#fff;border:1px solid #d3e0ee;
  display:grid;place-items:center;cursor:pointer;
}
.os-filter-asset-picker-filter-v1997 img{width:20px;height:20px;object-fit:contain;}
.os-filter-asset-picker-levelwrap-v1997 {flex:0 0 auto;margin:0 16px;padding:10px 12px;border:1px solid #d3e0ee;background:#fff;}
.os-filter-asset-picker-levelwrap-v1997.hidden {display:none !important;}
.os-filter-asset-picker-levelwrap-v1997 label{display:grid;gap:6px;font-size:12px;color:#465c74;}
.os-filter-asset-picker-level-v1997{width:100%;height:38px;border:1px solid #cbdced;background:#fff;color:#213b56;font:13px 'Segoe UI',sans-serif;padding:4px 8px;}
.os-filter-asset-picker-hint-v1997{margin:0;padding:10px 16px;color:#8092a9;font-size:11px;}
.os-filter-asset-picker-tree-v1997{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 16px 12px;overscroll-behavior:contain;scrollbar-color:#bdcede transparent;scrollbar-width:thin;}
.os-filter-asset-picker-tree-v1997 .asset-tree-list,
.os-filter-asset-picker-tree-v1997 .asset-tree-children{list-style:none;margin:0;padding:0;}
.os-filter-asset-picker-tree-v1997 .asset-tree-branch{margin:0 0 0 14px;padding:0 0 0 15px;border-left:1px dashed #d3dfed;}
.os-filter-asset-picker-tree-v1997 .asset-tree-branch.hidden{display:none !important;}
.os-filter-asset-picker-tree-v1997 .asset-tree-node{list-style:none;margin:0;min-width:0;}
.os-filter-asset-picker-tree-v1997 .asset-tree-row {
  display:flex;align-items:center;gap:10px;box-sizing:border-box;min-height:63px;width:100%;
  padding:8px 8px;border-bottom:1px solid #e9eff5;min-width:0;
  background:#fff;cursor:pointer;color:#19324e;
}
.os-filter-asset-picker-tree-v1997 .asset-tree-row:hover, .os-filter-asset-picker-tree-v1997 .asset-tree-row.active {background:#edf5ff;}
.os-filter-asset-picker-tree-v1997 .asset-tree-row .custom-level-icon,
.os-filter-asset-picker-tree-v1997 .asset-tree-row .asset-tree-icon{order:1;width:24px;height:24px;min-width:24px;margin:0;border:none;background:transparent;display:flex;align-items:center;justify-content:center;}
.os-filter-asset-picker-tree-v1997 .custom-level-icon-image,
.os-filter-asset-picker-tree-v1997 .asset-tree-icon img,
.os-filter-asset-picker-tree-v1997 .asset-tree-icon svg{width:24px;height:24px;object-fit:contain;}
.os-filter-asset-picker-tree-v1997 .asset-tree-content {
  order:2;display:flex;flex-direction:column;gap:3px;align-items:flex-start;
  min-width:0;flex:1;margin:0;padding:0;max-width:100%;
}
.os-filter-asset-picker-tree-v1997 .asset-tree-meta{order:0;font-size:11px;font-weight:400;line-height:1.25;color:#748ba5;}
.os-filter-asset-picker-tree-v1997 .asset-tree-label{order:1;font-size:13px;font-weight:700;color:#152f4c;line-height:1.35;overflow-wrap:anywhere;}
.os-filter-asset-picker-tree-v1997 .asset-tree-toggle{
  order:3;flex:0 0 30px;margin:0 0 0 auto;padding:0;width:30px;height:36px;
  display:flex;align-items:center;justify-content:center;background:none;border:0;
  color:#253b54;font-size:18px;cursor:pointer;
}
.os-filter-asset-picker-tree-v1997 .asset-tree-toggle:not(.empty)::before{content:'⌄';font:20px/1 'Segoe UI',sans-serif;transform:rotate(180deg);display:inline-block;}
.os-filter-asset-picker-tree-v1997 .asset-tree-toggle.collapsed::before{transform:rotate(0deg);}
.os-filter-asset-picker-tree-v1997 .asset-tree-toggle.empty{visibility:hidden;}
.os-filter-asset-picker-footer-v1997{flex:0 0 auto;padding:9px 16px;border-top:1px solid #e7eef5;display:flex;justify-content:flex-end;}
.os-filter-asset-picker-clear-v1997{color:#2c94fc;background:#fff;border:0;font:13px 'Segoe UI',sans-serif;cursor:pointer;padding:7px;}
/* Apenas o dropdown de Tipo de manutenção deve acompanhar o tamanho dos cards. */
.os-filter-card-select[data-os-filter-select="maintenance"] .os-card-select-menu {
  width:max-content !important;min-width:0 !important;max-width:min(280px,calc(100vw - 32px)) !important;
  box-sizing:border-box;align-items:stretch;overflow-y:auto;overflow-x:hidden;
}
.os-filter-card-select[data-os-filter-select="maintenance"] .os-card-select-menu .os-card-option {
  width:auto !important;min-width:160px;max-width:100%;height:auto;min-height:34px;
  box-sizing:border-box;text-align:left;padding:8px 12px;white-space:normal;
}
@media (max-width: 760px) {
 .os-filter-asset-picker-overlay-v1997{padding:0;align-items:stretch;}
 .os-filter-asset-picker-v1997{width:100vw;height:100dvh;max-height:none;border:0;border-radius:0;}
 .os-filter-asset-picker-tools-v1997{padding:12px 14px 8px;}
 .os-filter-asset-picker-tree-v1997{padding:0 14px 12px;}
 .os-filter-asset-picker-header-v1997{padding:12px 14px;}
}

/* V19.97 — nomes/categorias em duas linhas no seletor, igual ao cadastro de Ativos. */
.os-filter-asset-selected-text-v1997 {display:flex; flex-direction:column; align-items:flex-start; gap:2px;min-width:0;}
.os-filter-asset-selected-text-v1997 small {font:11px/1.2 'Segoe UI',sans-serif;color:#7b8ea5;}
.os-filter-asset-selected-text-v1997 small:empty {display:none;}
.os-filter-asset-selected-text-v1997 strong {font:700 13px/1.3 'Segoe UI',sans-serif;color:#153353;overflow-wrap:anywhere;}
.os-filter-asset-picker-tree-v1997 .asset-tree-meta {display:block !important;flex:initial !important;white-space:normal !important;}
.os-filter-asset-picker-tree-v1997 .asset-tree-content {justify-content:center !important;align-items:flex-start !important;}

/* V19.98 - Filtros de O.S.: Criticidade compacta, seta do ativo e lista de status. */
#os-filter-popover .os-filter-card-select[data-os-filter-select="criticidade"] .os-card-select-menu {
  width: max-content !important;
  min-width: 0 !important;
  max-width: min(210px, calc(100vw - 40px)) !important;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: auto;
  align-items: flex-start;
}
#os-filter-popover .os-filter-card-select[data-os-filter-select="criticidade"] .os-card-select-menu .os-card-option {
  width: 122px !important;
  min-width: 122px !important;
  max-width: 100% !important;
  min-height: 34px;
  box-sizing: border-box;
  text-align: left;
  padding: 8px 12px;
}
#os-filter-popover .os-filter-asset-trigger-v1997 .os-filter-asset-chevron-v1997 {
  width: 22px !important;
  height: 22px !important;
  flex: 0 0 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0 !important;
  line-height: normal !important;
  margin: 0 !important;
  color: #64748b;
}
#os-filter-popover .os-filter-asset-chevron-v1997::after {
  content: '';
  box-sizing: border-box;
  display: block;
  width: 9px;
  height: 9px;
  border-right: 1.6px solid currentColor;
  border-bottom: 1.6px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
}
#os-filter-popover .os-filter-asset-trigger-v1997[aria-expanded="true"] .os-filter-asset-chevron-v1997::after {
  transform: translateY(2px) rotate(225deg);
}
#os-filter-popover .os-filter-status-select-v1998 {
  position: relative;
  width: 100%;
  min-width: 0;
  font-family: 'Segoe UI', Arial, sans-serif;
}
#os-filter-popover .os-filter-status-trigger-v1998 {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 43px;
  padding: 7px 12px;
  border: 1px solid #d5e1ef;
  background: #fff;
  color: #233c58;
  font: 600 13px 'Segoe UI', Arial, sans-serif;
  text-align: left;
  cursor: pointer;
}
#os-filter-popover .os-filter-status-trigger-v1998 > img,
#os-filter-popover .os-filter-status-option-v1998 > img {
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
  object-fit: contain;
  border: 0;
  background: transparent;
}
#os-filter-popover .os-filter-status-trigger-v1998 > span:not(.os-filter-status-chevron-v1998) {
  flex: 1;
  min-width: 0;
}
#os-filter-popover .os-filter-status-chevron-v1998 {
  width: 9px;
  height: 9px;
  border-right: 1.6px solid #64748b;
  border-bottom: 1.6px solid #64748b;
  transform: translate(-2px,-2px) rotate(45deg);
  margin-left: auto;
  flex: 0 0 9px;
}
#os-filter-popover .os-filter-status-select-v1998.is-open .os-filter-status-chevron-v1998 {
  transform: translate(-2px,2px) rotate(225deg);
}
#os-filter-popover .os-filter-status-menu-v1998 {
  position: absolute;
  z-index: 140;
  top: calc(100% + 4px);
  left: 0;
  box-sizing: border-box;
  width: min(100%, 360px);
  max-width: 100%;
  max-height: min(390px, 60vh);
  overflow-y: auto;
  display: grid;
  gap: 4px;
  padding: 6px;
  background: #fff;
  border: 1px solid #d8e4f1;
  box-shadow: 0 10px 24px rgba(15,23,42,.11);
  scrollbar-width: thin;
  scrollbar-color: #c8d7e8 transparent;
}
#os-filter-popover .os-filter-status-menu-v1998.hidden {display:none !important;}
#os-filter-popover .os-filter-status-option-v1998 {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 38px;
  padding: 7px 10px;
  border: 1px solid #ecf1f7;
  background: #fff;
  color: #253951;
  font: 600 12.5px 'Segoe UI', Arial, sans-serif;
  text-align: left;
  cursor: pointer;
}
#os-filter-popover .os-filter-status-option-v1998:hover,
#os-filter-popover .os-filter-status-option-v1998:focus-visible {
  color: #253951;
  background: #f5f9ff;
  border-color: #b8d9ff;
}
#os-filter-popover .os-filter-status-option-v1998.is-selected {
  color: #1a4c82;
  background: #eaf4ff;
  border-color: #2c94fc;
}


/* V20.00 — O modal de filtros da O.S. precisa ficar acima do card de data
   no Scrum. O calendário usa z-index 80/2200 para seu próprio popover;
   o modal de filtros é irmão do painel, então ele deve ocupar uma camada
   superior sem alterar os controles de data nem outros diálogos. */
body[data-page="ordem-servico"] #os-filter-popover,
body[data-page="ordem"] #os-filter-popover {
  z-index: 5000 !important;
}


/* ===== NAVARIS V20.07: Solicitações — seletor de status em lista igual à O.S. ===== */
@media screen and (min-width: 761px) {
  body[data-page="solicitacao"] #os-desktop-list-status-trigger {
    display:flex !important;
    width:100% !important;
    min-width:0 !important;
    min-height:60px !important;
    box-sizing:border-box !important;
    padding:7px 13px 9px !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:center !important;
    gap:4px !important;
    border:1px solid #d7e3f2 !important;
    border-radius:0 !important;
    background:#fff !important;
    color:#19334c !important;
    box-shadow:none !important;
    font-family:inherit !important;
    cursor:pointer !important;
    text-align:left !important;
  }
  body[data-page="solicitacao"] #os-desktop-list-status-trigger:hover,
  body[data-page="solicitacao"] #os-desktop-list-status-trigger:focus-visible,
  body[data-page="solicitacao"] #os-desktop-list-status-trigger[aria-expanded="true"] {
    border-color:#2c94fc !important;
    outline:none !important;
    background:#f8fbff !important;
  }
  body[data-page="solicitacao"] #os-calendar-sidebar .os-metrics-sidebar {
    display:none !important;
  }
  body[data-page="solicitacao"] #os-calendar-sidebar {
    gap:12px !important;
    overflow:visible !important;
  }
  body[data-page="solicitacao"] #os-calendar-sidebar > #os-list-date-picker-shell,
  body[data-page="solicitacao"] #os-calendar-sidebar > #os-desktop-list-status-trigger {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }
  /* O dropdown flutua fora da barra lateral e possui rolagem, como em O.S. */
  body[data-page="solicitacao"] .os-mobile-status-menu:not([hidden]) {
    position:fixed !important;
    z-index:2147483000 !important;
    display:flex !important;
    flex-direction:column !important;
    box-sizing:border-box !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    padding:5px !important;
    border:1px solid #cbd9ec !important;
    border-radius:3px !important;
    background:#fff !important;
    box-shadow:0 12px 26px rgba(19,43,73,.17) !important;
  }
  body[data-page="solicitacao"] .os-mobile-status-menu-heading {
    padding:9px 12px 8px;
    color:#78879a;
    font-size:11px;
    font-weight:700;
    border-bottom:1px solid #edf1f7;
  }
  body[data-page="solicitacao"] .os-mobile-status-option {
    display:flex;
    align-items:center;
    gap:10px;
    width:100%;
    min-height:46px;
    flex:0 0 auto;
    box-sizing:border-box;
    padding:8px 11px;
    border:0;
    border-bottom:1px solid #f1f4f8;
    border-radius:0;
    background:#fff;
    text-align:left;
    color:#23364c;
    cursor:pointer;
    font-family:inherit;
    font-size:12px;
    font-weight:600;
  }
  body[data-page="solicitacao"] .os-mobile-status-option:last-child { border-bottom:0; }
  body[data-page="solicitacao"] .os-mobile-status-option:hover,
  body[data-page="solicitacao"] .os-mobile-status-option.is-selected {
    background:#edf5ff;
    color:#2475dc;
  }
  body[data-page="solicitacao"] .os-mobile-status-option-icon { width:20px;height:20px;flex:0 0 20px;object-fit:contain; }
  body[data-page="solicitacao"] .os-mobile-status-option-name { flex:1 1 auto;min-width:0; }
  body[data-page="solicitacao"] .os-mobile-status-option-value { font-weight:800;font-size:13px;font-variant-numeric:tabular-nums; }
}

/* Chronos: janela de O.S. sobre qualquer página sem troca de rota. */
/* O dialog externo existe apenas para manter a O.S. preparada em memória.
   É fullscreen e INVISÍVEL: sem card, sombra, borda ou barra de rolagem própria.
   O único painel que o usuário enxerga é #os-detail-modal dentro do iframe. */
#chronos-os-quickview {
  box-sizing: border-box !important;
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  max-width: none !important;
  max-height: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
#chronos-os-quickview::backdrop { background: transparent !important; }
#chronos-os-quickview > iframe {
  box-sizing: border-box;
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none !important;
  overflow: hidden;
}
#chronos-os-quickview > iframe.is-loading { visibility: hidden; }
#chronos-os-quickview > .chronos-os-quickview-loading {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 24px;
  text-align: center;
  color: #183454;
  font: 14px/1.5 Arial, sans-serif;
  background: rgba(250,252,255,.97);
}
#chronos-os-quickview > .chronos-os-quickview-loading[hidden] { display: none !important; }
.chronos-os-quickview-spinner {
  width: 28px;
  height: 28px;
  border: 3px solid #d6e6fa;
  border-top-color: #2481e7;
  border-radius: 50%;
  animation: chronos-os-quickview-spin .75s linear infinite;
}
.chronos-os-quickview-spinner[hidden] { display: none !important; }
@keyframes chronos-os-quickview-spin { to { transform: rotate(360deg); } }
.chronos-os-quickview-loading strong { font-size: 16px; }
.chronos-os-quickview-loading span:not(.chronos-os-quickview-spinner) { max-width: 420px; }
.chronos-os-quickview-dismiss {
  margin-top: 8px;
  padding: 9px 24px;
  border: 1px solid #c9d9eb;
  background: #fff;
  color: #236bc0;
  cursor: pointer;
  font: 700 13px Arial, sans-serif;
}
.chronos-os-quickview-dismiss[hidden] { display: none !important; }
@media(max-width:650px) {
  #chronos-os-quickview { width: 100vw; height: 100dvh; }
}

/* Editor de O.S. preparado pelo cronômetro; indicação discreta de prontidão. */
#chronos-global-timer-open.chronos-os-is-ready::after {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-left: 3px;
  border-radius: 50%;
  background: #18a56c;
  flex: 0 0 6px;
}
#chronos-os-quickview .chronos-os-quickview-buttons { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
#chronos-os-quickview .chronos-os-quickview-retry {
  margin-top:8px; padding:9px 20px; border:1px solid #1871df;
  background:#1871df; color:#fff; font:700 13px Arial,sans-serif; cursor:pointer;
}
#chronos-os-quickview .chronos-os-quickview-retry[hidden] {display:none!important;}


/* V20.03 — foco azul do programa na tela de login (inclusive mobile). */
body.login-body .login-form :is(input.input, input, select, textarea):focus,
body.login-body .login-form :is(input.input, input, select, textarea):focus-visible{
  border-color:#2C94FC!important;
  outline:2px solid #2C94FC!important;
  outline-offset:0!important;
  box-shadow:none!important;
  caret-color:#2C94FC;
}
