/* line 5, app/assets/stylesheets/admin_email_metrics.scss */
:root {
  --sc-bg: #f8fafc;
  --sc-surface: #ffffff;
  --sc-text-primary: #1e293b;
  --sc-text-secondary: #64748b;
  --sc-text-light: #94a3b8;
  --sc-primary: #3b82f6;
  --sc-success: #10b981;
  --sc-warning: #f59e0b;
  --sc-danger: #ef4444;
  --sc-info: #06b6d4;
  --sc-border: #e2e8f0;
  --sc-radius: 16px;
  --sc-radius-sm: 8px;
  --sc-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --sc-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
  --sc-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.02);
}

/* line 27, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard {
  background-color: var(--sc-bg);
  min-height: 100vh;
  padding-bottom: 3rem;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  color: var(--sc-text-primary);
}

/* line 35, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-header {
  background: var(--sc-surface);
  padding: 1.5rem 2rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid var(--sc-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}

/* line 46, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-header .header-content {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 51, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-header .header-content .header-icon {
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
  color: var(--sc-primary);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
}

/* line 63, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-header .header-content h1 {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0;
  letter-spacing: -0.025em;
  color: var(--sc-text-primary);
}

/* line 71, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-header .header-content p {
  margin: 0;
  color: var(--sc-text-secondary);
  font-size: 0.875rem;
}

/* line 78, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-header .header-actions {
  display: flex;
  gap: 0.75rem;
}

/* line 85, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-card {
  background: var(--sc-surface);
  border-radius: var(--sc-radius);
  box-shadow: var(--sc-shadow);
  border: 1px solid var(--sc-border);
  padding: 1.5rem;
  height: 100%;
  transition: transform 0.2s, box-shadow 0.2s;
}

/* line 94, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-card:hover {
  box-shadow: var(--sc-shadow-lg);
  transform: translateY(-2px);
}

/* line 99, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-card.card-danger {
  border-top: 4px solid var(--sc-danger);
}

/* line 103, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-card.card-warning {
  border-top: 4px solid var(--sc-warning);
}

/* line 107, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-card .sc-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.25rem;
}

/* line 113, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-card .sc-card-header h3 {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0;
  color: var(--sc-text-primary);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 122, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-card .sc-card-header h3 i {
  color: var(--sc-text-secondary);
  font-size: 0.9em;
}

/* line 128, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-card .sc-card-header .sc-card-tools {
  display: flex;
  gap: 0.5rem;
}

/* line 136, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-stat-card {
  background: var(--sc-surface);
  border-radius: var(--sc-radius);
  padding: 1.25rem;
  border: 1px solid var(--sc-border);
  box-shadow: var(--sc-shadow);
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: all 0.2s;
}

/* line 147, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-stat-card:hover {
  transform: translateY(-2px);
}

/* line 151, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-stat-card .stat-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1rem;
}

/* line 158, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-stat-card .stat-value {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--sc-text-primary);
  line-height: 1.2;
}

/* line 165, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-stat-card .stat-label {
  font-size: 0.875rem;
  color: var(--sc-text-secondary);
  font-weight: 500;
  margin-top: 0.25rem;
}

/* line 174, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-table-wrapper {
  overflow-x: auto;
}

/* line 177, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-table-wrapper .sc-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

/* line 182, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-table-wrapper .sc-table th {
  background: #f8fafc;
  color: var(--sc-text-secondary);
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 1rem;
  text-align: left;
  border-bottom: 1px solid var(--sc-border);
}

/* line 193, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-table-wrapper .sc-table th:first-child {
  border-top-left-radius: 8px;
}

/* line 197, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-table-wrapper .sc-table th:last-child {
  border-top-right-radius: 8px;
}

/* line 201, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-table-wrapper .sc-table th.text-right {
  text-align: right;
}

/* line 205, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-table-wrapper .sc-table th.text-center {
  text-align: center;
}

/* line 210, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-table-wrapper .sc-table td {
  padding: 1rem;
  border-bottom: 1px solid var(--sc-border);
  color: var(--sc-text-primary);
  font-size: 0.875rem;
  vertical-align: middle;
}

/* line 217, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-table-wrapper .sc-table td.text-right {
  text-align: right;
}

/* line 221, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-table-wrapper .sc-table td.text-center {
  text-align: center;
}

/* line 225, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-table-wrapper .sc-table td.text-muted {
  color: var(--sc-text-secondary);
}

/* line 229, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-table-wrapper .sc-table td strong {
  font-weight: 600;
}

/* line 234, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-table-wrapper .sc-table tr:last-child td {
  border-bottom: none;
}

/* line 238, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-table-wrapper .sc-table tr:hover td {
  background: #f8fafc;
}

/* line 242, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-table-wrapper .sc-table.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(248, 250, 252, 0.5);
}

/* line 246, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-table-wrapper .sc-table code {
  background: #eff6ff;
  color: var(--sc-primary);
  padding: 0.2rem 0.4rem;
  border-radius: 4px;
  font-size: 0.8em;
}

/* line 257, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* line 262, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-list li {
  padding: 0.75rem 0;
  border-bottom: 1px dashed var(--sc-border);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.875rem;
  color: var(--sc-text-primary);
}

/* line 271, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-list li:last-child {
  border-bottom: none;
}

/* line 275, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-list li i {
  margin-right: 0.5rem;
  color: var(--sc-text-secondary);
}

/* line 283, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-badge {
  padding: 0.25rem 0.625rem;
  border-radius: 99px;
  font-size: 0.75rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 292, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-badge.success {
  background: #ecfdf5;
  color: #059669;
}

/* line 297, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-badge.warning {
  background: #fffbeb;
  color: #d97706;
}

/* line 302, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-badge.danger {
  background: #fef2f2;
  color: #dc2626;
}

/* line 307, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-badge.info {
  background: #eff6ff;
  color: #2563eb;
}

/* line 312, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-badge.neutral {
  background: #f1f5f9;
  color: #64748b;
}

/* line 319, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-alert {
  padding: 1rem;
  border-radius: var(--sc-radius-sm);
  margin-bottom: 1rem;
  font-size: 0.875rem;
  border-left: 4px solid;
}

/* line 326, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-alert.warning {
  background: #fffbeb;
  border-color: #d97706;
  color: #92400e;
}

/* line 331, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-alert.warning h5 {
  color: #92400e;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

/* line 338, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-alert.danger {
  background: #fef2f2;
  border-color: #dc2626;
  color: #991b1b;
}

/* line 343, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-alert.danger h5 {
  color: #991b1b;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

/* line 350, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-alert.info {
  background: #eff6ff;
  border-color: #2563eb;
  color: #1e40af;
}

/* line 358, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-btn {
  padding: 0.5rem 1rem;
  border-radius: 8px;
  font-weight: 500;
  font-size: 0.875rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: all 0.2s;
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
}

/* line 371, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-btn.primary {
  background: var(--sc-primary);
  color: white;
}

/* line 375, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-btn.primary:hover {
  background: #2563eb;
  transform: translateY(-1px);
}

/* line 381, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-btn.secondary {
  background: white;
  border-color: var(--sc-border);
  color: var(--sc-text-secondary);
}

/* line 386, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-btn.secondary:hover {
  border-color: #cbd5e1;
  background: #f8fafc;
  color: var(--sc-text-primary);
}

/* line 393, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-btn.danger {
  background: #fee2e2;
  color: #dc2626;
}

/* line 397, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-btn.danger:hover {
  background: #fecaca;
}

/* line 401, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-btn.danger.filled {
  background: var(--sc-danger);
  color: white;
}

/* line 405, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-btn.danger.filled:hover {
  background: #dc2626;
}

/* line 411, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-btn.success {
  background: var(--sc-success);
  color: white;
}

/* line 415, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-btn.success:hover {
  background: #059669;
}

/* line 420, app/assets/stylesheets/admin_email_metrics.scss */
.softclean-dashboard .sc-btn.sm {
  padding: 0.25rem 0.75rem;
  font-size: 0.75rem;
}
/* line 5, app/assets/stylesheets/admin_focus_nfe_config.scss */
:root {
  --sc-bg: #f8fafc;
  --sc-surface: #ffffff;
  --sc-text-primary: #1e293b;
  --sc-text-secondary: #64748b;
  --sc-text-light: #94a3b8;
  --sc-primary: #3b82f6;
  --sc-success: #10b981;
  --sc-warning: #f59e0b;
  --sc-danger: #ef4444;
  --sc-info: #06b6d4;
  --sc-border: #e2e8f0;
  --sc-radius: 16px;
  --sc-radius-sm: 8px;
  --sc-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --sc-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
  --sc-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.02);
}

/* line 27, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard {
  background-color: var(--sc-bg);
  min-height: 100vh;
  padding-bottom: 3rem;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  color: var(--sc-text-primary);
}

/* line 35, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-header {
  background: var(--sc-surface);
  padding: 1.5rem 2rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid var(--sc-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}

/* line 46, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-header .header-content {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 51, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-header .header-content .header-icon {
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
  color: var(--sc-primary);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
}

/* line 63, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-header .header-content h1 {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0;
  letter-spacing: -0.025em;
  color: var(--sc-text-primary);
}

/* line 71, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-header .header-content p {
  margin: 0;
  color: var(--sc-text-secondary);
  font-size: 0.875rem;
}

/* line 78, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-header .header-actions {
  display: flex;
  gap: 0.75rem;
}

/* line 85, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-card {
  background: var(--sc-surface);
  border-radius: var(--sc-radius);
  box-shadow: var(--sc-shadow);
  border: 1px solid var(--sc-border);
  padding: 1.5rem;
  height: 100%;
  transition: transform 0.2s, box-shadow 0.2s;
}

/* line 94, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-card:hover {
  box-shadow: var(--sc-shadow-lg);
  transform: translateY(-2px);
}

/* line 99, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-card.card-primary {
  border-top: 4px solid var(--sc-primary);
}

/* line 103, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-card.card-success {
  border-top: 4px solid var(--sc-success);
}

/* line 107, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-card.card-warning {
  border-top: 4px solid var(--sc-warning);
}

/* line 111, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-card.card-danger {
  border-top: 4px solid var(--sc-danger);
}

/* line 115, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-card .sc-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.25rem;
}

/* line 121, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-card .sc-card-header h3 {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0;
  color: var(--sc-text-primary);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 130, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-card .sc-card-header h3 i {
  color: var(--sc-text-secondary);
  font-size: 0.9em;
}

/* line 137, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-card .sc-card-footer {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--sc-border);
  display: flex;
  gap: 0.5rem;
}

/* line 147, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-stat-card {
  background: var(--sc-surface);
  border-radius: var(--sc-radius);
  padding: 1.25rem;
  border: 1px solid var(--sc-border);
  box-shadow: var(--sc-shadow);
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: all 0.2s;
}

/* line 158, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-stat-card:hover {
  transform: translateY(-2px);
}

/* line 162, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-stat-card .stat-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1rem;
}

/* line 168, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-stat-card .stat-header .stat-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
}

/* line 177, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-stat-card .stat-header .stat-icon.blue {
  background: #eff6ff;
  color: #3b82f6;
}

/* line 182, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-stat-card .stat-header .stat-icon.green {
  background: #ecfdf5;
  color: #10b981;
}

/* line 187, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-stat-card .stat-header .stat-icon.yellow {
  background: #fffbeb;
  color: #f59e0b;
}

/* line 192, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-stat-card .stat-header .stat-icon.red {
  background: #fef2f2;
  color: #ef4444;
}

/* line 197, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-stat-card .stat-header .stat-icon.purple {
  background: #f3e8ff;
  color: #a855f7;
}

/* line 204, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-stat-card .stat-value {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--sc-text-primary);
  line-height: 1.2;
}

/* line 211, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-stat-card .stat-label {
  font-size: 0.875rem;
  color: var(--sc-text-secondary);
  font-weight: 500;
  margin-top: 0.25rem;
}

/* line 218, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-stat-card .stat-subtitle {
  font-size: 0.75rem;
  color: var(--sc-text-secondary);
  margin-top: 0.5rem;
}

/* line 226, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-table-wrapper {
  overflow-x: auto;
}

/* line 229, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-table-wrapper .sc-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

/* line 234, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-table-wrapper .sc-table th {
  background: #f8fafc;
  color: var(--sc-text-secondary);
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 1rem;
  text-align: left;
  border-bottom: 1px solid var(--sc-border);
}

/* line 245, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-table-wrapper .sc-table th:first-child {
  border-top-left-radius: 8px;
}

/* line 249, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-table-wrapper .sc-table th:last-child {
  border-top-right-radius: 8px;
}

/* line 254, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-table-wrapper .sc-table td {
  padding: 1rem;
  border-bottom: 1px solid var(--sc-border);
  color: var(--sc-text-primary);
  font-size: 0.875rem;
  vertical-align: middle;
}

/* line 261, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-table-wrapper .sc-table td strong {
  font-weight: 600;
}

/* line 265, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-table-wrapper .sc-table td small {
  color: var(--sc-text-secondary);
}

/* line 270, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-table-wrapper .sc-table tr:last-child td {
  border-bottom: none;
}

/* line 274, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-table-wrapper .sc-table tr:hover td {
  background: #f8fafc;
}

/* line 282, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-details-list dt {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--sc-text-secondary);
  margin-bottom: 0.25rem;
}

/* line 290, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-details-list dd {
  font-size: 0.95rem;
  color: var(--sc-text-primary);
  margin-bottom: 1rem;
  font-weight: 500;
}

/* line 296, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-details-list dd:last-child {
  margin-bottom: 0;
}

/* line 300, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-details-list dd code {
  background: #f1f5f9;
  padding: 0.2rem 0.4rem;
  border-radius: 4px;
  color: var(--sc-primary);
  font-size: 0.85em;
}

/* line 311, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-badge {
  padding: 0.25rem 0.625rem;
  border-radius: 99px;
  font-size: 0.75rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 320, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-badge.success {
  background: #ecfdf5;
  color: #059669;
}

/* line 325, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-badge.warning {
  background: #fffbeb;
  color: #d97706;
}

/* line 330, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-badge.danger {
  background: #fef2f2;
  color: #dc2626;
}

/* line 335, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-badge.info {
  background: #eff6ff;
  color: #2563eb;
}

/* line 340, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-badge.primary {
  background: #eff6ff;
  color: #3b82f6;
}

/* line 345, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-badge.neutral {
  background: #f1f5f9;
  color: #64748b;
}

/* line 352, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-alert {
  padding: 1rem;
  border-radius: var(--sc-radius-sm);
  margin-bottom: 1rem;
  font-size: 0.875rem;
  border-left: 4px solid;
}

/* line 359, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-alert h5 {
  font-weight: 600;
  margin-bottom: 0.5rem;
  font-size: 1rem;
}

/* line 365, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-alert.info {
  background: #eff6ff;
  border-color: #2563eb;
  color: #1e40af;
}

/* line 371, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-alert.warning {
  background: #fffbeb;
  border-color: #d97706;
  color: #92400e;
}

/* line 377, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-alert.danger {
  background: #fef2f2;
  border-color: #dc2626;
  color: #991b1b;
}

/* line 385, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-btn {
  padding: 0.5rem 1rem;
  border-radius: 8px;
  font-weight: 500;
  font-size: 0.875rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  transition: all 0.2s;
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
}

/* line 399, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-btn.block {
  width: 100%;
}

/* line 403, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-btn.primary {
  background: var(--sc-primary);
  color: white;
}

/* line 407, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-btn.primary:hover {
  background: #2563eb;
  transform: translateY(-1px);
}

/* line 413, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-btn.secondary {
  background: white;
  border-color: var(--sc-border);
  color: var(--sc-text-secondary);
}

/* line 418, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-btn.secondary:hover {
  border-color: #cbd5e1;
  background: #f8fafc;
  color: var(--sc-text-primary);
}

/* line 425, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-btn.warning {
  background: var(--sc-warning);
  color: white;
}

/* line 429, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-btn.warning:hover {
  background: #d97706;
}

/* line 434, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-btn.success {
  background: var(--sc-success);
  color: white;
}

/* line 438, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .sc-btn.success:hover {
  background: #059669;
}

/* line 445, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .form-group {
  margin-bottom: 1.5rem;
}

/* line 448, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .form-group label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
  font-size: 0.875rem;
  color: var(--sc-text-primary);
}

/* line 456, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .form-group .form-control {
  width: 100%;
  padding: 0.75rem;
  border-radius: 8px;
  border: 1px solid var(--sc-border);
  font-size: 0.95rem;
  transition: border-color 0.2s;
}

/* line 464, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .form-group .form-control:focus {
  outline: none;
  border-color: var(--sc-primary);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

/* line 471, app/assets/stylesheets/admin_focus_nfe_config.scss */
.softclean-dashboard .form-group small {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.8rem;
  color: var(--sc-text-secondary);
}
/* line 5, app/assets/stylesheets/soft_clean/_variables.scss */
:root {
  --sc-bg: #f8fafc;
  --sc-surface: #ffffff;
  --sc-text-primary: #0f172a;
  --sc-text-secondary: #475569;
  --sc-text-light: #94a3b8;
  --sc-slate-navy: #0f172a;
  --sc-slate-dark: #16202a;
  --sc-slate-card: #1e293b;
  --sc-sky-accent: #38bdf8;
  --sc-primary: #2c3e50;
  --sc-primary-hover: #1e293b;
  --sc-secondary: #64748b;
  --sc-success: #10b981;
  --sc-success-wash: #ecfdf5;
  --sc-warning: #f59e0b;
  --sc-warning-wash: #fffbeb;
  --sc-danger: #ef4444;
  --sc-danger-wash: #fef2f2;
  --sc-info: #0284c7;
  --sc-info-wash: #f0f9ff;
  --sc-border: #e2e8f0;
  --sc-border-subtle: #f1f5f9;
  --sc-radius: 12px;
  --sc-radius-sm: 8px;
  --sc-radius-pill: 9999px;
  --sc-shadow-sm: 0 1px 3px 0 rgba(15, 23, 42, 0.04), 0 1px 2px -1px rgba(15, 23, 42, 0.02);
  --sc-shadow: 0 8px 24px -4px rgba(15, 23, 42, 0.06), 0 2px 6px -1px rgba(15, 23, 42, 0.03);
  --sc-shadow-lg: 0 16px 32px -6px rgba(15, 23, 42, 0.08), 0 4px 12px -2px rgba(15, 23, 42, 0.04);
}

/* line 5, app/assets/stylesheets/soft_clean/_variables.scss */
:root {
  --sc-bg: #f8fafc;
  --sc-surface: #ffffff;
  --sc-text-primary: #0f172a;
  --sc-text-secondary: #475569;
  --sc-text-light: #94a3b8;
  --sc-slate-navy: #0f172a;
  --sc-slate-dark: #16202a;
  --sc-slate-card: #1e293b;
  --sc-sky-accent: #38bdf8;
  --sc-primary: #2c3e50;
  --sc-primary-hover: #1e293b;
  --sc-secondary: #64748b;
  --sc-success: #10b981;
  --sc-success-wash: #ecfdf5;
  --sc-warning: #f59e0b;
  --sc-warning-wash: #fffbeb;
  --sc-danger: #ef4444;
  --sc-danger-wash: #fef2f2;
  --sc-info: #0284c7;
  --sc-info-wash: #f0f9ff;
  --sc-border: #e2e8f0;
  --sc-border-subtle: #f1f5f9;
  --sc-radius: 12px;
  --sc-radius-sm: 8px;
  --sc-radius-pill: 9999px;
  --sc-shadow-sm: 0 1px 3px 0 rgba(15, 23, 42, 0.04), 0 1px 2px -1px rgba(15, 23, 42, 0.02);
  --sc-shadow: 0 8px 24px -4px rgba(15, 23, 42, 0.06), 0 2px 6px -1px rgba(15, 23, 42, 0.03);
  --sc-shadow-lg: 0 16px 32px -6px rgba(15, 23, 42, 0.08), 0 4px 12px -2px rgba(15, 23, 42, 0.04);
}

/* line 9, app/assets/stylesheets/soft_clean/_layout.scss */
html,
body {
  height: auto !important;
  min-height: 100vh !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

/* line 17, app/assets/stylesheets/soft_clean/_layout.scss */
.wrapper {
  height: auto !important;
  min-height: 100vh !important;
  overflow: visible !important;
}

/* line 23, app/assets/stylesheets/soft_clean/_layout.scss */
.content-wrapper {
  height: auto !important;
  min-height: calc(100vh - var(--header-height, 57px)) !important;
  overflow: visible !important;
  background-color: var(--sc-bg) !important;
}

/* line 31, app/assets/stylesheets/soft_clean/_layout.scss */
body.layout-fixed {
  height: 100vh !important;
  overflow: hidden !important;
}

/* line 35, app/assets/stylesheets/soft_clean/_layout.scss */
body.layout-fixed .wrapper {
  height: 100vh !important;
  max-height: 100vh !important;
  overflow: hidden !important;
}

/* line 41, app/assets/stylesheets/soft_clean/_layout.scss */
body.layout-fixed .content-wrapper {
  height: calc(100vh - var(--footer-height, 57px)) !important;
  max-height: calc(100vh - var(--footer-height, 57px)) !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}

/* line 51, app/assets/stylesheets/soft_clean/_layout.scss */
.softclean-container {
  padding: 1.5rem;
  padding-bottom: 6rem;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  color: var(--sc-text-primary);
  width: 100%;
  display: block;
}

/* line 61, app/assets/stylesheets/soft_clean/_layout.scss */
.main-sidebar.admin-sidebar {
  background-color: var(--sc-slate-navy) !important;
  border-right: 1px solid rgba(255, 255, 255, 0.05);
}

/* line 65, app/assets/stylesheets/soft_clean/_layout.scss */
.main-sidebar.admin-sidebar .brand-link {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  background-color: transparent !important;
  padding: 0.9rem 1.25rem;
}

/* line 70, app/assets/stylesheets/soft_clean/_layout.scss */
.main-sidebar.admin-sidebar .brand-link .brand-text {
  font-weight: 600 !important;
  letter-spacing: -0.01em;
  color: #ffffff !important;
}

/* line 78, app/assets/stylesheets/soft_clean/_layout.scss */
.main-sidebar.admin-sidebar .nav-sidebar .nav-item {
  margin-bottom: 2px;
}

/* line 81, app/assets/stylesheets/soft_clean/_layout.scss */
.main-sidebar.admin-sidebar .nav-sidebar .nav-item .nav-link {
  border-radius: 8px;
  color: #94a3b8 !important;
  font-weight: 500;
  font-size: 0.85rem;
  padding: 0.55rem 0.85rem;
  transition: all 0.2s ease;
  position: relative;
}

/* line 90, app/assets/stylesheets/soft_clean/_layout.scss */
.main-sidebar.admin-sidebar .nav-sidebar .nav-item .nav-link i.nav-icon {
  color: #64748b;
  transition: color 0.2s ease;
}

/* line 95, app/assets/stylesheets/soft_clean/_layout.scss */
.main-sidebar.admin-sidebar .nav-sidebar .nav-item .nav-link:hover {
  background-color: rgba(255, 255, 255, 0.05) !important;
  color: #f1f5f9 !important;
}

/* line 99, app/assets/stylesheets/soft_clean/_layout.scss */
.main-sidebar.admin-sidebar .nav-sidebar .nav-item .nav-link:hover i.nav-icon {
  color: var(--sc-sky-accent);
}

/* line 104, app/assets/stylesheets/soft_clean/_layout.scss */
.main-sidebar.admin-sidebar .nav-sidebar .nav-item .nav-link.active {
  background-color: #1e293b !important;
  color: #ffffff !important;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* line 110, app/assets/stylesheets/soft_clean/_layout.scss */
.main-sidebar.admin-sidebar .nav-sidebar .nav-item .nav-link.active i.nav-icon {
  color: var(--sc-sky-accent) !important;
}

/* line 114, app/assets/stylesheets/soft_clean/_layout.scss */
.main-sidebar.admin-sidebar .nav-sidebar .nav-item .nav-link.active::before {
  content: '';
  position: absolute;
  left: -4px;
  top: 6px;
  bottom: 6px;
  width: 3px;
  background-color: var(--sc-sky-accent);
  border-radius: 0 2px 2px 0;
}

/* line 131, app/assets/stylesheets/soft_clean/_layout.scss */
.sc-navbar.navbar {
  background-color: rgba(255, 255, 255, 0.85) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--sc-border) !important;
  box-shadow: var(--sc-shadow-sm) !important;
}

/* line 140, app/assets/stylesheets/soft_clean/_layout.scss */
.sticky-sidebar {
  position: -webkit-sticky;
  position: sticky;
  top: 1.5rem;
  z-index: 1000;
}

/* line 147, app/assets/stylesheets/soft_clean/_layout.scss */
.settings-section {
  scroll-margin-top: 100px;
}

/* line 5, app/assets/stylesheets/soft_clean/_variables.scss */
:root {
  --sc-bg: #f8fafc;
  --sc-surface: #ffffff;
  --sc-text-primary: #0f172a;
  --sc-text-secondary: #475569;
  --sc-text-light: #94a3b8;
  --sc-slate-navy: #0f172a;
  --sc-slate-dark: #16202a;
  --sc-slate-card: #1e293b;
  --sc-sky-accent: #38bdf8;
  --sc-primary: #2c3e50;
  --sc-primary-hover: #1e293b;
  --sc-secondary: #64748b;
  --sc-success: #10b981;
  --sc-success-wash: #ecfdf5;
  --sc-warning: #f59e0b;
  --sc-warning-wash: #fffbeb;
  --sc-danger: #ef4444;
  --sc-danger-wash: #fef2f2;
  --sc-info: #0284c7;
  --sc-info-wash: #f0f9ff;
  --sc-border: #e2e8f0;
  --sc-border-subtle: #f1f5f9;
  --sc-radius: 12px;
  --sc-radius-sm: 8px;
  --sc-radius-pill: 9999px;
  --sc-shadow-sm: 0 1px 3px 0 rgba(15, 23, 42, 0.04), 0 1px 2px -1px rgba(15, 23, 42, 0.02);
  --sc-shadow: 0 8px 24px -4px rgba(15, 23, 42, 0.06), 0 2px 6px -1px rgba(15, 23, 42, 0.03);
  --sc-shadow-lg: 0 16px 32px -6px rgba(15, 23, 42, 0.08), 0 4px 12px -2px rgba(15, 23, 42, 0.04);
}

/* line 8, app/assets/stylesheets/soft_clean/_components.scss */
.sc-header {
  background: var(--sc-surface);
  padding: 1.1rem 1.5rem;
  margin-bottom: 1.5rem;
  border-radius: var(--sc-radius);
  border: 1px solid var(--sc-border);
  box-shadow: var(--sc-shadow);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

/* line 20, app/assets/stylesheets/soft_clean/_components.scss */
.sc-header .header-title {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

/* line 25, app/assets/stylesheets/soft_clean/_components.scss */
.sc-header .header-title i {
  font-size: 1.35rem;
  color: var(--sc-primary);
}

/* line 30, app/assets/stylesheets/soft_clean/_components.scss */
.sc-header .header-title h2 {
  font-size: 1.2rem;
  font-weight: 700;
  margin: 0;
  letter-spacing: -0.015em;
  color: var(--sc-text-primary);
}

/* line 41, app/assets/stylesheets/soft_clean/_components.scss */
.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
  position: relative;
}

/* line 48, app/assets/stylesheets/soft_clean/_components.scss */
.status-dot.success {
  background-color: var(--sc-success);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
}

/* line 52, app/assets/stylesheets/soft_clean/_components.scss */
.status-dot.warning {
  background-color: var(--sc-warning);
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.2);
}

/* line 56, app/assets/stylesheets/soft_clean/_components.scss */
.status-dot.danger {
  background-color: var(--sc-danger);
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2);
}

/* line 60, app/assets/stylesheets/soft_clean/_components.scss */
.status-dot.info {
  background-color: var(--sc-info);
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.2);
}

/* line 67, app/assets/stylesheets/soft_clean/_components.scss */
.sc-badge {
  padding: 0.25rem 0.6rem;
  border-radius: var(--sc-radius-pill);
  font-size: 0.725rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  line-height: 1.2;
}

/* line 77, app/assets/stylesheets/soft_clean/_components.scss */
.sc-badge.success {
  background-color: var(--sc-success-wash);
  color: #065f46;
  border: 1px solid rgba(16, 185, 129, 0.2);
}

/* line 82, app/assets/stylesheets/soft_clean/_components.scss */
.sc-badge.warning {
  background-color: var(--sc-warning-wash);
  color: #92400e;
  border: 1px solid rgba(245, 158, 11, 0.2);
}

/* line 87, app/assets/stylesheets/soft_clean/_components.scss */
.sc-badge.danger {
  background-color: var(--sc-danger-wash);
  color: #991b1b;
  border: 1px solid rgba(239, 68, 68, 0.2);
}

/* line 92, app/assets/stylesheets/soft_clean/_components.scss */
.sc-badge.info {
  background-color: var(--sc-info-wash);
  color: #075985;
  border: 1px solid rgba(2, 132, 199, 0.2);
}

/* line 97, app/assets/stylesheets/soft_clean/_components.scss */
.sc-badge.secondary {
  background-color: #f1f5f9;
  color: #475569;
  border: 1px solid #e2e8f0;
}

/* line 105, app/assets/stylesheets/soft_clean/_components.scss */
.sc-stats-strip {
  display: flex;
  gap: 1rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}

/* line 111, app/assets/stylesheets/soft_clean/_components.scss */
.sc-stats-strip .sc-stat-item {
  flex: 1;
  min-width: 170px;
  background: var(--sc-surface);
  padding: 0.9rem 1.15rem;
  border-radius: var(--sc-radius);
  border: 1px solid var(--sc-border);
  display: flex;
  align-items: center;
  gap: 0.85rem;
  box-shadow: var(--sc-shadow);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* line 124, app/assets/stylesheets/soft_clean/_components.scss */
.sc-stats-strip .sc-stat-item:hover {
  transform: translateY(-2px);
  box-shadow: var(--sc-shadow-lg);
}

/* line 129, app/assets/stylesheets/soft_clean/_components.scss */
.sc-stats-strip .sc-stat-item .icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
}

/* line 141, app/assets/stylesheets/soft_clean/_components.scss */
.sc-stats-strip .sc-stat-item .info .label {
  font-size: 0.68rem;
  color: var(--sc-text-secondary);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* line 149, app/assets/stylesheets/soft_clean/_components.scss */
.sc-stats-strip .sc-stat-item .info .value {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--sc-text-primary);
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}

/* line 161, app/assets/stylesheets/soft_clean/_components.scss */
.sc-card {
  background: var(--sc-surface);
  border-radius: var(--sc-radius);
  border: 1px solid var(--sc-border);
  box-shadow: var(--sc-shadow);
  overflow: hidden;
  margin-bottom: 1.5rem;
  height: 100%;
  transition: box-shadow 0.2s ease;
}

/* line 171, app/assets/stylesheets/soft_clean/_components.scss */
.sc-card:hover {
  box-shadow: var(--sc-shadow-lg);
}

/* line 175, app/assets/stylesheets/soft_clean/_components.scss */
.sc-card .card-header {
  padding: 1rem 1.35rem;
  background: #ffffff;
  border-bottom: 1px solid var(--sc-border-subtle);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

/* line 184, app/assets/stylesheets/soft_clean/_components.scss */
.sc-card .card-header h4, .sc-card .card-header h5 {
  font-size: 1rem;
  font-weight: 700;
  margin: 0;
  color: var(--sc-text-primary);
  letter-spacing: -0.01em;
}

/* line 192, app/assets/stylesheets/soft_clean/_components.scss */
.sc-card .card-header i {
  color: var(--sc-primary);
  font-size: 1.05rem;
}

/* line 198, app/assets/stylesheets/soft_clean/_components.scss */
.sc-card .card-body {
  padding: 1.35rem;
}

/* line 204, app/assets/stylesheets/soft_clean/_components.scss */
.sc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  font-weight: 600;
  font-size: 0.8rem;
  border-radius: var(--sc-radius-sm);
  padding: 0.45rem 0.85rem;
  transition: all 0.2s ease;
  border: 1px solid transparent;
}

/* line 216, app/assets/stylesheets/soft_clean/_components.scss */
.sc-btn.soft-primary {
  background-color: #f1f5f9;
  color: var(--sc-primary);
  border-color: #e2e8f0;
}

/* line 221, app/assets/stylesheets/soft_clean/_components.scss */
.sc-btn.soft-primary:hover {
  background-color: var(--sc-primary);
  color: #ffffff;
  border-color: var(--sc-primary);
}

/* line 228, app/assets/stylesheets/soft_clean/_components.scss */
.sc-btn.btn-icon {
  width: 32px;
  height: 32px;
  padding: 0;
  border-radius: 6px;
  background: transparent;
  border: 1px solid transparent;
  color: var(--sc-text-secondary);
}

/* line 237, app/assets/stylesheets/soft_clean/_components.scss */
.sc-btn.btn-icon:hover {
  background: #f1f5f9;
  color: var(--sc-text-primary);
  border-color: #e2e8f0;
}

/* line 246, app/assets/stylesheets/soft_clean/_components.scss */
.sc-table-container {
  background: var(--sc-surface);
  border-radius: var(--sc-radius);
  border: 1px solid var(--sc-border);
  box-shadow: var(--sc-shadow);
  overflow: hidden;
  margin-bottom: 1.5rem;
}

/* line 255, app/assets/stylesheets/soft_clean/_components.scss */
.sc-table-container .sc-table-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--sc-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 262, app/assets/stylesheets/soft_clean/_components.scss */
.sc-table-container .sc-table-header h5 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 270, app/assets/stylesheets/soft_clean/_components.scss */
.sc-table-container .sc-table-header h5 i {
  color: var(--sc-primary);
}

/* line 277, app/assets/stylesheets/soft_clean/_components.scss */
.sc-table {
  width: 100%;
  margin-bottom: 0;
}

/* line 281, app/assets/stylesheets/soft_clean/_components.scss */
.sc-table th {
  background: #f8fafc;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--sc-text-secondary);
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--sc-border);
}

/* line 291, app/assets/stylesheets/soft_clean/_components.scss */
.sc-table td {
  padding: 0.6rem 1rem;
  vertical-align: middle;
  border-bottom: 1px solid #f1f5f9;
  font-size: 0.8rem;
}

/* line 298, app/assets/stylesheets/soft_clean/_components.scss */
.sc-table tr:last-child td {
  border-bottom: none;
}

/* line 302, app/assets/stylesheets/soft_clean/_components.scss */
.sc-table tr:hover td {
  background-color: #f8fafc;
}

/* line 308, app/assets/stylesheets/soft_clean/_components.scss */
.sc-grid-lg {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 1.25rem;
  margin-bottom: 1.5rem;
}

@media (max-width: 480px) {
  /* line 308, app/assets/stylesheets/soft_clean/_components.scss */
  .sc-grid-lg {
    grid-template-columns: 1fr;
  }
}

/* line 319, app/assets/stylesheets/soft_clean/_components.scss */
.sc-lazy-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 1.5rem;
}

/* line 325, app/assets/stylesheets/soft_clean/_components.scss */
.sc-lazy-grid .lazy-item {
  background: #f8fafc;
  border-radius: var(--sc-radius-sm);
  border: 1px solid var(--sc-border);
  padding: 1rem;
  text-align: center;
}

/* line 332, app/assets/stylesheets/soft_clean/_components.scss */
.sc-lazy-grid .lazy-item .lazy-icon {
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
}

/* line 336, app/assets/stylesheets/soft_clean/_components.scss */
.sc-lazy-grid .lazy-item .lazy-icon.success {
  color: var(--sc-success);
}

/* line 340, app/assets/stylesheets/soft_clean/_components.scss */
.sc-lazy-grid .lazy-item .lazy-icon.warning {
  color: var(--sc-warning);
}

/* line 344, app/assets/stylesheets/soft_clean/_components.scss */
.sc-lazy-grid .lazy-item .lazy-icon.info {
  color: var(--sc-info);
}

/* line 349, app/assets/stylesheets/soft_clean/_components.scss */
.sc-lazy-grid .lazy-item h5 {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0;
  color: var(--sc-text-primary);
}

/* line 356, app/assets/stylesheets/soft_clean/_components.scss */
.sc-lazy-grid .lazy-item p {
  font-size: 0.75rem;
  color: var(--sc-text-secondary);
  margin: 0;
}

/* line 366, app/assets/stylesheets/soft_clean/_components.scss */
.sc-resource-monitor .resource-item {
  margin-bottom: 1rem;
}

/* line 369, app/assets/stylesheets/soft_clean/_components.scss */
.sc-resource-monitor .resource-item .resource-info {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.4rem;
}

/* line 374, app/assets/stylesheets/soft_clean/_components.scss */
.sc-resource-monitor .resource-item .resource-info span {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--sc-text-secondary);
}

/* line 380, app/assets/stylesheets/soft_clean/_components.scss */
.sc-resource-monitor .resource-item .resource-info .value {
  color: var(--sc-text-primary);
  font-weight: 700;
}

/* line 386, app/assets/stylesheets/soft_clean/_components.scss */
.sc-resource-monitor .resource-item .sc-progress {
  height: 8px;
  background: #f1f5f9;
  border-radius: 4px;
  overflow: hidden;
}

/* line 392, app/assets/stylesheets/soft_clean/_components.scss */
.sc-resource-monitor .resource-item .sc-progress .progress-bar {
  height: 100%;
  border-radius: 4px;
  transition: width 0.6s ease;
}

/* line 397, app/assets/stylesheets/soft_clean/_components.scss */
.sc-resource-monitor .resource-item .sc-progress .progress-bar.success {
  background: var(--sc-success);
}

/* line 401, app/assets/stylesheets/soft_clean/_components.scss */
.sc-resource-monitor .resource-item .sc-progress .progress-bar.warning {
  background: var(--sc-warning);
}

/* line 405, app/assets/stylesheets/soft_clean/_components.scss */
.sc-resource-monitor .resource-item .sc-progress .progress-bar.danger {
  background: var(--sc-danger);
}

/* line 409, app/assets/stylesheets/soft_clean/_components.scss */
.sc-resource-monitor .resource-item .sc-progress .progress-bar.info {
  background: var(--sc-info);
}

/* line 418, app/assets/stylesheets/soft_clean/_components.scss */
.form-group {
  margin-bottom: 1rem;
}

/* line 421, app/assets/stylesheets/soft_clean/_components.scss */
.form-group label {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--sc-text-secondary);
  text-transform: uppercase;
  margin-bottom: 0.5rem;
  display: block;
}

/* line 430, app/assets/stylesheets/soft_clean/_components.scss */
.form-group .form-control {
  border-radius: 8px;
  border: 1px solid var(--sc-border);
  padding: 0.6rem 0.75rem;
  font-size: 0.85rem;
  transition: all 0.2s;
}

/* line 437, app/assets/stylesheets/soft_clean/_components.scss */
.form-group .form-control:focus {
  border-color: var(--sc-primary);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

/* line 444, app/assets/stylesheets/soft_clean/_components.scss */
.sc-switch {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0;
}

/* line 450, app/assets/stylesheets/soft_clean/_components.scss */
.sc-switch .custom-control-label {
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  padding-top: 2px;
}

/* line 465, app/assets/stylesheets/soft_clean/_components.scss */
.admin-performance-monitor-module .sc-stat-item,
.admin-performance-monitor-module .resource-item,
.admin-performance-monitor-module .sc-metric-box {
  position: relative;
}

/* line 471, app/assets/stylesheets/soft_clean/_components.scss */
.admin-performance-monitor-module .sc-info-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-left: 0.35rem;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--sc-text-light);
  cursor: pointer;
  font-size: 0.72rem;
  line-height: 1;
  vertical-align: middle;
  transition: color 0.15s ease;
}

/* line 488, app/assets/stylesheets/soft_clean/_components.scss */
.admin-performance-monitor-module .sc-info-btn:hover, .admin-performance-monitor-module .sc-info-btn[aria-expanded="true"] {
  color: var(--sc-primary);
}

/* line 494, app/assets/stylesheets/soft_clean/_components.scss */
.admin-performance-monitor-module .sc-popover {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 30;
  width: 260px;
  max-width: 86vw;
  background: var(--sc-surface);
  border: 1px solid var(--sc-border);
  border-radius: var(--sc-radius-sm);
  box-shadow: var(--sc-shadow-lg);
  padding: 0.85rem 1rem;
  font-size: 0.78rem;
  line-height: 1.5;
  color: var(--sc-text-secondary);
}

/* line 511, app/assets/stylesheets/soft_clean/_components.scss */
.admin-performance-monitor-module .sc-popover.is-open {
  display: block;
}

/* line 515, app/assets/stylesheets/soft_clean/_components.scss */
.admin-performance-monitor-module .sc-popover h4 {
  margin: 0 0 0.35rem;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--sc-text-primary);
}

/* line 522, app/assets/stylesheets/soft_clean/_components.scss */
.admin-performance-monitor-module .sc-popover p {
  margin: 0;
}

/* line 526, app/assets/stylesheets/soft_clean/_components.scss */
.admin-performance-monitor-module .sc-popover .sc-popover-how {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid var(--sc-border-subtle);
}

/* line 531, app/assets/stylesheets/soft_clean/_components.scss */
.admin-performance-monitor-module .sc-popover .sc-popover-how .eyebrow {
  display: block;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--sc-text-light);
  margin-bottom: 2px;
}

/* line 545, app/assets/stylesheets/soft_clean/_components.scss */
.admin-performance-monitor-module .sc-stats-strip .sc-stat-item:last-child .sc-popover,
.admin-performance-monitor-module .sc-metrics-grid .sc-metric-box:last-child .sc-popover {
  left: auto;
  right: 0;
}

/* line 5, app/assets/stylesheets/soft_clean/_variables.scss */
:root {
  --sc-bg: #f8fafc;
  --sc-surface: #ffffff;
  --sc-text-primary: #0f172a;
  --sc-text-secondary: #475569;
  --sc-text-light: #94a3b8;
  --sc-slate-navy: #0f172a;
  --sc-slate-dark: #16202a;
  --sc-slate-card: #1e293b;
  --sc-sky-accent: #38bdf8;
  --sc-primary: #2c3e50;
  --sc-primary-hover: #1e293b;
  --sc-secondary: #64748b;
  --sc-success: #10b981;
  --sc-success-wash: #ecfdf5;
  --sc-warning: #f59e0b;
  --sc-warning-wash: #fffbeb;
  --sc-danger: #ef4444;
  --sc-danger-wash: #fef2f2;
  --sc-info: #0284c7;
  --sc-info-wash: #f0f9ff;
  --sc-border: #e2e8f0;
  --sc-border-subtle: #f1f5f9;
  --sc-radius: 12px;
  --sc-radius-sm: 8px;
  --sc-radius-pill: 9999px;
  --sc-shadow-sm: 0 1px 3px 0 rgba(15, 23, 42, 0.04), 0 1px 2px -1px rgba(15, 23, 42, 0.02);
  --sc-shadow: 0 8px 24px -4px rgba(15, 23, 42, 0.06), 0 2px 6px -1px rgba(15, 23, 42, 0.03);
  --sc-shadow-lg: 0 16px 32px -6px rgba(15, 23, 42, 0.08), 0 4px 12px -2px rgba(15, 23, 42, 0.04);
}

/* line 8, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  border-radius: 6px;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
}

/* line 18, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-badge.lg {
  padding: 0.5rem 1rem;
  font-size: 0.85rem;
}

/* line 24, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-badge.primary {
  background: #eff6ff;
  color: #3b82f6;
}

/* line 29, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-badge.success {
  background: #ecfdf5;
  color: #10b981;
}

/* line 34, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-badge.warning {
  background: #fffbeb;
  color: #f59e0b;
}

/* line 39, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-badge.danger {
  background: #fef2f2;
  color: #ef4444;
}

/* line 44, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-badge.info {
  background: #f0f9ff;
  color: #06b6d4;
}

/* line 49, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-badge.secondary {
  background: #f1f5f9;
  color: #64748b;
}

/* line 55, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-badge.high {
  background: #fef2f2;
  color: #ef4444;
}

/* line 60, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-badge.excellent {
  background: #ecfdf5;
  color: #10b981;
}

/* line 65, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-badge.good {
  background: #f0f9ff;
  color: #06b6d4;
}

/* line 73, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn {
  padding: 0.5rem 1rem;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
  line-height: 1.5;
}

/* line 88, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn:hover {
  text-decoration: none;
  transform: translateY(-1px);
}

/* line 93, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn:active {
  transform: translateY(0);
}

/* line 98, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.primary {
  background: var(--sc-primary);
  color: white;
  box-shadow: 0 1px 2px rgba(59, 130, 246, 0.3);
}

/* line 103, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.primary:hover {
  background: #2563eb;
  box-shadow: 0 4px 6px -1px rgba(59, 130, 246, 0.4);
}

/* line 109, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.secondary {
  background: white;
  border: 1px solid var(--sc-border);
  color: var(--sc-text-secondary);
  box-shadow: var(--sc-shadow-sm);
}

/* line 115, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.secondary:hover {
  background: #f8fafc;
  border-color: #cbd5e1;
  color: var(--sc-text-primary);
}

/* line 122, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.success {
  background: var(--sc-success);
  color: white;
  box-shadow: 0 1px 2px rgba(16, 185, 129, 0.3);
}

/* line 127, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.success:hover {
  background: #059669;
  box-shadow: 0 4px 6px -1px rgba(16, 185, 129, 0.4);
}

/* line 133, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.warning {
  background: var(--sc-warning);
  color: white;
  box-shadow: 0 1px 2px rgba(245, 158, 11, 0.3);
}

/* line 138, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.warning:hover {
  background: #d97706;
  box-shadow: 0 4px 6px -1px rgba(245, 158, 11, 0.4);
}

/* line 144, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.info {
  background: var(--sc-info);
  color: white;
  box-shadow: 0 1px 2px rgba(6, 182, 212, 0.3);
}

/* line 149, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.info:hover {
  background: #0891b2;
  box-shadow: 0 4px 6px -1px rgba(6, 182, 212, 0.4);
}

/* line 156, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.soft-primary {
  background: #eff6ff;
  color: #3b82f6;
}

/* line 160, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.soft-primary:hover {
  background: #dbeafe;
  color: #2563eb;
}

/* line 166, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.soft-success {
  background: #ecfdf5;
  color: #10b981;
}

/* line 170, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.soft-success:hover {
  background: #d1fae5;
  color: #059669;
}

/* line 176, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.soft-warning {
  background: #fffbeb;
  color: #f59e0b;
}

/* line 180, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.soft-warning:hover {
  background: #fef3c7;
  color: #d97706;
}

/* line 186, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.soft-danger {
  background: #fef2f2;
  color: #ef4444;
}

/* line 190, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.soft-danger:hover {
  background: #fee2e2;
  color: #dc2626;
}

/* line 196, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.soft-info {
  background: #ecfeff;
  color: #06b6d4;
}

/* line 200, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.soft-info:hover {
  background: #cffafe;
  color: #0891b2;
}

/* line 206, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.soft-secondary {
  background: #f8fafc;
  color: #64748b;
}

/* line 210, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.soft-secondary:hover {
  background: #f1f5f9;
  color: #475569;
}

/* line 217, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.sm {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  border-radius: 6px;
}

/* line 223, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.btn-icon {
  width: 32px;
  height: 32px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
}

/* line 232, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.btn-icon.sm {
  width: 28px;
  height: 28px;
  font-size: 0.8rem;
}

/* line 238, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.btn-icon.rounded-circle {
  border-radius: 50%;
}

/* line 245, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-actions {
  display: flex;
  gap: 0.5rem;
}

/* line 249, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-actions .sc-action-btn {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--sc-border);
  background: white;
  color: var(--sc-text-secondary);
  transition: all 0.2s;
  text-decoration: none;
  padding: 0;
}

/* line 263, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-actions .sc-action-btn:hover {
  background: var(--sc-bg);
  color: var(--sc-primary);
  border-color: var(--sc-primary);
}

/* line 269, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-actions .sc-action-btn.delete:hover {
  color: var(--sc-danger);
  border-color: var(--sc-danger);
  background: #fef2f2;
}

/* line 278, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-metrics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}

/* line 284, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-metrics-grid .sc-metric-box {
  background: var(--sc-surface);
  padding: 1rem;
  border-radius: var(--sc-radius-sm);
  border: 1px solid var(--sc-border);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  box-shadow: var(--sc-shadow-sm);
}

/* line 294, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-metrics-grid .sc-metric-box .metric-label {
  font-size: 0.65rem;
  font-weight: 700;
  color: var(--sc-text-secondary);
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 303, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-metrics-grid .sc-metric-box .metric-label i {
  color: var(--sc-primary);
  font-size: 0.8rem;
}

/* line 309, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-metrics-grid .sc-metric-box .metric-value {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--sc-text-primary);
  letter-spacing: -0.02em;
}

/* line 315, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-metrics-grid .sc-metric-box .metric-value small {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--sc-text-light);
}

/* line 325, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-search-input {
  width: 240px;
}

/* line 329, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-search-text {
  border-radius: 8px 0 0 8px !important;
}

/* line 333, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-search-field {
  border-radius: 0 8px 8px 0 !important;
  font-size: 0.8rem !important;
}

/* line 338, app/assets/stylesheets/soft_clean/_utilities.scss */
.kbd-sm {
  font-size: 0.65rem !important;
}

/* line 342, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-avatar-md {
  width: 35px;
  height: 35px;
  font-weight: 700;
}

/* line 348, app/assets/stylesheets/soft_clean/_utilities.scss */
.w-icon {
  width: 20px;
  display: inline-block;
  text-align: center;
}

/* line 354, app/assets/stylesheets/soft_clean/_utilities.scss */
.chart-height-300 {
  height: 300px;
}

/* line 359, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-stat-icon.info {
  background: var(--sc-info-wash) !important;
  color: var(--sc-info) !important;
}

/* line 363, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-stat-icon.success {
  background: var(--sc-success-wash) !important;
  color: var(--sc-success) !important;
}

/* line 367, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-stat-icon.warning {
  background: var(--sc-warning-wash) !important;
  color: var(--sc-warning) !important;
}

/* line 371, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-stat-icon.danger {
  background: var(--sc-danger-wash) !important;
  color: var(--sc-danger) !important;
}

/* line 377, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-user-avatar-sm {
  width: 32px;
  height: 32px;
  font-size: 12px;
  color: var(--sc-text-secondary);
}

/* line 384, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-json-pre {
  color: #334155;
}

/* line 4, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module {
  padding: 0.75rem 1rem 3rem;
}

/* line 7, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-header {
  padding: 0.625rem 1rem;
  margin-bottom: 0.75rem;
}

/* line 11, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-header .header-title {
  gap: 0.5rem;
}

/* line 14, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-header .header-title i {
  font-size: 1rem;
}

/* line 18, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-header .header-title h2 {
  font-size: 1rem;
  line-height: 1.2;
}

/* line 23, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-header .header-title p {
  font-size: 0.7rem !important;
  margin-top: 1px;
}

/* line 30, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-stats-strip {
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

/* line 34, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-stats-strip .sc-stat-item {
  min-width: 120px;
  padding: 0.5rem 0.75rem;
  gap: 0.5rem;
}

/* line 39, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-stats-strip .sc-stat-item .icon {
  width: 26px;
  height: 26px;
  font-size: 0.75rem;
}

/* line 46, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-stats-strip .sc-stat-item .info .label {
  font-size: 0.6rem;
}

/* line 50, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-stats-strip .sc-stat-item .info .value {
  font-size: 0.875rem;
}

/* line 57, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-card {
  margin-bottom: 0.75rem;
}

/* line 60, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-card .card-header {
  padding: 0.5rem 0.875rem;
}

/* line 63, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-card .card-header h4 {
  font-size: 0.8rem;
}

/* line 67, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-card .card-header i {
  font-size: 0.85rem;
}

/* line 72, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-card .card-body {
  padding: 0.875rem;
}

/* line 77, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-table {
  font-size: 0.8rem;
}

/* line 80, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-table th,
.softclean-container.admin-storage-configs-module .sc-table td {
  padding: 0.4rem 0.5rem;
  vertical-align: middle;
}

/* line 87, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-form-footer {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.625rem 0.875rem;
  background: var(--sc-surface);
  border: 1px solid var(--sc-border);
  border-radius: var(--sc-radius-sm);
  margin-top: 0.25rem;
}

/* line 99, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-field-label {
  display: block;
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--sc-text-secondary);
  margin-bottom: 0.2rem;
  letter-spacing: 0.02em;
}

/* line 109, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-field-hint {
  display: block;
  font-size: 0.68rem;
  color: var(--sc-text-secondary);
  margin-top: 0.15rem;
  line-height: 1.3;
}

/* line 117, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-provider-hint {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  padding: 0.4rem 0.625rem;
  margin-bottom: 0.625rem;
  font-size: 0.72rem;
  line-height: 1.35;
  color: #1e40af;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: 6px;
}

/* line 130, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-provider-hint i {
  margin-top: 2px;
  flex-shrink: 0;
}

/* line 135, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-provider-hint.warning {
  color: #92400e;
  background: #fffbeb;
  border-color: #fde68a;
}

/* line 142, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-provider-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 0.5rem;
}

/* line 147, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-provider-grid .sc-provider-chip {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.625rem;
  border: 1px solid var(--sc-border);
  border-radius: 6px;
  background: var(--sc-surface);
  font-size: 0.75rem;
}

/* line 157, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-provider-grid .sc-provider-chip i {
  font-size: 1rem;
  width: 1.25rem;
  text-align: center;
}

/* line 163, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-provider-grid .sc-provider-chip strong {
  display: block;
  font-size: 0.78rem;
  line-height: 1.2;
}

/* line 169, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-provider-grid .sc-provider-chip small {
  color: var(--sc-text-secondary);
  font-size: 0.65rem;
}

/* line 176, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .form-group {
  margin-bottom: 0.625rem;
}

/* line 180, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .form-control-sm {
  font-size: 0.8rem;
  height: calc(1.5em + 0.5rem + 2px);
  padding: 0.25rem 0.5rem;
}

/* line 186, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .custom-control-label {
  font-size: 0.8rem;
}

/* line 190, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .alert {
  padding: 0.4rem 0.625rem;
  margin-bottom: 0.625rem;
  font-size: 0.75rem;
}

/* line 195, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .alert ul {
  margin-bottom: 0;
  padding-left: 1rem;
}

/* line 201, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module.admin-storage-configs-form-page {
  padding-bottom: 2rem;
}

/* line 206, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module.admin-storage-configs-show-page .sc-show-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-bottom: 0.75rem;
}

/* line 213, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module.admin-storage-configs-show-page .sc-detail-table td {
  padding: 0.35rem 0.5rem;
  font-size: 0.8rem;
}

/* line 218, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module.admin-storage-configs-show-page .sc-detail-table td:first-child {
  width: 32%;
  color: var(--sc-text-secondary);
  font-weight: 600;
  font-size: 0.72rem;
  text-transform: uppercase;
}

/* line 26, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page {
  --preview-bg: #f8fafc;
  --preview-surface: #ffffff;
  --preview-border: #dbe4ee;
  --preview-text: #0f172a;
  --preview-muted: #64748b;
  --preview-shadow: 0 20px 45px rgba(15, 23, 42, 0.08);
  --preview-shadow-soft: 0 12px 30px rgba(15, 23, 42, 0.05);
  margin: 0;
  min-height: 100vh;
  background: radial-gradient(circle at top left, rgba(37, 99, 235, 0.12), transparent 28%), radial-gradient(circle at top right, rgba(14, 165, 233, 0.1), transparent 22%), linear-gradient(180deg, #f8fbff 0%, #f8fafc 45%, #eef4fb 100%);
  color: var(--preview-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* line 49, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page * {
  box-sizing: border-box;
}

/* line 53, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-shell {
  max-width: 1480px;
  margin: 0 auto;
  padding: 24px;
}

/* line 59, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-hero {
  margin-bottom: 20px;
  padding: 24px 28px;
  border-radius: 24px;
  border: 1px solid rgba(219, 228, 238, 0.95);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: var(--preview-shadow-soft);
  backdrop-filter: blur(10px);
}

/* line 69, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-hero .header-title {
  gap: 16px;
  align-items: flex-start;
}

/* line 74, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-hero-icon {
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--preview-accent-soft);
  color: var(--preview-accent);
  font-size: 1.25rem;
  flex-shrink: 0;
}

/* line 87, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-title-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

/* line 95, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-title-row h1 {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.2;
  color: var(--preview-text);
}

/* line 102, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-hero p {
  margin: 0;
  max-width: 820px;
  color: var(--preview-muted);
  font-size: 0.95rem;
}

/* line 109, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-stats {
  margin-bottom: 20px;
}

/* line 113, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-meta-bar {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--preview-border);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.98), rgba(255, 255, 255, 0.98));
}

/* line 122, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-meta-item {
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid var(--preview-border);
  background: var(--preview-surface);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

/* line 130, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-meta-item.span-2 {
  grid-column: span 2;
}

/* line 134, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-meta-label {
  display: block;
  margin-bottom: 6px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--preview-muted);
}

/* line 144, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-meta-value {
  display: block;
  color: var(--preview-text);
  font-weight: 600;
  word-break: break-word;
}

/* line 151, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-card {
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(219, 228, 238, 0.95);
  box-shadow: var(--preview-shadow);
}

/* line 158, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-card .card-header {
  padding: 20px 22px 16px;
}

/* line 162, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-card .card-header h4 {
  margin: 0;
}

/* line 166, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-frame {
  background: #d9e3ee;
  padding: 16px;
}

/* line 171, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-frame iframe {
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.12);
}

/* line 176, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-side-card {
  border-radius: 20px;
  border: 1px solid rgba(219, 228, 238, 0.95);
  box-shadow: var(--preview-shadow-soft);
}

/* line 182, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-info-list {
  display: flex;
  flex-direction: column;
}

/* line 187, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-info-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--preview-border);
}

/* line 196, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-info-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

/* line 201, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-info-row:first-child {
  padding-top: 0;
}

/* line 205, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-info-row strong,
body.saas-email-preview-page .preview-info-row span {
  color: var(--preview-text);
  text-align: right;
}

/* line 211, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-info-row .label {
  color: var(--preview-muted);
  text-align: left;
  font-weight: 500;
}

/* line 217, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-token-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* line 223, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-token {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--preview-border);
  background: #f8fafc;
  color: #334155;
  font-size: 0.82rem;
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

/* line 235, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-note {
  margin: 0;
  color: var(--preview-muted);
  line-height: 1.65;
}

/* line 241, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-chip-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

@media (max-width: 991.98px) {
  /* line 251, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
  body.saas-email-preview-page .preview-shell {
    padding: 16px;
  }
  /* line 255, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
  body.saas-email-preview-page .preview-hero {
    padding: 20px;
  }
  /* line 259, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
  body.saas-email-preview-page .preview-meta-bar {
    grid-template-columns: 1fr;
  }
  /* line 263, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
  body.saas-email-preview-page .preview-meta-item.span-2 {
    grid-column: span 1;
  }
}

@media print {
  /* line 270, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
  body.saas-email-preview-page {
    background: #fff;
  }
  /* line 273, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
  body.saas-email-preview-page .preview-hero,
body.saas-email-preview-page .preview-stats,
body.saas-email-preview-page .preview-sidebar,
body.saas-email-preview-page .preview-actions {
    display: none !important;
  }
  /* line 280, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
  body.saas-email-preview-page .preview-shell {
    max-width: none;
    padding: 0;
  }
  /* line 285, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
  body.saas-email-preview-page .preview-card,
body.saas-email-preview-page .preview-frame {
    border: 0;
    box-shadow: none;
    padding: 0;
  }
}
/* line 5, app/assets/stylesheets/admin_system_alert_configs.scss */
:root {
  --sc-bg: #f8fafc;
  --sc-surface: #ffffff;
  --sc-text-primary: #1e293b;
  --sc-text-secondary: #64748b;
  --sc-text-light: #94a3b8;
  --sc-primary: #3b82f6;
  --sc-success: #10b981;
  --sc-warning: #f59e0b;
  --sc-danger: #ef4444;
  --sc-info: #06b6d4;
  --sc-border: #e2e8f0;
  --sc-radius: 12px;
  --sc-radius-sm: 8px;
  --sc-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --sc-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
  --sc-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.02);
}

/* line 30, app/assets/stylesheets/admin_system_alert_configs.scss */
html,
body {
  height: auto !important;
  min-height: 100vh !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

/* line 38, app/assets/stylesheets/admin_system_alert_configs.scss */
.wrapper {
  height: auto !important;
  min-height: 100vh !important;
  overflow: visible !important;
}

/* line 44, app/assets/stylesheets/admin_system_alert_configs.scss */
.content-wrapper {
  height: auto !important;
  min-height: 100vh !important;
  overflow: visible !important;
  background-color: var(--sc-bg) !important;
}

/* line 51, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard {
  padding-bottom: 8rem;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  color: var(--sc-text-primary);
  position: relative;
  width: 100%;
  display: block;
}

/* line 60, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-header {
  background: var(--sc-surface);
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--sc-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}

/* line 71, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-header .header-content {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 76, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-header .header-content .header-icon {
  width: 42px;
  height: 42px;
  background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
  color: var(--sc-warning);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
}

/* line 88, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-header .header-content h1 {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0;
  letter-spacing: -0.02em;
  color: var(--sc-text-primary);
}

/* line 96, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-header .header-content p {
  margin: 0;
  color: var(--sc-text-secondary);
  font-size: 0.8rem;
}

/* line 103, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-header .header-actions {
  display: flex;
  gap: 0.5rem;
}

/* line 110, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-card {
  background: var(--sc-surface);
  border-radius: var(--sc-radius);
  box-shadow: var(--sc-shadow);
  border: 1px solid var(--sc-border);
  padding: 1.25rem;
  margin-bottom: 1.25rem;
  transition: transform 0.2s, box-shadow 0.2s;
}

/* line 119, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-card:hover {
  box-shadow: var(--sc-shadow-lg);
}

/* line 123, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-card .sc-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
  border-bottom: 1px solid var(--sc-border);
  padding-bottom: 0.75rem;
}

/* line 131, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-card .sc-card-header h3 {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
  color: var(--sc-text-primary);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 140, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-card .sc-card-header h3 i {
  color: var(--sc-text-secondary);
  font-size: 0.9em;
}

/* line 149, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}

/* line 156, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-stat-card {
  background: var(--sc-surface);
  border-radius: var(--sc-radius);
  padding: 1rem;
  border: 1px solid var(--sc-border);
  box-shadow: var(--sc-shadow-sm);
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 166, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-stat-card .stat-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
}

/* line 175, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-stat-card .stat-icon.blue {
  background: #eff6ff;
  color: #3b82f6;
}

/* line 180, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-stat-card .stat-icon.green {
  background: #ecfdf5;
  color: #10b981;
}

/* line 185, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-stat-card .stat-icon.yellow {
  background: #fffbeb;
  color: #f59e0b;
}

/* line 190, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-stat-card .stat-icon.red {
  background: #fef2f2;
  color: #ef4444;
}

/* line 197, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-stat-card .stat-info .stat-label {
  font-size: 0.75rem;
  color: var(--sc-text-secondary);
  font-weight: 500;
}

/* line 203, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-stat-card .stat-info .stat-value {
  font-size: 1rem;
  font-weight: 700;
  color: var(--sc-text-primary);
}

/* line 212, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-grid-alerts {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 0.75rem !important;
  width: 100% !important;
}

@media (max-width: 991.98px) {
  /* line 212, app/assets/stylesheets/admin_system_alert_configs.scss */
  .softclean-dashboard .sc-grid-alerts {
    grid-template-columns: 1fr !important;
  }
}

/* line 224, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-alert-item {
  padding: 0.75rem;
  border-radius: 8px;
  background: #f8fafc;
  border: 1px solid var(--sc-border);
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  transition: all 0.2s;
}

/* line 234, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-alert-item:hover {
  background: #f1f5f9;
  border-color: #cbd5e1;
}

/* line 239, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-alert-item.sc-alert-danger {
  background: #fff5f5;
  border-color: #fed7d7;
}

/* line 243, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-alert-item.sc-alert-danger .sc-alert-details strong {
  color: #c53030;
}

/* line 247, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-alert-item.sc-alert-danger .sc-switch .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #fc8181;
  border-color: #fc8181;
}

/* line 253, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-alert-item.sc-alert-warning {
  background: #fffaf0;
  border-color: #fef3c7;
}

/* line 257, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-alert-item.sc-alert-warning .sc-alert-details strong {
  color: #9c4221;
}

/* line 261, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-alert-item.sc-alert-warning .sc-switch .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #f6ad55;
  border-color: #f6ad55;
}

/* line 267, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-alert-item.sc-alert-info {
  background: #f8fafc;
  border-color: #e2e8f0;
}

/* line 271, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-alert-item.sc-alert-info .sc-alert-details strong {
  color: #0369a1;
}

/* line 275, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-alert-item.sc-alert-info .sc-switch .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #bae6fd;
  border-color: #bae6fd;
}

/* line 281, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-alert-item.sc-alert-success {
  background: #f0fff4;
  border-color: #c6f6d5;
}

/* line 285, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-alert-item.sc-alert-success .sc-alert-details strong {
  color: #2f855a;
}

/* line 289, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-alert-item.sc-alert-success .sc-switch .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #68d391;
  border-color: #68d391;
}

/* line 296, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-alert-item .sc-alert-details strong {
  display: block;
  font-size: 0.875rem;
  color: var(--sc-text-secondary);
  line-height: 1.2;
}

/* line 303, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-alert-item .sc-alert-details small {
  font-size: 0.75rem;
  color: var(--sc-text-light);
}

/* line 311, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .form-group {
  margin-bottom: 1rem;
}

/* line 314, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .form-group label {
  font-weight: 600;
  font-size: 0.8rem;
  color: var(--sc-text-secondary);
  margin-bottom: 0.4rem;
  display: block;
}

/* line 322, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .form-group .form-control {
  border-radius: 8px;
  border: 1px solid var(--sc-border);
  font-size: 0.875rem;
  padding: 0.5rem 0.75rem;
  transition: all 0.2s;
}

/* line 329, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .form-group .form-control:focus {
  border-color: var(--sc-primary);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

/* line 337, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-btn {
  padding: 0.5rem 0.875rem;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.8rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: all 0.2s;
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
}

/* line 350, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-btn.sc-btn-sm {
  padding: 0.35rem 0.65rem;
  font-size: 0.75rem;
}

/* line 355, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-btn.primary {
  background: var(--sc-primary);
  color: white;
}

/* line 359, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-btn.primary:hover {
  background: #2563eb;
  transform: translateY(-1px);
}

/* line 365, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-btn.secondary {
  background: white;
  border-color: var(--sc-border);
  color: var(--sc-text-secondary);
}

/* line 370, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-btn.secondary:hover {
  border-color: #cbd5e1;
  background: #f8fafc;
  color: var(--sc-text-primary);
}

/* line 377, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-btn.success {
  background: var(--sc-success);
  color: white;
}

/* line 381, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-btn.success:hover {
  background: #059669;
  transform: translateY(-1px);
}

/* line 387, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-btn.warning {
  background: var(--sc-warning);
  color: white;
}

/* line 391, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-btn.warning:hover {
  background: #d97706;
  transform: translateY(-1px);
}

/* line 399, app/assets/stylesheets/admin_system_alert_configs.scss */
.softclean-dashboard .sc-form-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--sc-border);
}

/* line 410, app/assets/stylesheets/admin_system_alert_configs.scss */
.custom-control {
  padding-top: 0.1rem;
}

/* line 415, app/assets/stylesheets/admin_system_alert_configs.scss */
.content-wrapper,
.wrapper,
body,
html {
  height: auto !important;
  min-height: 100% !important;
  overflow-y: visible !important;
}

/* line 425, app/assets/stylesheets/admin_system_alert_configs.scss */
.custom-switch.sc-switch {
  padding-left: 2.25rem;
  min-height: 1.25rem;
}

/* line 429, app/assets/stylesheets/admin_system_alert_configs.scss */
.custom-switch.sc-switch .custom-control-label {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--sc-text-secondary);
  padding-top: 2px;
  cursor: pointer;
  user-select: none;
}

/* line 437, app/assets/stylesheets/admin_system_alert_configs.scss */
.custom-switch.sc-switch .custom-control-label::before {
  left: -2.25rem;
  width: 1.75rem;
  height: 1rem;
  border-radius: 1rem;
}

/* line 444, app/assets/stylesheets/admin_system_alert_configs.scss */
.custom-switch.sc-switch .custom-control-label::after {
  left: calc(-2.25rem + 2px);
  width: calc(1rem - 4px);
  height: calc(1rem - 4px);
  border-radius: 1rem;
}

/* line 452, app/assets/stylesheets/admin_system_alert_configs.scss */
.custom-switch.sc-switch .custom-control-input:checked ~ .custom-control-label::after {
  transform: translateX(0.75rem);
}

@media (max-width: 767.98px) {
  /* line 458, app/assets/stylesheets/admin_system_alert_configs.scss */
  .border-right {
    border-right: none !important;
    border-bottom: 1px solid var(--sc-border);
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
    padding-right: 0 !important;
  }
}
/* line 2, app/assets/stylesheets/admin_ai_chat_analytics.scss */
.ai-chat-analytics-admin .header-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* line 9, app/assets/stylesheets/admin_ai_chat_analytics.scss */
.ai-chat-analytics-admin .ai-chat-filter-card {
  margin-bottom: 1.5rem;
}

/* line 13, app/assets/stylesheets/admin_ai_chat_analytics.scss */
.ai-chat-analytics-admin .ai-chat-filter-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.75rem;
  align-items: center;
}

/* line 20, app/assets/stylesheets/admin_ai_chat_analytics.scss */
.ai-chat-analytics-admin .ai-chat-filter-actions {
  display: flex;
  gap: 0.75rem;
  justify-content: flex-end;
  flex-wrap: wrap;
}

/* line 27, app/assets/stylesheets/admin_ai_chat_analytics.scss */
.ai-chat-analytics-admin .ai-chat-checkbox-wrap {
  padding-left: 0.25rem;
}

/* line 31, app/assets/stylesheets/admin_ai_chat_analytics.scss */
.ai-chat-analytics-admin .ai-chat-analytics-alert {
  background: linear-gradient(135deg, #eff6ff 0%, #f8fafc 100%);
  color: #1e3a8a;
}

/* line 36, app/assets/stylesheets/admin_ai_chat_analytics.scss */
.ai-chat-analytics-admin canvas {
  max-height: 320px;
}

/* line 40, app/assets/stylesheets/admin_ai_chat_analytics.scss */
.ai-chat-analytics-admin .badge {
  border-radius: 999px;
  padding: 0.35rem 0.6rem;
}

/* line 45, app/assets/stylesheets/admin_ai_chat_analytics.scss */
.ai-chat-analytics-admin .sc-table td,
.ai-chat-analytics-admin .sc-table th {
  white-space: normal;
}

@media (max-width: 992px) {
  /* line 51, app/assets/stylesheets/admin_ai_chat_analytics.scss */
  .ai-chat-analytics-admin .ai-chat-filter-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 576px) {
  /* line 57, app/assets/stylesheets/admin_ai_chat_analytics.scss */
  .ai-chat-analytics-admin .sc-header {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 62, app/assets/stylesheets/admin_ai_chat_analytics.scss */
  .ai-chat-analytics-admin .header-actions,
.ai-chat-analytics-admin .ai-chat-filter-actions {
    width: 100%;
  }
  /* line 67, app/assets/stylesheets/admin_ai_chat_analytics.scss */
  .ai-chat-analytics-admin .ai-chat-filter-grid {
    grid-template-columns: 1fr;
  }
}
/* line 6, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern {
  background: #f4f6f9;
  min-height: 100vh;
}

/* line 11, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content {
  padding: 0 1rem 2rem 1rem;
}

/* line 15, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .kpi-section {
  background: white;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  margin-bottom: 2rem;
  overflow: hidden;
}

/* line 22, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .kpi-section .kpi-section-header {
  background: linear-gradient(135deg, #f8f9fc 0%, #eaecf4 100%);
  padding: 1.5rem 2rem;
  border-bottom: 1px solid #e3e6f0;
}

/* line 27, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .kpi-section .kpi-section-header h5 {
  color: #5a5c69;
  font-weight: 600;
  font-size: 1.1rem;
  margin: 0;
}

/* line 33, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .kpi-section .kpi-section-header h5 i {
  color: #007bff;
}

/* line 39, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .kpi-section .kpi-section-body {
  padding: 2rem;
}

/* line 45, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .modern-card {
  background: white;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
  border: 1px solid #e3e6f0;
  overflow: hidden;
}

/* line 53, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .modern-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

/* line 58, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .modern-card .info-box-icon {
  width: 80px;
  height: 80px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  color: white;
  position: relative;
}

/* line 69, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .modern-card .info-box-icon::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.05) 100%);
  border-radius: 12px;
}

/* line 80, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .modern-card .info-box-icon i {
  position: relative;
  z-index: 1;
}

/* line 85, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .modern-card .info-box-icon.bg-info {
  background: linear-gradient(135deg, #17a2b8 0%, #138496 100%);
}

/* line 89, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .modern-card .info-box-icon.bg-success {
  background: linear-gradient(135deg, #28a745 0%, #1e7e34 100%);
}

/* line 93, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .modern-card .info-box-icon.bg-warning {
  background: linear-gradient(135deg, #ffc107 0%, #e0a800 100%);
}

/* line 97, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .modern-card .info-box-icon.bg-danger {
  background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
}

/* line 101, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .modern-card .info-box-icon.bg-primary {
  background: linear-gradient(135deg, #007bff 0%, #0056b3 100%);
}

/* line 106, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .modern-card .info-box-content {
  padding: 1.5rem;
  flex: 1;
}

/* line 110, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .modern-card .info-box-content .info-box-text {
  color: #6c757d;
  font-size: 0.9rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.5rem;
  display: block;
}

/* line 120, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .modern-card .info-box-content .info-box-number {
  color: #2c3e50;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0.5rem;
  display: block;
}

/* line 129, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .modern-card .info-box-content .progress-description {
  color: #6c757d;
  font-size: 0.85rem;
  margin-top: 0.5rem;
}

/* line 138, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .chart-section {
  background: white;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  margin-bottom: 2rem;
  overflow: hidden;
}

/* line 145, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .chart-section .chart-section-header {
  background: linear-gradient(135deg, #f8f9fc 0%, #eaecf4 100%);
  padding: 1.5rem 2rem;
  border-bottom: 1px solid #e3e6f0;
}

/* line 150, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .chart-section .chart-section-header h5 {
  color: #5a5c69;
  font-weight: 600;
  font-size: 1.1rem;
  margin: 0;
}

/* line 156, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .chart-section .chart-section-header h5 i {
  color: #007bff;
}

/* line 162, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .chart-section .chart-section-body {
  padding: 2rem;
}

/* line 165, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .chart-section .chart-section-body .chart-container {
  position: relative;
  height: 300px;
}

/* line 173, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .actions-section {
  background: white;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  margin-bottom: 2rem;
  overflow: hidden;
}

/* line 180, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .actions-section .actions-section-header {
  background: linear-gradient(135deg, #f8f9fc 0%, #eaecf4 100%);
  padding: 1.5rem 2rem;
  border-bottom: 1px solid #e3e6f0;
}

/* line 185, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .actions-section .actions-section-header h5 {
  color: #5a5c69;
  font-weight: 600;
  font-size: 1.1rem;
  margin: 0;
}

/* line 191, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .actions-section .actions-section-header h5 i {
  color: #007bff;
}

/* line 197, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .actions-section .actions-section-body {
  padding: 2rem;
}

/* line 200, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .actions-section .actions-section-body .btn {
  border-radius: 8px;
  font-weight: 500;
  padding: 0.75rem 1.5rem;
  transition: all 0.3s ease;
  border: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* line 208, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .actions-section .actions-section-body .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* line 213, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .dashboard-content .actions-section .actions-section-body .btn i {
  margin-right: 0.5rem;
}

@media (max-width: 1024px) {
  /* line 225, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content {
    padding: 0 1rem 1.5rem 1rem;
  }
  /* line 228, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .kpi-section,
.admin-dashboard-modern .dashboard-content .chart-section,
.admin-dashboard-modern .dashboard-content .actions-section {
    margin-bottom: 1.5rem;
  }
  /* line 233, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .kpi-section .kpi-section-header,
.admin-dashboard-modern .dashboard-content .kpi-section .chart-section-header,
.admin-dashboard-modern .dashboard-content .kpi-section .actions-section-header,
.admin-dashboard-modern .dashboard-content .chart-section .kpi-section-header,
.admin-dashboard-modern .dashboard-content .chart-section .chart-section-header,
.admin-dashboard-modern .dashboard-content .chart-section .actions-section-header,
.admin-dashboard-modern .dashboard-content .actions-section .kpi-section-header,
.admin-dashboard-modern .dashboard-content .actions-section .chart-section-header,
.admin-dashboard-modern .dashboard-content .actions-section .actions-section-header {
    padding: 1.25rem 1.5rem;
  }
  /* line 238, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .kpi-section .kpi-section-header h5,
.admin-dashboard-modern .dashboard-content .kpi-section .chart-section-header h5,
.admin-dashboard-modern .dashboard-content .kpi-section .actions-section-header h5,
.admin-dashboard-modern .dashboard-content .chart-section .kpi-section-header h5,
.admin-dashboard-modern .dashboard-content .chart-section .chart-section-header h5,
.admin-dashboard-modern .dashboard-content .chart-section .actions-section-header h5,
.admin-dashboard-modern .dashboard-content .actions-section .kpi-section-header h5,
.admin-dashboard-modern .dashboard-content .actions-section .chart-section-header h5,
.admin-dashboard-modern .dashboard-content .actions-section .actions-section-header h5 {
    font-size: 1rem;
  }
  /* line 243, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .kpi-section .kpi-section-body,
.admin-dashboard-modern .dashboard-content .kpi-section .chart-section-body,
.admin-dashboard-modern .dashboard-content .kpi-section .actions-section-body,
.admin-dashboard-modern .dashboard-content .chart-section .kpi-section-body,
.admin-dashboard-modern .dashboard-content .chart-section .chart-section-body,
.admin-dashboard-modern .dashboard-content .chart-section .actions-section-body,
.admin-dashboard-modern .dashboard-content .actions-section .kpi-section-body,
.admin-dashboard-modern .dashboard-content .actions-section .chart-section-body,
.admin-dashboard-modern .dashboard-content .actions-section .actions-section-body {
    padding: 1.5rem;
  }
  /* line 251, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .modern-card .info-box-icon {
    width: 70px;
    height: 70px;
    font-size: 1.6rem;
  }
  /* line 257, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .modern-card .info-box-content {
    padding: 1.25rem;
  }
  /* line 260, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .modern-card .info-box-content .info-box-number {
    font-size: 2rem;
  }
  /* line 264, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .modern-card .info-box-content .info-box-text {
    font-size: 0.85rem;
  }
}

@media (max-width: 768px) {
  /* line 274, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content {
    padding: 0 0.5rem 1rem 0.5rem;
  }
  /* line 277, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .kpi-section,
.admin-dashboard-modern .dashboard-content .chart-section,
.admin-dashboard-modern .dashboard-content .actions-section {
    margin-bottom: 1rem;
    border-radius: 8px;
  }
  /* line 283, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .kpi-section .kpi-section-header,
.admin-dashboard-modern .dashboard-content .kpi-section .chart-section-header,
.admin-dashboard-modern .dashboard-content .kpi-section .actions-section-header,
.admin-dashboard-modern .dashboard-content .chart-section .kpi-section-header,
.admin-dashboard-modern .dashboard-content .chart-section .chart-section-header,
.admin-dashboard-modern .dashboard-content .chart-section .actions-section-header,
.admin-dashboard-modern .dashboard-content .actions-section .kpi-section-header,
.admin-dashboard-modern .dashboard-content .actions-section .chart-section-header,
.admin-dashboard-modern .dashboard-content .actions-section .actions-section-header {
    padding: 1rem 1.25rem;
  }
  /* line 288, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .kpi-section .kpi-section-header h5,
.admin-dashboard-modern .dashboard-content .kpi-section .chart-section-header h5,
.admin-dashboard-modern .dashboard-content .kpi-section .actions-section-header h5,
.admin-dashboard-modern .dashboard-content .chart-section .kpi-section-header h5,
.admin-dashboard-modern .dashboard-content .chart-section .chart-section-header h5,
.admin-dashboard-modern .dashboard-content .chart-section .actions-section-header h5,
.admin-dashboard-modern .dashboard-content .actions-section .kpi-section-header h5,
.admin-dashboard-modern .dashboard-content .actions-section .chart-section-header h5,
.admin-dashboard-modern .dashboard-content .actions-section .actions-section-header h5 {
    font-size: 0.95rem;
  }
  /* line 291, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .kpi-section .kpi-section-header h5 i,
.admin-dashboard-modern .dashboard-content .kpi-section .chart-section-header h5 i,
.admin-dashboard-modern .dashboard-content .kpi-section .actions-section-header h5 i,
.admin-dashboard-modern .dashboard-content .chart-section .kpi-section-header h5 i,
.admin-dashboard-modern .dashboard-content .chart-section .chart-section-header h5 i,
.admin-dashboard-modern .dashboard-content .chart-section .actions-section-header h5 i,
.admin-dashboard-modern .dashboard-content .actions-section .kpi-section-header h5 i,
.admin-dashboard-modern .dashboard-content .actions-section .chart-section-header h5 i,
.admin-dashboard-modern .dashboard-content .actions-section .actions-section-header h5 i {
    font-size: 0.9rem;
  }
  /* line 297, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .kpi-section .kpi-section-body,
.admin-dashboard-modern .dashboard-content .kpi-section .chart-section-body,
.admin-dashboard-modern .dashboard-content .kpi-section .actions-section-body,
.admin-dashboard-modern .dashboard-content .chart-section .kpi-section-body,
.admin-dashboard-modern .dashboard-content .chart-section .chart-section-body,
.admin-dashboard-modern .dashboard-content .chart-section .actions-section-body,
.admin-dashboard-modern .dashboard-content .actions-section .kpi-section-body,
.admin-dashboard-modern .dashboard-content .actions-section .chart-section-body,
.admin-dashboard-modern .dashboard-content .actions-section .actions-section-body {
    padding: 1.25rem;
  }
  /* line 304, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .modern-card {
    margin-bottom: 1rem;
  }
  /* line 307, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .modern-card .info-box-icon {
    width: 60px;
    height: 60px;
    font-size: 1.4rem;
  }
  /* line 313, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .modern-card .info-box-content {
    padding: 1rem;
  }
  /* line 316, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .modern-card .info-box-content .info-box-number {
    font-size: 1.8rem;
    line-height: 1.1;
  }
  /* line 321, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .modern-card .info-box-content .info-box-text {
    font-size: 0.8rem;
    margin-bottom: 0.25rem;
  }
  /* line 326, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .modern-card .info-box-content .progress-description {
    font-size: 0.75rem;
    margin-top: 0.25rem;
  }
  /* line 331, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .modern-card .info-box-content .btn {
    padding: 0.5rem 1rem;
    font-size: 0.8rem;
    margin-top: 0.5rem;
  }
  /* line 336, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .modern-card .info-box-content .btn i {
    margin-right: 0.25rem;
  }
  /* line 344, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .chart-container {
    height: 250px !important;
  }
  /* line 349, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .table-responsive {
    font-size: 0.85rem;
  }
  /* line 352, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .table-responsive .table {
    margin-bottom: 0;
  }
  /* line 355, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .table-responsive .table th, .admin-dashboard-modern .dashboard-content .table-responsive .table td {
    padding: 0.5rem 0.25rem;
    vertical-align: middle;
  }
  /* line 360, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .table-responsive .table .badge {
    font-size: 0.7rem;
    padding: 0.25rem 0.5rem;
  }
}

@media (max-width: 480px) {
  /* line 371, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content {
    padding: 0 0.25rem 0.5rem 0.25rem;
  }
  /* line 374, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .kpi-section,
.admin-dashboard-modern .dashboard-content .chart-section,
.admin-dashboard-modern .dashboard-content .actions-section {
    margin-bottom: 0.75rem;
    border-radius: 6px;
  }
  /* line 380, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .kpi-section .kpi-section-header,
.admin-dashboard-modern .dashboard-content .kpi-section .chart-section-header,
.admin-dashboard-modern .dashboard-content .kpi-section .actions-section-header,
.admin-dashboard-modern .dashboard-content .chart-section .kpi-section-header,
.admin-dashboard-modern .dashboard-content .chart-section .chart-section-header,
.admin-dashboard-modern .dashboard-content .chart-section .actions-section-header,
.admin-dashboard-modern .dashboard-content .actions-section .kpi-section-header,
.admin-dashboard-modern .dashboard-content .actions-section .chart-section-header,
.admin-dashboard-modern .dashboard-content .actions-section .actions-section-header {
    padding: 0.75rem 1rem;
  }
  /* line 385, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .kpi-section .kpi-section-header h5,
.admin-dashboard-modern .dashboard-content .kpi-section .chart-section-header h5,
.admin-dashboard-modern .dashboard-content .kpi-section .actions-section-header h5,
.admin-dashboard-modern .dashboard-content .chart-section .kpi-section-header h5,
.admin-dashboard-modern .dashboard-content .chart-section .chart-section-header h5,
.admin-dashboard-modern .dashboard-content .chart-section .actions-section-header h5,
.admin-dashboard-modern .dashboard-content .actions-section .kpi-section-header h5,
.admin-dashboard-modern .dashboard-content .actions-section .chart-section-header h5,
.admin-dashboard-modern .dashboard-content .actions-section .actions-section-header h5 {
    font-size: 0.9rem;
  }
  /* line 390, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .kpi-section .kpi-section-body,
.admin-dashboard-modern .dashboard-content .kpi-section .chart-section-body,
.admin-dashboard-modern .dashboard-content .kpi-section .actions-section-body,
.admin-dashboard-modern .dashboard-content .chart-section .kpi-section-body,
.admin-dashboard-modern .dashboard-content .chart-section .chart-section-body,
.admin-dashboard-modern .dashboard-content .chart-section .actions-section-body,
.admin-dashboard-modern .dashboard-content .actions-section .kpi-section-body,
.admin-dashboard-modern .dashboard-content .actions-section .chart-section-body,
.admin-dashboard-modern .dashboard-content .actions-section .actions-section-body {
    padding: 1rem;
  }
  /* line 398, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .modern-card .info-box-icon {
    width: 50px;
    height: 50px;
    font-size: 1.2rem;
  }
  /* line 404, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .modern-card .info-box-content {
    padding: 0.75rem;
  }
  /* line 407, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .modern-card .info-box-content .info-box-number {
    font-size: 1.5rem;
  }
  /* line 411, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .modern-card .info-box-content .info-box-text {
    font-size: 0.75rem;
  }
  /* line 415, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .modern-card .info-box-content .btn {
    padding: 0.4rem 0.8rem;
    font-size: 0.75rem;
  }
  /* line 422, app/assets/stylesheets/admin_dashboard_modern.scss */
  .admin-dashboard-modern .dashboard-content .chart-container {
    height: 200px !important;
  }
}

/* line 429, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .fade-in {
  animation: fadeIn 0.6s ease-in-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* line 445, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .tooltip-modern {
  position: relative;
  cursor: help;
}

/* line 449, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .tooltip-modern::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: #2c3e50;
  color: white;
  padding: 0.5rem 1rem;
  border-radius: 6px;
  font-size: 0.8rem;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 1000;
}

/* line 467, app/assets/stylesheets/admin_dashboard_modern.scss */
.admin-dashboard-modern .tooltip-modern:hover::after {
  opacity: 1;
}
/* line 5, app/assets/stylesheets/admin_email_dashboard.scss */
:root {
  --sc-bg: #f8fafc;
  --sc-surface: #ffffff;
  --sc-text-primary: #1e293b;
  --sc-text-secondary: #64748b;
  --sc-text-light: #94a3b8;
  --sc-primary: #3b82f6;
  --sc-success: #10b981;
  --sc-warning: #f59e0b;
  --sc-danger: #ef4444;
  --sc-info: #06b6d4;
  --sc-border: #e2e8f0;
  --sc-radius: 16px;
  --sc-radius-sm: 8px;
  --sc-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --sc-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
  --sc-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.02);
}

/* line 27, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard {
  background-color: var(--sc-bg);
  min-height: 100vh;
  padding-bottom: 3rem;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  color: var(--sc-text-primary);
}

/* line 35, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-header {
  background: var(--sc-surface);
  padding: 1.5rem 2rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid var(--sc-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}

/* line 46, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-header .header-content {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 51, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-header .header-content .header-icon {
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
  color: var(--sc-primary);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
}

/* line 63, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-header .header-content h1 {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0;
  letter-spacing: -0.025em;
  color: var(--sc-text-primary);
}

/* line 71, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-header .header-content p {
  margin: 0;
  color: var(--sc-text-secondary);
  font-size: 0.875rem;
}

/* line 78, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-header .header-actions {
  display: flex;
  gap: 0.75rem;
}

/* line 85, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-card {
  background: var(--sc-surface);
  border-radius: var(--sc-radius);
  box-shadow: var(--sc-shadow);
  border: 1px solid var(--sc-border);
  padding: 1.5rem;
  height: 100%;
  transition: transform 0.2s, box-shadow 0.2s;
}

/* line 94, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-card:hover {
  box-shadow: var(--sc-shadow-lg);
  transform: translateY(-2px);
}

/* line 99, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-card.sc-card-compact {
  padding: 1rem;
}

/* line 103, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-card .sc-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.25rem;
}

/* line 109, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-card .sc-card-header h3 {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0;
  color: var(--sc-text-primary);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 118, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-card .sc-card-header h3 i {
  color: var(--sc-text-secondary);
  font-size: 0.9em;
}

/* line 124, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-card .sc-card-header .sc-btn-tool {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  color: var(--sc-text-secondary);
  transition: all 0.2s;
  border: none;
  background: transparent;
  cursor: pointer;
}

/* line 137, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-card .sc-card-header .sc-btn-tool:hover {
  background: #f1f5f9;
  color: var(--sc-primary);
}

/* line 146, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-stat-card {
  background: var(--sc-surface);
  border-radius: var(--sc-radius);
  padding: 1.25rem;
  border: 1px solid var(--sc-border);
  box-shadow: var(--sc-shadow);
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: all 0.2s;
}

/* line 157, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-stat-card:hover {
  transform: translateY(-2px);
}

/* line 161, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-stat-card .stat-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1rem;
}

/* line 167, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-stat-card .stat-header .stat-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
}

/* line 176, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-stat-card .stat-header .stat-icon.blue {
  background: #eff6ff;
  color: #3b82f6;
}

/* line 181, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-stat-card .stat-header .stat-icon.green {
  background: #ecfdf5;
  color: #10b981;
}

/* line 186, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-stat-card .stat-header .stat-icon.yellow {
  background: #fffbeb;
  color: #f59e0b;
}

/* line 191, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-stat-card .stat-header .stat-icon.red {
  background: #fef2f2;
  color: #ef4444;
}

/* line 196, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-stat-card .stat-header .stat-icon.purple {
  background: #f3e8ff;
  color: #a855f7;
}

/* line 203, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-stat-card .stat-value {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--sc-text-primary);
  line-height: 1.2;
}

/* line 210, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-stat-card .stat-label {
  font-size: 0.875rem;
  color: var(--sc-text-secondary);
  font-weight: 500;
  margin-top: 0.25rem;
}

/* line 217, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-stat-card .stat-trend {
  font-size: 0.75rem;
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 224, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-stat-card .stat-trend.positive {
  color: var(--sc-success);
}

/* line 228, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-stat-card .stat-trend.negative {
  color: var(--sc-danger);
}

/* line 232, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-stat-card .stat-trend.neutral {
  color: var(--sc-text-secondary);
}

/* line 239, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-table-wrapper {
  overflow-x: auto;
}

/* line 242, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-table-wrapper .sc-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

/* line 247, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-table-wrapper .sc-table th {
  background: #f8fafc;
  color: var(--sc-text-secondary);
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 1rem;
  text-align: left;
  border-bottom: 1px solid var(--sc-border);
}

/* line 258, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-table-wrapper .sc-table th:first-child {
  border-top-left-radius: 8px;
}

/* line 262, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-table-wrapper .sc-table th:last-child {
  border-top-right-radius: 8px;
}

/* line 267, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-table-wrapper .sc-table td {
  padding: 1rem;
  border-bottom: 1px solid var(--sc-border);
  color: var(--sc-text-primary);
  font-size: 0.875rem;
  vertical-align: middle;
}

/* line 275, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-table-wrapper .sc-table tr:last-child td {
  border-bottom: none;
}

/* line 279, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-table-wrapper .sc-table tr:hover td {
  background: #f8fafc;
}

/* line 286, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-badge {
  padding: 0.25rem 0.625rem;
  border-radius: 99px;
  font-size: 0.75rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 295, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-badge.success {
  background: #ecfdf5;
  color: #059669;
}

/* line 300, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-badge.warning {
  background: #fffbeb;
  color: #d97706;
}

/* line 305, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-badge.danger {
  background: #fef2f2;
  color: #dc2626;
}

/* line 310, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-badge.info {
  background: #eff6ff;
  color: #2563eb;
}

/* line 315, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-badge.neutral {
  background: #f1f5f9;
  color: #64748b;
}

/* line 322, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-btn {
  padding: 0.5rem 1rem;
  border-radius: 8px;
  font-weight: 500;
  font-size: 0.875rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: all 0.2s;
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
}

/* line 335, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-btn.primary {
  background: var(--sc-primary);
  color: white;
}

/* line 339, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-btn.primary:hover {
  background: #2563eb;
  transform: translateY(-1px);
}

/* line 345, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-btn.secondary {
  background: white;
  border-color: var(--sc-border);
  color: var(--sc-text-secondary);
}

/* line 350, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-btn.secondary:hover {
  border-color: #cbd5e1;
  background: #f8fafc;
  color: var(--sc-text-primary);
}

/* line 357, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-btn.ghost {
  background: transparent;
  color: var(--sc-text-secondary);
}

/* line 361, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-btn.ghost:hover {
  background: #f1f5f9;
  color: var(--sc-text-primary);
}

/* line 367, app/assets/stylesheets/admin_email_dashboard.scss */
.softclean-dashboard .sc-btn.w-full {
  width: 100%;
  justify-content: center;
}

@media (max-width: 768px) {
  /* line 377, app/assets/stylesheets/admin_email_dashboard.scss */
  .softclean-dashboard .sc-header {
    padding: 1rem;
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 382, app/assets/stylesheets/admin_email_dashboard.scss */
  .softclean-dashboard .sc-header .header-actions {
    width: 100%;
    overflow-x: auto;
    padding-bottom: 0.5rem;
  }
  /* line 389, app/assets/stylesheets/admin_email_dashboard.scss */
  .softclean-dashboard .sc-card {
    padding: 1rem;
  }
}
/* line 6, app/assets/stylesheets/admin_layout.scss */
.admin-navbar {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

/* line 11, app/assets/stylesheets/admin_layout.scss */
.admin-sidebar {
  background: #2c3e50;
}

/* line 16, app/assets/stylesheets/admin_layout.scss */
.metric-card {
  transition: transform 0.2s;
  border-left: 4px solid;
}

/* line 20, app/assets/stylesheets/admin_layout.scss */
.metric-card:hover {
  transform: translateY(-2px);
}

/* line 25, app/assets/stylesheets/admin_layout.scss */
.metric-up {
  border-left-color: #28a745;
}

/* line 29, app/assets/stylesheets/admin_layout.scss */
.metric-down {
  border-left-color: #dc3545;
}

/* line 33, app/assets/stylesheets/admin_layout.scss */
.metric-neutral {
  border-left-color: #ffc107;
}

/* line 38, app/assets/stylesheets/admin_layout.scss */
.alert-critical {
  border-left: 4px solid #dc3545;
}

/* line 42, app/assets/stylesheets/admin_layout.scss */
.alert-warning {
  border-left: 4px solid #ffc107;
}

/* line 46, app/assets/stylesheets/admin_layout.scss */
.alert-info {
  border-left: 4px solid #17a2b8;
}

/* line 51, app/assets/stylesheets/admin_layout.scss */
.chart-container {
  position: relative;
  height: 300px;
}

/* line 58, app/assets/stylesheets/admin_layout.scss */
.nav-treeview .nav-item {
  margin-left: 20px;
}

/* line 62, app/assets/stylesheets/admin_layout.scss */
.nav-treeview .nav-link {
  padding-left: 10px;
}

/* line 68, app/assets/stylesheets/admin_layout.scss */
.content-header {
  margin-top: 0.5rem !important;
}

/* line 73, app/assets/stylesheets/admin_layout.scss */
.content-wrapper > .content-header,
.content-wrapper > .content {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

/* line 81, app/assets/stylesheets/admin_layout.scss */
.sidebar {
  height: calc(100vh - 57px);
  overflow-y: auto !important;
  overflow-x: hidden;
  max-height: calc(100vh - 57px);
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.2) rgba(255, 255, 255, 0.05);
}

/* line 88, app/assets/stylesheets/admin_layout.scss */
.sidebar::-webkit-scrollbar {
  width: 8px;
}

/* line 92, app/assets/stylesheets/admin_layout.scss */
.sidebar::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 4px;
}

/* line 97, app/assets/stylesheets/admin_layout.scss */
.sidebar::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 4px;
}

/* line 101, app/assets/stylesheets/admin_layout.scss */
.sidebar::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.3);
}

/* line 112, app/assets/stylesheets/admin_layout.scss */
.main-header {
  position: relative;
}

/* line 116, app/assets/stylesheets/admin_layout.scss */
.impersonation-center-banner {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  top: 50%;
  transform: translate(-50%, -50%);
}

/* line 125, app/assets/stylesheets/admin_layout.scss */
.impersonation-navbar-banner {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  padding: 8px 15px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 400px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  position: relative;
  overflow: hidden;
}

/* line 138, app/assets/stylesheets/admin_layout.scss */
.impersonation-navbar-banner::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  animation: shimmer 3s infinite;
}

@keyframes shimmer {
  0% {
    left: -100%;
  }
  100% {
    left: 100%;
  }
}

/* line 155, app/assets/stylesheets/admin_layout.scss */
.impersonation-info {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
}

/* line 162, app/assets/stylesheets/admin_layout.scss */
.impersonation-icon {
  font-size: 16px;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}

/* line 172, app/assets/stylesheets/admin_layout.scss */
.impersonation-text {
  font-size: 13px;
  line-height: 1.3;
}

/* line 176, app/assets/stylesheets/admin_layout.scss */
.impersonation-text strong {
  font-weight: 600;
}

/* line 181, app/assets/stylesheets/admin_layout.scss */
.tenant-name {
  color: #ffd700;
  font-weight: 500;
}

/* line 186, app/assets/stylesheets/admin_layout.scss */
.user-name {
  color: #e0e0e0;
  font-size: 12px;
}

/* line 191, app/assets/stylesheets/admin_layout.scss */
.impersonation-timer {
  font-size: 12px;
  background: rgba(255, 255, 255, 0.2);
  padding: 4px 8px;
  border-radius: 4px;
  margin-left: 10px;
}

/* line 199, app/assets/stylesheets/admin_layout.scss */
.impersonation-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 204, app/assets/stylesheets/admin_layout.scss */
.impersonation-actions .btn {
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 4px;
}

/* line 210, app/assets/stylesheets/admin_layout.scss */
.impersonation-actions .btn-outline-light:hover {
  background-color: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.5);
}

@media (max-width: 768px) {
  /* line 218, app/assets/stylesheets/admin_layout.scss */
  .impersonation-center-banner {
    position: static;
    transform: none;
    margin: 5px auto;
    width: 100%;
    max-width: 90%;
  }
  /* line 226, app/assets/stylesheets/admin_layout.scss */
  .impersonation-navbar-banner {
    min-width: 300px;
    padding: 6px 10px;
    width: 100%;
  }
  /* line 232, app/assets/stylesheets/admin_layout.scss */
  .impersonation-text {
    font-size: 12px;
  }
  /* line 236, app/assets/stylesheets/admin_layout.scss */
  .impersonation-timer {
    font-size: 11px;
    padding: 3px 6px;
  }
  /* line 241, app/assets/stylesheets/admin_layout.scss */
  .impersonation-actions .btn {
    font-size: 11px;
    padding: 3px 6px;
  }
}

@media (max-width: 576px) {
  /* line 248, app/assets/stylesheets/admin_layout.scss */
  .impersonation-center-banner {
    position: static;
    transform: none;
    margin: 5px auto;
    width: 100%;
    max-width: 95%;
  }
  /* line 256, app/assets/stylesheets/admin_layout.scss */
  .impersonation-navbar-banner {
    min-width: 250px;
    flex-direction: column;
    gap: 8px;
    width: 100%;
  }
  /* line 263, app/assets/stylesheets/admin_layout.scss */
  .impersonation-info {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
  }
  /* line 269, app/assets/stylesheets/admin_layout.scss */
  .impersonation-timer {
    margin-left: 0;
  }
}
/* line 3, app/assets/stylesheets/admin_staging_sync.scss */
.staging-sync__backup-list {
  max-height: 18rem;
  overflow-y: auto;
  border: 1px solid var(--gray-400, #ced4da);
  border-radius: 4px;
}

/* line 10, app/assets/stylesheets/admin_staging_sync.scss */
.staging-sync__backup-row {
  display: flex;
  align-items: center;
  padding: 0.4rem 0.6rem;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.15s ease;
  font-size: 0.85rem;
}

/* line 19, app/assets/stylesheets/admin_staging_sync.scss */
.staging-sync__backup-row:last-child {
  border-bottom: none;
}

/* line 20, app/assets/stylesheets/admin_staging_sync.scss */
.staging-sync__backup-row:hover {
  background-color: var(--gray-100, #f8f9fa);
}

/* line 22, app/assets/stylesheets/admin_staging_sync.scss */
.staging-sync__backup-row:has(input:checked) {
  background-color: rgba(220, 53, 69, 0.06);
  font-weight: 600;
}

/* line 28, app/assets/stylesheets/admin_staging_sync.scss */
.staging-sync__summary {
  border-left: 3px solid var(--erp-danger, #dc3545);
  padding: 0.4rem 0.75rem;
  background: #fff8f8;
  border-radius: 0 4px 4px 0;
  font-size: 0.85rem;
}

/* line 36, app/assets/stylesheets/admin_staging_sync.scss */
.staging-sync__confirm-input {
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* line 44, app/assets/stylesheets/admin_staging_sync.scss */
#confirmModal .modal-content {
  border: 2px solid var(--erp-danger, #dc3545);
}

/* line 48, app/assets/stylesheets/admin_staging_sync.scss */
#confirmSyncButton:disabled {
  cursor: not-allowed;
}

/* line 54, app/assets/stylesheets/admin_staging_sync.scss */
.staging-sync-status__card {
  border-left: 4px solid var(--erp-info, #3498db);
}

/* line 58, app/assets/stylesheets/admin_staging_sync.scss */
.staging-sync-status__logs {
  font-family: ui-monospace, SFMono-Regular, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  line-height: 1.5;
  max-height: 26rem;
  overflow-y: auto;
}

/* line 65, app/assets/stylesheets/admin_staging_sync.scss */
.staging-sync-status__placeholder {
  min-height: 1.5rem;
}

/* line 69, app/assets/stylesheets/admin_staging_sync.scss */
.staging-sync-status__log-line {
  margin-bottom: 2px;
  padding: 2px 0;
  word-break: break-word;
}

/* line 75, app/assets/stylesheets/admin_staging_sync.scss */
.staging-sync-status__log-line.text-success {
  font-weight: 600;
}

/* line 79, app/assets/stylesheets/admin_staging_sync.scss */
.staging-sync-status__log-line.text-danger {
  font-weight: 600;
  background-color: rgba(220, 53, 69, 0.1);
  padding: 4px;
  margin: 4px 0;
}

/* line 86, app/assets/stylesheets/admin_staging_sync.scss */
.staging-sync-status__progress {
  border-radius: 0.5rem;
  min-height: 1.9rem;
}

/* line 91, app/assets/stylesheets/admin_staging_sync.scss */
.staging-sync-status__progress-bar {
  font-size: 0.875rem;
  font-weight: 600;
  width: 0%;
}
/**
 * Estilos para Preview de Anexos
 * Usado com attachment_preview_controller.js
 */

/* Container do preview de anexo */
.attachment-preview-wrapper {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
}

/* Overlay que aparece ao passar o mouse sobre a imagem */
.attachment-preview-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.attachment-preview-wrapper:hover .attachment-preview-overlay {
  opacity: 1;
  pointer-events: auto;
}

.attachment-preview-overlay .btn {
  pointer-events: auto;
}

/* Customização do modal SweetAlert2 para preview */
.swal2-popup.attachment-preview-modal {
  padding: 20px;
}

.swal2-popup.attachment-preview-modal .swal2-title {
  font-size: 1.5rem;
  margin-bottom: 15px;
}

.swal2-popup.attachment-preview-modal .swal2-image {
  max-width: 100%;
  max-height: 70vh;
  object-fit: contain;
  margin: 0 auto;
}

/* Estilo específico para imagem no preview */
.attachment-preview-image {
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Ações de imagem */
.image-actions {
  display: flex;
  gap: 10px;
  justify-content: center;
  padding-top: 15px;
}

/* Container de conteúdo da imagem */
.image-preview-content {
  padding: 0 !important;
  margin: 0 !important;
}

/* Container do PDF no modal */
.pdf-preview-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.pdf-preview-container iframe {
  width: 100%;
  height: 100%;
  border: 1px solid #ddd;
  border-radius: 4px;
  background-color: #f5f5f5;
}

/* Ações do PDF */
.pdf-actions {
  display: flex;
  gap: 10px;
  justify-content: center;
  padding-top: 15px;
}

/* Customização do modal de galeria */
.swal2-popup.gallery-modal .swal2-actions {
  width: 100%;
  justify-content: space-between;
  margin-top: 20px;
}

.swal2-popup.gallery-modal .swal2-confirm,
.swal2-popup.gallery-modal .swal2-cancel {
  min-width: 120px;
}

/* Responsividade */
@media (max-width: 768px) {
  .attachment-preview-overlay {
    opacity: 1;
    background-color: rgba(0, 0, 0, 0.3);
  }
  
  .swal2-popup.attachment-preview-modal {
    width: 95% !important;
  }
  
  .pdf-preview-container {
    height: 60vh !important;
    min-height: 400px !important;
  }
  
  .pdf-actions,
  .image-actions {
    flex-direction: column;
  }
  
  .pdf-actions .btn,
  .image-actions .btn {
    width: 100%;
  }
}

/* Animação de zoom na imagem */
.attachment-preview-image {
  transition: transform 0.3s ease;
  transform-origin: center center;
}

/* Botão de visualização em grupos de botões */
.btn-group .btn-outline-info {
  border-color: #17a2b8;
  color: #17a2b8;
}

.btn-group .btn-outline-info:hover {
  background-color: #17a2b8;
  color: white;
}

/* Ajustes para o card de anexos */
.erp-card .attachment-preview-wrapper img {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.erp-card .attachment-preview-wrapper:hover img {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Indicador de loading para preview */
.swal2-popup.attachment-preview-modal .swal2-loader {
  border-color: #007bff;
  border-right-color: transparent;
}

/* Estilo para o close button do modal */
.swal2-popup.attachment-preview-modal .swal2-close {
  font-size: 2rem;
  color: #666;
}

.swal2-popup.attachment-preview-modal .swal2-close:hover {
  color: #333;
}

/* Container de conteúdo do PDF */
.pdf-preview-content {
  padding: 0 !important;
  margin: 0 !important;
}

/* Ajuste do título no preview de PDF */
.swal2-popup.pdf-preview-modal .swal2-title {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e9ecef;
}

/* Botões na lista de documentos */
.list-group-item .btn-group {
  white-space: nowrap;
}

.list-group-item .btn-group .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
}

/* Ajustes para dark mode (se houver) */
@media (prefers-color-scheme: dark) {
  .attachment-preview-overlay {
    background-color: rgba(0, 0, 0, 0.7);
  }
  
  .pdf-preview-container iframe {
    background-color: #2d3748;
    border-color: #4a5568;
  }
}
/* line 10, app/assets/stylesheets/base/_variables.scss */
:root {
  --color-primary: #007bff;
  --color-primary-dark: #0056b3;
  --color-primary-light: #66afe9;
  --erp-primary: #2c3e50;
  --erp-primary-light: #34495e;
  --erp-primary-dark: #1a252f;
  --erp-secondary: #7f8c8d;
  --erp-success: #27ae60;
  --erp-warning: #f39c12;
  --erp-danger: #e74c3c;
  --erp-info: #3498db;
  --erp-ui-accent: #2c3e50;
  --erp-ui-accent-ink: #ffffff;
  --erp-ui-accent-hover: #22303e;
  --erp-ui-accent-pressed: #1a252f;
  --erp-ui-accent-soft: #dde5ee;
  --erp-ui-accent-marker: #8fa9c2;
  --erp-ui-page: #f3f5f8;
  --erp-ui-surface: #ffffff;
  --erp-ui-surface-2: #f8fafc;
  --erp-ui-ink: #1a2028;
  --erp-ui-ink-2: #5a6472;
  --erp-ui-ink-3: #8a93a0;
  --erp-ui-hairline: #e3e7ed;
  --erp-ui-hairline-strong: #cdd4dd;
  --erp-ui-good: #0ca30c;
  --erp-ui-good-text: #006300;
  --erp-ui-good-soft: #e9f5e9;
  --erp-ui-good-wash: #f7fcf7;
  --erp-ui-warning: #fab219;
  --erp-ui-warning-text: #7a5200;
  --erp-ui-warning-soft: #fdf3dc;
  --erp-ui-warning-wash: #fffbf3;
  --erp-ui-critical: #d03b3b;
  --erp-ui-critical-text: #a32424;
  --erp-ui-critical-soft: #fbe9e9;
  --erp-ui-critical-wash: #fef7f7;
  --erp-ui-chart-1: #2c3e50;
  --erp-ui-chart-2: #0ca30c;
  --erp-ui-chart-3: #fab219;
  --erp-ui-chart-4: #d03b3b;
  --erp-ui-chart-5: #8fa9c2;
  --erp-ui-chart-6: #8a93a0;
  --erp-ui-blue-soft: #cfe2ff;
  --erp-ui-blue-text: #084298;
  --erp-ui-blue-ink: #ffffff;
  --erp-ui-radius: 8px;
  --erp-ui-shadow: 0 1px 2px rgba(26, 32, 40, 0.05);
  --erp-ui-shadow-overlay: 0 4px 16px rgba(26, 32, 40, 0.25);
  --color-secondary: #6c757d;
  --color-secondary-dark: #5a6268;
  --color-secondary-light: #adb5bd;
  --color-success: #28a745;
  --color-success-dark: #218838;
  --color-success-light: #d4edda;
  --color-danger: #dc3545;
  --color-danger-dark: #c82333;
  --color-danger-light: #f8d7da;
  --color-warning: #ffc107;
  --color-warning-dark: #e0a800;
  --color-warning-light: #fff3cd;
  --color-info: #17a2b8;
  --color-info-dark: #138496;
  --color-info-light: #d1ecf1;
  --gray-50: #ffffff;
  --gray-100: #f8f9fa;
  --gray-200: #e9ecef;
  --gray-300: #dee2e6;
  --gray-400: #ced4da;
  --gray-500: #adb5bd;
  --gray-600: #6c757d;
  --gray-700: #495057;
  --gray-800: #343a40;
  --gray-900: #212529;
  --gray-1000: #000000;
  --sidebar-width: 250px;
  --sidebar-collapsed-width: 4.6rem;
  --sidebar-bg: var(--gray-900);
  --sidebar-color: var(--gray-300);
  --header-height: 3.5rem;
  --header-bg: var(--gray-50);
  --header-border: var(--gray-300);
  --footer-height: 60px;
  --footer-bg: var(--gray-50);
  --footer-border: var(--gray-300);
  --content-max-width: 1400px;
  --content-padding: 1rem;
  --spacing-0: 0;
  --spacing-1: 0.25rem;
  --spacing-2: 0.5rem;
  --spacing-3: 0.75rem;
  --spacing-4: 1rem;
  --spacing-5: 1.25rem;
  --spacing-6: 1.5rem;
  --spacing-8: 2rem;
  --spacing-10: 2.5rem;
  --spacing-12: 3rem;
  --spacing-16: 4rem;
  --spacing-xs: var(--spacing-1);
  --spacing-sm: var(--spacing-2);
  --spacing-md: var(--spacing-4);
  --spacing-lg: var(--spacing-6);
  --spacing-xl: var(--spacing-8);
  --font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-family-monospace: "SFMono-Regular", Menlo, Monaco, Consolas, monospace;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 1.875rem;
  --font-size-4xl: 2.25rem;
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;
  --border-width-thin: 1px;
  --border-width-base: 2px;
  --border-width-thick: 3px;
  --border-radius-none: 0;
  --border-radius-sm: 2px;
  --border-radius-base: 4px;
  --border-radius-md: 6px;
  --border-radius-lg: 8px;
  --border-radius-xl: 12px;
  --border-radius-full: 9999px;
  --border-color-light: var(--gray-200);
  --border-color-base: var(--gray-300);
  --border-color-dark: var(--gray-400);
  --shadow-none: none;
  --shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
  --shadow-base: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
  --shadow-md: 0 4px 6px 0 rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px 0 rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 20px 25px 0 rgba(0, 0, 0, 0.15);
  --erp-shadow-light: 0 1px 3px rgba(0,0,0,0.05);
  --erp-shadow-medium: 0 2px 6px rgba(0,0,0,0.08);
  --erp-shadow-lg: 0 10px 15px rgba(0,0,0,0.1);
  --erp-shadow-xl: 0 20px 25px rgba(0,0,0,0.15);
  --shadow-primary: 0 4px 8px rgba(0, 123, 255, 0.2);
  --shadow-success: 0 4px 8px rgba(40, 167, 69, 0.2);
  --shadow-danger: 0 4px 8px rgba(220, 53, 69, 0.2);
  --transition-fast: 150ms;
  --transition-base: 300ms;
  --transition-slow: 500ms;
  --ease-linear: linear;
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --transition-all: all var(--transition-base) var(--ease-in-out);
  --transition-colors: background-color var(--transition-base) var(--ease-in-out), 
                       border-color var(--transition-base) var(--ease-in-out), 
                       color var(--transition-base) var(--ease-in-out);
  --z-base: 1;
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-fixed: 1030;
  --z-modal-backdrop: 1040;
  --z-modal: 1050;
  --z-popover: 1060;
  --z-tooltip: 1070;
  --card-bg: var(--gray-50);
  --card-border: var(--border-color-base);
  --card-border-radius: var(--border-radius-base);
  --card-padding: var(--spacing-md);
  --card-shadow: var(--shadow-sm);
  --btn-padding-y: 0.5rem;
  --btn-padding-x: 1rem;
  --btn-border-radius: var(--border-radius-base);
  --btn-font-size: var(--font-size-sm);
  --btn-font-weight: var(--font-weight-medium);
  --input-padding-y: 0.5rem;
  --input-padding-x: 0.75rem;
  --input-border-color: var(--border-color-base);
  --input-border-radius: var(--border-radius-base);
  --input-focus-border: var(--color-primary);
  --input-focus-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
  --badge-padding-y: 0.25rem;
  --badge-padding-x: 0.5rem;
  --badge-font-size: var(--font-size-xs);
  --badge-border-radius: var(--border-radius-full);
  --modal-backdrop-bg: rgba(0, 0, 0, 0.5);
  --modal-content-bg: var(--gray-50);
  --modal-border-radius: var(--border-radius-lg);
  --modal-padding: var(--spacing-6);
  --table-cell-padding: 0.75rem;
  --table-border-color: var(--border-color-light);
  --table-hover-bg: var(--gray-100);
  --table-striped-bg: var(--gray-50);
  --recon-summary-bg-start: #f0f4ff;
  --recon-summary-bg-end: #e8f0fe;
  --recon-summary-border: #c2d5f7;
  --recon-summary-accent-icon: #4285f4;
  --recon-summary-accent-text: #1a73e8;
  --recon-summary-detail-icon: #34a853;
  --recon-summary-expense-bg: #fce8e6;
  --recon-summary-expense-text: #d93025;
  --recon-summary-revenue-bg: #e6f4ea;
  --recon-summary-revenue-text: #1e8e3e;
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --breakpoint-xxl: 1400px;
}
/* line 15, app/assets/stylesheets/components/_badges.scss */
.badge, .status-badge {
  padding: var(--badge-padding-y) var(--badge-padding-x);
  font-size: var(--badge-font-size);
  font-weight: var(--font-weight-medium);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: var(--badge-border-radius);
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-1);
  white-space: nowrap;
}

/* line 28, app/assets/stylesheets/components/_badges.scss */
.badge i, .status-badge i {
  font-size: 0.875em;
  flex-shrink: 0;
}

/* line 40, app/assets/stylesheets/components/_badges.scss */
.badge--active, .status-badge.active, .badge--success, .badge--completed, .status-badge.completed, .badge--approved, .status-badge.approved, .badge--finished, .status-badge.finished {
  background-color: var(--color-success-light);
  color: var(--color-success-dark);
}

/* line 50, app/assets/stylesheets/components/_badges.scss */
.badge--inactive, .status-badge.inactive, .badge--danger, .badge--cancelled, .status-badge.cancelled, .badge--rejected, .status-badge.rejected {
  background-color: var(--color-danger-light);
  color: var(--color-danger-dark);
}

/* line 59, app/assets/stylesheets/components/_badges.scss */
.badge--pending, .status-badge.pending, .badge--warning {
  background-color: var(--color-warning-light);
  color: var(--color-warning-dark);
}

/* line 66, app/assets/stylesheets/components/_badges.scss */
.badge--info, .badge--in_progress, .status-badge.in_progress {
  background-color: var(--color-info-light);
  color: var(--color-info-dark);
}

/* line 73, app/assets/stylesheets/components/_badges.scss */
.badge--draft, .status-badge.draft, .badge--secondary {
  background-color: var(--gray-200);
  color: var(--gray-700);
}

/* line 80, app/assets/stylesheets/components/_badges.scss */
.badge--suspended, .status-badge.suspended {
  background-color: #ffeaa7;
  color: #856404;
}

/* line 90, app/assets/stylesheets/components/_badges.scss */
.priority-badge,
.badge--priority-low,
.badge--priority-medium,
.badge--priority-high,
.badge--priority-urgent {
  padding: 2px 6px;
  font-size: 10px;
  font-weight: 600;
  text-align: center;
  min-width: 50px;
}

/* line 102, app/assets/stylesheets/components/_badges.scss */
.priority-badge.low,
.badge--priority-low {
  background-color: #d4edda;
  color: #155724;
}

/* line 108, app/assets/stylesheets/components/_badges.scss */
.priority-badge.medium,
.badge--priority-medium {
  background-color: #fff3cd;
  color: #856404;
}

/* line 114, app/assets/stylesheets/components/_badges.scss */
.priority-badge.high,
.badge--priority-high {
  background-color: #f8d7da;
  color: #721c24;
}

/* line 120, app/assets/stylesheets/components/_badges.scss */
.priority-badge.urgent,
.badge--priority-urgent {
  background-color: #721c24;
  color: white;
}

/* line 131, app/assets/stylesheets/components/_badges.scss */
.type-badge--labor, .type-badge--labour {
  background-color: #e3f2fd;
  color: #1976d2;
}

/* line 137, app/assets/stylesheets/components/_badges.scss */
.type-badge--material {
  background-color: #f3e5f5;
  color: #7b1fa2;
}

/* line 142, app/assets/stylesheets/components/_badges.scss */
.type-badge--equipment {
  background-color: #e8f5e8;
  color: #388e3c;
}

/* line 147, app/assets/stylesheets/components/_badges.scss */
.type-badge--other {
  background-color: #fff3e0;
  color: #f57c00;
}

/* line 152, app/assets/stylesheets/components/_badges.scss */
.type-badge--revenue {
  background-color: #e8f5e8;
  color: #2e7d32;
}

/* line 157, app/assets/stylesheets/components/_badges.scss */
.type-badge--expense {
  background-color: #ffebee;
  color: #c62828;
}

/* line 168, app/assets/stylesheets/components/_badges.scss */
.badge--entry, .status-badge.entry, .badge--movement-entry {
  background-color: #28a745;
  color: white;
}

/* line 174, app/assets/stylesheets/components/_badges.scss */
.badge--exit, .status-badge.exit, .badge--movement-exit {
  background-color: #dc3545;
  color: white;
}

/* line 180, app/assets/stylesheets/components/_badges.scss */
.badge--transfer, .status-badge.transfer, .badge--movement-transfer {
  background-color: #17a2b8;
  color: white;
}

/* line 186, app/assets/stylesheets/components/_badges.scss */
.badge--adjustment, .status-badge.adjustment, .badge--movement-adjustment {
  background-color: #ffc107;
  color: #212529;
}

/* line 198, app/assets/stylesheets/components/_badges.scss */
.badge--expired {
  background-color: #f8d7da;
  color: #721c24;
}

/* line 203, app/assets/stylesheets/components/_badges.scss */
.badge--with-budget {
  background-color: #fff3cd;
  color: #856404;
}

/* line 208, app/assets/stylesheets/components/_badges.scss */
.badge--without-budget {
  background-color: #f8d7da;
  color: #721c24;
}

/* line 241, app/assets/stylesheets/components/_badges.scss */
.action-badge.view {
  background-color: #17a2b8;
  color: white;
}

/* line 246, app/assets/stylesheets/components/_badges.scss */
.action-badge.edit {
  background-color: #ffc107;
  color: #212529;
}

/* line 251, app/assets/stylesheets/components/_badges.scss */
.action-badge.danger {
  background-color: #dc3545;
  color: white;
}

/* line 262, app/assets/stylesheets/components/_badges.scss */
.badge--sm {
  font-size: calc(var(--badge-font-size) * 0.875);
  padding: calc(var(--badge-padding-y) * 0.75) calc(var(--badge-padding-x) * 0.75);
}

/* line 267, app/assets/stylesheets/components/_badges.scss */
.badge--lg {
  font-size: calc(var(--badge-font-size) * 1.125);
  padding: calc(var(--badge-padding-y) * 1.25) calc(var(--badge-padding-x) * 1.25);
}

/* line 279, app/assets/stylesheets/components/_badges.scss */
.badge--pulse {
  animation: badge-pulse 2s infinite;
}

/* line 284, app/assets/stylesheets/components/_badges.scss */
.badge--outlined {
  background-color: transparent;
  border: 2px solid currentColor;
}

@keyframes badge-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}

@media (max-width: 576px) {
  /* line 304, app/assets/stylesheets/components/_badges.scss */
  .badge, .status-badge {
    font-size: calc(var(--badge-font-size) * 0.875);
    padding: calc(var(--badge-padding-y) * 0.875) calc(var(--badge-padding-x) * 0.875);
  }
}
/* line 4, app/assets/stylesheets/components/_camera_modal.scss */
.camera-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 16, app/assets/stylesheets/components/_camera_modal.scss */
.camera-modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.9);
}

/* line 25, app/assets/stylesheets/components/_camera_modal.scss */
.camera-modal-content {
  position: relative;
  z-index: 10000;
  background: white;
  border-radius: 8px;
  max-width: 90vw;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

/* line 38, app/assets/stylesheets/components/_camera_modal.scss */
.camera-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  background: #2c3e50;
  color: white;
}

/* line 46, app/assets/stylesheets/components/_camera_modal.scss */
.camera-header h5 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

/* line 52, app/assets/stylesheets/components/_camera_modal.scss */
.camera-header .btn-camera-switch {
  background: rgba(255, 255, 255, 0.1);
  border: none;
  color: white;
  padding: 8px 12px;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.2s;
}

/* line 61, app/assets/stylesheets/components/_camera_modal.scss */
.camera-header .btn-camera-switch:hover {
  background: rgba(255, 255, 255, 0.2);
}

/* line 67, app/assets/stylesheets/components/_camera_modal.scss */
.camera-body {
  position: relative;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: black;
  min-height: 300px;
}

/* line 76, app/assets/stylesheets/components/_camera_modal.scss */
.camera-body video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 82, app/assets/stylesheets/components/_camera_modal.scss */
.camera-body canvas {
  display: none;
}

/* line 87, app/assets/stylesheets/components/_camera_modal.scss */
.camera-footer {
  display: flex;
  gap: 12px;
  padding: 16px;
  background: #f8f9fa;
  justify-content: center;
}

/* line 94, app/assets/stylesheets/components/_camera_modal.scss */
.camera-footer .btn {
  min-width: 120px;
  font-size: 14px;
  padding: 10px 20px;
}

/* line 99, app/assets/stylesheets/components/_camera_modal.scss */
.camera-footer .btn i {
  margin-right: 6px;
}

/* line 104, app/assets/stylesheets/components/_camera_modal.scss */
.camera-footer .btn-camera-capture {
  background: #27ae60;
  border-color: #27ae60;
  color: white;
}

/* line 109, app/assets/stylesheets/components/_camera_modal.scss */
.camera-footer .btn-camera-capture:hover {
  background: #219a52;
  border-color: #219a52;
}

/* line 117, app/assets/stylesheets/components/_camera_modal.scss */
.photo-preview {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  background: #f8f9fa;
}

/* line 124, app/assets/stylesheets/components/_camera_modal.scss */
.photo-preview.d-none {
  display: none;
}

/* line 129, app/assets/stylesheets/components/_camera_modal.scss */
.preview-thumb {
  position: relative;
  width: 100%;
  max-width: 200px;
}

/* line 134, app/assets/stylesheets/components/_camera_modal.scss */
.preview-thumb img {
  width: 100%;
  height: auto;
  border-radius: 4px;
  border: 2px solid #dee2e6;
}

/* line 141, app/assets/stylesheets/components/_camera_modal.scss */
.preview-thumb .btn-remove-preview {
  position: absolute;
  top: -8px;
  right: -8px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #dc3545;
  color: white;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* line 158, app/assets/stylesheets/components/_camera_modal.scss */
.preview-thumb .btn-remove-preview:hover {
  background: #c82333;
}

/* line 164, app/assets/stylesheets/components/_camera_modal.scss */
.preview-info {
  margin-top: 8px;
  display: flex;
  gap: 8px;
}

/* line 169, app/assets/stylesheets/components/_camera_modal.scss */
.preview-info .gps-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  background: #27ae60;
  color: white;
  font-size: 11px;
  border-radius: 12px;
}

/* line 179, app/assets/stylesheets/components/_camera_modal.scss */
.preview-info .gps-badge.d-none {
  display: none;
}

/* line 186, app/assets/stylesheets/components/_camera_modal.scss */
.btn-capture-photo {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: #27ae60;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: background 0.2s;
}

/* line 200, app/assets/stylesheets/components/_camera_modal.scss */
.btn-capture-photo:hover {
  background: #219a52;
  text-decoration: none;
  color: white;
}

/* line 206, app/assets/stylesheets/components/_camera_modal.scss */
.btn-capture-photo i {
  font-size: 16px;
}

@media (max-width: 768px) {
  /* line 213, app/assets/stylesheets/components/_camera_modal.scss */
  .camera-modal-content {
    max-width: 100vw;
    max-height: 100vh;
    border-radius: 0;
  }
  /* line 219, app/assets/stylesheets/components/_camera_modal.scss */
  .camera-body {
    min-height: 60vh;
  }
  /* line 224, app/assets/stylesheets/components/_camera_modal.scss */
  .camera-footer .btn {
    flex: 1;
    min-width: auto;
  }
}

@media (display-mode: standalone) {
  /* line 233, app/assets/stylesheets/components/_camera_modal.scss */
  .camera-modal-content {
    max-height: 100vh;
  }
  /* line 237, app/assets/stylesheets/components/_camera_modal.scss */
  .camera-body {
    min-height: 70vh;
  }
}
/* line 2, app/assets/stylesheets/components/_cards.scss */
.card, .report-card, .notification-card, .alert-card, .maintenance-card {
  @apply bg-white rounded-lg shadow-sm p-4;
}

/* line 5, app/assets/stylesheets/components/_cards.scss */
.card-header {
  @apply flex justify-between items-start mb-4;
}

/* line 9, app/assets/stylesheets/components/_cards.scss */
.card-title {
  @apply text-lg font-semibold;
}

/* line 13, app/assets/stylesheets/components/_cards.scss */
.card-subtitle {
  @apply text-sm text-gray-600;
}

/* line 17, app/assets/stylesheets/components/_cards.scss */
.card-content {
  @apply space-y-4;
}

/* line 21, app/assets/stylesheets/components/_cards.scss */
.card-footer {
  @apply mt-4 flex justify-end space-x-2;
}

/* line 30, app/assets/stylesheets/components/_cards.scss */
.maintenance-card .status-badge {
  @apply px-2 py-1 text-xs rounded-full;
}

/* line 38, app/assets/stylesheets/components/_cards.scss */
.alert-card .priority-badge {
  @apply px-2 py-1 text-xs rounded-full;
}

/* line 46, app/assets/stylesheets/components/_cards.scss */
.notification-card .error-message {
  @apply mt-4 p-2 bg-red-50 text-red-700 rounded;
}

/* line 54, app/assets/stylesheets/components/_cards.scss */
.report-card .period {
  @apply font-medium;
}

/* line 60, app/assets/stylesheets/components/_cards.scss */
.btn {
  @apply px-3 py-1.5 rounded text-sm font-medium transition-colors;
}

/* line 63, app/assets/stylesheets/components/_cards.scss */
.btn-sm {
  @apply px-2 py-1 text-xs;
}

/* line 67, app/assets/stylesheets/components/_cards.scss */
.btn-outline {
  @apply border border-gray-300 text-gray-700 hover:bg-gray-50;
}

/* line 71, app/assets/stylesheets/components/_cards.scss */
.btn-danger {
  @apply bg-red-600 text-white hover:bg-red-700;
}
@charset "UTF-8";
/* =============================================================================
   CHARTS - Estilos consolidados para gráficos Chart.js
   ============================================================================= */
/* Canvas base para gráficos */
/* line 6, app/assets/stylesheets/components/_charts.scss */
.chart-canvas, .chart-wrapper canvas {
  min-height: 250px;
  height: 250px;
  max-height: 250px;
  max-width: 100%;
  /* Variante grande (300px) */
  /* Variante pequena (200px) */
  /* Variante extra pequena (150px) */
  /* Responsividade */
}

/* line 13, app/assets/stylesheets/components/_charts.scss */
.chart-canvas--large {
  min-height: 300px;
  height: 300px;
  max-height: 300px;
}

/* line 20, app/assets/stylesheets/components/_charts.scss */
.chart-canvas--small {
  min-height: 200px;
  height: 200px;
  max-height: 200px;
}

/* line 27, app/assets/stylesheets/components/_charts.scss */
.chart-canvas--xsmall {
  min-height: 150px;
  height: 150px;
  max-height: 150px;
}

@media (max-width: 768px) {
  /* line 6, app/assets/stylesheets/components/_charts.scss */
  .chart-canvas, .chart-wrapper canvas {
    min-height: 200px;
    height: 200px;
    max-height: 200px;
  }
  /* line 39, app/assets/stylesheets/components/_charts.scss */
  .chart-canvas--large {
    min-height: 250px;
    height: 250px;
    max-height: 250px;
  }
  /* line 45, app/assets/stylesheets/components/_charts.scss */
  .chart-canvas--small {
    min-height: 150px;
    height: 150px;
    max-height: 150px;
  }
}

@media (max-width: 576px) {
  /* line 6, app/assets/stylesheets/components/_charts.scss */
  .chart-canvas, .chart-wrapper canvas {
    min-height: 150px;
    height: 150px;
    max-height: 150px;
  }
  /* line 57, app/assets/stylesheets/components/_charts.scss */
  .chart-canvas--large {
    min-height: 200px;
    height: 200px;
    max-height: 200px;
  }
  /* line 63, app/assets/stylesheets/components/_charts.scss */
  .chart-canvas--small {
    min-height: 120px;
    height: 120px;
    max-height: 120px;
  }
}

/* Container de gráficos */
/* line 72, app/assets/stylesheets/components/_charts.scss */
.chart-container {
  position: relative;
}

/* line 75, app/assets/stylesheets/components/_charts.scss */
.chart-container--height-300 {
  height: 300px;
}

/* line 79, app/assets/stylesheets/components/_charts.scss */
.chart-container--height-250 {
  height: 250px;
}

/* line 83, app/assets/stylesheets/components/_charts.scss */
.chart-container--height-200 {
  height: 200px;
}

/* Chart wrapper com padding */
/* line 89, app/assets/stylesheets/components/_charts.scss */
.chart-wrapper {
  position: relative;
  padding: 15px;
}
/* line 14, app/assets/stylesheets/components/_default_risks.scss */
.erp-ui.default-risks-module .fator-rotulo {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

/* line 21, app/assets/stylesheets/components/_default_risks.scss */
.erp-ui.default-risks-module .fator-nome {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-size: 13.5px;
  color: var(--erp-ui-ink);
}

/* line 32, app/assets/stylesheets/components/_default_risks.scss */
.erp-ui.default-risks-module .fator-peso {
  font-size: 11px;
  font-weight: 400;
  color: var(--erp-ui-ink-3);
}

/* line 38, app/assets/stylesheets/components/_default_risks.scss */
.erp-ui.default-risks-module .fator-detalhe {
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
}

/* line 43, app/assets/stylesheets/components/_default_risks.scss */
.erp-ui.default-risks-module .fator-valor {
  display: flex;
  align-items: baseline;
  gap: 8px;
  white-space: nowrap;
  font-size: 13.5px;
  font-variant-numeric: tabular-nums;
}

/* line 51, app/assets/stylesheets/components/_default_risks.scss */
.erp-ui.default-risks-module .fator-valor b {
  font-weight: 600;
}

/* line 56, app/assets/stylesheets/components/_default_risks.scss */
.erp-ui.default-risks-module .fator-contribuicao {
  font-size: 11.5px;
  color: var(--erp-ui-ink-2);
}

/* line 63, app/assets/stylesheets/components/_default_risks.scss */
.erp-ui.default-risks-module .rec-impacto {
  display: block;
  margin-top: 2px;
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
}
@charset "UTF-8";
/* =============================================================================
   MODAL DE DESCRIÇÃO - Correções de Z-Index
   ============================================================================= */
/* 
 * Hierarquia de Z-Index no Sistema:
 * - Sidebar: 1037-1038
 * - Header: 1030
 * - Footer: 1020
 * - Content wrapper: 1000
 * - Backdrop padrão Bootstrap: 1040-1054
 * - AdminLTE sidebar-overlay: 10000 (quando modal aberto)
 * - Modal de patrimônios: 10060-10062
 * - Modal de preferências: 999999
 * 
 * Modal de descrição: 10055 (acima do backdrop 1054 e overlay 10000, abaixo dos modais especiais)
 */
/* Modal de descrição - Base */
/* line 20, app/assets/stylesheets/components/_description_modal.scss */
#descriptionModal {
  z-index: 10055 !important;
}

/* Modal de descrição - Quando ativo */
/* line 25, app/assets/stylesheets/components/_description_modal.scss */
#descriptionModal.show,
#descriptionModal.fade.show {
  z-index: 10055 !important;
  display: block !important;
}

/* Dialog do modal de descrição */
/* line 32, app/assets/stylesheets/components/_description_modal.scss */
#descriptionModal .modal-dialog {
  z-index: 10056 !important;
  position: relative;
  margin: 1.75rem auto;
  pointer-events: none;
}

/* Content do modal de descrição */
/* line 40, app/assets/stylesheets/components/_description_modal.scss */
#descriptionModal .modal-content {
  z-index: 10057 !important;
  position: relative;
  pointer-events: auto;
  display: flex;
  flex-direction: column;
  width: 100%;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
  outline: 0;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

/* Backdrop específico para modal de descrição - DEVE FICAR ABAIXO DO MODAL */
/* Regra com MÁXIMA especificidade e !important para sobrescrever TODAS as outras regras */
/* line 56, app/assets/stylesheets/components/_description_modal.scss */
body.modal-open:has(#descriptionModal.show) .modal-backdrop.show,
body.modal-open:has(#descriptionModal.show) .modal-backdrop,
body:has(#descriptionModal.show) .modal-backdrop.show,
body:has(#descriptionModal.show) .modal-backdrop,
body.modal-open #descriptionModal.show ~ .modal-backdrop.show,
body.modal-open #descriptionModal.show ~ .modal-backdrop,
body #descriptionModal.show ~ .modal-backdrop.show,
body #descriptionModal.show ~ .modal-backdrop,
.modal-backdrop.show:has(~ #descriptionModal.show),
.modal-backdrop:has(~ #descriptionModal.show) {
  z-index: 10054 !important;
}

/* Override específico para garantir que funcione mesmo com outras regras globais */
/* line 70, app/assets/stylesheets/components/_description_modal.scss */
html body.modal-open:has(#descriptionModal.show) .modal-backdrop,
html body:has(#descriptionModal.show) .modal-backdrop {
  z-index: 10054 !important;
}

/* Garantir que AdminLTE overlay não interfira - DEVE FICAR ABAIXO DO MODAL */
/* line 76, app/assets/stylesheets/components/_description_modal.scss */
body.modal-open:has(#descriptionModal.show) #sidebar-overlay {
  z-index: 10050 !important;
  pointer-events: none !important;
}

/* Posicionamento fixo quando modal está ativo */
/* line 82, app/assets/stylesheets/components/_description_modal.scss */
#descriptionModal.show {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

/* Garantir visibilidade completa */
/* line 92, app/assets/stylesheets/components/_description_modal.scss */
#descriptionModal.show .modal-dialog {
  z-index: 10056 !important;
  position: relative !important;
  margin: 1.75rem auto !important;
}

/* line 98, app/assets/stylesheets/components/_description_modal.scss */
#descriptionModal.show .modal-content {
  z-index: 10057 !important;
  position: relative !important;
}

/* Correção para quando modal está dentro de tabs */
/* line 104, app/assets/stylesheets/components/_description_modal.scss */
.tab-content #descriptionModal,
.tab-pane #descriptionModal {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 10055 !important;
}

/* Garantir que body modal-open funcione */
/* line 113, app/assets/stylesheets/components/_description_modal.scss */
body.modal-open:has(#descriptionModal.show) {
  overflow: hidden !important;
}

/* Correção específica para evitar conflitos com outros modais */
/* line 118, app/assets/stylesheets/components/_description_modal.scss */
body.modal-open #descriptionModal.show {
  z-index: 10055 !important;
}

/* =============================================================================
   OVERRIDE FINAL - Máxima especificidade para garantir que funcione
   ============================================================================= */
/* Esta regra DEVE vir por último para sobrescrever todas as outras */
/* line 126, app/assets/stylesheets/components/_description_modal.scss */
html body.modal-open:has(#descriptionModal.show) .modal-backdrop.show,
html body.modal-open:has(#descriptionModal.show) .modal-backdrop,
html body:has(#descriptionModal.show) .modal-backdrop.show,
html body:has(#descriptionModal.show) .modal-backdrop {
  z-index: 10054 !important;
}

/* Garantir que o modal SEMPRE fique acima do backdrop */
/* line 134, app/assets/stylesheets/components/_description_modal.scss */
html body.modal-open:has(#descriptionModal.show) #descriptionModal.show,
html body:has(#descriptionModal.show) #descriptionModal.show {
  z-index: 10055 !important;
}

/* Estilos do conteúdo do modal */
/* line 140, app/assets/stylesheets/components/_description_modal.scss */
#descriptionModal .modal-body {
  max-height: 70vh;
  overflow-y: auto;
}

/* line 144, app/assets/stylesheets/components/_description_modal.scss */
#descriptionModal .modal-body .description-full-content {
  line-height: 1.6;
  color: #495057;
  /* Garantir que <br> tags funcionem */
}

/* line 148, app/assets/stylesheets/components/_description_modal.scss */
#descriptionModal .modal-body .description-full-content p {
  margin-bottom: 1rem;
  white-space: pre-wrap;
  /* Preserva quebras de linha e espaços */
  word-wrap: break-word;
  /* Quebra palavras longas */
}

/* line 153, app/assets/stylesheets/components/_description_modal.scss */
#descriptionModal .modal-body .description-full-content p:last-child {
  margin-bottom: 0;
}

/* line 159, app/assets/stylesheets/components/_description_modal.scss */
#descriptionModal .modal-body .description-full-content br {
  display: block;
  content: "";
  margin-top: 0.5em;
}
@charset "UTF-8";
/* =============================================================================
   MODAL DE EMAIL - Correções de Z-Index
   ============================================================================= */
/* 
 * Hierarquia de Z-Index no Sistema:
 * - Sidebar: 1037-1038
 * - Header: 1030
 * - Footer: 1020
 * - Content wrapper: 1000
 * - Backdrop padrão Bootstrap: 1040-1054
 * - AdminLTE sidebar-overlay: 10000 (quando modal aberto)
 * - Modal de patrimônios: 10060-10062
 * - Modal de preferências: 999999
 * 
 * Modal de email: 10055 (acima do backdrop 1054 e overlay 10000, abaixo dos modais especiais)
 */
/* Modal de email - Base */
/* line 20, app/assets/stylesheets/components/_email_modal.scss */
#email-modal {
  z-index: 10055 !important;
}

/* Modal de email - Quando ativo */
/* line 25, app/assets/stylesheets/components/_email_modal.scss */
#email-modal.show,
#email-modal.fade.show {
  z-index: 10055 !important;
  display: block !important;
}

/* Dialog do modal de email */
/* line 32, app/assets/stylesheets/components/_email_modal.scss */
#email-modal .modal-dialog {
  z-index: 10056 !important;
  position: relative;
  margin: 1.75rem auto;
  pointer-events: none;
}

/* Content do modal de email */
/* line 40, app/assets/stylesheets/components/_email_modal.scss */
#email-modal .modal-content {
  z-index: 10057 !important;
  position: relative;
  pointer-events: auto;
  display: flex;
  flex-direction: column;
  width: 100%;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
  outline: 0;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

/* Backdrop específico para modal de email - DEVE FICAR ABAIXO DO MODAL */
/* Regra com MÁXIMA especificidade e !important para sobrescrever TODAS as outras regras */
/* line 56, app/assets/stylesheets/components/_email_modal.scss */
body.modal-open:has(#email-modal.show) .modal-backdrop.show,
body.modal-open:has(#email-modal.show) .modal-backdrop,
body:has(#email-modal.show) .modal-backdrop.show,
body:has(#email-modal.show) .modal-backdrop,
body.modal-open #email-modal.show ~ .modal-backdrop.show,
body.modal-open #email-modal.show ~ .modal-backdrop,
body #email-modal.show ~ .modal-backdrop.show,
body #email-modal.show ~ .modal-backdrop,
.modal-backdrop.show:has(~ #email-modal.show),
.modal-backdrop:has(~ #email-modal.show) {
  z-index: 10054 !important;
}

/* Override específico para garantir que funcione mesmo com outras regras globais */
/* line 70, app/assets/stylesheets/components/_email_modal.scss */
html body.modal-open:has(#email-modal.show) .modal-backdrop,
html body:has(#email-modal.show) .modal-backdrop {
  z-index: 10054 !important;
}

/* Garantir que AdminLTE overlay não interfira - DEVE FICAR ABAIXO DO MODAL */
/* line 76, app/assets/stylesheets/components/_email_modal.scss */
body.modal-open:has(#email-modal.show) #sidebar-overlay {
  z-index: 10050 !important;
  pointer-events: none !important;
}

/* Posicionamento fixo quando modal está ativo */
/* line 82, app/assets/stylesheets/components/_email_modal.scss */
#email-modal.show {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

/* Garantir visibilidade completa */
/* line 92, app/assets/stylesheets/components/_email_modal.scss */
#email-modal.show .modal-dialog {
  z-index: 10056 !important;
  position: relative !important;
  margin: 1.75rem auto !important;
  max-width: 800px !important;
}

/* line 99, app/assets/stylesheets/components/_email_modal.scss */
#email-modal.show .modal-content {
  z-index: 10057 !important;
  position: relative !important;
}

/* Correção para quando modal está dentro de tabs */
/* line 105, app/assets/stylesheets/components/_email_modal.scss */
.tab-content #email-modal,
.tab-pane #email-modal {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 10055 !important;
}

/* Garantir que body modal-open funcione */
/* line 114, app/assets/stylesheets/components/_email_modal.scss */
body.modal-open:has(#email-modal.show) {
  overflow: hidden !important;
}

/* Correção específica para evitar conflitos com outros modais */
/* line 119, app/assets/stylesheets/components/_email_modal.scss */
body.modal-open #email-modal.show {
  z-index: 10055 !important;
}

/* line 123, app/assets/stylesheets/components/_email_modal.scss */
body.modal-open #email-modal.show ~ #preferencesModal,
body.modal-open #email-modal.show ~ #patrimonyModal {
  display: none !important;
}

/* =============================================================================
   OVERRIDE FINAL - Máxima especificidade para garantir que funcione
   ============================================================================= */
/* Esta regra DEVE vir por último para sobrescrever todas as outras */
/* line 132, app/assets/stylesheets/components/_email_modal.scss */
html body.modal-open:has(#email-modal.show) .modal-backdrop.show,
html body.modal-open:has(#email-modal.show) .modal-backdrop,
html body:has(#email-modal.show) .modal-backdrop.show,
html body:has(#email-modal.show) .modal-backdrop {
  z-index: 10054 !important;
}

/* Garantir que o modal SEMPRE fique acima do backdrop */
/* line 140, app/assets/stylesheets/components/_email_modal.scss */
html body.modal-open:has(#email-modal.show) #email-modal.show,
html body:has(#email-modal.show) #email-modal.show {
  z-index: 10055 !important;
}

/* =============================================================================
   COMPATIBILIDADE: Modal de email da Ordem de Serviço
   ============================================================================= */
/* line 149, app/assets/stylesheets/components/_email_modal.scss */
#service-order-email-modal {
  z-index: 10055 !important;
}

/* line 153, app/assets/stylesheets/components/_email_modal.scss */
#service-order-email-modal.show,
#service-order-email-modal.fade.show {
  z-index: 10055 !important;
  display: block !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

/* line 165, app/assets/stylesheets/components/_email_modal.scss */
#service-order-email-modal .modal-dialog {
  z-index: 10056 !important;
  position: relative;
}

/* line 170, app/assets/stylesheets/components/_email_modal.scss */
#service-order-email-modal .modal-content {
  z-index: 10057 !important;
  position: relative;
}

/* line 175, app/assets/stylesheets/components/_email_modal.scss */
body.modal-open:has(#service-order-email-modal.show) .modal-backdrop.show,
body.modal-open:has(#service-order-email-modal.show) .modal-backdrop,
body:has(#service-order-email-modal.show) .modal-backdrop.show,
body:has(#service-order-email-modal.show) .modal-backdrop,
body.modal-open #service-order-email-modal.show ~ .modal-backdrop.show,
body.modal-open #service-order-email-modal.show ~ .modal-backdrop,
body #service-order-email-modal.show ~ .modal-backdrop.show,
body #service-order-email-modal.show ~ .modal-backdrop,
.modal-backdrop.show:has(~ #service-order-email-modal.show),
.modal-backdrop:has(~ #service-order-email-modal.show) {
  z-index: 10054 !important;
}

/* line 188, app/assets/stylesheets/components/_email_modal.scss */
html body.modal-open:has(#service-order-email-modal.show) .modal-backdrop,
html body:has(#service-order-email-modal.show) .modal-backdrop {
  z-index: 10054 !important;
}

/* line 193, app/assets/stylesheets/components/_email_modal.scss */
body.modal-open:has(#service-order-email-modal.show) #sidebar-overlay {
  z-index: 10050 !important;
  pointer-events: none !important;
}

/* line 198, app/assets/stylesheets/components/_email_modal.scss */
html body.modal-open:has(#service-order-email-modal.show) #service-order-email-modal.show,
html body:has(#service-order-email-modal.show) #service-order-email-modal.show {
  z-index: 10055 !important;
}
@charset "UTF-8";
/* Modal Adicionar Estoque - Base */
/* line 7, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal {
  z-index: 10055 !important;
}

/* Modal Adicionar Estoque - Quando ativo - MÁXIMA ESPECIFICIDADE */
/* line 12, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal.show,
#addInventoryModal.fade.show,
body.modal-open #addInventoryModal.show,
body.modal-open #addInventoryModal.fade.show,
html body.modal-open #addInventoryModal.show,
html body.modal-open #addInventoryModal.fade.show {
  z-index: 10055 !important;
  display: block !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

/* Dialog do modal Adicionar Estoque */
/* line 28, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal .modal-dialog {
  z-index: 10056 !important;
}

/* Content do modal Adicionar Estoque */
/* line 33, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal .modal-content {
  z-index: 10057 !important;
}

/* Modal Movimentação - Base */
/* line 38, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#movementModal {
  z-index: 10055 !important;
}

/* Modal Movimentação - Quando ativo - MÁXIMA ESPECIFICIDADE */
/* line 43, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#movementModal.show,
#movementModal.fade.show,
body.modal-open #movementModal.show,
body.modal-open #movementModal.fade.show,
html body.modal-open #movementModal.show,
html body.modal-open #movementModal.fade.show {
  z-index: 10055 !important;
  display: block !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

/* Dialog do modal Movimentação */
/* line 59, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#movementModal .modal-dialog {
  z-index: 10056 !important;
}

/* Content do modal Movimentação */
/* line 64, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#movementModal .modal-content {
  z-index: 10057 !important;
}

/* line 69, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
body.modal-open:has(#addInventoryModal.show) .modal-backdrop.show,
body.modal-open:has(#addInventoryModal.show) .modal-backdrop,
body:has(#addInventoryModal.show) .modal-backdrop.show,
body:has(#addInventoryModal.show) .modal-backdrop,
body.modal-open #addInventoryModal.show ~ .modal-backdrop.show,
body.modal-open #addInventoryModal.show ~ .modal-backdrop,
body #addInventoryModal.show ~ .modal-backdrop.show,
body #addInventoryModal.show ~ .modal-backdrop,
body.modal-open:has(#movementModal.show) .modal-backdrop.show,
body.modal-open:has(#movementModal.show) .modal-backdrop,
body:has(#movementModal.show) .modal-backdrop.show,
body:has(#movementModal.show) .modal-backdrop,
body.modal-open #movementModal.show ~ .modal-backdrop.show,
body.modal-open #movementModal.show ~ .modal-backdrop,
body #movementModal.show ~ .modal-backdrop.show,
body #movementModal.show ~ .modal-backdrop {
  z-index: 10054 !important;
  position: fixed !important;
}

/* line 90, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
body.modal-open:has(#addInventoryModal.show) #sidebar-overlay,
body.modal-open:has(#movementModal.show) #sidebar-overlay {
  z-index: 10050 !important;
  pointer-events: none !important;
}

/* line 97, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
body.modal-open:has(#addInventoryModal.show) .swal2-container,
body.modal-open:has(#movementModal.show) .swal2-container {
  z-index: 10052 !important;
  opacity: 0.3 !important;
  pointer-events: none !important;
}

/* line 105, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
html body.modal-open:has(#addInventoryModal.show) #addInventoryModal.show,
html body.modal-open:has(#movementModal.show) #movementModal.show {
  z-index: 10055 !important;
  position: fixed !important;
}

/* line 111, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
html body.modal-open:has(#addInventoryModal.show) .modal-backdrop,
html body.modal-open:has(#movementModal.show) .modal-backdrop {
  z-index: 10054 !important;
}

/* line 117, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
.tab-content #addInventoryModal,
.tab-content #movementModal {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
}

/* Header dos modais com cores temáticas */
/* line 132, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal .modal-header.bg-primary,
#movementModal .modal-header.bg-info {
  border-bottom: 2px solid rgba(255, 255, 255, 0.2);
}

/* line 136, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal .modal-header.bg-primary .modal-title,
#movementModal .modal-header.bg-info .modal-title {
  font-weight: 600;
  font-size: 1.1rem;
}

/* line 140, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal .modal-header.bg-primary .modal-title i,
#movementModal .modal-header.bg-info .modal-title i {
  font-size: 1.2rem;
}

/* line 145, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal .modal-header.bg-primary .close,
#movementModal .modal-header.bg-info .close {
  opacity: 0.9;
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1;
}

/* line 151, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal .modal-header.bg-primary .close:hover,
#movementModal .modal-header.bg-info .close:hover {
  opacity: 1;
}

/* Body dos modais */
/* line 158, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal .modal-body,
#movementModal .modal-body {
  padding: 1.5rem;
}

/* line 162, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal .modal-body .form-group,
#movementModal .modal-body .form-group {
  margin-bottom: 1.25rem;
}

/* line 165, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal .modal-body .form-group:last-child,
#movementModal .modal-body .form-group:last-child {
  margin-bottom: 0;
}

/* line 170, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal .modal-body .form-label,
#movementModal .modal-body .form-label {
  font-size: 0.9rem;
  margin-bottom: 0.5rem;
}

/* line 174, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal .modal-body .form-label i,
#movementModal .modal-body .form-label i {
  font-size: 0.95rem;
}

/* line 178, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal .modal-body .form-label .text-danger,
#movementModal .modal-body .form-label .text-danger {
  font-weight: 600;
}

/* line 183, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal .modal-body .form-control,
#movementModal .modal-body .form-control {
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

/* line 187, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal .modal-body .form-control:focus,
#movementModal .modal-body .form-control:focus {
  border-color: #80bdff;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

/* line 194, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal .modal-body .input-group .input-group-text,
#movementModal .modal-body .input-group .input-group-text {
  border-color: #ced4da;
  background-color: #f8f9fa;
}

/* line 200, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal .modal-body .form-text,
#movementModal .modal-body .form-text {
  font-size: 0.85rem;
  margin-top: 0.25rem;
}

/* line 204, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal .modal-body .form-text i,
#movementModal .modal-body .form-text i {
  font-size: 0.8rem;
}

/* Footer dos modais */
/* line 211, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal .modal-footer,
#movementModal .modal-footer {
  border-top: 1px solid #dee2e6;
  padding: 1rem 1.5rem;
}

/* line 216, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal .modal-footer .btn,
#movementModal .modal-footer .btn {
  font-weight: 500;
  padding: 0.5rem 1rem;
  border-radius: 0.25rem;
  transition: all 0.15s ease-in-out;
}

/* line 222, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal .modal-footer .btn i,
#movementModal .modal-footer .btn i {
  font-size: 0.9rem;
}

/* line 226, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal .modal-footer .btn:hover,
#movementModal .modal-footer .btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Melhorias visuais gerais */
/* line 234, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal .modal-content,
#movementModal .modal-content {
  border: none;
  border-radius: 0.5rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

/* line 241, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal .modal-dialog,
#movementModal .modal-dialog {
  margin: 1.75rem auto;
}

/* line 245, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
#addInventoryModal .modal-dialog.modal-dialog-centered,
#movementModal .modal-dialog.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 3.5rem);
}

/* Responsividade */
@media (max-width: 576px) {
  /* line 254, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
  #addInventoryModal .modal-dialog,
#movementModal .modal-dialog {
    margin: 0.5rem;
    max-width: calc(100% - 1rem);
  }
  /* line 260, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
  #addInventoryModal .modal-body,
#movementModal .modal-body {
    padding: 1rem;
  }
  /* line 265, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
  #addInventoryModal .modal-footer,
#movementModal .modal-footer {
    padding: 0.75rem 1rem;
    flex-direction: column;
  }
  /* line 270, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
  #addInventoryModal .modal-footer .btn,
#movementModal .modal-footer .btn {
    width: 100%;
    margin-bottom: 0.5rem;
  }
  /* line 274, app/assets/stylesheets/components/_equipment_inventory_modals.scss */
  #addInventoryModal .modal-footer .btn:last-child,
#movementModal .modal-footer .btn:last-child {
    margin-bottom: 0;
  }
}
/* line 38, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar {
  --sr-priority-urgent-bg: #FCEBEB;
  --sr-priority-urgent-border: #E24B4A;
  --sr-priority-urgent-title: #501313;
  --sr-priority-urgent-subtitle: #A32D2D;
  --sr-priority-high-bg: #FAEEDA;
  --sr-priority-high-border: #EF9F27;
  --sr-priority-high-title: #412402;
  --sr-priority-high-subtitle: #854F0B;
  --sr-priority-medium-bg: #E6F1FB;
  --sr-priority-medium-border: #378ADD;
  --sr-priority-medium-title: #042C53;
  --sr-priority-medium-subtitle: #185FA5;
  --sr-priority-low-bg: #F1EFE8;
  --sr-priority-low-border: #888780;
  --sr-priority-low-title: #2C2C2A;
  --sr-priority-low-subtitle: #5F5E5A;
  --sr-state-ms-bg: #E1F5EE;
  --sr-state-ms-text: #04342C;
  --sr-state-ms-secondary: #0F6E56;
  --sr-state-mt-bg: #EEEDFE;
  --sr-state-mt-text: #26215C;
  --sr-state-mt-secondary: #534AB7;
  --sr-state-fallback-1-bg: #FDF3E7;
  --sr-state-fallback-1-text: #4A3008;
  --sr-state-fallback-1-secondary: #9C6B12;
  --sr-state-fallback-2-bg: #FCEEF3;
  --sr-state-fallback-2-text: #4A1029;
  --sr-state-fallback-2-secondary: #A23F63;
  --sr-state-fallback-3-bg: #E8F4FC;
  --sr-state-fallback-3-text: #0B3355;
  --sr-state-fallback-3-secondary: #2874A6;
  --sr-state-fallback-4-bg: #EFF7E4;
  --sr-state-fallback-4-text: #23350C;
  --sr-state-fallback-4-secondary: #5B7A26;
  --sr-state-fallback-5-bg: #F1EDFB;
  --sr-state-fallback-5-text: #2E1F52;
  --sr-state-fallback-5-secondary: #6B4FA0;
  --sr-state-fallback-6-bg: #FDECE4;
  --sr-state-fallback-6-text: #47230F;
  --sr-state-fallback-6-secondary: #9C4A25;
  --sr-page-surface: #FAFAF8;
  --sr-cell-bg: #FFFFFF;
  --sr-border-hairline: #E5E4DF;
}

/* line 89, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar {
  background: var(--sr-page-surface);
}

/* line 93, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-app-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

/* line 102, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-app-nav {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 108, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-app-nav-label {
  font-size: 0.95rem;
  font-weight: 600;
  color: #2C2C2A;
  min-width: 11rem;
  text-align: center;
}

/* line 117, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-app-date-input {
  width: auto;
  height: 30px;
}

/* line 122, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-app-view-toggle {
  display: inline-flex;
  border: 0.5px solid var(--sr-border-hairline);
  border-radius: 8px;
  overflow: hidden;
}

/* line 129, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-app-view-toggle button {
  border: none;
  background: #FFFFFF;
  padding: 0.375rem 0.875rem;
  font-size: 0.8125rem;
  color: #5F5E5A;
  cursor: pointer;
}

/* line 137, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-app-view-toggle button.active {
  background: #2C2C2A;
  color: #FFFFFF;
}

/* line 142, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-app-view-toggle button:not(:last-child) {
  border-right: 0.5px solid var(--sr-border-hairline);
}

/* line 148, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-app-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

/* line 156, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-app-filter-group {
  display: flex;
  flex-direction: column;
  min-width: 10rem;
}

/* line 161, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-app-filter-group select {
  height: 34px;
}

/* line 166, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-app-state-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}

/* line 172, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-app-state-chip {
  border: 0.5px solid var(--sr-border-hairline);
  border-radius: 999px;
  padding: 0.25rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  background: #FFFFFF;
  color: #5F5E5A;
  cursor: pointer;
}

/* line 182, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-app-state-chip.active {
  background: #2C2C2A;
  color: #FFFFFF;
  border-color: #2C2C2A;
}

/* line 194, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-week-grid {
  display: grid;
  grid-template-columns: 64px repeat(var(--sr-day-count, 5), minmax(0, 1fr));
  background: var(--sr-border-hairline);
  gap: 1px;
  border: 0.5px solid var(--sr-border-hairline);
  border-radius: 12px;
  overflow: hidden;
}

/* line 204, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-week-grid-header,
.erp-calendar .sr-week-grid-row {
  display: contents;
}

/* line 209, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-week-grid-header-cell,
.erp-calendar .sr-grid-cell,
.erp-calendar .sr-state-label {
  background: var(--sr-cell-bg);
}

/* line 215, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-week-grid-header-cell {
  padding: 0.5rem;
  text-align: center;
  font-size: 0.75rem;
  font-weight: 600;
  color: #5F5E5A;
}

/* line 222, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-week-grid-header-cell.sr-week-grid-corner {
  background: var(--sr-page-surface);
}

/* line 226, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-week-grid-header-cell.sr-day-today {
  color: #2C2C2A;
}

/* line 229, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-week-grid-header-cell.sr-day-today .sr-day-date {
  color: inherit;
}

/* line 235, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-day-name {
  display: block;
  text-transform: none;
}

/* line 240, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-day-date {
  display: block;
  font-size: 0.6875rem;
  color: #888780;
}

/* line 247, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-state-label {
  writing-mode: horizontal-tb;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.125rem;
  padding: 0.5rem 0.25rem;
  font-size: 0.75rem;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  border: none;
  width: 100%;
}

/* line 262, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-state-label .sr-state-count {
  font-size: 0.625rem;
  font-weight: 500;
}

/* line 267, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-state-label.sr-state-ms {
  background: var(--sr-state-ms-bg);
  color: var(--sr-state-ms-text);
}

/* line 271, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-state-label.sr-state-ms .sr-state-count {
  color: var(--sr-state-ms-secondary);
}

/* line 274, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-state-label.sr-state-mt {
  background: var(--sr-state-mt-bg);
  color: var(--sr-state-mt-text);
}

/* line 278, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-state-label.sr-state-mt .sr-state-count {
  color: var(--sr-state-mt-secondary);
}

/* line 282, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-state-label.sr-state-fallback-1 {
  background: var(--sr-state-fallback-1-bg);
  color: var(--sr-state-fallback-1-text);
}

/* line 286, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-state-label.sr-state-fallback-1 .sr-state-count {
  color: var(--sr-state-fallback-1-secondary);
}

/* line 282, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-state-label.sr-state-fallback-2 {
  background: var(--sr-state-fallback-2-bg);
  color: var(--sr-state-fallback-2-text);
}

/* line 286, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-state-label.sr-state-fallback-2 .sr-state-count {
  color: var(--sr-state-fallback-2-secondary);
}

/* line 282, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-state-label.sr-state-fallback-3 {
  background: var(--sr-state-fallback-3-bg);
  color: var(--sr-state-fallback-3-text);
}

/* line 286, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-state-label.sr-state-fallback-3 .sr-state-count {
  color: var(--sr-state-fallback-3-secondary);
}

/* line 282, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-state-label.sr-state-fallback-4 {
  background: var(--sr-state-fallback-4-bg);
  color: var(--sr-state-fallback-4-text);
}

/* line 286, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-state-label.sr-state-fallback-4 .sr-state-count {
  color: var(--sr-state-fallback-4-secondary);
}

/* line 282, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-state-label.sr-state-fallback-5 {
  background: var(--sr-state-fallback-5-bg);
  color: var(--sr-state-fallback-5-text);
}

/* line 286, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-state-label.sr-state-fallback-5 .sr-state-count {
  color: var(--sr-state-fallback-5-secondary);
}

/* line 282, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-state-label.sr-state-fallback-6 {
  background: var(--sr-state-fallback-6-bg);
  color: var(--sr-state-fallback-6-text);
}

/* line 286, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-state-label.sr-state-fallback-6 .sr-state-count {
  color: var(--sr-state-fallback-6-secondary);
}

/* line 294, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-state-label.is-static {
  cursor: default;
}

/* line 300, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-grid-cell {
  min-height: 92px;
  padding: 4px;
  display: flex;
  flex-direction: column;
}

/* line 307, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-grid-cell-collapsed {
  grid-column: 2 / -1;
  align-items: center;
  justify-content: center;
  color: #888780;
  font-size: 0.75rem;
}

/* line 315, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-cell-add-btn {
  background: none;
  border: none;
  padding: 2px 4px;
  margin-top: auto;
  font-size: 0.6875rem;
  color: #888780;
  text-align: left;
  cursor: pointer;
  opacity: 0;
}

/* line 326, app/assets/stylesheets/components/_erp_calendar.scss */
.sr-grid-cell:hover .erp-calendar .sr-cell-add-btn, .sr-grid-cell:focus-within .erp-calendar .sr-cell-add-btn {
  opacity: 1;
}

/* line 331, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-cell-add-btn:focus-visible {
  opacity: 1;
  outline: 2px solid #378ADD;
  outline-offset: 1px;
}

/* line 337, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-cell-add-btn:hover {
  text-decoration: underline;
}

/* line 342, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-grid-cell-more {
  background: none;
  border: none;
  padding: 2px 4px;
  font-size: 0.6875rem;
  color: #5F5E5A;
  text-align: left;
  cursor: pointer;
}

/* line 351, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-grid-cell-more:hover {
  text-decoration: underline;
}

/* line 356, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-day-list-empty {
  width: 100%;
  padding: 8px;
}

/* line 362, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card {
  border-radius: 0;
  border-left: 3px solid transparent;
  padding: 6px 8px;
  margin-bottom: 5px;
  cursor: pointer;
  display: block;
  width: 100%;
  text-align: left;
  border-top: none;
  border-right: none;
  border-bottom: none;
}

/* line 375, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card:focus-visible {
  outline: 2px solid #042C53;
  outline-offset: 1px;
}

/* line 380, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card .sr-event-title {
  font-size: 12px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 391, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card .sr-event-subtitle {
  font-size: 11px;
  font-weight: 400;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 399, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card .sr-event-priority-icon {
  flex: none;
}

/* line 404, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card.sr-priority-urgent {
  background: var(--sr-priority-urgent-bg);
  border-left-color: var(--sr-priority-urgent-border);
}

/* line 408, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card.sr-priority-urgent .sr-event-title {
  color: var(--sr-priority-urgent-title);
}

/* line 409, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card.sr-priority-urgent .sr-event-subtitle {
  color: var(--sr-priority-urgent-subtitle);
}

/* line 404, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card.sr-priority-high {
  background: var(--sr-priority-high-bg);
  border-left-color: var(--sr-priority-high-border);
}

/* line 408, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card.sr-priority-high .sr-event-title {
  color: var(--sr-priority-high-title);
}

/* line 409, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card.sr-priority-high .sr-event-subtitle {
  color: var(--sr-priority-high-subtitle);
}

/* line 404, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card.sr-priority-medium {
  background: var(--sr-priority-medium-bg);
  border-left-color: var(--sr-priority-medium-border);
}

/* line 408, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card.sr-priority-medium .sr-event-title {
  color: var(--sr-priority-medium-title);
}

/* line 409, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card.sr-priority-medium .sr-event-subtitle {
  color: var(--sr-priority-medium-subtitle);
}

/* line 404, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card.sr-priority-low {
  background: var(--sr-priority-low-bg);
  border-left-color: var(--sr-priority-low-border);
}

/* line 408, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card.sr-priority-low .sr-event-title {
  color: var(--sr-priority-low-title);
}

/* line 409, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card.sr-priority-low .sr-event-subtitle {
  color: var(--sr-priority-low-subtitle);
}

/* line 427, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card.cal-tone-good {
  background: var(--erp-ui-good-soft);
  border-left-color: var(--erp-ui-good);
}

/* line 431, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card.cal-tone-good .sr-event-title,
.erp-calendar .sr-event-card.cal-tone-good .sr-event-subtitle {
  color: var(--erp-ui-ink);
}

/* line 427, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card.cal-tone-warning {
  background: var(--erp-ui-warning-soft);
  border-left-color: var(--erp-ui-warning-text);
}

/* line 431, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card.cal-tone-warning .sr-event-title,
.erp-calendar .sr-event-card.cal-tone-warning .sr-event-subtitle {
  color: var(--erp-ui-ink);
}

/* line 427, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card.cal-tone-info {
  background: var(--erp-ui-accent-soft);
  border-left-color: var(--erp-ui-accent);
}

/* line 431, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card.cal-tone-info .sr-event-title,
.erp-calendar .sr-event-card.cal-tone-info .sr-event-subtitle {
  color: var(--erp-ui-ink);
}

/* line 427, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card.cal-tone-critical {
  background: var(--erp-ui-critical-soft);
  border-left-color: var(--erp-ui-critical);
}

/* line 431, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card.cal-tone-critical .sr-event-title,
.erp-calendar .sr-event-card.cal-tone-critical .sr-event-subtitle {
  color: var(--erp-ui-ink);
}

/* line 427, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card.cal-tone-neutral {
  background: var(--erp-ui-surface-2);
  border-left-color: var(--erp-ui-ink-2);
}

/* line 431, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card.cal-tone-neutral .sr-event-title,
.erp-calendar .sr-event-card.cal-tone-neutral .sr-event-subtitle {
  color: var(--erp-ui-ink);
}

/* line 440, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-card.is-dragging {
  opacity: .45;
}

/* line 444, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-grid-cell.is-drag-over {
  outline: 2px dashed var(--erp-ui-accent);
  outline-offset: -2px;
  background: var(--sr-page-surface);
}

/* line 456, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .erp-icon {
  width: 16px;
  height: 16px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* line 468, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1rem;
  font-size: 0.8125rem;
}

/* line 476, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  color: #5F5E5A;
}

/* line 483, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-legend-swatch {
  display: inline-block;
  width: 0.75rem;
  height: 0.75rem;
  border-left: 3px solid;
}

/* line 490, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-legend-swatch.sr-priority-urgent {
  background: var(--sr-priority-urgent-bg);
  border-left-color: var(--sr-priority-urgent-border);
}

/* line 490, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-legend-swatch.sr-priority-high {
  background: var(--sr-priority-high-bg);
  border-left-color: var(--sr-priority-high-border);
}

/* line 490, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-legend-swatch.sr-priority-medium {
  background: var(--sr-priority-medium-bg);
  border-left-color: var(--sr-priority-medium-border);
}

/* line 490, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-legend-swatch.sr-priority-low {
  background: var(--sr-priority-low-bg);
  border-left-color: var(--sr-priority-low-border);
}

/* line 504, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-legend-swatch.cal-tone-good {
  background: var(--erp-ui-good-soft);
  border-left-color: var(--erp-ui-good);
}

/* line 504, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-legend-swatch.cal-tone-warning {
  background: var(--erp-ui-warning-soft);
  border-left-color: var(--erp-ui-warning-text);
}

/* line 504, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-legend-swatch.cal-tone-info {
  background: var(--erp-ui-accent-soft);
  border-left-color: var(--erp-ui-accent);
}

/* line 504, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-legend-swatch.cal-tone-critical {
  background: var(--erp-ui-critical-soft);
  border-left-color: var(--erp-ui-critical);
}

/* line 504, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-legend-swatch.cal-tone-neutral {
  background: var(--erp-ui-surface-2);
  border-left-color: var(--erp-ui-ink-2);
}

/* line 512, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-day-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 518, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-day-list-group {
  background: var(--sr-cell-bg);
  border: 0.5px solid var(--sr-border-hairline);
  border-radius: 12px;
  overflow: hidden;
}

/* line 525, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-day-list-header {
  padding: 0.5rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #2C2C2A;
  background: var(--sr-page-surface);
  border-bottom: 0.5px solid var(--sr-border-hairline);
}

/* line 534, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-day-list-body {
  padding: 6px 8px;
}

/* line 538, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-state-chip {
  display: inline-block;
  font-size: 0.625rem;
  font-weight: 700;
  padding: 0 0.375rem;
  border-radius: 999px;
  margin-left: 0.375rem;
}

/* line 546, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-state-chip.sr-state-ms {
  background: var(--sr-state-ms-bg);
  color: var(--sr-state-ms-text);
}

/* line 547, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-state-chip.sr-state-mt {
  background: var(--sr-state-mt-bg);
  color: var(--sr-state-mt-text);
}

/* line 550, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-state-chip.sr-state-fallback-1 {
  background: var(--sr-state-fallback-1-bg);
  color: var(--sr-state-fallback-1-text);
}

/* line 550, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-state-chip.sr-state-fallback-2 {
  background: var(--sr-state-fallback-2-bg);
  color: var(--sr-state-fallback-2-text);
}

/* line 550, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-state-chip.sr-state-fallback-3 {
  background: var(--sr-state-fallback-3-bg);
  color: var(--sr-state-fallback-3-text);
}

/* line 550, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-state-chip.sr-state-fallback-4 {
  background: var(--sr-state-fallback-4-bg);
  color: var(--sr-state-fallback-4-text);
}

/* line 550, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-state-chip.sr-state-fallback-5 {
  background: var(--sr-state-fallback-5-bg);
  color: var(--sr-state-fallback-5-text);
}

/* line 550, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-event-state-chip.sr-state-fallback-6 {
  background: var(--sr-state-fallback-6-bg);
  color: var(--sr-state-fallback-6-text);
}

/* line 563, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-day-notime {
  display: none;
  background: var(--sr-cell-bg);
  border: 0.5px solid var(--sr-border-hairline);
  border-radius: 12px;
  margin-bottom: 0.75rem;
  overflow: hidden;
}

/* line 571, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-day-notime.has-events {
  display: block;
}

/* line 574, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-day-notime-title {
  padding: 0.5rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #2C2C2A;
  background: var(--sr-page-surface);
  border-bottom: 0.5px solid var(--sr-border-hairline);
  margin: 0;
}

/* line 584, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-day-notime-body {
  padding: 6px 8px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* line 591, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-day-timeline {
  display: none;
  border: 0.5px solid var(--sr-border-hairline);
  border-radius: 12px;
  overflow: hidden;
  background: var(--sr-cell-bg);
}

/* line 599, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-day-timeline-row {
  display: flex;
  border-bottom: 0.5px solid var(--sr-border-hairline);
}

/* line 603, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-day-timeline-row:last-child {
  border-bottom: none;
}

/* line 606, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-day-timeline-hour {
  flex: 0 0 64px;
  padding: 8px;
  font-size: 0.75rem;
  font-weight: 600;
  color: #5F5E5A;
  text-align: right;
  background: var(--sr-page-surface);
  border-right: 0.5px solid var(--sr-border-hairline);
}

/* line 617, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-day-timeline-cell {
  flex: 1 1 auto;
  min-width: 0;
  padding: 4px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* line 625, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-day-timeline-cell.is-drag-over {
  outline: 2px dashed var(--erp-ui-accent);
  outline-offset: -2px;
  background: var(--sr-page-surface);
}

/* line 634, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-week-grid {
  display: none;
}

/* line 635, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar .sr-day-list {
  display: none;
}

/* line 638, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar.sr-view-day .sr-day-timeline {
  display: block;
}

/* line 641, app/assets/stylesheets/components/_erp_calendar.scss */
.erp-calendar.sr-view-month .sr-day-list, .erp-calendar.sr-view-week .sr-day-list {
  display: flex;
}

@media (min-width: 901px) {
  /* line 648, app/assets/stylesheets/components/_erp_calendar.scss */
  .erp-calendar.sr-view-week .sr-week-grid {
    display: grid;
  }
  /* line 649, app/assets/stylesheets/components/_erp_calendar.scss */
  .erp-calendar.sr-view-week .sr-day-list {
    display: none;
  }
}
/* line 2, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal {
  background: var(--erp-ui-surface);
  border-radius: var(--erp-ui-radius);
  border: 1px solid var(--erp-ui-hairline-strong);
  font-family: inherit;
  padding: 0 0 18px;
  width: 30em;
}

/* line 10, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--erp-ui-ink);
  text-align: left;
  padding: 16px 20px 0;
  margin: 0;
}

/* line 18, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-html-container {
  font-size: 13.5px;
  color: var(--erp-ui-ink-2);
  text-align: left;
  margin: 6px 0 0;
  padding: 0 20px;
  line-height: 1.55;
}

/* line 26, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-icon {
  display: none;
}

/* line 31, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal.has-icon .swal2-icon {
  display: flex;
  font-size: 6.8px;
  width: 5em;
  height: 5em;
  margin: 16px 0 -4px 20px;
  border-width: 2px;
}

/* line 39, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal.has-icon .swal2-icon .swal2-icon-content {
  font-size: 20px;
}

/* line 41, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-actions {
  justify-content: flex-end;
  padding: 0 20px;
  margin: 18px 0 0;
  gap: 8px;
  width: 100%;
}

/* line 48, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-styled {
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  padding: 8px 16px;
  margin: 0;
  box-shadow: none;
}

/* line 56, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-confirm {
  background: var(--erp-ui-accent);
}

/* line 57, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal.danger .swal2-confirm {
  background: var(--erp-ui-critical);
}

/* line 58, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-cancel {
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink-2);
  border: 1px solid var(--erp-ui-hairline-strong);
}

/* line 63, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-input, .swal2-popup.erp-swal .swal2-textarea, .swal2-popup.erp-swal .swal2-select {
  font-size: 13.5px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 6px;
  box-shadow: none;
  margin: 10px 20px 0;
  width: calc(100% - 40px);
}

/* line 71, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-validation-message {
  font-size: 12.5px;
  border-radius: 6px;
  margin: 10px 20px 0;
  width: calc(100% - 40px);
}
/* line 4, app/assets/stylesheets/components/_login.scss */
.login-page .btn-primary {
  background-color: var(--erp-primary);
  border-color: var(--erp-primary);
}

/* line 8, app/assets/stylesheets/components/_login.scss */
.login-page .btn-primary:hover, .login-page .btn-primary:focus {
  background-color: var(--erp-primary-light);
  border-color: var(--erp-primary-light);
}

/* line 14, app/assets/stylesheets/components/_login.scss */
.login-page .btn-primary:active, .login-page .btn-primary:not(:disabled):not(.disabled):active {
  background-color: var(--erp-primary-dark) !important;
  border-color: var(--erp-primary-dark) !important;
}

/* line 22, app/assets/stylesheets/components/_login.scss */
.login-page .icheck-primary > input:first-child:not(:checked):not(:disabled):hover + label::before, .login-page .icheck-primary > input:first-child:not(:checked):not(:disabled):focus + label::before {
  border-color: var(--erp-primary);
}

/* line 27, app/assets/stylesheets/components/_login.scss */
.login-page .icheck-primary > input:first-child:checked + label::before {
  background-color: var(--erp-primary);
  border-color: var(--erp-primary);
}
/* line 6, app/assets/stylesheets/components/_prebilling_email_modal.scss */
#prebilling-email-modal {
  z-index: 10055 !important;
}

/* line 10, app/assets/stylesheets/components/_prebilling_email_modal.scss */
#prebilling-email-modal.show {
  z-index: 10055 !important;
  display: block !important;
}

/* line 15, app/assets/stylesheets/components/_prebilling_email_modal.scss */
#prebilling-email-modal .modal-dialog {
  z-index: 10056 !important;
}

/* line 19, app/assets/stylesheets/components/_prebilling_email_modal.scss */
#prebilling-email-modal .modal-content {
  z-index: 10057 !important;
}

/* line 24, app/assets/stylesheets/components/_prebilling_email_modal.scss */
body.modal-open:has(#prebilling-email-modal.show) .modal-backdrop {
  z-index: 10054 !important;
}

/* line 29, app/assets/stylesheets/components/_prebilling_email_modal.scss */
body.modal-open:has(#prebilling-email-modal.show) #sidebar-overlay {
  z-index: 10050 !important;
  pointer-events: none !important;
}

/* line 35, app/assets/stylesheets/components/_prebilling_email_modal.scss */
.swal2-container {
  z-index: 10053 !important;
}

/* line 38, app/assets/stylesheets/components/_prebilling_email_modal.scss */
.swal2-container.swal2-backdrop-show {
  z-index: 10053 !important;
}

/* line 44, app/assets/stylesheets/components/_prebilling_email_modal.scss */
body.modal-open:has(#prebilling-email-modal.show) .swal2-container {
  z-index: 10052 !important;
  opacity: 0.3 !important;
  pointer-events: none !important;
}

/* line 51, app/assets/stylesheets/components/_prebilling_email_modal.scss */
html body.modal-open:has(#prebilling-email-modal.show) #prebilling-email-modal.show {
  z-index: 10055 !important;
  position: fixed !important;
}

/* line 56, app/assets/stylesheets/components/_prebilling_email_modal.scss */
html body.modal-open:has(#prebilling-email-modal.show) .modal-backdrop {
  z-index: 10054 !important;
}
/* line 5, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.tooltip.show {
  opacity: 1;
}

/* line 9, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.tooltip .tooltip-inner {
  max-width: 300px;
  text-align: left;
  padding: 10px 15px;
}

/* line 14, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.tooltip .tooltip-inner strong {
  display: block;
  margin-bottom: 5px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  padding-bottom: 5px;
}

/* line 21, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.tooltip .tooltip-inner i.fas {
  width: 16px;
  text-align: center;
  margin-right: 5px;
}

/* line 30, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.rental-prebilling-email-icon {
  cursor: help;
  transition: all 0.2s ease;
}

/* line 34, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.rental-prebilling-email-icon:hover {
  transform: scale(1.1);
}

/* line 38, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.rental-prebilling-email-icon i {
  font-size: 0.9rem;
}

/* line 46, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-status-wrapper {
  position: relative;
  display: inline-block;
}

/* line 50, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-status-wrapper .billing-status-popover {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 10001;
  min-width: 320px;
  max-width: 400px;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #007bff;
  box-shadow: 0 15px 45px rgba(0, 0, 0, 0.25);
  overflow: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
  transform: translateX(-50%) translateY(-5px);
}

/* line 70, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-status-wrapper .billing-status-popover::after {
  content: '';
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 8px solid transparent;
  border-bottom-color: #fff;
}

/* line 80, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-status-wrapper .billing-status-popover::before {
  content: '';
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 10px solid transparent;
  border-bottom-color: #007bff;
}

/* line 91, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-status-wrapper:hover {
  z-index: 10002;
}

/* line 94, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-status-wrapper:hover .billing-status-popover {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

/* line 104, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-status-wrapper-right .billing-status-popover {
  left: auto;
  right: 0;
  transform: translateX(0) translateY(-5px);
}

/* line 109, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-status-wrapper-right .billing-status-popover::after {
  left: auto;
  right: 18px;
  transform: none;
}

/* line 115, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-status-wrapper-right .billing-status-popover::before {
  left: auto;
  right: 16px;
  transform: none;
}

/* line 123, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-status-wrapper-right:hover .billing-status-popover {
  transform: translateX(0) translateY(0);
}

/* line 130, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.table-responsive.erp-table-popover-fix {
  overflow: visible !important;
  position: relative;
  z-index: 10;
}

/* line 136, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-popover-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 15px;
  background: linear-gradient(135deg, #007bff 0%, #0056b3 100%);
  color: #fff;
  font-weight: 600;
  font-size: 0.95rem;
}

/* line 146, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-popover-header i {
  font-size: 1.2rem;
  opacity: 0.9;
}

/* line 152, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-popover-body {
  padding: 12px 15px;
  max-height: 350px;
  overflow-y: auto;
}

/* line 158, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-popover-body::-webkit-scrollbar {
  width: 6px;
}

/* line 162, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-popover-body::-webkit-scrollbar-thumb {
  background: #cbd5e0;
  border-radius: 10px;
}

/* line 167, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-popover-body::-webkit-scrollbar-track {
  background: #f7fafc;
}

/* line 172, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-popover-section-title {
  font-weight: 700;
  color: #6c757d;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 6px;
  padding-bottom: 4px;
  border-bottom: 1px solid #e9ecef;
}

/* line 182, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-popover-section-title:not(:first-child) {
  margin-top: 10px;
}

/* line 187, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-popover-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 0;
  font-size: 0.85rem;
}

/* line 194, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-popover-item .billing-popover-item-name {
  color: #495057;
}

/* line 197, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-popover-item .billing-popover-item-name i {
  color: #007bff;
  margin-right: 6px;
  width: 14px;
  text-align: center;
}

/* line 205, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-popover-item .billing-popover-item-value {
  color: #212529;
  font-weight: 600;
  white-space: nowrap;
}

/* line 212, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-popover-note {
  padding: 8px 10px;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  background: #f8f9fa;
  color: #212529;
  font-size: 0.85rem;
  line-height: 1.45;
  white-space: normal;
}

/* line 223, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-popover-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 2px solid #007bff;
  font-weight: 700;
  font-size: 0.95rem;
}

/* line 233, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-popover-total span:first-child {
  color: #2c3e50;
}

/* line 237, app/assets/stylesheets/components/_prebilling_tooltips.scss */
.billing-popover-total span:last-child {
  color: #28a745;
  font-size: 1.05rem;
}
/* line 10, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign {
  --pw-link: var(--erp-ui-accent);
  --pw-mark: var(--erp-ui-accent);
}

/* line 11, app/assets/stylesheets/components/_pwa_v2.scss */
html[data-theme="dark"] body.pwa-redesign {
  --pw-link: var(--erp-ui-accent-marker);
  --pw-mark: var(--erp-ui-accent-marker);
}

/* line 16, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign > svg[width="0"] {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

/* line 19, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pwa-header {
  background: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
  padding: calc(8px + env(safe-area-inset-top, 0px)) 8px 8px 8px;
  min-height: calc(60px + env(safe-area-inset-top, 0px));
  border-bottom: 0;
  box-shadow: none;
}

/* line 27, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd {
  display: flex;
  align-items: center;
  gap: 4px;
  width: 100%;
  min-height: 44px;
}

/* line 28, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd-main {
  flex: 1;
  min-width: 0;
  padding-left: 8px;
}

/* line 29, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd-main h1 {
  font-size: 19px;
  font-weight: 700;
  margin: 0;
  line-height: 1.2;
  color: inherit;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 30, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd-sub {
  display: block;
  font-size: 12px;
  color: var(--erp-ui-accent-soft);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 31, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
  padding-left: 8px;
}

/* line 32, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd-logo {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  flex: none;
  display: block;
}

/* line 33, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ib {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  color: inherit;
  text-decoration: none;
  position: relative;
  flex: none;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 0;
}

/* line 37, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ib:hover, body.pwa-redesign .pw-ib:focus {
  color: inherit;
  background: rgba(255, 255, 255, 0.12);
}

/* line 38, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ib:focus-visible {
  outline: 2px solid var(--erp-ui-accent-ink);
  outline-offset: -2px;
}

/* line 40, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd-action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 0 12px;
  border-radius: 8px;
  background: var(--erp-ui-surface);
  color: var(--pw-link);
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  flex: none;
}

/* line 43, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd-action:hover {
  color: var(--erp-ui-accent-hover);
}

/* line 47, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd-form {
  margin: 0;
  display: flex;
  flex: none;
}

/* line 48, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd-text {
  background: transparent;
  border: 0;
  color: var(--erp-ui-accent-ink);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  min-height: 44px;
  padding: 0 10px;
  border-radius: 6px;
  cursor: pointer;
  text-decoration: none;
}

/* line 51, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd-text:hover, body.pwa-redesign .pw-hd-text:focus {
  color: var(--erp-ui-accent-ink);
  background: rgba(255, 255, 255, 0.12);
}

/* line 52, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd-text:focus-visible {
  outline: 2px solid var(--erp-ui-accent-ink);
  outline-offset: -2px;
}

/* line 54, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-badge {
  position: absolute;
  top: 6px;
  right: 5px;
  min-width: 18px;
  height: 18px;
  border-radius: 9999px;
  background: var(--erp-ui-critical);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 5px;
  box-sizing: border-box;
  border: 2px solid var(--erp-ui-accent);
}

/* line 62, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pwa-connection {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  font-size: 13px;
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink-2);
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 65, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pwa-connection a {
  margin-left: auto;
  font-weight: 600;
  text-decoration: none;
  color: var(--pw-link);
}

/* line 67, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sync-dot {
  width: 8px;
  height: 8px;
  border-radius: 9999px;
  background: var(--erp-ui-good);
  flex: none;
}

/* line 68, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pwa-connection.is-pending .pw-sync-dot {
  background: var(--erp-ui-warning);
}

/* line 69, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pwa-connection.is-offline .pw-sync-dot {
  background: var(--erp-ui-critical);
}

/* line 70, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pwa-connection.is-attention .pw-sync-dot {
  background: var(--erp-ui-critical);
}

/* line 72, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sync-card .pw-title {
  overflow-wrap: anywhere;
}

/* line 73, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sync-card .pw-sec-row {
  align-items: flex-start;
}

/* line 74, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-thumb.is-local {
  position: relative;
}

/* line 75, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-thumb-state {
  position: absolute;
  left: 4px;
  right: 4px;
  bottom: 4px;
  border-radius: 4px;
  padding: 2px 4px;
  font-size: 11px;
  font-weight: 700;
  text-align: center;
  background: rgba(26, 32, 40, 0.78);
  color: #fff;
  line-height: 1.3;
}

/* line 79, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-thumb.is-local[data-state="sent"] .pw-thumb-state {
  background: var(--erp-ui-good);
}

/* line 80, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-thumb.is-local[data-state="attention"] .pw-thumb-state {
  background: var(--erp-ui-critical);
}

/* line 81, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sync-preview {
  width: 96px;
  height: 96px;
  object-fit: cover;
  border-radius: 6px;
}

/* line 82, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sync-more > summary {
  list-style: none;
  cursor: pointer;
  width: max-content;
}

/* line 83, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sync-more > summary::-webkit-details-marker {
  display: none;
}

/* line 84, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sync-more[open] > summary {
  margin-bottom: 8px;
}

/* line 85, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sync-confirm {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* line 88, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-page {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* line 89, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-stack {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* line 90, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sec {
  font-size: 16px;
  font-weight: 700;
  margin: 0;
  color: var(--erp-ui-ink);
}

/* line 91, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sec-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

/* line 92, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sec-row a {
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  color: var(--pw-link);
}

/* line 93, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-group {
  font-size: 12px;
  font-weight: 700;
  color: var(--erp-ui-ink-2);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin: 6px 0 0;
}

/* line 94, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-label {
  font-size: 12px;
  font-weight: 700;
  color: var(--erp-ui-ink-2);
  text-transform: uppercase;
  letter-spacing: .05em;
}

/* line 95, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-muted {
  color: var(--erp-ui-ink-2);
  font-size: 13px;
}

/* line 96, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-title {
  font-weight: 700;
  font-size: 15px;
  margin: 0;
  color: var(--erp-ui-ink);
}

/* line 97, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-title-lg {
  font-weight: 700;
  font-size: 19px;
  margin: 0;
  line-height: 1.25;
  color: var(--erp-ui-ink);
}

/* line 98, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-title-md {
  font-weight: 600;
  font-size: 16px;
  margin: 0;
  color: var(--erp-ui-ink);
}

/* line 99, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-strong {
  font-weight: 600;
}

/* line 100, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-q {
  font-size: 24px;
  font-weight: 700;
  margin: 0;
  line-height: 1.2;
  color: var(--erp-ui-ink);
}

/* line 101, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* line 103, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-card {
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  color: var(--erp-ui-ink);
}

/* line 107, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign a.pw-card {
  text-decoration: none;
}

/* line 108, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign a.pw-card:hover {
  color: var(--erp-ui-ink);
  border-color: var(--erp-ui-hairline-strong);
}

/* line 109, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-card.is-now {
  border-color: var(--pw-mark);
  box-shadow: inset 0 0 0 1px var(--pw-mark);
}

/* line 110, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-card.is-flat {
  padding: 0;
  gap: 0;
  overflow: hidden;
}

/* line 111, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-card.is-attention {
  background: var(--erp-ui-warning-wash);
  border-color: var(--erp-ui-warning);
  flex-direction: row;
  align-items: center;
  gap: 12px;
}

/* line 113, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 24px;
  padding: 0 10px;
  border-radius: 9999px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

/* line 116, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-pill.good {
  background: var(--erp-ui-good-soft);
  color: var(--erp-ui-good-text);
}

/* line 117, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-pill.warning {
  background: var(--erp-ui-warning-soft);
  color: var(--erp-ui-warning-text);
}

/* line 118, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-pill.critical {
  background: var(--erp-ui-critical-soft);
  color: var(--erp-ui-critical-text);
}

/* line 119, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-pill.info {
  background: var(--erp-ui-accent-soft);
  color: var(--pw-link);
}

/* line 120, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-pill.neutral {
  background: var(--erp-ui-hairline);
  color: var(--erp-ui-ink-2);
}

/* line 122, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

/* line 124, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  border: 1px solid var(--erp-ui-hairline-strong);
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink);
  box-sizing: border-box;
  padding: 0 14px;
  cursor: pointer;
  font-family: inherit;
  width: 100%;
}

/* line 129, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-btn:hover {
  color: var(--erp-ui-ink);
  background: var(--erp-ui-surface-2);
}

/* line 130, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-btn.is-primary {
  background: var(--erp-ui-accent);
  border-color: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
}

/* line 131, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-btn.is-primary:hover {
  background: var(--erp-ui-accent-hover);
  color: var(--erp-ui-accent-ink);
}

/* line 132, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-btn.is-danger {
  color: var(--erp-ui-critical-text);
}

/* line 133, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-btn:disabled, body.pwa-redesign .pw-btn.is-disabled {
  background: var(--erp-ui-hairline);
  border-color: var(--erp-ui-hairline);
  color: var(--erp-ui-ink-2);
  cursor: not-allowed;
  pointer-events: none;
}

/* line 135, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

/* line 136, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-three {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

/* line 137, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-span-2 {
  grid-column: span 2;
}

/* line 139, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ico {
  width: 36px;
  height: 36px;
  border-radius: 6px;
  background: var(--erp-ui-page);
  color: var(--pw-link);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
}

/* line 142, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ico.warning {
  background: var(--erp-ui-warning-soft);
  color: var(--erp-ui-warning-text);
}

/* line 143, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ico.critical {
  background: var(--erp-ui-critical-soft);
  color: var(--erp-ui-critical-text);
}

/* line 144, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ico.good {
  background: var(--erp-ui-good-soft);
  color: var(--erp-ui-good-text);
}

/* line 145, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ico.info {
  background: var(--erp-ui-accent-soft);
  color: var(--pw-link);
}

/* line 146, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ico.is-sm {
  width: 32px;
  height: 32px;
}

/* line 150, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-seg {
  display: flex;
  background: var(--erp-ui-hairline);
  border-radius: 8px;
  padding: 4px;
  gap: 4px;
}

/* line 152, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-seg a, body.pwa-redesign .pw-seg button {
  flex: 1;
  min-height: 40px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  color: var(--erp-ui-ink-2);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  padding: 0 4px;
  text-align: center;
  white-space: nowrap;
  font-size: 14px;
}

/* line 157, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-seg .is-on {
  background: var(--erp-ui-surface);
  color: var(--pw-link);
  box-shadow: 0 1px 2px rgba(26, 32, 40, 0.12);
}

/* line 158, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-seg.is-four {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* line 159, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-seg.is-four button, body.pwa-redesign .pw-seg.is-four a {
  font-size: 13px;
}

/* line 163, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-tools {
  margin: -16px -16px 0;
  padding: 12px 16px;
  background: var(--erp-ui-surface);
  border-bottom: 1px solid var(--erp-ui-hairline);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* line 164, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-search {
  display: flex;
  gap: 8px;
}

/* line 165, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-input {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 8px;
  padding: 0 12px;
  color: var(--erp-ui-ink-2);
  background: var(--erp-ui-surface);
}

/* line 168, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-input input {
  border: 0;
  outline: 0;
  flex: 1;
  font: inherit;
  font-size: 15px;
  color: var(--erp-ui-ink);
  background: transparent;
  min-width: 0;
}

/* line 170, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-input, body.pwa-redesign .pw-textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 8px;
  padding: 10px 12px;
  font: inherit;
  font-size: 15px;
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink);
}

/* line 174, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-input {
  min-height: 48px;
}

/* line 175, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-textarea {
  min-height: 84px;
  resize: vertical;
}

/* line 176, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--erp-ui-ink);
}

/* line 177, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-icon-btn {
  width: 44px;
  height: 44px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 8px;
  background: var(--erp-ui-surface);
  color: var(--pw-link);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex: none;
}

/* line 183, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-item {
  display: flex;
  gap: 12px;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
  padding: 14px;
  text-decoration: none;
  color: var(--erp-ui-ink);
}

/* line 186, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-item:hover {
  color: var(--erp-ui-ink);
  border-color: var(--erp-ui-hairline-strong);
}

/* line 187, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-item.is-now {
  border-color: var(--pw-mark);
  box-shadow: inset 0 0 0 1px var(--pw-mark);
}

/* line 189, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-time {
  width: 52px;
  flex: none;
}

/* line 190, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-time b {
  display: block;
  font-size: 19px;
  font-variant-numeric: tabular-nums;
  color: var(--pw-link);
  line-height: 1.1;
}

/* line 191, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-time span {
  font-size: 12px;
  color: var(--erp-ui-ink-2);
}

/* line 192, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-item-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* line 193, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-item-body .pw-tags {
  margin-top: 6px;
}

/* line 196, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ln {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  min-height: 56px;
  box-sizing: border-box;
  border-top: 1px solid var(--erp-ui-hairline);
  text-decoration: none;
  color: var(--erp-ui-ink);
}

/* line 199, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ln:first-child {
  border-top: 0;
}

/* line 200, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ln:hover {
  color: var(--erp-ui-ink);
  background: var(--erp-ui-surface-2);
}

/* line 201, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ln.is-read .pw-title {
  font-weight: 500;
  color: var(--erp-ui-ink-2);
}

/* line 203, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ln-main {
  flex: 1;
  min-width: 0;
}

/* line 204, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ln-main strong {
  display: block;
  font-size: 15px;
  font-weight: 600;
}

/* line 205, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ln-time {
  width: 46px;
  flex: none;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: 14px;
  color: var(--pw-link);
}

/* line 206, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ln.is-top {
  align-items: flex-start;
  padding: 14px;
}

/* line 207, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-block {
  display: block;
}

/* line 208, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-when {
  margin-top: 4px;
}

/* line 209, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-link-center {
  display: block;
  text-align: center;
  padding: 12px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  color: var(--pw-link);
}

/* line 210, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ln.is-identity {
  min-height: 84px;
}

/* line 211, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-name {
  display: block;
  font-size: 17px;
  font-weight: 700;
}

/* line 212, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-inline-link {
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  color: var(--pw-link);
  padding: 10px 4px;
  flex: none;
}

/* line 213, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-text-link {
  font-weight: 600;
  color: var(--pw-link);
}

/* line 214, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-chip-btn {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 9999px;
  border: 1px solid var(--erp-ui-hairline-strong);
  background: var(--erp-ui-surface);
  color: var(--pw-link);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  flex: none;
}

/* line 220, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-pill[hidden], body.pwa-redesign .pw-chip-btn[hidden] {
  display: none;
}

/* line 221, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-form-block {
  margin: 0;
  display: block;
}

/* line 222, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-block-btn {
  width: 100%;
}

/* line 223, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-unread {
  width: 10px;
  height: 10px;
  border-radius: 9999px;
  background: var(--pw-mark);
  flex: none;
}

/* line 226, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-qa a {
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
  padding: 12px 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 84px;
  text-decoration: none;
  color: var(--erp-ui-ink);
  font-size: 13px;
  font-weight: 600;
  text-align: center;
}

/* line 233, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-bars {
  display: flex;
  gap: 4px;
}

/* line 234, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-bars span {
  flex: 1;
  height: 6px;
  border-radius: 9999px;
  background: var(--erp-ui-hairline);
}

/* line 235, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-bars span.is-on {
  background: var(--pw-mark);
}

/* line 238, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-step {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid var(--erp-ui-hairline);
  text-decoration: none;
  color: var(--erp-ui-ink);
  min-height: 48px;
}

/* line 239, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-step:first-of-type {
  border-top: 0;
}

/* line 240, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-step:hover {
  color: var(--erp-ui-ink);
}

/* line 241, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-mark {
  width: 28px;
  height: 28px;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  font-size: 13px;
  font-weight: 700;
  box-sizing: border-box;
}

/* line 244, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-mark.is-done {
  background: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
}

/* line 245, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-mark.is-todo {
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink-2);
  border: 2px solid var(--erp-ui-hairline-strong);
}

/* line 246, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-mark.is-warn {
  background: var(--erp-ui-warning-soft);
  color: var(--erp-ui-warning-text);
}

/* line 247, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-mark.is-bad {
  background: var(--erp-ui-critical-soft);
  color: var(--erp-ui-critical-text);
}

/* line 248, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-mark.is-good {
  background: var(--erp-ui-good-soft);
  color: var(--erp-ui-good-text);
}

/* line 252, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-tabs {
  display: flex;
  border-bottom: 1px solid var(--erp-ui-hairline-strong);
  gap: 4px;
}

/* line 254, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-tabs button, body.pwa-redesign .pw-tabs a {
  flex: 1;
  min-height: 44px;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  color: var(--erp-ui-ink-2);
  cursor: pointer;
  border-bottom: 3px solid transparent;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 259, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-tabs [aria-selected="true"] {
  color: var(--pw-link);
  border-bottom-color: var(--pw-mark);
}

/* line 263, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-card.is-steps {
  gap: 0;
}

/* line 264, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-card.is-steps .pw-sec-row {
  margin-bottom: 4px;
}

/* line 265, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-step.is-link {
  cursor: pointer;
}

/* line 266, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-step.is-link:hover .pw-ln-main strong {
  color: var(--pw-link);
}

/* line 267, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-step .pw-ln-main strong {
  display: block;
  font-size: 15px;
}

/* line 268, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-clickable {
  cursor: pointer;
  margin: 0;
}

/* line 269, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-link-btn {
  background: transparent;
  border: 0;
  padding: 0;
  font: inherit;
  cursor: pointer;
}

/* line 275, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign a.pw-text-link, body.pwa-redesign button.pw-text-link, body.pwa-redesign label.pw-text-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  padding: 0 4px;
  margin: -12px -4px;
}

/* line 279, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-small {
  font-size: 13px;
}

/* line 280, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-pre {
  white-space: pre-line;
}

/* line 281, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-span-3 {
  grid-column: 1 / -1;
}

/* line 282, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sig-image {
  max-width: 100%;
  height: 120px;
  object-fit: contain;
  background: #fff;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 6px;
}

/* line 283, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-timeline {
  list-style: none;
  margin: 0;
  padding: 0 0 0 18px;
  border-left: 2px solid var(--erp-ui-hairline);
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* line 284, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-timeline li {
  position: relative;
}

/* line 285, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-timeline li::before {
  content: "";
  position: absolute;
  left: -25px;
  top: 5px;
  width: 10px;
  height: 10px;
  border-radius: 9999px;
  background: var(--pw-mark);
}

/* line 286, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-btn.is-danger-solid {
  background: var(--erp-ui-critical);
  border-color: var(--erp-ui-critical);
  color: #fff;
}

/* line 287, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-dialog {
  border: 0;
  border-radius: 8px;
  padding: 16px;
  width: 92%;
  max-width: 420px;
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink);
  box-shadow: 0 16px 40px rgba(26, 32, 40, 0.3);
}

/* line 290, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-dialog::backdrop {
  background: rgba(26, 32, 40, 0.5);
}

/* line 291, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-dialog:not([open]) {
  display: none;
}

/* line 293, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd .pw-menu-panel {
  color: var(--erp-ui-ink);
}

/* line 294, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-dialog.is-tall {
  max-height: 90vh;
  overflow-y: auto;
}

/* line 295, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-dialog .alert {
  margin: 0;
  border: 0;
}

/* line 296, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-dialog .alert-warning, body.pwa-redesign .pw-dialog .alert-danger {
  background: var(--erp-ui-warning-soft);
  color: var(--erp-ui-warning-text);
}

/* line 297, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-dialog .alert-success {
  background: var(--erp-ui-good-soft);
  color: var(--erp-ui-good-text);
}

/* line 298, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-check {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin: 0;
  cursor: pointer;
  font-weight: 400;
}

/* line 299, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-check input {
  width: 22px;
  height: 22px;
  margin-top: 1px;
  accent-color: var(--erp-ui-accent);
  flex: none;
}

/* line 302, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-msg {
  background: var(--erp-ui-page);
  border-radius: 8px;
  padding: 12px;
  font-size: 15px;
  line-height: 1.45;
  white-space: pre-line;
}

/* line 303, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-disclosure > summary {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  min-height: 44px;
}

/* line 304, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-disclosure > summary::-webkit-details-marker {
  display: none;
}

/* line 305, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-disclosure > summary:focus-visible {
  outline: 2px solid var(--pw-mark);
  outline-offset: 2px;
  border-radius: 6px;
}

/* line 306, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-disclosure .pw-when-open {
  display: none;
}

/* line 307, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-disclosure[open] .pw-when-open {
  display: inline;
}

/* line 308, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-disclosure[open] .pw-when-closed {
  display: none;
}

/* line 309, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-kv {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border-top: 1px solid var(--erp-ui-hairline);
  font-size: 14px;
}

/* line 310, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-kv span:first-child {
  color: var(--erp-ui-ink-2);
  flex: none;
}

/* line 311, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-kv span:last-child {
  text-align: right;
  font-weight: 600;
}

/* line 314, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-move {
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
  overflow: hidden;
}

/* line 315, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-move.is-now {
  border-color: var(--pw-mark);
  box-shadow: inset 0 0 0 1px var(--pw-mark);
}

/* line 316, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-move-body {
  display: flex;
  gap: 12px;
  padding: 14px;
  text-decoration: none;
  color: var(--erp-ui-ink);
}

/* line 317, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-move-body:hover {
  color: var(--erp-ui-ink);
}

/* line 318, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-move-body .pw-item-body > span:not(.pw-title):not(.pw-muted):not(.pw-tags) {
  font-size: 15px;
}

/* line 319, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-move-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--erp-ui-hairline);
}

/* line 320, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-move-actions > a, body.pwa-redesign .pw-move-actions button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 48px;
  width: 100%;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  color: var(--pw-link);
  background: transparent;
  border: 0;
  cursor: pointer;
}

/* line 324, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-move-actions > * + * {
  border-left: 1px solid var(--erp-ui-hairline);
}

/* line 325, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-move-actions > :only-child {
  grid-column: 1 / -1;
}

/* line 326, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-move-actions .is-primary {
  font-weight: 700;
}

/* line 328, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-foot-note[hidden] {
  display: none;
}

/* line 330, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-btn[aria-disabled="true"] {
  background: var(--erp-ui-hairline);
  border-color: var(--erp-ui-hairline);
  color: var(--erp-ui-ink-2);
}

/* line 333, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ctx {
  font-size: 13px;
  color: var(--erp-ui-ink-2);
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
  padding: 8px 12px;
}

/* line 334, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ctx:empty {
  display: none;
}

/* line 335, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-seg-opt {
  flex: 1;
  position: relative;
  display: flex;
  margin: 0;
}

/* line 336, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-seg-opt input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}

/* line 337, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-seg-opt span {
  flex: 1;
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--erp-ui-ink-2);
  cursor: pointer;
  white-space: nowrap;
}

/* line 341, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-seg-opt input:checked + span {
  background: var(--erp-ui-surface);
  color: var(--pw-link);
  box-shadow: 0 1px 2px rgba(26, 32, 40, 0.12);
}

/* line 342, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-seg-opt input:focus-visible + span {
  outline: 2px solid var(--pw-mark);
  outline-offset: 1px;
}

/* line 343, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-opt.is-when {
  min-height: 64px;
}

/* line 344, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign a.pw-opt {
  text-decoration: none;
}

/* line 345, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign a.pw-opt:hover {
  color: var(--erp-ui-ink);
}

/* line 346, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-card.is-plain {
  flex-direction: row;
  align-items: flex-start;
}

/* line 347, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-card.is-done-card {
  align-items: center;
  text-align: center;
  padding: 24px 16px;
}

/* line 348, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-card.is-done-card .pw-two {
  width: 100%;
}

/* line 349, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-chip .pw-avatar {
  margin-left: -6px;
}

/* line 352, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-opt {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  text-align: left;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
  padding: 12px 14px;
  font: inherit;
  color: var(--erp-ui-ink);
  cursor: pointer;
  min-height: 56px;
  box-sizing: border-box;
  margin: 0;
}

/* line 356, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-opt.is-on, body.pwa-redesign .pw-opt:has(input:checked) {
  border: 2px solid var(--pw-mark);
  padding: 11px 13px;
  background: var(--erp-ui-surface-2);
}

/* line 357, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-opt input[type="radio"], body.pwa-redesign .pw-opt input[type="checkbox"] {
  width: 22px;
  height: 22px;
  accent-color: var(--erp-ui-accent);
  flex: none;
  margin: 0;
}

/* line 359, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* line 360, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-chip {
  min-height: 44px;
  padding: 0 14px;
  border-radius: 9999px;
  border: 1px solid var(--erp-ui-hairline-strong);
  background: var(--erp-ui-surface);
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  color: var(--erp-ui-ink);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  text-decoration: none;
}

/* line 364, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-chip input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}

/* line 365, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-chip:hover {
  color: var(--erp-ui-ink);
}

/* line 366, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-chip.is-on:hover {
  color: var(--erp-ui-accent-ink);
}

/* line 367, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-chip.is-on, body.pwa-redesign .pw-chip:has(input:checked) {
  background: var(--erp-ui-accent);
  border-color: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
}

/* line 368, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-chip:has(input:focus-visible) {
  outline: 2px solid var(--pw-mark);
  outline-offset: 2px;
}

/* line 370, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-avatar {
  width: 26px;
  height: 26px;
  border-radius: 9999px;
  background: var(--erp-ui-accent-soft);
  color: var(--pw-link);
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
}

/* line 374, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-avatar.is-lg {
  width: 52px;
  height: 52px;
  font-size: 18px;
}

/* line 377, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-switch {
  position: relative;
  width: 52px;
  height: 32px;
  border-radius: 9999px;
  border: 0;
  cursor: pointer;
  flex: none;
  padding: 0;
  background: var(--erp-ui-hairline-strong);
}

/* line 380, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-switch::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 24px;
  height: 24px;
  border-radius: 9999px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(26, 32, 40, 0.25);
}

/* line 381, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-switch[aria-checked="true"] {
  background: var(--pw-mark);
}

/* line 382, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-switch[aria-checked="true"]::after {
  left: 24px;
}

/* line 383, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-switch:focus-visible {
  outline: 2px solid var(--pw-mark);
  outline-offset: 2px;
}

/* line 387, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-stepper {
  margin: -16px -16px 0;
  padding: 12px 16px;
  background: var(--erp-ui-surface);
  border-bottom: 1px solid var(--erp-ui-hairline);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* line 388, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-stepper-labels {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--erp-ui-ink-2);
}

/* line 389, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-stepper-labels .is-on {
  color: var(--pw-link);
}

/* line 390, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hint {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  background: var(--erp-ui-accent-soft);
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 13px;
  color: var(--erp-ui-ink);
}

/* line 391, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hint > svg, body.pwa-redesign .pw-note > svg {
  flex: none;
  margin-top: 1px;
}

/* line 392, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hint.is-critical {
  background: var(--erp-ui-critical-soft);
  color: var(--erp-ui-critical-text);
}

/* line 393, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hint.is-warning {
  background: var(--erp-ui-warning-soft);
  color: var(--erp-ui-warning-text);
}

/* line 394, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-note {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 13px;
  color: var(--erp-ui-ink-2);
}

/* line 395, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-review-row {
  display: flex;
  gap: 12px;
  padding: 12px 14px;
  border-top: 1px solid var(--erp-ui-hairline);
  align-items: flex-start;
}

/* line 396, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-review-row:first-child {
  border-top: 0;
}

/* line 397, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-review-row .k {
  width: 92px;
  flex: none;
  font-size: 13px;
  font-weight: 700;
  color: var(--erp-ui-ink-2);
  padding-top: 1px;
}

/* line 398, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-review-row .v {
  flex: 1;
  min-width: 0;
}

/* line 399, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-review-row a {
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  color: var(--pw-link);
}

/* line 402, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-foot {
  position: sticky;
  bottom: calc(64px + env(safe-area-inset-bottom, 0px));
  z-index: 10;
  margin: 0 -16px -16px;
  padding: 12px 16px 16px;
  background: var(--erp-ui-surface);
  border-top: 1px solid var(--erp-ui-hairline);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

/* line 406, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-foot.is-stack {
  display: flex;
  flex-direction: column;
}

/* line 407, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-foot .pw-foot-note {
  grid-column: 1 / -1;
  text-align: center;
  margin: 0;
}

/* line 408, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-foot .pw-foot-note:empty {
  display: none;
}

/* line 413, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign.pw-no-nav .pwa-content {
  padding-bottom: calc(168px + env(safe-area-inset-bottom, 0px));
}

/* line 414, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign.pw-no-nav .pw-foot {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  z-index: 1000;
  padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
}

/* line 420, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-thumbs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

/* line 421, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-thumb {
  aspect-ratio: 1;
  border-radius: 6px;
  background: var(--erp-ui-hairline);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: var(--erp-ui-ink-2);
  overflow: hidden;
  text-decoration: none;
}

/* line 424, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* line 425, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-thumb.is-add {
  background: var(--erp-ui-surface);
  border: 1px dashed var(--erp-ui-hairline-strong);
  color: var(--pw-link);
  font-weight: 600;
  font-size: 13px;
  flex-direction: column;
  gap: 4px;
  cursor: pointer;
}

/* line 427, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-thumb[data-photo] {
  position: relative;
}

/* line 428, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-photo-view {
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}

/* line 429, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-photo-remove {
  position: absolute;
  right: 4px;
  bottom: 4px;
  padding: 4px 6px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 4px;
  background: var(--erp-ui-surface);
  color: var(--erp-ui-critical-text);
  font: inherit;
  cursor: pointer;
}

/* line 430, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-photo-dialog {
  width: 95vw;
  max-width: 720px;
  max-height: 90vh;
  padding: 12px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 8px;
  background: var(--erp-ui-surface);
}

/* line 431, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-photo-dialog::backdrop {
  background: rgba(26, 32, 40, 0.72);
}

/* line 432, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-photo-dialog img {
  display: block;
  max-width: 100%;
  max-height: 75vh;
  margin: 8px auto 0;
  object-fit: contain;
}

/* line 435, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sig {
  height: 150px;
  border: 1px dashed var(--erp-ui-hairline-strong);
  border-radius: 8px;
  background: var(--erp-ui-surface-2);
  position: relative;
  touch-action: none;
}

/* line 436, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sig canvas {
  width: 100%;
  height: 100%;
  display: block;
}

/* line 437, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sig {
  background: #fff;
  overflow: hidden;
}

/* line 438, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sig-hint {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #5a6472;
  font-size: 14px;
  pointer-events: none;
}

/* line 441, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-menu {
  position: relative;
}

/* line 442, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-menu > summary {
  list-style: none;
}

/* line 443, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-menu > summary::-webkit-details-marker {
  display: none;
}

/* line 444, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-menu-panel {
  position: absolute;
  top: 48px;
  right: 0;
  width: 240px;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(26, 32, 40, 0.18);
  padding: 6px;
  display: flex;
  flex-direction: column;
  z-index: 1050;
}

/* line 448, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-menu-panel.is-filter {
  width: 300px;
  padding: 12px;
  gap: 8px;
}

/* line 449, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-icon-btn.is-on {
  border-color: var(--pw-mark);
  background: var(--erp-ui-accent-soft);
}

/* line 450, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-input:focus-within {
  border-color: var(--pw-mark);
  box-shadow: 0 0 0 1px var(--pw-mark);
}

/* line 451, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-menu > summary:focus-visible {
  outline: 2px solid var(--pw-mark);
  outline-offset: 2px;
}

/* line 452, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-menu-item {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0 12px;
  border-radius: 6px;
  text-decoration: none;
  color: var(--erp-ui-ink);
  font-size: 15px;
  font-weight: 500;
  background: transparent;
  border: 0;
  width: 100%;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
}

/* line 455, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-menu-item:hover {
  background: var(--erp-ui-page);
  color: var(--erp-ui-ink);
}

/* line 456, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-menu-item.is-danger {
  color: var(--erp-ui-critical-text);
}

/* line 458, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-menu-sep {
  height: 1px;
  background: var(--erp-ui-hairline);
  margin: 6px 0;
}

/* line 461, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-empty {
  text-align: center;
  padding: 32px 16px;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
  color: var(--erp-ui-ink-2);
}

/* line 462, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-empty strong {
  display: block;
  color: var(--erp-ui-ink);
  margin-bottom: 4px;
}

/* line 465, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pwa-bottom-nav {
  display: flex;
  background: var(--erp-ui-surface);
  border-top: 1px solid var(--erp-ui-hairline);
  padding: 6px 4px calc(12px + env(safe-area-inset-bottom, 0px));
}

/* line 466, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pwa-bottom-nav .pwa-nav-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  font-size: 12px;
  font-weight: 600;
  color: var(--erp-ui-ink-2);
  text-decoration: none;
  min-height: 52px;
  justify-content: center;
  background: transparent;
  border-radius: 0;
}

/* line 470, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pwa-bottom-nav .pwa-nav-item.active {
  color: var(--pw-link);
  background: transparent;
}

/* line 471, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-nav-ico {
  width: 56px;
  height: 30px;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

/* line 472, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pwa-bottom-nav .pwa-nav-item.active .pw-nav-ico {
  background: var(--erp-ui-accent-soft);
}

/* line 473, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-nav-badge {
  position: absolute;
  top: -2px;
  right: 6px;
  min-width: 18px;
  height: 18px;
  border-radius: 9999px;
  background: var(--erp-ui-critical);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 5px;
  box-sizing: border-box;
}

/* line 482, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign [hidden]:not(#pw-hidden-guard) {
  display: none;
}

/* line 486, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-part-results {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* line 487, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-part-option {
  width: 100%;
  justify-content: flex-start;
  text-align: left;
  white-space: normal;
}

/* line 488, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-part-hints {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 10px 12px;
  border: 1px dashed var(--erp-ui-hairline-strong);
  border-radius: 8px;
  background: var(--erp-ui-surface-2);
}

/* line 491, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-part-hints > p {
  flex: 1 1 100%;
  margin: 0;
}

/* line 492, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-part-hints .pw-field-part-option {
  width: auto;
}

/* line 494, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-stepper {
  display: flex;
  align-items: stretch;
  gap: 6px;
  margin-top: 4px;
}

/* line 496, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-stepper .pw-field-input {
  width: 96px;
  text-align: center;
}

/* line 497, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-stepper .pw-btn {
  min-width: 48px;
  justify-content: center;
  font-size: 20px;
}

/* line 499, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-parts {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* line 502, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-quantity {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
/* line 5, app/assets/stylesheets/components/_quick_filters.scss */
.quick-filters-container {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  padding: 12px 16px;
  margin-bottom: 20px;
}

/* line 13, app/assets/stylesheets/components/_quick_filters.scss */
.quick-filters-header {
  margin-bottom: 10px;
}

/* line 17, app/assets/stylesheets/components/_quick_filters.scss */
.quick-filters-label {
  font-size: 13px;
  font-weight: 600;
  color: #495057;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* line 26, app/assets/stylesheets/components/_quick_filters.scss */
.quick-filters-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* line 32, app/assets/stylesheets/components/_quick_filters.scss */
.quick-filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  background: white;
  color: #495057;
  font-size: 12px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
}

/* line 47, app/assets/stylesheets/components/_quick_filters.scss */
.quick-filter-btn:hover {
  background: #e9ecef;
  border-color: #adb5bd;
  text-decoration: none;
  color: #212529;
}

/* line 54, app/assets/stylesheets/components/_quick_filters.scss */
.quick-filter-btn.active {
  background: #007bff;
  border-color: #007bff;
  color: white;
}

/* line 59, app/assets/stylesheets/components/_quick_filters.scss */
.quick-filter-btn.active:hover {
  background: #0056b3;
  border-color: #0056b3;
  color: white;
}

/* line 66, app/assets/stylesheets/components/_quick_filters.scss */
.quick-filter-btn.clear-filters {
  background: #6c757d;
  border-color: #6c757d;
  color: white;
}

/* line 71, app/assets/stylesheets/components/_quick_filters.scss */
.quick-filter-btn.clear-filters:hover {
  background: #5a6268;
  border-color: #5a6268;
  color: white;
}

/* line 78, app/assets/stylesheets/components/_quick_filters.scss */
.quick-filter-btn i {
  font-size: 13px;
}

/* line 82, app/assets/stylesheets/components/_quick_filters.scss */
.quick-filter-btn .badge {
  margin-left: 4px;
  font-size: 10px;
  padding: 2px 6px;
}

@media (max-width: 768px) {
  /* line 90, app/assets/stylesheets/components/_quick_filters.scss */
  .quick-filters-buttons {
    flex-direction: column;
  }
  /* line 94, app/assets/stylesheets/components/_quick_filters.scss */
  .quick-filter-btn {
    width: 100%;
    justify-content: center;
  }
}
/* line 6, app/assets/stylesheets/components/_quotation_email_modal.scss */
#quotation-email-modal {
  z-index: 10055 !important;
}

/* line 10, app/assets/stylesheets/components/_quotation_email_modal.scss */
#quotation-email-modal.show {
  z-index: 10055 !important;
  display: block !important;
}

/* line 15, app/assets/stylesheets/components/_quotation_email_modal.scss */
#quotation-email-modal .modal-dialog {
  z-index: 10056 !important;
}

/* line 19, app/assets/stylesheets/components/_quotation_email_modal.scss */
#quotation-email-modal .modal-content {
  z-index: 10057 !important;
}

/* line 24, app/assets/stylesheets/components/_quotation_email_modal.scss */
body.modal-open:has(#quotation-email-modal.show) .modal-backdrop {
  z-index: 10054 !important;
}

/* line 29, app/assets/stylesheets/components/_quotation_email_modal.scss */
body.modal-open:has(#quotation-email-modal.show) #sidebar-overlay {
  z-index: 10050 !important;
  pointer-events: none !important;
}

/* line 35, app/assets/stylesheets/components/_quotation_email_modal.scss */
body.modal-open:has(#quotation-email-modal.show) .swal2-container {
  z-index: 10052 !important;
  opacity: 0.3 !important;
  pointer-events: none !important;
}

/* line 42, app/assets/stylesheets/components/_quotation_email_modal.scss */
html body.modal-open:has(#quotation-email-modal.show) #quotation-email-modal.show {
  z-index: 10055 !important;
  position: fixed !important;
}

/* line 47, app/assets/stylesheets/components/_quotation_email_modal.scss */
html body.modal-open:has(#quotation-email-modal.show) .modal-backdrop {
  z-index: 10054 !important;
}
@charset "UTF-8";
/* =============================================================================
   MODAL DE EMAIL DE CONTAS A RECEBER - Correções de Z-Index
   ============================================================================= */
/* 
 * Hierarquia de Z-Index no Sistema:
 * - Sidebar: 1037-1038
 * - Header: 1030
 * - Footer: 1020
 * - Content wrapper: 1000
 * - Backdrop padrão Bootstrap: 1040-1054
 * - AdminLTE sidebar-overlay: 10000 (quando modal aberto)
 * - Modal de patrimônios: 10060-10062
 * - Modal de preferências: 999999
 * 
 * Modal de email de contas a receber: 10055 (acima do backdrop 1054 e overlay 10000, abaixo dos modais especiais)
 */
/* line 19, app/assets/stylesheets/components/_receivable_email_modal.scss */
[id^="sendEmailModal"],
[id^="confirmModal"],
[id^="previewModal"] {
  z-index: 10055 !important;
}

/* line 25, app/assets/stylesheets/components/_receivable_email_modal.scss */
.show[id^="sendEmailModal"],
.fade.show[id^="sendEmailModal"],
.show[id^="confirmModal"],
.fade.show[id^="confirmModal"],
.show[id^="previewModal"],
.fade.show[id^="previewModal"] {
  z-index: 10055 !important;
  display: block !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

/* line 41, app/assets/stylesheets/components/_receivable_email_modal.scss */
[id^="sendEmailModal"] .modal-dialog,
[id^="confirmModal"] .modal-dialog,
[id^="previewModal"] .modal-dialog {
  z-index: 10056 !important;
  position: relative;
  margin: 1.75rem auto;
  pointer-events: none;
}

/* line 50, app/assets/stylesheets/components/_receivable_email_modal.scss */
[id^="sendEmailModal"] .modal-content,
[id^="confirmModal"] .modal-content,
[id^="previewModal"] .modal-content {
  z-index: 10057 !important;
  position: relative;
  pointer-events: auto;
  display: flex;
  flex-direction: column;
  width: 100%;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
  outline: 0;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

/* line 66, app/assets/stylesheets/components/_receivable_email_modal.scss */
body.modal-open:has(.show[id^="sendEmailModal"]) .modal-backdrop.show,
body.modal-open:has(.show[id^="sendEmailModal"]) .modal-backdrop,
body:has(.show[id^="sendEmailModal"]) .modal-backdrop.show,
body:has(.show[id^="sendEmailModal"]) .modal-backdrop,
body.modal-open:has(.show[id^="confirmModal"]) .modal-backdrop.show,
body.modal-open:has(.show[id^="confirmModal"]) .modal-backdrop,
body.modal-open:has(.show[id^="previewModal"]) .modal-backdrop.show,
body.modal-open:has(.show[id^="previewModal"]) .modal-backdrop,
body.modal-open .show[id^="sendEmailModal"] ~ .modal-backdrop.show,
body.modal-open .show[id^="sendEmailModal"] ~ .modal-backdrop,
body.modal-open .show[id^="confirmModal"] ~ .modal-backdrop.show,
body.modal-open .show[id^="confirmModal"] ~ .modal-backdrop,
body.modal-open .show[id^="previewModal"] ~ .modal-backdrop.show,
body.modal-open .show[id^="previewModal"] ~ .modal-backdrop,
.modal-backdrop.show:has(~ .show[id^="sendEmailModal"]),
.modal-backdrop.show:has(~ .show[id^="confirmModal"]),
.modal-backdrop.show:has(~ .show[id^="previewModal"]) {
  z-index: 10054 !important;
}

/* Override específico para garantir que funcione mesmo com outras regras globais */
/* line 87, app/assets/stylesheets/components/_receivable_email_modal.scss */
html body.modal-open:has(.show[id^="sendEmailModal"]) .modal-backdrop,
html body:has(.show[id^="sendEmailModal"]) .modal-backdrop {
  z-index: 10054 !important;
}

/* Garantir que AdminLTE overlay não interfira - DEVE FICAR ABAIXO DO MODAL */
/* line 93, app/assets/stylesheets/components/_receivable_email_modal.scss */
body.modal-open:has(.show[id^="sendEmailModal"]) #sidebar-overlay {
  z-index: 10050 !important;
  pointer-events: none !important;
}

/* Posicionamento fixo quando modal está ativo */
/* line 99, app/assets/stylesheets/components/_receivable_email_modal.scss */
.show[id^="sendEmailModal"] {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

/* Garantir visibilidade completa */
/* line 109, app/assets/stylesheets/components/_receivable_email_modal.scss */
.show[id^="sendEmailModal"] .modal-dialog {
  z-index: 10056 !important;
  position: relative !important;
  margin: 1.75rem auto !important;
  max-width: 800px !important;
}

/* line 116, app/assets/stylesheets/components/_receivable_email_modal.scss */
.show[id^="sendEmailModal"] .modal-content {
  z-index: 10057 !important;
  position: relative !important;
}

/* Correção para quando modal está dentro de tabs */
/* line 122, app/assets/stylesheets/components/_receivable_email_modal.scss */
.tab-content [id^="sendEmailModal"],
.tab-pane [id^="sendEmailModal"],
.table-responsive [id^="sendEmailModal"],
table [id^="sendEmailModal"] {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 10055 !important;
}

/* Garantir que body modal-open funcione */
/* line 133, app/assets/stylesheets/components/_receivable_email_modal.scss */
body.modal-open:has(.show[id^="sendEmailModal"]) {
  overflow: hidden !important;
}

/* Correção específica para evitar conflitos com outros modais */
/* line 138, app/assets/stylesheets/components/_receivable_email_modal.scss */
body.modal-open .show[id^="sendEmailModal"] {
  z-index: 10055 !important;
}

/* line 142, app/assets/stylesheets/components/_receivable_email_modal.scss */
body.modal-open .show[id^="sendEmailModal"] ~ #preferencesModal,
body.modal-open .show[id^="sendEmailModal"] ~ #patrimonyModal {
  display: none !important;
}

/* =============================================================================
   OVERRIDE FINAL - Máxima especificidade para garantir que funcione
   ============================================================================= */
/* Esta regra DEVE vir por último para sobrescrever todas as outras */
/* line 151, app/assets/stylesheets/components/_receivable_email_modal.scss */
html body.modal-open:has(.show[id^="sendEmailModal"]) .modal-backdrop.show,
html body.modal-open:has(.show[id^="sendEmailModal"]) .modal-backdrop,
html body:has(.show[id^="sendEmailModal"]) .modal-backdrop.show,
html body:has(.show[id^="sendEmailModal"]) .modal-backdrop {
  z-index: 10054 !important;
}

/* line 158, app/assets/stylesheets/components/_receivable_email_modal.scss */
html body.modal-open:has(.show[id^="sendEmailModal"]) .show[id^="sendEmailModal"],
html body.modal-open:has(.show[id^="confirmModal"]) .show[id^="confirmModal"],
html body.modal-open:has(.show[id^="previewModal"]) .show[id^="previewModal"],
html body:has(.show[id^="sendEmailModal"]) .show[id^="sendEmailModal"],
html body:has(.show[id^="confirmModal"]) .show[id^="confirmModal"],
html body:has(.show[id^="previewModal"]) .show[id^="previewModal"] {
  z-index: 10055 !important;
}

/* =============================================================================
   ESTILOS DO CONTEÚDO DO MODAL - Scroll e altura máxima
   ============================================================================= */
/* Modal body com scroll quando necessário */
/* line 172, app/assets/stylesheets/components/_receivable_email_modal.scss */
[id^="sendEmailModal"] .modal-body {
  max-height: 70vh;
  overflow-y: auto;
  overflow-x: hidden;
  /* Custom scrollbar para melhor visualização */
}

/* line 178, app/assets/stylesheets/components/_receivable_email_modal.scss */
[id^="sendEmailModal"] .modal-body::-webkit-scrollbar {
  width: 8px;
}

/* line 182, app/assets/stylesheets/components/_receivable_email_modal.scss */
[id^="sendEmailModal"] .modal-body::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}

/* line 187, app/assets/stylesheets/components/_receivable_email_modal.scss */
[id^="sendEmailModal"] .modal-body::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 4px;
}

/* line 191, app/assets/stylesheets/components/_receivable_email_modal.scss */
[id^="sendEmailModal"] .modal-body::-webkit-scrollbar-thumb:hover {
  background: #555;
}

/* Quando o histórico é expandido, garantir que o modal-body ainda tenha scroll */
/* line 198, app/assets/stylesheets/components/_receivable_email_modal.scss */
[id^="sendEmailModal"] .modal-body .collapse.show {
  max-height: none;
  /* Remove limitação quando expandido */
}

/* Modal dialog com altura máxima para não ultrapassar a tela */
/* line 203, app/assets/stylesheets/components/_receivable_email_modal.scss */
[id^="sendEmailModal"] .modal-dialog {
  max-height: 90vh;
  display: flex;
  flex-direction: column;
}

/* Modal content com flex para distribuir espaço */
/* line 210, app/assets/stylesheets/components/_receivable_email_modal.scss */
[id^="sendEmailModal"] .modal-content {
  max-height: 90vh;
  display: flex;
  flex-direction: column;
}

/* Modal header fixo */
/* line 217, app/assets/stylesheets/components/_receivable_email_modal.scss */
[id^="sendEmailModal"] .modal-header {
  flex-shrink: 0;
}

/* Modal footer fixo */
/* line 222, app/assets/stylesheets/components/_receivable_email_modal.scss */
[id^="sendEmailModal"] .modal-footer {
  flex-shrink: 0;
}

/* =============================================================================
   MODAL DE CONFIRMAÇÃO DE RECEBIMENTO - Correções de Z-Index
   ============================================================================= */
/* Modal de confirmação - Base (para todos os modais que começam com confirmModal) */
/* line 231, app/assets/stylesheets/components/_receivable_email_modal.scss */
[id^="confirmModal"] {
  z-index: 10055 !important;
}

/* Modal de confirmação - Quando ativo */
/* line 236, app/assets/stylesheets/components/_receivable_email_modal.scss */
.show[id^="confirmModal"],
.fade.show[id^="confirmModal"] {
  z-index: 10055 !important;
  display: block !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

/* Dialog do modal de confirmação */
/* line 249, app/assets/stylesheets/components/_receivable_email_modal.scss */
[id^="confirmModal"] .modal-dialog {
  z-index: 10056 !important;
  position: relative;
  margin: 1.75rem auto;
  pointer-events: none;
}

/* Content do modal de confirmação */
/* line 257, app/assets/stylesheets/components/_receivable_email_modal.scss */
[id^="confirmModal"] .modal-content {
  z-index: 10057 !important;
  position: relative;
  pointer-events: auto;
  display: flex;
  flex-direction: column;
  width: 100%;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
  outline: 0;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

/* Backdrop específico para modal de confirmação - DEVE FICAR ABAIXO DO MODAL */
/* line 272, app/assets/stylesheets/components/_receivable_email_modal.scss */
body.modal-open:has(.show[id^="confirmModal"]) .modal-backdrop.show,
body.modal-open:has(.show[id^="confirmModal"]) .modal-backdrop,
body:has(.show[id^="confirmModal"]) .modal-backdrop.show,
body:has(.show[id^="confirmModal"]) .modal-backdrop,
body.modal-open .show[id^="confirmModal"] ~ .modal-backdrop.show,
body.modal-open .show[id^="confirmModal"] ~ .modal-backdrop,
body .show[id^="confirmModal"] ~ .modal-backdrop.show,
body .show[id^="confirmModal"] ~ .modal-backdrop,
.modal-backdrop.show:has(~ .show[id^="confirmModal"]),
.modal-backdrop:has(~ .show[id^="confirmModal"]) {
  z-index: 10054 !important;
}

/* Override específico para garantir que funcione mesmo com outras regras globais */
/* line 286, app/assets/stylesheets/components/_receivable_email_modal.scss */
html body.modal-open:has(.show[id^="confirmModal"]) .modal-backdrop,
html body:has(.show[id^="confirmModal"]) .modal-backdrop {
  z-index: 10054 !important;
}

/* Garantir que AdminLTE overlay não interfira */
/* line 292, app/assets/stylesheets/components/_receivable_email_modal.scss */
body.modal-open:has(.show[id^="confirmModal"]) #sidebar-overlay {
  z-index: 10050 !important;
  pointer-events: none !important;
}

/* Correção para quando modal está dentro de tabs */
/* line 298, app/assets/stylesheets/components/_receivable_email_modal.scss */
.tab-content [id^="confirmModal"],
.tab-pane [id^="confirmModal"],
.table-responsive [id^="confirmModal"],
table [id^="confirmModal"] {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 10055 !important;
}

/* Garantir que body modal-open funcione */
/* line 309, app/assets/stylesheets/components/_receivable_email_modal.scss */
body.modal-open:has(.show[id^="confirmModal"]) {
  overflow: hidden !important;
}

/* Máxima especificidade para garantir que funcione */
/* line 314, app/assets/stylesheets/components/_receivable_email_modal.scss */
html body.modal-open:has(.show[id^="confirmModal"]) .show[id^="confirmModal"],
html body:has(.show[id^="confirmModal"]) .show[id^="confirmModal"] {
  z-index: 10055 !important;
}
@charset "UTF-8";
/* =============================================================================
   MODAIS DE PARCELAS - Contas a Receber - Correções de Z-Index
   ============================================================================= */
/* 
 * Hierarquia de Z-Index no Sistema:
 * - Sidebar: 1037-1038
 * - Header: 1030
 * - Footer: 1020
 * - Content wrapper: 1000
 * - Backdrop padrão Bootstrap: 1040-1054
 * - AdminLTE sidebar-overlay: 10000 (quando modal aberto)
 * - Modal de patrimônios: 10060-10062
 * - Modal de preferências: 999999
 * 
 * Modais de parcelas: 10055 (acima do backdrop 1054 e overlay 10000, abaixo dos modais especiais)
 */
/* Modais de parcelas - Base */
/* line 20, app/assets/stylesheets/components/_receivable_installment_modals.scss */
[data-installment-modal="true"],
.modal[data-installment-modal="true"] {
  z-index: 10055 !important;
}

/* Modais de parcelas - Quando ativo */
/* line 26, app/assets/stylesheets/components/_receivable_installment_modals.scss */
.show[data-installment-modal="true"],
.fade.show[data-installment-modal="true"],
.modal.show[data-installment-modal="true"],
.modal.fade.show[data-installment-modal="true"] {
  z-index: 10055 !important;
  display: block !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

/* Dialog dos modais de parcelas */
/* line 42, app/assets/stylesheets/components/_receivable_installment_modals.scss */
[data-installment-modal="true"] .modal-dialog,
.modal[data-installment-modal="true"] .modal-dialog {
  z-index: 10056 !important;
  position: relative;
  margin: 1.75rem auto;
  pointer-events: auto;
}

/* Content dos modais de parcelas */
/* line 51, app/assets/stylesheets/components/_receivable_installment_modals.scss */
[data-installment-modal="true"] .modal-content,
.modal[data-installment-modal="true"] .modal-content {
  z-index: 10057 !important;
  position: relative;
  pointer-events: auto;
  display: flex;
  flex-direction: column;
  width: 100%;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
  outline: 0;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

/* Garantir que o modal-body seja visível quando o modal está aberto */
/* line 67, app/assets/stylesheets/components/_receivable_installment_modals.scss */
.show[data-installment-modal="true"] .modal-body,
.modal.show[data-installment-modal="true"] .modal-body {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
}

/* Garantir que o alerta seja visível quando o modal está aberto */
/* line 76, app/assets/stylesheets/components/_receivable_installment_modals.scss */
.show[data-installment-modal="true"] .alert,
.show[data-installment-modal="true"] .alert-warning,
.modal.show[data-installment-modal="true"] .alert,
.modal.show[data-installment-modal="true"] .alert-warning {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
}

/* Backdrop específico para modais de parcelas - DEVE FICAR ABAIXO DO MODAL */
/* Regra com MÁXIMA especificidade e !important para sobrescrever TODAS as outras regras */
/* line 93, app/assets/stylesheets/components/_receivable_installment_modals.scss */
body.modal-open:has(.show[data-installment-modal="true"]) .modal-backdrop.show,
body.modal-open:has(.show[data-installment-modal="true"]) .modal-backdrop,
body:has(.show[data-installment-modal="true"]) .modal-backdrop.show,
body:has(.show[data-installment-modal="true"]) .modal-backdrop,
body.modal-open .show[data-installment-modal="true"] ~ .modal-backdrop.show,
body.modal-open .show[data-installment-modal="true"] ~ .modal-backdrop,
body .show[data-installment-modal="true"] ~ .modal-backdrop.show,
body .show[data-installment-modal="true"] ~ .modal-backdrop,
.modal-backdrop.show:has(~ .show[data-installment-modal="true"]),
.modal-backdrop:has(~ .show[data-installment-modal="true"]),
body.modal-open .modal-backdrop:has(~ .show[data-installment-modal="true"]),
body .modal-backdrop:has(~ .show[data-installment-modal="true"]) {
  z-index: 10054 !important;
}

/* Garantir que quando um modal de parcela está aberto, o backdrop fique abaixo */
/* line 109, app/assets/stylesheets/components/_receivable_installment_modals.scss */
body.modal-open .show[data-installment-modal="true"] ~ .modal-backdrop,
body .show[data-installment-modal="true"] ~ .modal-backdrop {
  z-index: 10054 !important;
}

/* AdminLTE sidebar-overlay - DEVE FICAR ABAIXO DO MODAL */
/* line 115, app/assets/stylesheets/components/_receivable_installment_modals.scss */
body.modal-open:has(.show[data-installment-modal="true"]) #sidebar-overlay,
body:has(.show[data-installment-modal="true"]) #sidebar-overlay {
  z-index: 10050 !important;
  pointer-events: none !important;
}
/* line 20, app/assets/stylesheets/components/_remote_modal_stacking.scss */
#remote-modal {
  z-index: 1100000 !important;
}

/* line 24, app/assets/stylesheets/components/_remote_modal_stacking.scss */
html body.modal-open:has(#remote-modal.show) .modal-backdrop,
html body:has(#remote-modal.show) .modal-backdrop {
  z-index: 1099990 !important;
}

/* line 32, app/assets/stylesheets/components/_remote_modal_stacking.scss */
body:has(#remote-modal.show) .swal2-container {
  z-index: 1100010 !important;
}
/* line 3, app/assets/stylesheets/components/_rental_amendment_banner.scss */
turbo-frame#rental_amendment_banner {
  display: contents;
}

/* line 7, app/assets/stylesheets/components/_rental_amendment_banner.scss */
.rental-amendment-banner.alert-warning {
  border-left: 4px solid var(--erp-warning, #f0ad4e);
  background-color: #ffe8a3;
  border-top-color: #f0c36d;
  border-right-color: #f0c36d;
  border-bottom-color: #f0c36d;
  color: #856404;
  box-shadow: 0 1px 2px rgba(240, 173, 78, 0.18);
  font-size: 0.875rem;
  line-height: 1.25;
  min-height: 0;
  gap: 0.5rem;
}

/* line 22, app/assets/stylesheets/components/_rental_amendment_banner.scss */
.rental-amendment-banner.alert-warning .rental-amendment-banner-text {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 30, app/assets/stylesheets/components/_rental_amendment_banner.scss */
.rental-amendment-banner.alert-warning .rental-amendment-banner-icon {
  font-size: 0.95rem;
  line-height: 1;
  color: var(--erp-warning, #f39c12);
  vertical-align: -0.05em;
}

/* line 37, app/assets/stylesheets/components/_rental_amendment_banner.scss */
.rental-amendment-banner.alert-warning .rental-amendment-banner-number {
  font-weight: 700;
}

/* line 41, app/assets/stylesheets/components/_rental_amendment_banner.scss */
.rental-amendment-banner.alert-warning .rental-amendment-banner-btn {
  padding: 0.15rem 0.5rem;
  font-size: 0.75rem;
  line-height: 1.2;
  white-space: nowrap;
}
/* line 2, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-flow {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0 22px;
}

/* line 9, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-flow-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid var(--gray-400);
  background: linear-gradient(135deg, var(--gray-50) 0%, color-mix(in srgb, var(--gray-100) 78%, var(--gray-50)) 100%);
  box-shadow: var(--shadow-light);
  color: var(--gray-900);
  text-decoration: none;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

/* line 22, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-flow-card:hover, .delivery-confirmation-page .delivery-confirmation-flow-card:focus {
  transform: translateY(-1px);
  box-shadow: var(--shadow-medium);
  text-decoration: none;
  color: var(--gray-900);
}

/* line 30, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-flow-card strong {
  font-size: 15px;
  line-height: 1.25;
}

/* line 35, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-flow-card small {
  font-size: 12px;
  color: var(--gray-600);
  line-height: 1.45;
}

/* line 41, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-flow-card.delivery-confirmation-flow-card--pending {
  border-color: color-mix(in srgb, var(--erp-warning) 38%, var(--gray-400));
  background: linear-gradient(135deg, color-mix(in srgb, var(--erp-warning) 10%, var(--gray-50)) 0%, var(--gray-50) 100%);
}

/* line 46, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-flow-card.delivery-confirmation-flow-card--issued {
  border-color: color-mix(in srgb, var(--erp-info) 34%, var(--gray-400));
  background: linear-gradient(135deg, color-mix(in srgb, var(--erp-info) 9%, var(--gray-50)) 0%, var(--gray-50) 100%);
}

/* line 52, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-flow-card__step {
  display: inline-flex;
  align-self: flex-start;
  padding: 3px 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--erp-primary) 10%, var(--gray-50));
  color: var(--erp-primary);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* line 65, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-flow-card__count {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 2px;
  font-size: 12px;
  font-weight: 700;
  color: var(--gray-800);
}

/* line 75, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage {
  margin-bottom: 24px;
  scroll-margin-top: 96px;
}

/* line 80, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 18px;
  border: 1px solid var(--gray-400);
  border-radius: 14px;
  background: var(--gray-50);
  box-shadow: var(--shadow-light);
  margin-bottom: 10px;
}

/* line 93, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage--pending .delivery-confirmation-stage__header {
  border-color: color-mix(in srgb, var(--erp-warning) 34%, var(--gray-400));
  background: linear-gradient(135deg, color-mix(in srgb, var(--erp-warning) 11%, var(--gray-50)) 0%, var(--gray-50) 62%);
}

/* line 98, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage--issued .delivery-confirmation-stage__header {
  border-color: color-mix(in srgb, var(--erp-info) 32%, var(--gray-400));
  background: linear-gradient(135deg, color-mix(in srgb, var(--erp-info) 10%, var(--gray-50)) 0%, var(--gray-50) 62%);
}

/* line 103, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage__eyebrow {
  margin-bottom: 8px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gray-600);
}

/* line 112, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage__title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 6px;
  font-size: 20px;
  line-height: 1.2;
  color: var(--gray-900);
}

/* line 122, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage__title i {
  font-size: 16px;
}

/* line 126, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage__description {
  margin: 0;
  max-width: 760px;
  color: var(--gray-600);
  font-size: 13px;
  line-height: 1.5;
}

/* line 134, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage__summary {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

/* line 141, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage__pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 6px 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--erp-primary) 10%, var(--gray-50));
  color: var(--erp-primary);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

/* line 155, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage__pill--muted {
  background: color-mix(in srgb, var(--gray-100) 82%, var(--gray-50));
  color: var(--gray-700, #495057);
}

/* line 160, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage__card {
  overflow: hidden;
  border-radius: 14px;
  box-shadow: var(--shadow-light);
  border: 1px solid var(--gray-400);
}

/* line 167, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage__table-bar {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--gray-400);
  background: linear-gradient(180deg, color-mix(in srgb, var(--gray-100) 88%, var(--gray-50)) 0%, var(--gray-50) 100%);
}

/* line 177, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage__table-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* line 182, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage__table-copy strong {
  font-size: 13px;
  color: var(--gray-900);
}

/* line 187, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage__table-copy span {
  max-width: 720px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--gray-600);
}

/* line 195, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage__table-metrics {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  flex: 0 0 auto;
}

/* line 203, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage__table-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid var(--gray-400);
  background: var(--gray-50);
  color: var(--gray-800);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

/* line 218, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage__card--pending {
  border-top: 4px solid var(--erp-warning);
}

/* line 221, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage__card--pending .delivery-confirmation-stage__table-bar {
  background: linear-gradient(180deg, color-mix(in srgb, var(--erp-warning) 11%, var(--gray-50)) 0%, var(--gray-50) 100%);
  border-bottom-color: color-mix(in srgb, var(--erp-warning) 24%, var(--gray-400));
}

/* line 226, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage__card--pending .delivery-confirmation-stage__table-chip {
  border-color: color-mix(in srgb, var(--erp-warning) 30%, var(--gray-400));
  background: color-mix(in srgb, var(--erp-warning) 10%, var(--gray-50));
  color: color-mix(in srgb, var(--erp-warning) 85%, var(--gray-900));
}

/* line 232, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage__card--pending .thead-light th {
  background: color-mix(in srgb, var(--erp-warning) 10%, var(--gray-50));
}

/* line 237, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage__card--issued {
  border-top: 4px solid var(--erp-info);
}

/* line 240, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage__card--issued .delivery-confirmation-stage__table-bar {
  background: linear-gradient(180deg, color-mix(in srgb, var(--erp-info) 10%, var(--gray-50)) 0%, var(--gray-50) 100%);
  border-bottom-color: color-mix(in srgb, var(--erp-info) 22%, var(--gray-400));
}

/* line 245, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage__card--issued .delivery-confirmation-stage__table-chip {
  border-color: color-mix(in srgb, var(--erp-info) 28%, var(--gray-400));
  background: color-mix(in srgb, var(--erp-info) 9%, var(--gray-50));
  color: color-mix(in srgb, var(--erp-info) 84%, var(--gray-900));
}

/* line 251, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage__card--issued .thead-light th {
  background: color-mix(in srgb, var(--erp-info) 10%, var(--gray-50));
}

/* line 256, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-table-wrap {
  margin: 0;
}

/* line 260, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-empty-state {
  padding: 26px 20px;
  text-align: center;
  color: var(--gray-600);
  background: linear-gradient(180deg, color-mix(in srgb, var(--gray-100) 88%, var(--gray-50)) 0%, var(--gray-50) 100%);
}

/* line 267, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 10px;
  padding: 12px 16px;
  border: 1px solid var(--gray-400);
  border-radius: 10px;
  background: var(--gray-50);
  box-shadow: var(--shadow-light);
  font-size: 12px;
}

/* line 281, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-stage__footer--pending {
  border-color: color-mix(in srgb, var(--erp-warning) 24%, var(--gray-400));
  background: linear-gradient(180deg, color-mix(in srgb, var(--erp-warning) 8%, var(--gray-50)) 0%, var(--gray-50) 100%);
}

/* line 286, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-filter-shell {
  padding: 12px 16px;
  overflow-x: auto;
  overflow-y: visible;
  scrollbar-width: thin;
}

/* line 292, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-filter-shell::-webkit-scrollbar {
  height: 6px;
}

/* line 296, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-filter-shell::-webkit-scrollbar-thumb {
  background: var(--gray-400);
  border-radius: 999px;
}

/* line 302, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-filter-bar {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  flex-wrap: nowrap;
  width: 100%;
  min-width: 980px;
}

/* line 311, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-filter-field {
  flex: 1 1 170px;
  min-width: 160px;
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
}

/* line 318, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-filter-field.delivery-confirmation-filter-field--status {
  flex-basis: 180px;
  min-width: 180px;
}

/* line 323, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-filter-field.delivery-confirmation-filter-field--customer {
  flex: 1.6 1 260px;
  min-width: 240px;
}

/* line 328, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-filter-field.delivery-confirmation-filter-field--date {
  flex: 0.85 1 145px;
  min-width: 140px;
  max-width: 150px;
}

/* line 334, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-filter-field label {
  font-size: 12px;
  font-weight: 600;
  color: var(--gray-800);
  margin-bottom: 4px;
  white-space: nowrap;
}

/* line 342, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-filter-field .form-control,
.delivery-confirmation-page .delivery-confirmation-filter-field .form-control-sm,
.delivery-confirmation-page .delivery-confirmation-filter-field .form-select,
.delivery-confirmation-page .delivery-confirmation-filter-field .form-select-sm {
  width: 100%;
  min-height: 34px;
  font-size: 12px;
}

/* line 351, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-filter-field .ts-wrapper {
  width: 100% !important;
  min-width: 0;
}

/* line 355, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-filter-field .ts-wrapper .ts-control {
  min-height: 34px !important;
  height: 34px !important;
  padding: 6px 10px !important;
  font-size: 12px !important;
  display: flex;
  align-items: center;
}

/* line 365, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-filter-field .ts-wrapper.single .ts-control input,
.delivery-confirmation-page .delivery-confirmation-filter-field .ts-wrapper .item {
  font-size: 12px !important;
}

/* line 371, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-filter-actions {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  margin-left: auto;
  flex: 0 0 auto;
  white-space: nowrap;
  padding-bottom: 1px;
}

/* line 380, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-filter-actions .btn-erp {
  min-height: 34px;
}

/* line 385, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  border: 1px solid transparent;
  white-space: nowrap;
}

/* line 397, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-badge i {
  font-size: 10px;
}

/* line 402, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .status-draft {
  background: color-mix(in srgb, var(--erp-secondary) 12%, var(--gray-50));
  border-color: color-mix(in srgb, var(--erp-secondary) 28%, var(--gray-50));
  color: var(--gray-800);
}

/* line 408, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .status-pending {
  background: color-mix(in srgb, var(--erp-warning) 16%, var(--gray-50));
  border-color: color-mix(in srgb, var(--erp-warning) 36%, var(--gray-50));
  color: color-mix(in srgb, var(--erp-warning) 88%, var(--gray-900));
}

/* line 414, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .status-approved {
  background: color-mix(in srgb, var(--erp-info) 15%, var(--gray-50));
  border-color: color-mix(in srgb, var(--erp-info) 34%, var(--gray-50));
  color: color-mix(in srgb, var(--erp-info) 84%, var(--gray-900));
}

/* line 420, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .status-partially-billed {
  background: color-mix(in srgb, var(--erp-primary) 12%, var(--gray-50));
  border-color: color-mix(in srgb, var(--erp-primary) 26%, var(--gray-50));
  color: var(--erp-primary);
}

/* line 426, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .status-billed {
  background: color-mix(in srgb, var(--erp-success) 14%, var(--gray-50));
  border-color: color-mix(in srgb, var(--erp-success) 30%, var(--gray-50));
  color: color-mix(in srgb, var(--erp-success) 90%, var(--gray-900));
}

/* line 432, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .status-converted {
  background: color-mix(in srgb, var(--erp-primary) 18%, var(--gray-50));
  border-color: color-mix(in srgb, var(--erp-primary) 42%, var(--gray-50));
  color: var(--erp-primary);
}

/* line 438, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .status-rejected {
  background: color-mix(in srgb, var(--erp-danger) 14%, var(--gray-50));
  border-color: color-mix(in srgb, var(--erp-danger) 34%, var(--gray-50));
  color: color-mix(in srgb, var(--erp-danger) 88%, var(--gray-900));
}

/* line 444, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-not-sent {
  background: color-mix(in srgb, var(--gray-100) 70%, var(--gray-50));
  border-color: var(--gray-400);
  color: var(--gray-800);
}

/* line 450, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-sent {
  background: color-mix(in srgb, var(--erp-info) 16%, var(--gray-50));
  border-color: color-mix(in srgb, var(--erp-info) 34%, var(--gray-50));
  color: color-mix(in srgb, var(--erp-info) 84%, var(--gray-900));
}

/* line 456, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-delivered {
  background: color-mix(in srgb, var(--erp-success) 14%, var(--gray-50));
  border-color: color-mix(in srgb, var(--erp-success) 30%, var(--gray-50));
  color: color-mix(in srgb, var(--erp-success) 90%, var(--gray-900));
}

/* line 462, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-failed {
  background: color-mix(in srgb, var(--erp-danger) 14%, var(--gray-50));
  border-color: color-mix(in srgb, var(--erp-danger) 34%, var(--gray-50));
  color: color-mix(in srgb, var(--erp-danger) 88%, var(--gray-900));
}

/* line 468, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .delivery-confirmation-legend {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
}

/* line 474, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .legend-title {
  margin-bottom: 10px;
  color: var(--gray-800);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* line 483, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .legend-items {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* line 489, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
.delivery-confirmation-page .legend-item {
  display: flex;
  align-items: center;
}

@media (max-width: 992px) {
  /* line 497, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
  .delivery-confirmation-page .delivery-confirmation-flow {
    grid-template-columns: 1fr;
  }
  /* line 501, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
  .delivery-confirmation-page .delivery-confirmation-stage__header,
.delivery-confirmation-page .delivery-confirmation-stage__footer,
.delivery-confirmation-page .delivery-confirmation-stage__table-bar {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 508, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
  .delivery-confirmation-page .delivery-confirmation-stage__summary,
.delivery-confirmation-page .delivery-confirmation-stage__table-metrics {
    justify-content: flex-start;
  }
  /* line 513, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
  .delivery-confirmation-page .delivery-confirmation-filter-shell {
    padding-bottom: 10px;
  }
  /* line 517, app/assets/stylesheets/components/_rental_prebillings_delivery_confirmation.scss */
  .delivery-confirmation-page .delivery-confirmation-filter-bar {
    min-width: 940px;
  }
}
/* line 30, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .report-visual-builder {
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  padding: 16px;
  margin-top: 10px;
}

/* line 38, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .visual-builder-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

@media (max-width: 820px) {
  /* line 51, app/assets/stylesheets/components/_report_builder.scss */
  .erp-ui .visual-builder-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* line 54, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .builder-sidebar {
  background: var(--erp-ui-surface-2);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  padding: 12px;
}

/* line 61, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .builder-sidebar-header {
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 66, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .builder-sidebar-header h5 {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--erp-ui-ink-2);
}

/* line 76, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .builder-components {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* line 84, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .builder-component {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  font-size: 13px;
  color: var(--erp-ui-ink);
  cursor: grab;
  user-select: none;
}

/* line 97, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .builder-component .erp-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  color: var(--erp-ui-ink-2);
}

/* line 104, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .builder-component:hover {
  border-color: var(--erp-ui-accent);
  background: var(--erp-ui-accent-soft);
}

/* line 108, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .builder-component:hover .erp-icon {
  color: var(--erp-ui-accent-text);
}

/* line 111, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .builder-component:active {
  cursor: grabbing;
}

/* line 112, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .builder-component.dragging {
  opacity: 0.5;
}

/* line 115, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .builder-canvas {
  display: flex;
  flex-direction: column;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
}

/* line 123, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .builder-canvas-header {
  padding: 12px 16px;
  border-bottom: 1px solid var(--erp-ui-hairline);
  background: var(--erp-ui-surface-2);
  border-radius: var(--erp-ui-radius) var(--erp-ui-radius) 0 0;
}

/* line 129, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .builder-canvas-header h5 {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--erp-ui-ink-2);
}

/* line 142, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .builder-sections-container {
  flex: 1;
  padding: 12px;
  min-height: 220px;
}

/* line 147, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .builder-sections-container.drag-over {
  background: var(--erp-ui-accent-soft);
  outline: 2px dashed var(--erp-ui-accent);
  outline-offset: -6px;
}

/* line 154, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .section-item {
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  margin-bottom: 8px;
  cursor: move;
}

/* line 161, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .section-item:last-child {
  margin-bottom: 0;
}

/* line 162, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .section-item:hover {
  border-color: var(--erp-ui-hairline-strong);
}

/* line 163, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .section-item.dragging {
  opacity: 0.5;
}

/* line 166, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .section-item-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
}

/* line 173, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .section-item-icon {
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--erp-ui-surface-2);
  border-radius: var(--erp-ui-radius);
}

/* line 183, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .section-item-icon .erp-icon {
  width: 16px;
  height: 16px;
  color: var(--erp-ui-ink-2);
}

/* line 190, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .section-item-content {
  flex: 1;
  min-width: 0;
}

/* line 195, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .section-item-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--erp-ui-ink);
}

/* line 201, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .section-item-details {
  font-size: 12px;
  color: var(--erp-ui-ink-2);
}

/* line 206, app/assets/stylesheets/components/_report_builder.scss */
.erp-ui .section-item-actions {
  display: flex;
  gap: 4px;
  flex-shrink: 0;
}

/* line 217, app/assets/stylesheets/components/_report_builder.scss */
dialog.report-section-dialog {
  width: 560px;
  max-width: calc(100vw - 32px);
  padding: 0;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink);
  box-shadow: var(--erp-ui-shadow-overlay);
}

/* line 232, app/assets/stylesheets/components/_report_builder.scss */
dialog.report-section-dialog::backdrop {
  background: rgba(15, 23, 42, 0.45);
}
@charset "UTF-8";
/* =============================================================================
   MODAL DE ESTORNO DE PAGAMENTO - Correções de z-index e posicionamento
   ============================================================================= */
/* GARANTIR que o modal fique SEMPRE oculto quando não tem a classe .show */
/* Isso é crítico para evitar que o alerta apareça automaticamente */
/* Usar especificidade máxima para sobrescrever qualquer outro CSS */
/* line 8, app/assets/stylesheets/components/_reverse_payment_modal.scss */
body #reversePaymentModal.modal:not(.show),
html body #reversePaymentModal.modal:not(.show),
body #reversePaymentModal.modal.fade:not(.show),
html body #reversePaymentModal.modal.fade:not(.show),
body.modal-open #reversePaymentModal.modal:not(.show),
html body.modal-open #reversePaymentModal.modal:not(.show) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* Garantir que TODO o conteúdo do modal fique oculto quando não está aberto */
/* Isso inclui o alerta que está aparecendo automaticamente */
/* line 28, app/assets/stylesheets/components/_reverse_payment_modal.scss */
body #reversePaymentModal.modal:not(.show) *,
html body #reversePaymentModal.modal:not(.show) *,
body #reversePaymentModal.modal.fade:not(.show) *,
html body #reversePaymentModal.modal.fade:not(.show) *,
body.modal-open #reversePaymentModal.modal:not(.show) *,
html body.modal-open #reversePaymentModal.modal:not(.show) *,
body #reversePaymentModal.modal:not(.show) .alert,
html body #reversePaymentModal.modal:not(.show) .alert,
body #reversePaymentModal.modal:not(.show) .modal-dialog,
html body #reversePaymentModal.modal:not(.show) .modal-dialog,
body #reversePaymentModal.modal:not(.show) .modal-content,
html body #reversePaymentModal.modal:not(.show) .modal-content,
body #reversePaymentModal.modal:not(.show) .modal-body,
html body #reversePaymentModal.modal:not(.show) .modal-body,
body #reversePaymentModal.modal:not(.show) .modal-header,
html body #reversePaymentModal.modal:not(.show) .modal-header,
body #reversePaymentModal.modal:not(.show) .modal-footer,
html body #reversePaymentModal.modal:not(.show) .modal-footer {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  top: -9999px !important;
  left: -9999px !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* Quando o modal está aberto, garantir z-index correto */
/* line 59, app/assets/stylesheets/components/_reverse_payment_modal.scss */
body #reversePaymentModal.modal.show,
html body #reversePaymentModal.modal.show {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 10055 !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

/* Restaurar visibilidade do conteúdo quando o modal está aberto */
/* line 76, app/assets/stylesheets/components/_reverse_payment_modal.scss */
body #reversePaymentModal.modal.show *,
html body #reversePaymentModal.modal.show * {
  display: revert !important;
  visibility: revert !important;
  opacity: revert !important;
  pointer-events: revert !important;
  position: revert !important;
  top: revert !important;
  left: revert !important;
  width: revert !important;
  height: revert !important;
  overflow: revert !important;
}

/* Garantir que o modal-dialog seja visível quando o modal está aberto */
/* line 91, app/assets/stylesheets/components/_reverse_payment_modal.scss */
body #reversePaymentModal.modal.show .modal-dialog {
  z-index: 10056 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  margin: 1.75rem auto !important;
  max-width: 500px !important;
  width: auto !important;
  pointer-events: auto !important;
}

/* Garantir que o modal-content seja visível quando o modal está aberto */
/* line 104, app/assets/stylesheets/components/_reverse_payment_modal.scss */
body #reversePaymentModal.modal.show .modal-content {
  z-index: 10057 !important;
  display: flex !important;
  flex-direction: column !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  width: 100% !important;
  pointer-events: auto !important;
  background-color: #fff !important;
  border: 1px solid rgba(0, 0, 0, 0.2) !important;
  border-radius: 0.3rem !important;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

/* Garantir que o modal-body seja visível quando o modal está aberto */
/* line 120, app/assets/stylesheets/components/_reverse_payment_modal.scss */
body #reversePaymentModal.modal.show .modal-body {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  padding: 1rem !important;
  flex: 1 1 auto !important;
}

/* Garantir que o modal-header seja visível quando o modal está aberto */
/* line 130, app/assets/stylesheets/components/_reverse_payment_modal.scss */
body #reversePaymentModal.modal.show .modal-header {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  padding: 1rem !important;
  border-bottom: 1px solid #dee2e6 !important;
  border-top-left-radius: calc(0.3rem - 1px) !important;
  border-top-right-radius: calc(0.3rem - 1px) !important;
}

/* Garantir que o modal-footer seja visível quando o modal está aberto */
/* line 144, app/assets/stylesheets/components/_reverse_payment_modal.scss */
body #reversePaymentModal.modal.show .modal-footer {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  align-items: center !important;
  justify-content: flex-end !important;
  padding: 0.75rem !important;
  border-top: 1px solid #dee2e6 !important;
  border-bottom-right-radius: calc(0.3rem - 1px) !important;
  border-bottom-left-radius: calc(0.3rem - 1px) !important;
}

/* Garantir que o alerta seja visível quando o modal está aberto */
/* line 158, app/assets/stylesheets/components/_reverse_payment_modal.scss */
body #reversePaymentModal.modal.show .alert,
body #reversePaymentModal.modal.show .alert-warning {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
}

/* Backdrop DEVE ficar abaixo do modal */
/* line 172, app/assets/stylesheets/components/_reverse_payment_modal.scss */
body.modal-open:has(#reversePaymentModal.show) .modal-backdrop.show,
body.modal-open:has(#reversePaymentModal.show) .modal-backdrop,
body:has(#reversePaymentModal.show) .modal-backdrop.show,
body:has(#reversePaymentModal.show) .modal-backdrop,
body.modal-open #reversePaymentModal.show ~ .modal-backdrop.show,
body.modal-open #reversePaymentModal.show ~ .modal-backdrop,
body #reversePaymentModal.show ~ .modal-backdrop.show,
body #reversePaymentModal.show ~ .modal-backdrop,
.modal-backdrop.show:has(~ #reversePaymentModal.show),
.modal-backdrop:has(~ #reversePaymentModal.show) {
  z-index: 10054 !important;
}

/* AdminLTE overlay */
/* line 186, app/assets/stylesheets/components/_reverse_payment_modal.scss */
body.modal-open:has(#reversePaymentModal.show) #sidebar-overlay,
body:has(#reversePaymentModal.show) #sidebar-overlay {
  z-index: 10050 !important;
  pointer-events: none !important;
}

/* line 192, app/assets/stylesheets/components/_reverse_payment_modal.scss */
html body.modal-open:has(#reversePaymentModal.show) .modal-backdrop,
html body:has(#reversePaymentModal.show) .modal-backdrop {
  z-index: 10054 !important;
}
/* line 3, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .table-responsive {
  overflow-x: auto;
}

@media (min-width: 1200px) {
  /* line 3, app/assets/stylesheets/components/_service_orders_table.scss */
  .service-orders-index .table-responsive {
    overflow-x: visible;
  }
}

/* line 11, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table {
  width: 100%;
  min-width: 900px;
}

/* line 16, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .col-number {
  width: 100px;
  min-width: 100px;
}

/* line 21, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .col-work {
  width: 150px;
  min-width: 150px;
  max-width: 150px;
}

/* line 27, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .col-description {
  width: 200px;
  min-width: 200px;
  max-width: 200px;
}

/* line 33, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .col-status {
  width: 80px;
  min-width: 80px;
}

/* line 38, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .col-priority {
  width: 80px;
  min-width: 80px;
}

/* line 43, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .col-dates {
  width: 140px;
  min-width: 140px;
}

/* line 48, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .col-amount {
  width: 120px;
  min-width: 120px;
}

/* line 53, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .col-actions {
  width: 120px;
  min-width: 120px;
}

/* line 59, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .work-cell {
  max-width: 150px;
}

/* line 62, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .work-cell .text-truncate {
  display: block;
  max-width: 100%;
}

/* line 68, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .description-cell {
  max-width: 200px;
}

/* line 71, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .description-cell .text-truncate {
  display: block;
  max-width: 100%;
}

/* line 78, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .date-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: center;
}

/* line 84, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .date-info .date-item {
  text-align: center;
  line-height: 1.2;
}

/* line 88, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .date-info .date-item .date-label {
  display: block;
  font-size: 0.75rem;
  color: #6c757d;
  font-weight: normal;
}

/* line 95, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .date-info .date-item strong {
  display: block;
  font-size: 0.875rem;
  color: #495057;
}

/* line 104, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .status-badge,
.service-orders-index .data-table .priority-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.75rem;
  border-radius: 0.375rem;
  font-size: 0.875rem;
  font-weight: 500;
  white-space: nowrap;
  transition: all 0.2s ease;
}

/* line 116, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .status-badge i,
.service-orders-index .data-table .priority-badge i {
  font-size: 0.875rem;
}

/* line 120, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .status-badge:hover,
.service-orders-index .data-table .priority-badge:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* line 128, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .status-badge.draft {
  background-color: #6c757d;
  color: white;
}

/* line 133, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .status-badge.pending {
  background-color: #ffc107;
  color: #212529;
}

/* line 138, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .status-badge.in_progress {
  background-color: #17a2b8;
  color: white;
}

/* line 143, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .status-badge.completed {
  background-color: #28a745;
  color: white;
}

/* line 148, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .status-badge.cancelled {
  background-color: #dc3545;
  color: white;
}

/* line 156, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .priority-badge.low {
  background-color: #28a745;
  color: white;
}

/* line 161, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .priority-badge.medium {
  background-color: #ffc107;
  color: #212529;
}

/* line 166, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .priority-badge.high {
  background-color: #fd7e14;
  color: white;
}

/* line 171, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .priority-badge.urgent {
  background-color: #dc3545;
  color: white;
}

/* line 178, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .actions-cell {
  white-space: nowrap;
}

/* line 181, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .actions-cell .action-btn {
  margin: 0 2px;
}

/* line 185, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .actions-cell .action-btn.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* line 190, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .actions-cell .action-btn.disabled:hover {
  opacity: 0.5;
}

/* line 197, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .actions-cell .action-btn.restore {
  background: transparent;
  border: 1px solid #28a745;
  color: #28a745;
  padding: 4px 6px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
}

/* line 206, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .actions-cell .action-btn.restore:hover {
  background: #28a745;
  color: white;
}

/* line 214, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .deleted-row {
  background-color: #fff5f5 !important;
  opacity: 0.7;
}

/* line 218, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .deleted-row:hover {
  background-color: #ffe5e5 !important;
  opacity: 0.85;
}

/* line 223, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .deleted-row td {
  color: #999;
}

/* line 227, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .deleted-row .badge.badge-danger {
  font-size: 10px;
  padding: 2px 6px;
  margin-top: 4px;
  display: inline-block;
}

/* line 237, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .table-legends .legend-items {
  display: flex;
  gap: 1rem;
  align-items: center;
  flex-wrap: wrap;
}

/* line 243, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .table-legends .legend-items .status-badge,
.service-orders-index .data-table .table-legends .legend-items .priority-badge {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
}

/* line 248, app/assets/stylesheets/components/_service_orders_table.scss */
.service-orders-index .data-table .table-legends .legend-items .status-badge i,
.service-orders-index .data-table .table-legends .legend-items .priority-badge i {
  font-size: 0.75rem;
}

@media (max-width: 1199px) {
  /* line 258, app/assets/stylesheets/components/_service_orders_table.scss */
  .service-orders-index .data-table {
    min-width: 900px;
  }
  /* line 262, app/assets/stylesheets/components/_service_orders_table.scss */
  .service-orders-index .table-responsive {
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
  }
}

@media (max-width: 768px) {
  /* line 270, app/assets/stylesheets/components/_service_orders_table.scss */
  .service-orders-index .stats-row {
    flex-direction: column;
    gap: 1rem;
  }
  /* line 274, app/assets/stylesheets/components/_service_orders_table.scss */
  .service-orders-index .stats-row .stat-item {
    flex: 1;
    min-width: auto;
  }
  /* line 281, app/assets/stylesheets/components/_service_orders_table.scss */
  .service-orders-index .filters-section .filters-row {
    flex-direction: column;
    gap: 1rem;
  }
  /* line 285, app/assets/stylesheets/components/_service_orders_table.scss */
  .service-orders-index .filters-section .filters-row .filter-group {
    width: 100%;
  }
}

/* line 295, app/assets/stylesheets/components/_service_orders_table.scss */
.data-table th, .data-table td {
  vertical-align: middle;
  padding: 0.75rem 0.5rem;
}

/* line 300, app/assets/stylesheets/components/_service_orders_table.scss */
.data-table th {
  font-weight: 600;
  background-color: #f8f9fa;
  border-bottom: 2px solid #dee2e6;
}

/* line 306, app/assets/stylesheets/components/_service_orders_table.scss */
.data-table td {
  border-bottom: 1px solid #dee2e6;
}

/* line 310, app/assets/stylesheets/components/_service_orders_table.scss */
.data-table tbody tr:hover {
  background-color: #f8f9fa;
}
/* line 2, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page {
  margin: 0;
  padding: 0 !important;
  background: var(--erp-ui-page);
  color: var(--erp-ui-ink);
}

/* line 10, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  min-height: 100dvh;
  padding: 24px 16px;
  padding-top: calc(24px + env(safe-area-inset-top, 0px));
  padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 14px;
  line-height: 1.5;
}

/* line 25, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery__card {
  box-sizing: border-box;
  width: 100%;
  max-width: 440px;
  padding: 24px;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  box-shadow: var(--erp-ui-shadow);
}

/* line 35, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery__card h1 {
  margin: 0 0 8px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
}

/* line 37, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery__card h1:focus {
  outline: none;
}

/* line 38, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery__card p {
  margin: 0 0 16px;
  color: var(--erp-ui-ink-2);
}

/* line 39, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery__card .session-recovery__brand {
  margin-bottom: 24px;
  color: var(--erp-ui-ink);
  font-weight: 700;
}

/* line 40, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery__card .session-recovery__saved {
  padding: 16px;
  background: var(--erp-ui-surface-2);
  border-radius: var(--erp-ui-radius);
}

/* line 41, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery__card .session-recovery__status {
  margin: 16px 0 0;
}

/* line 42, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery__card .session-recovery__status:empty {
  margin: 0;
}

/* line 45, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery__login {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 16px;
  border: 1px solid var(--erp-ui-accent);
  border-radius: 4px;
  background: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
  font-weight: 600;
  text-decoration: none;
}

/* line 59, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery__login:hover {
  background: var(--erp-ui-accent-hover);
  color: var(--erp-ui-accent-ink);
}

/* line 60, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery__login:focus-visible {
  outline: 3px solid var(--erp-ui-accent-marker);
  outline-offset: 3px;
}

/* line 61, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery__login[aria-disabled="true"] {
  cursor: wait;
}
@charset "UTF-8";
/* =============================================================================
   UTILITIES - Utilitários consolidados (ex: inline styles)
   ============================================================================= */
/* Progress Bars */
/* line 6, app/assets/stylesheets/components/_utilities.scss */
.progress-thin {
  height: 8px;
}

/* line 10, app/assets/stylesheets/components/_utilities.scss */
.progress-normal {
  height: 12px;
}

/* line 14, app/assets/stylesheets/components/_utilities.scss */
.progress-thick {
  height: 16px;
}

/* Scrollable Containers */
/* line 19, app/assets/stylesheets/components/_utilities.scss */
.scrollable-container {
  max-height: 500px;
  overflow-y: auto;
}

/* line 23, app/assets/stylesheets/components/_utilities.scss */
.scrollable-container--small {
  max-height: 200px;
}

/* line 27, app/assets/stylesheets/components/_utilities.scss */
.scrollable-container--medium {
  max-height: 300px;
}

/* line 31, app/assets/stylesheets/components/_utilities.scss */
.scrollable-container--large {
  max-height: 600px;
}

/* line 35, app/assets/stylesheets/components/_utilities.scss */
.scrollable-container--xlarge {
  max-height: 800px;
}

/* Permission Groups Container */
/* line 41, app/assets/stylesheets/components/_utilities.scss */
.permission-groups-container {
  max-height: 500px;
  overflow-y: auto;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 15px;
  background: #f8f9fa;
}

/* Code/Log Container */
/* line 51, app/assets/stylesheets/components/_utilities.scss */
.code-container {
  max-height: 200px;
  overflow-y: auto;
  background: #f8f9fa;
  padding: 10px;
  border-radius: 4px;
  font-family: monospace;
  font-size: 0.85rem;
}

/* line 60, app/assets/stylesheets/components/_utilities.scss */
.code-container--large {
  max-height: 400px;
}

/* line 64, app/assets/stylesheets/components/_utilities.scss */
.code-container--full {
  max-height: none;
}

/* Full Height Containers */
/* line 70, app/assets/stylesheets/components/_utilities.scss */
.container-full-height {
  height: 100vh;
}

/* line 74, app/assets/stylesheets/components/_utilities.scss */
.container-calc-height {
  height: calc(100vh - 200px);
}

/* line 77, app/assets/stylesheets/components/_utilities.scss */
.container-calc-height--header {
  height: calc(100vh - 150px);
}

/* line 81, app/assets/stylesheets/components/_utilities.scss */
.container-calc-height--footer {
  height: calc(100vh - 100px);
}

/* Responsive Heights */
/* line 87, app/assets/stylesheets/components/_utilities.scss */
.height-responsive {
  height: auto;
}

@media (min-width: 768px) {
  /* line 87, app/assets/stylesheets/components/_utilities.scss */
  .height-responsive {
    height: 300px;
  }
}

@media (min-width: 992px) {
  /* line 87, app/assets/stylesheets/components/_utilities.scss */
  .height-responsive {
    height: 400px;
  }
}

/* =============================================================================
   FASE 2 - Componentes Complexos
   ============================================================================= */
/* Notifications Dropdown */
/* line 104, app/assets/stylesheets/components/_utilities.scss */
.notifications-dropdown-scroll {
  max-height: 300px;
  overflow-y: auto;
}

/* JSON/Log Display */
/* line 110, app/assets/stylesheets/components/_utilities.scss */
.json-display,
.log-display {
  background: #f8f9fa;
  padding: 10px;
  border-radius: 4px;
  font-family: monospace;
  font-size: 0.85rem;
  max-height: 200px;
  overflow-y: auto;
}

/* line 120, app/assets/stylesheets/components/_utilities.scss */
.json-display--large,
.log-display--large {
  max-height: 400px;
}

/* line 124, app/assets/stylesheets/components/_utilities.scss */
.json-display--xlarge,
.log-display--xlarge {
  max-height: 600px;
}

/* line 128, app/assets/stylesheets/components/_utilities.scss */
.json-display--no-scroll,
.log-display--no-scroll {
  max-height: none;
  overflow-y: visible;
}

/* Pre tag with scroll */
/* line 135, app/assets/stylesheets/components/_utilities.scss */
.pre-scrollable {
  background: #f8f9fa;
  padding: 1rem;
  border-radius: 4px;
  max-height: 200px;
  overflow-y: auto;
}

/* line 142, app/assets/stylesheets/components/_utilities.scss */
.pre-scrollable--large {
  max-height: 400px;
}

/* Table Responsive with max-height */
/* line 148, app/assets/stylesheets/components/_utilities.scss */
.table-responsive-scroll {
  max-height: 400px;
  overflow-y: auto;
}

/* line 152, app/assets/stylesheets/components/_utilities.scss */
.table-responsive-scroll--small {
  max-height: 200px;
}

/* line 156, app/assets/stylesheets/components/_utilities.scss */
.table-responsive-scroll--medium {
  max-height: 300px;
}

/* line 160, app/assets/stylesheets/components/_utilities.scss */
.table-responsive-scroll--large {
  max-height: 500px;
}

/* line 164, app/assets/stylesheets/components/_utilities.scss */
.table-responsive-scroll--xlarge {
  max-height: 600px;
}

/* Width utilities (substituindo inline width) */
/* line 170, app/assets/stylesheets/components/_utilities.scss */
.w-35px {
  width: 35px !important;
}

/* line 171, app/assets/stylesheets/components/_utilities.scss */
.w-40px {
  width: 40px !important;
}

/* line 172, app/assets/stylesheets/components/_utilities.scss */
.w-50px {
  width: 50px !important;
}

/* line 173, app/assets/stylesheets/components/_utilities.scss */
.w-60px {
  width: 60px !important;
}

/* line 174, app/assets/stylesheets/components/_utilities.scss */
.w-70px {
  width: 70px !important;
}

/* line 175, app/assets/stylesheets/components/_utilities.scss */
.w-80px {
  width: 80px !important;
}

/* line 176, app/assets/stylesheets/components/_utilities.scss */
.w-90px {
  width: 90px !important;
}

/* line 177, app/assets/stylesheets/components/_utilities.scss */
.w-100px {
  width: 100px !important;
}

/* line 178, app/assets/stylesheets/components/_utilities.scss */
.w-110px {
  width: 110px !important;
}

/* line 179, app/assets/stylesheets/components/_utilities.scss */
.w-120px {
  width: 120px !important;
}

/* line 180, app/assets/stylesheets/components/_utilities.scss */
.w-130px {
  width: 130px !important;
}

/* line 181, app/assets/stylesheets/components/_utilities.scss */
.w-140px {
  width: 140px !important;
}

/* line 182, app/assets/stylesheets/components/_utilities.scss */
.w-150px {
  width: 150px !important;
}

/* line 183, app/assets/stylesheets/components/_utilities.scss */
.w-160px {
  width: 160px !important;
}

/* line 184, app/assets/stylesheets/components/_utilities.scss */
.w-170px {
  width: 170px !important;
}

/* line 185, app/assets/stylesheets/components/_utilities.scss */
.w-180px {
  width: 180px !important;
}

/* line 186, app/assets/stylesheets/components/_utilities.scss */
.w-200px {
  width: 200px !important;
}

/* line 187, app/assets/stylesheets/components/_utilities.scss */
.w-220px {
  width: 220px !important;
}

/* line 188, app/assets/stylesheets/components/_utilities.scss */
.w-250px {
  width: 250px !important;
}

/* line 189, app/assets/stylesheets/components/_utilities.scss */
.w-300px {
  width: 300px !important;
}

/* Max Width utilities */
/* line 192, app/assets/stylesheets/components/_utilities.scss */
.mw-120px {
  max-width: 120px !important;
}

/* line 193, app/assets/stylesheets/components/_utilities.scss */
.mw-140px {
  max-width: 140px !important;
}

/* line 194, app/assets/stylesheets/components/_utilities.scss */
.mw-160px {
  max-width: 160px !important;
}

/* line 195, app/assets/stylesheets/components/_utilities.scss */
.mw-170px {
  max-width: 170px !important;
}

/* line 196, app/assets/stylesheets/components/_utilities.scss */
.mw-200px {
  max-width: 200px !important;
}

/* line 197, app/assets/stylesheets/components/_utilities.scss */
.mw-220px {
  max-width: 220px !important;
}

/* line 198, app/assets/stylesheets/components/_utilities.scss */
.mw-300px {
  max-width: 300px !important;
}

/* line 199, app/assets/stylesheets/components/_utilities.scss */
.mw-400px {
  max-width: 400px !important;
}

/* Width percentual utilities */
/* line 202, app/assets/stylesheets/components/_utilities.scss */
.w-5-pct {
  width: 5% !important;
}

/* line 203, app/assets/stylesheets/components/_utilities.scss */
.w-8-pct {
  width: 8% !important;
}

/* line 204, app/assets/stylesheets/components/_utilities.scss */
.w-10-pct {
  width: 10% !important;
}

/* line 205, app/assets/stylesheets/components/_utilities.scss */
.w-12-pct {
  width: 12% !important;
}

/* line 206, app/assets/stylesheets/components/_utilities.scss */
.w-15-pct {
  width: 15% !important;
}

/* line 207, app/assets/stylesheets/components/_utilities.scss */
.w-20-pct {
  width: 20% !important;
}

/* line 208, app/assets/stylesheets/components/_utilities.scss */
.w-25-pct {
  width: 25% !important;
}

/* line 209, app/assets/stylesheets/components/_utilities.scss */
.w-30-pct {
  width: 30% !important;
}

/* line 210, app/assets/stylesheets/components/_utilities.scss */
.w-35-pct {
  width: 35% !important;
}

/* line 211, app/assets/stylesheets/components/_utilities.scss */
.w-40-pct {
  width: 40% !important;
}

/* line 212, app/assets/stylesheets/components/_utilities.scss */
.w-45-pct {
  width: 45% !important;
}

/* line 213, app/assets/stylesheets/components/_utilities.scss */
.w-50-pct {
  width: 50% !important;
}

/* line 214, app/assets/stylesheets/components/_utilities.scss */
.w-60-pct {
  width: 60% !important;
}

/* line 215, app/assets/stylesheets/components/_utilities.scss */
.w-70-pct {
  width: 70% !important;
}

/* line 216, app/assets/stylesheets/components/_utilities.scss */
.w-80-pct {
  width: 80% !important;
}

/* line 217, app/assets/stylesheets/components/_utilities.scss */
.w-90-pct {
  width: 90% !important;
}

/* Max-width utilities */
/* line 220, app/assets/stylesheets/components/_utilities.scss */
.mw-200px {
  max-width: 200px !important;
}

/* line 221, app/assets/stylesheets/components/_utilities.scss */
.mw-300px {
  max-width: 300px !important;
}

/* line 222, app/assets/stylesheets/components/_utilities.scss */
.mw-400px {
  max-width: 400px !important;
}

/* Min-width utilities */
/* line 225, app/assets/stylesheets/components/_utilities.scss */
.min-w-30 {
  min-width: 30px !important;
}

/* line 226, app/assets/stylesheets/components/_utilities.scss */
.min-w-80 {
  min-width: 80px !important;
}

/* Display utilities consolidados */
/* line 229, app/assets/stylesheets/components/_utilities.scss */
.d-flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 235, app/assets/stylesheets/components/_utilities.scss */
.d-flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 241, app/assets/stylesheets/components/_utilities.scss */
.d-flex-start {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

/* line 247, app/assets/stylesheets/components/_utilities.scss */
.d-flex-end {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* Icon containers */
/* line 254, app/assets/stylesheets/components/_utilities.scss */
.stat-icon-container {
  width: 50px;
  height: 50px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 262, app/assets/stylesheets/components/_utilities.scss */
.stat-icon-container--small {
  width: 40px;
  height: 40px;
}

/* line 267, app/assets/stylesheets/components/_utilities.scss */
.stat-icon-container--large {
  width: 60px;
  height: 60px;
}

/* line 272, app/assets/stylesheets/components/_utilities.scss */
.stat-icon-container--info {
  background: rgba(52, 152, 219, 0.1);
  color: var(--erp-info);
}

/* line 277, app/assets/stylesheets/components/_utilities.scss */
.stat-icon-container--success {
  background: rgba(39, 174, 96, 0.1);
  color: var(--erp-success);
}

/* line 282, app/assets/stylesheets/components/_utilities.scss */
.stat-icon-container--warning {
  background: rgba(243, 156, 18, 0.1);
  color: var(--erp-warning);
}

/* line 287, app/assets/stylesheets/components/_utilities.scss */
.stat-icon-container--danger {
  background: rgba(231, 76, 60, 0.1);
  color: var(--erp-danger);
}

/* Padding utilities específicos */
/* line 294, app/assets/stylesheets/components/_utilities.scss */
.p-3-custom {
  padding: 1rem;
}

/* line 298, app/assets/stylesheets/components/_utilities.scss */
.px-10 {
  padding-left: 10px;
  padding-right: 10px;
}

/* line 303, app/assets/stylesheets/components/_utilities.scss */
.py-10 {
  padding-top: 10px;
  padding-bottom: 10px;
}

/* Border radius utilities */
/* line 309, app/assets/stylesheets/components/_utilities.scss */
.rounded-2 {
  border-radius: 2px !important;
}

/* line 313, app/assets/stylesheets/components/_utilities.scss */
.rounded-3 {
  border-radius: 3px !important;
}

/* line 317, app/assets/stylesheets/components/_utilities.scss */
.rounded-4 {
  border-radius: 4px !important;
}

/* line 321, app/assets/stylesheets/components/_utilities.scss */
.rounded-5 {
  border-radius: 5px !important;
}

/* line 325, app/assets/stylesheets/components/_utilities.scss */
.rounded-6 {
  border-radius: 6px !important;
}

/* line 329, app/assets/stylesheets/components/_utilities.scss */
.rounded-8 {
  border-radius: 8px !important;
}

/* line 333, app/assets/stylesheets/components/_utilities.scss */
.rounded-10 {
  border-radius: 10px !important;
}

/* line 337, app/assets/stylesheets/components/_utilities.scss */
.rounded-12 {
  border-radius: 12px !important;
}

/* line 341, app/assets/stylesheets/components/_utilities.scss */
.rounded-25 {
  border-radius: 25px !important;
}

/* Font size utilities (FASE 3 + FASE 6) */
/* line 346, app/assets/stylesheets/components/_utilities.scss */
.fs-10px {
  font-size: 10px !important;
}

/* line 350, app/assets/stylesheets/components/_utilities.scss */
.fs-11px {
  font-size: 11px !important;
}

/* line 354, app/assets/stylesheets/components/_utilities.scss */
.fs-12px {
  font-size: 12px !important;
}

/* line 358, app/assets/stylesheets/components/_utilities.scss */
.fs-13px {
  font-size: 13px !important;
}

/* line 362, app/assets/stylesheets/components/_utilities.scss */
.fs-14px {
  font-size: 14px !important;
}

/* line 366, app/assets/stylesheets/components/_utilities.scss */
.fs-75rem {
  font-size: 0.75rem !important;
}

/* line 370, app/assets/stylesheets/components/_utilities.scss */
.fs-8rem {
  font-size: 0.8rem !important;
}

/* line 374, app/assets/stylesheets/components/_utilities.scss */
.fs-85rem {
  font-size: 0.85rem !important;
}

/* line 378, app/assets/stylesheets/components/_utilities.scss */
.fs-875rem {
  font-size: 0.875rem !important;
}

/* line 382, app/assets/stylesheets/components/_utilities.scss */
.fs-9rem {
  font-size: 0.9rem !important;
}

/* line 386, app/assets/stylesheets/components/_utilities.scss */
.fs-1rem {
  font-size: 1rem !important;
}

/* line 390, app/assets/stylesheets/components/_utilities.scss */
.fs-125rem {
  font-size: 1.25rem !important;
}

/* line 394, app/assets/stylesheets/components/_utilities.scss */
.fs-3rem {
  font-size: 3rem !important;
}

/* Legacy compatibility */
/* line 399, app/assets/stylesheets/components/_utilities.scss */
.fs-13 {
  font-size: 13px !important;
}

/* =============================================================================
   FASE 3 - Casos Especiais
   ============================================================================= */
/* Progress bars com alturas específicas */
/* line 408, app/assets/stylesheets/components/_utilities.scss */
.progress-height-25 {
  height: 25px;
}

/* line 412, app/assets/stylesheets/components/_utilities.scss */
.progress-height-30 {
  height: 30px;
}

/* line 416, app/assets/stylesheets/components/_utilities.scss */
.progress-height-20 {
  height: 20px;
}

/* Avatar containers */
/* line 421, app/assets/stylesheets/components/_utilities.scss */
.avatar-container {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 428, app/assets/stylesheets/components/_utilities.scss */
.avatar-container--small {
  width: 50px;
  height: 50px;
}

/* line 433, app/assets/stylesheets/components/_utilities.scss */
.avatar-container--large {
  width: 100px;
  height: 100px;
}

/* line 438, app/assets/stylesheets/components/_utilities.scss */
.avatar-container--circle {
  border-radius: 50%;
}

/* Table column widths */
/* line 444, app/assets/stylesheets/components/_utilities.scss */
.table-col-40 {
  width: 40% !important;
}

/* line 448, app/assets/stylesheets/components/_utilities.scss */
.table-col-30 {
  width: 30% !important;
}

/* line 452, app/assets/stylesheets/components/_utilities.scss */
.table-col-20 {
  width: 20% !important;
}

/* line 456, app/assets/stylesheets/components/_utilities.scss */
.table-col-10 {
  width: 10% !important;
}

/* Sync logs container */
/* line 461, app/assets/stylesheets/components/_utilities.scss */
.sync-logs-container {
  height: 500px;
  overflow-y: auto;
  white-space: pre-wrap;
  word-wrap: break-word;
}

/* Full width utility */
/* line 469, app/assets/stylesheets/components/_utilities.scss */
.w-100-force {
  width: 100% !important;
}

/* Display utilities para controle de visibilidade */
/* line 474, app/assets/stylesheets/components/_utilities.scss */
.d-none-initial {
  display: none;
}

/* line 478, app/assets/stylesheets/components/_utilities.scss */
.d-block-initial {
  display: block;
}

/* Positioning utilities */
/* line 483, app/assets/stylesheets/components/_utilities.scss */
.pos-absolute-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 1000;
  min-width: 150px;
}

/* Height utilities específicos */
/* line 492, app/assets/stylesheets/components/_utilities.scss */
.h-4px {
  height: 4px !important;
}

/* line 496, app/assets/stylesheets/components/_utilities.scss */
.h-8px {
  height: 8px !important;
}

/* line 500, app/assets/stylesheets/components/_utilities.scss */
.h-30px {
  height: 30px !important;
}

/* line 504, app/assets/stylesheets/components/_utilities.scss */
.h-35px {
  height: 35px !important;
}

/* line 508, app/assets/stylesheets/components/_utilities.scss */
.h-40px {
  height: 40px !important;
}

/* line 512, app/assets/stylesheets/components/_utilities.scss */
.h-50px {
  height: 50px !important;
}

/* line 516, app/assets/stylesheets/components/_utilities.scss */
.h-80px {
  height: 80px !important;
}

/* line 520, app/assets/stylesheets/components/_utilities.scss */
.h-100px {
  height: 100px !important;
}

/* line 524, app/assets/stylesheets/components/_utilities.scss */
.h-150px {
  height: 150px !important;
}

/* line 528, app/assets/stylesheets/components/_utilities.scss */
.h-200px {
  height: 200px !important;
}

/* line 532, app/assets/stylesheets/components/_utilities.scss */
.h-250px {
  height: 250px !important;
}

/* line 536, app/assets/stylesheets/components/_utilities.scss */
.h-300px {
  height: 300px !important;
}

/* line 540, app/assets/stylesheets/components/_utilities.scss */
.h-400px {
  height: 400px !important;
}

/* line 544, app/assets/stylesheets/components/_utilities.scss */
.h-500px {
  height: 500px !important;
}

/* Min-height utilities */
/* line 549, app/assets/stylesheets/components/_utilities.scss */
.min-h-100 {
  min-height: 100px !important;
}

/* line 553, app/assets/stylesheets/components/_utilities.scss */
.min-h-150 {
  min-height: 150px !important;
}

/* line 557, app/assets/stylesheets/components/_utilities.scss */
.min-h-200 {
  min-height: 200px !important;
}

/* line 561, app/assets/stylesheets/components/_utilities.scss */
.min-h-250 {
  min-height: 250px !important;
}

/* line 565, app/assets/stylesheets/components/_utilities.scss */
.min-h-300 {
  min-height: 300px !important;
}

/* line 569, app/assets/stylesheets/components/_utilities.scss */
.min-h-400 {
  min-height: 400px !important;
}

/* line 573, app/assets/stylesheets/components/_utilities.scss */
.min-h-500 {
  min-height: 500px !important;
}

/* Max-height utilities */
/* line 578, app/assets/stylesheets/components/_utilities.scss */
.max-h-200 {
  max-height: 200px !important;
}

/* line 582, app/assets/stylesheets/components/_utilities.scss */
.max-h-250 {
  max-height: 250px !important;
}

/* line 586, app/assets/stylesheets/components/_utilities.scss */
.max-h-300 {
  max-height: 300px !important;
}

/* line 590, app/assets/stylesheets/components/_utilities.scss */
.max-h-400 {
  max-height: 400px !important;
}

/* line 594, app/assets/stylesheets/components/_utilities.scss */
.max-h-500 {
  max-height: 500px !important;
}

/* line 598, app/assets/stylesheets/components/_utilities.scss */
.max-h-600 {
  max-height: 600px !important;
}

/* Cursor utilities */
/* line 603, app/assets/stylesheets/components/_utilities.scss */
.cursor-pointer {
  cursor: pointer !important;
}

/* line 607, app/assets/stylesheets/components/_utilities.scss */
.cursor-default {
  cursor: default !important;
}

/* line 611, app/assets/stylesheets/components/_utilities.scss */
.cursor-not-allowed {
  cursor: not-allowed !important;
}

/* Opacity utilities */
/* line 616, app/assets/stylesheets/components/_utilities.scss */
.opacity-90 {
  opacity: 0.9 !important;
}

/* line 620, app/assets/stylesheets/components/_utilities.scss */
.opacity-80 {
  opacity: 0.8 !important;
}

/* line 624, app/assets/stylesheets/components/_utilities.scss */
.opacity-75 {
  opacity: 0.75 !important;
}

/* line 628, app/assets/stylesheets/components/_utilities.scss */
.opacity-70 {
  opacity: 0.7 !important;
}

/* line 632, app/assets/stylesheets/components/_utilities.scss */
.opacity-60 {
  opacity: 0.6 !important;
}

/* line 636, app/assets/stylesheets/components/_utilities.scss */
.opacity-50 {
  opacity: 0.5 !important;
}

/* line 640, app/assets/stylesheets/components/_utilities.scss */
.opacity-30 {
  opacity: 0.3 !important;
}

/* line 644, app/assets/stylesheets/components/_utilities.scss */
.opacity-25 {
  opacity: 0.25 !important;
}

/* Margin utilities específicos */
/* line 649, app/assets/stylesheets/components/_utilities.scss */
.m-0-force {
  margin: 0 !important;
}

/* line 653, app/assets/stylesheets/components/_utilities.scss */
.m-5 {
  margin: 5px !important;
}

/* line 657, app/assets/stylesheets/components/_utilities.scss */
.m-10 {
  margin: 10px !important;
}

/* line 661, app/assets/stylesheets/components/_utilities.scss */
.m-15 {
  margin: 15px !important;
}

/* line 665, app/assets/stylesheets/components/_utilities.scss */
.m-20 {
  margin: 20px !important;
}

/* line 669, app/assets/stylesheets/components/_utilities.scss */
.m-30 {
  margin: 30px !important;
}

/* line 673, app/assets/stylesheets/components/_utilities.scss */
.mt-20 {
  margin-top: 20px !important;
}

/* line 677, app/assets/stylesheets/components/_utilities.scss */
.m-5-0 {
  margin: 5px 0 !important;
}

/* Box shadow utilities */
/* line 682, app/assets/stylesheets/components/_utilities.scss */
.shadow-subtle {
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
}

/* line 686, app/assets/stylesheets/components/_utilities.scss */
.shadow-none-force {
  box-shadow: none !important;
}

/* Flex utilities */
/* line 691, app/assets/stylesheets/components/_utilities.scss */
.flex-1 {
  flex: 1;
}

/* Line height utilities */
/* line 696, app/assets/stylesheets/components/_utilities.scss */
.lh-1 {
  line-height: 1 !important;
}

/* line 700, app/assets/stylesheets/components/_utilities.scss */
.lh-12 {
  line-height: 1.2 !important;
}

/* line 704, app/assets/stylesheets/components/_utilities.scss */
.lh-13 {
  line-height: 1.3 !important;
}

/* line 708, app/assets/stylesheets/components/_utilities.scss */
.lh-14 {
  line-height: 1.4 !important;
}

/* line 712, app/assets/stylesheets/components/_utilities.scss */
.lh-15 {
  line-height: 1.5 !important;
}

/* line 716, app/assets/stylesheets/components/_utilities.scss */
.lh-16 {
  line-height: 1.6 !important;
}

/* line 720, app/assets/stylesheets/components/_utilities.scss */
.lh-18 {
  line-height: 1.8 !important;
}

/* line 724, app/assets/stylesheets/components/_utilities.scss */
.lh-2 {
  line-height: 2 !important;
}

/* Text truncate com max-width */
/* line 729, app/assets/stylesheets/components/_utilities.scss */
.truncate-200 {
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
}

/* Badge utilities */
/* line 738, app/assets/stylesheets/components/_utilities.scss */
.badge-tiny {
  font-size: 10px;
  padding: 0.15rem 0.3rem;
}

/* Square utilities (width = height) */
/* line 744, app/assets/stylesheets/components/_utilities.scss */
.square-35 {
  width: 35px;
  height: 35px;
}

/* =============================================================================
   FASE 8 - Misc CSS (Background, Padding, Border)
   ============================================================================= */
/* Padding utilities */
/* line 754, app/assets/stylesheets/components/_utilities.scss */
.p-3 {
  padding: 3px !important;
}

/* line 758, app/assets/stylesheets/components/_utilities.scss */
.p-4 {
  padding: 4px !important;
}

/* line 762, app/assets/stylesheets/components/_utilities.scss */
.p-5 {
  padding: 5px !important;
}

/* line 766, app/assets/stylesheets/components/_utilities.scss */
.p-6 {
  padding: 6px !important;
}

/* line 770, app/assets/stylesheets/components/_utilities.scss */
.p-8 {
  padding: 8px !important;
}

/* line 774, app/assets/stylesheets/components/_utilities.scss */
.p-10 {
  padding: 10px !important;
}

/* line 778, app/assets/stylesheets/components/_utilities.scss */
.p-12 {
  padding: 12px !important;
}

/* line 782, app/assets/stylesheets/components/_utilities.scss */
.p-15 {
  padding: 15px !important;
}

/* line 786, app/assets/stylesheets/components/_utilities.scss */
.p-20 {
  padding: 20px !important;
}

/* line 790, app/assets/stylesheets/components/_utilities.scss */
.p-30 {
  padding: 30px !important;
}

/* Background color utilities */
/* line 795, app/assets/stylesheets/components/_utilities.scss */
.bg-light-gray {
  background-color: #f8f9fa !important;
}

/* line 799, app/assets/stylesheets/components/_utilities.scss */
.bg-info-custom {
  background-color: #17a2b8 !important;
}

/* line 803, app/assets/stylesheets/components/_utilities.scss */
.bg-warning-custom {
  background-color: #f39c12 !important;
}

/* line 807, app/assets/stylesheets/components/_utilities.scss */
.bg-orange {
  background-color: #fd7e14 !important;
}

/* line 811, app/assets/stylesheets/components/_utilities.scss */
.bg-danger-custom {
  background-color: #e74c3c !important;
}

/* line 815, app/assets/stylesheets/components/_utilities.scss */
.bg-secondary-custom {
  background-color: #6c757d !important;
}

/* line 819, app/assets/stylesheets/components/_utilities.scss */
.bg-yellow-light {
  background-color: #fff3cd !important;
}

/* line 823, app/assets/stylesheets/components/_utilities.scss */
.bg-cream {
  background-color: #fef9e7 !important;
}

/* line 827, app/assets/stylesheets/components/_utilities.scss */
.bg-red-light {
  background-color: #fadbd8 !important;
}

/* Border utilities */
/* line 832, app/assets/stylesheets/components/_utilities.scss */
.border-1-ddd {
  border: 1px solid #ddd !important;
}

/* line 836, app/assets/stylesheets/components/_utilities.scss */
.border-1-gray {
  border: 1px solid #dee2e6 !important;
}

/* line 840, app/assets/stylesheets/components/_utilities.scss */
.border-2-gray {
  border: 2px solid #dee2e6 !important;
}
@charset "UTF-8";
/* line 11, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .main-container,
.payables-module .main-container {
  padding: 1.5rem;
  max-width: 1600px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
}

/* line 21, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .control-panel,
.payables-module .control-panel {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
}

/* line 29, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .stats-row,
.payables-module .stats-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  padding: 1rem;
  background: #f8f9fc;
  border-bottom: 1px solid #e3e6f0;
}

/* line 38, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .erp-stat-card,
.payables-module .erp-stat-card {
  background: white;
  border-radius: 8px;
  padding: 1rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* line 45, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .erp-stat-card:hover,
.payables-module .erp-stat-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* line 52, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .filters-section,
.payables-module .filters-section {
  padding: 0.65rem 0.75rem;
  background: white;
  border-bottom: 1px solid #e3e6f0;
  overflow: visible !important;
  width: 100%;
  box-sizing: border-box;
  max-width: 100%;
}

/* line 61, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .filters-section .filters-row,
.payables-module .filters-section .filters-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.5rem;
  align-items: end;
  width: 100% !important;
  box-sizing: border-box;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  overflow: visible;
}

/* line 73, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .filters-section .filters-row .filter-group,
.payables-module .filters-section .filters-row .filter-group {
  flex: 1 1 auto;
  min-width: 120px;
  max-width: calc(100% / 7 - 0.75rem);
  box-sizing: border-box;
}

/* line 79, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .filters-section .filters-row .filter-group.filter-group-wide,
.payables-module .filters-section .filters-row .filter-group.filter-group-wide {
  flex: 2 1 220px;
  max-width: 320px;
}

/* line 84, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .filters-section .filters-row .filter-group label,
.payables-module .filters-section .filters-row .filter-group label {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  color: #495057;
  margin-bottom: 0.125rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 95, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .filters-section .filters-row .filter-group .form-control,
.payables-module .filters-section .filters-row .filter-group .form-control {
  height: 32px;
  padding: 0.25rem 0.5rem;
  font-size: 0.8rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* line 105, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .filters-section .filters-row .filter-group input[type="date"],
.payables-module .filters-section .filters-row .filter-group input[type="date"] {
  min-width: 0;
  width: 100%;
}

/* line 111, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .filters-section .filters-row .filter-actions,
.payables-module .filters-section .filters-row .filter-actions {
  display: flex !important;
  gap: 0.35rem;
  align-items: end;
  flex-wrap: nowrap;
  flex-shrink: 0;
  box-sizing: border-box;
  flex-basis: 100% !important;
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  order: 999;
  margin-top: 0.5rem !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  justify-content: flex-start;
  clear: both;
}

/* line 132, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .filters-section .filters-row .filter-actions .btn,
.payables-module .filters-section .filters-row .filter-actions .btn {
  white-space: nowrap;
  flex-shrink: 0;
}

/* line 138, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .filters-section .filters-row .payables-advanced-filters,
.payables-module .filters-section .filters-row .payables-advanced-filters {
  position: relative;
  flex: 0 0 auto;
  overflow: visible;
  z-index: 2;
}

/* line 144, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .filters-section .filters-row .payables-advanced-filters .payables-advanced-toggle,
.payables-module .filters-section .filters-row .payables-advanced-filters .payables-advanced-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 30px;
  padding: 0.35rem 0.65rem;
  border: 1px solid #ced4da;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  font-size: 0.8rem;
  font-weight: 600;
  color: #344054;
}

/* line 159, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .filters-section .filters-row .payables-advanced-filters .payables-advanced-toggle:focus-visible,
.payables-module .filters-section .filters-row .payables-advanced-filters .payables-advanced-toggle:focus-visible {
  outline: 2px solid #3498db;
  outline-offset: 2px;
}

/* line 164, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .filters-section .filters-row .payables-advanced-filters .payables-advanced-toggle span:first-child,
.payables-module .filters-section .filters-row .payables-advanced-filters .payables-advanced-toggle span:first-child {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 170, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .filters-section .filters-row .payables-advanced-filters .payables-advanced-toggle:hover,
.payables-module .filters-section .filters-row .payables-advanced-filters .payables-advanced-toggle:hover {
  border-color: #3498db;
  color: #1d4ed8;
}

/* line 176, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .filters-section .filters-row .payables-advanced-filters .payables-advanced-toggle[aria-expanded="true"],
.payables-module .filters-section .filters-row .payables-advanced-filters .payables-advanced-toggle[aria-expanded="true"] {
  border-color: #3498db;
  color: #1d4ed8;
}

/* line 181, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .filters-section .filters-row .payables-advanced-filters .advanced-filters-badge,
.payables-module .filters-section .filters-row .payables-advanced-filters .advanced-filters-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: rgba(52, 152, 219, 0.12);
  color: #1d4ed8;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* line 194, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .filters-section .filters-row .payables-advanced-filters .advanced-filters-grid,
.payables-module .filters-section .filters-row .payables-advanced-filters .advanced-filters-grid {
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 0;
  left: auto;
  width: 600px;
  max-width: calc(100vw - 2rem);
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.65rem;
  border: 1px solid #e3e6f0;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  overflow: visible;
}

/* line 212, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .filters-section .filters-row .payables-advanced-filters .advanced-filters-grid .filter-group,
.payables-module .filters-section .filters-row .payables-advanced-filters .advanced-filters-grid .filter-group {
  flex: 1 1 160px;
  max-width: none;
  overflow: visible;
}

/* line 218, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .filters-section .filters-row .payables-advanced-filters .advanced-filters-grid .filter-group-wide,
.payables-module .filters-section .filters-row .payables-advanced-filters .advanced-filters-grid .filter-group-wide {
  flex: 2 1 260px;
  max-width: none;
}

/* line 223, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .filters-section .filters-row .payables-advanced-filters .advanced-filters-grid .ts-wrapper,
.receivables-module .filters-section .filters-row .payables-advanced-filters .advanced-filters-grid .ts-control,
.receivables-module .filters-section .filters-row .payables-advanced-filters .advanced-filters-grid .ts-dropdown,
.payables-module .filters-section .filters-row .payables-advanced-filters .advanced-filters-grid .ts-wrapper,
.payables-module .filters-section .filters-row .payables-advanced-filters .advanced-filters-grid .ts-control,
.payables-module .filters-section .filters-row .payables-advanced-filters .advanced-filters-grid .ts-dropdown {
  overflow: visible;
}

/* line 229, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .filters-section .filters-row .payables-advanced-filters .advanced-filters-grid .ts-wrapper,
.payables-module .filters-section .filters-row .payables-advanced-filters .advanced-filters-grid .ts-wrapper {
  position: relative;
  z-index: 5;
}

/* line 234, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .filters-section .filters-row .payables-advanced-filters .advanced-filters-grid .ts-dropdown,
.payables-module .filters-section .filters-row .payables-advanced-filters .advanced-filters-grid .ts-dropdown {
  z-index: 10020 !important;
}

@media (min-width: 1400px) {
  /* line 244, app/assets/stylesheets/components/accounts_payables.scss */
  .receivables-module .filters-section .filters-row .filter-group,
.payables-module .filters-section .filters-row .filter-group {
    flex: 1 1 150px;
  }
}

@media (max-width: 1400px) and (min-width: 1200px) {
  /* line 252, app/assets/stylesheets/components/accounts_payables.scss */
  .receivables-module .filters-section .filters-row,
.payables-module .filters-section .filters-row {
    gap: 0.5rem;
  }
  /* line 255, app/assets/stylesheets/components/accounts_payables.scss */
  .receivables-module .filters-section .filters-row .filter-group,
.payables-module .filters-section .filters-row .filter-group {
    flex: 1 1 130px;
  }
}

@media (max-width: 1200px) {
  /* line 263, app/assets/stylesheets/components/accounts_payables.scss */
  .receivables-module .filters-section .filters-row,
.payables-module .filters-section .filters-row {
    gap: 0.5rem;
  }
  /* line 266, app/assets/stylesheets/components/accounts_payables.scss */
  .receivables-module .filters-section .filters-row .filter-group,
.payables-module .filters-section .filters-row .filter-group {
    flex: 1 1 120px;
  }
}

@media (max-width: 768px) {
  /* line 274, app/assets/stylesheets/components/accounts_payables.scss */
  .receivables-module .filters-section .filters-row,
.payables-module .filters-section .filters-row {
    gap: 0.5rem;
  }
  /* line 277, app/assets/stylesheets/components/accounts_payables.scss */
  .receivables-module .filters-section .filters-row .filter-group,
.payables-module .filters-section .filters-row .filter-group {
    flex: 1 1 calc(50% - 0.375rem);
  }
  /* line 282, app/assets/stylesheets/components/accounts_payables.scss */
  .receivables-module .filters-section .filters-row .payables-advanced-filters .advanced-filters-grid,
.payables-module .filters-section .filters-row .payables-advanced-filters .advanced-filters-grid {
    left: 50%;
    right: auto;
    width: calc(100vw - 1.5rem);
    max-width: calc(100vw - 1.5rem);
    transform: translateX(-50%);
  }
  /* line 289, app/assets/stylesheets/components/accounts_payables.scss */
  .receivables-module .filters-section .filters-row .payables-advanced-filters .advanced-filters-grid .filter-group,
.receivables-module .filters-section .filters-row .payables-advanced-filters .advanced-filters-grid .filter-group-wide,
.payables-module .filters-section .filters-row .payables-advanced-filters .advanced-filters-grid .filter-group,
.payables-module .filters-section .filters-row .payables-advanced-filters .advanced-filters-grid .filter-group-wide {
    flex: 1 1 100%;
  }
}

/* line 300, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .table-responsive,
.payables-module .table-responsive {
  border-radius: 0;
  overflow: visible !important;
}

/* line 304, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .table-responsive .table,
.payables-module .table-responsive .table {
  margin-bottom: 0;
}

/* line 307, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .table-responsive .table thead,
.payables-module .table-responsive .table thead {
  background: #f8f9fc;
}

/* line 310, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .table-responsive .table thead th,
.payables-module .table-responsive .table thead th {
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #5a5c69;
  padding: 0.75rem;
  border-bottom: 2px solid #e3e6f0;
}

/* line 322, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .table-responsive .table tbody tr,
.payables-module .table-responsive .table tbody tr {
  transition: background-color 0.2s ease;
}

/* line 325, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .table-responsive .table tbody tr:hover,
.payables-module .table-responsive .table tbody tr:hover {
  background-color: #f8f9fc;
}

/* line 329, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .table-responsive .table tbody tr.table-danger,
.payables-module .table-responsive .table tbody tr.table-danger {
  background-color: #fff5f5;
}

/* line 332, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .table-responsive .table tbody tr.table-danger:hover,
.payables-module .table-responsive .table tbody tr.table-danger:hover {
  background-color: #ffe0e0;
}

/* line 341, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.payment, .receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.btn-outline-success,
.receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.payment,
.receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.btn-outline-success,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.payment,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.btn-outline-success,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.payment,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.btn-outline-success {
  background-color: white;
  color: #28a745;
  border-color: #28a745;
}

/* line 347, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.payment:hover, .receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.btn-outline-success:hover,
.receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.payment:hover,
.receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.btn-outline-success:hover,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.payment:hover,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.btn-outline-success:hover,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.payment:hover,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.btn-outline-success:hover {
  background-color: #28a745;
  color: white;
}

/* line 354, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.edit, .receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.btn-outline-secondary,
.receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.edit,
.receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.btn-outline-secondary,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.edit,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.btn-outline-secondary,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.edit,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.btn-outline-secondary {
  background-color: white;
  color: #ffc107;
  border-color: #ffc107;
}

/* line 360, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.edit:hover, .receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.btn-outline-secondary:hover,
.receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.edit:hover,
.receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.btn-outline-secondary:hover,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.edit:hover,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.btn-outline-secondary:hover,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.edit:hover,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.btn-outline-secondary:hover {
  background-color: #ffc107;
  color: #212529;
}

/* line 367, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.reverse,
.receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.reverse,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.reverse,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.reverse {
  background-color: white;
  color: #6c757d;
  border-color: #6c757d;
}

/* line 372, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.reverse:hover,
.receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.reverse:hover,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.reverse:hover,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.reverse:hover {
  background-color: #6c757d;
  color: white;
}

/* line 379, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.view, .receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.btn-outline-primary,
.receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.view,
.receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.btn-outline-primary,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.view,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.btn-outline-primary,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.view,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.btn-outline-primary {
  background-color: white;
  color: #17a2b8;
  border-color: #17a2b8;
}

/* line 385, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.view:hover, .receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.btn-outline-primary:hover,
.receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.view:hover,
.receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.btn-outline-primary:hover,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.view:hover,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.btn-outline-primary:hover,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.view:hover,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.btn-outline-primary:hover {
  background-color: #17a2b8;
  color: white;
}

/* line 392, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.disabled,
.receivables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.disabled,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .action-btn.disabled,
.payables-module .table-responsive .table tbody tr.table-danger .actions-inline .btn.disabled {
  background-color: #f8f9fa;
  color: #adb5bd;
  border-color: #dee2e6;
  cursor: not-allowed;
}

/* line 403, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .table-responsive .table tbody td,
.payables-module .table-responsive .table tbody td {
  padding: 0.75rem;
  vertical-align: middle;
  font-size: 0.875rem;
}

/* line 415, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module table tbody td.actions-cell,
.payables-module table tbody td.actions-cell {
  vertical-align: middle !important;
  text-align: center;
  padding: 0.75rem !important;
}

/* line 422, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module table tbody td.actions-cell .actions-inline,
.payables-module table tbody td.actions-cell .actions-inline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  flex-wrap: nowrap;
  white-space: nowrap;
  vertical-align: middle;
}

/* line 432, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module table tbody td.actions-cell .actions-inline .action-btn,
.receivables-module table tbody td.actions-cell .actions-inline .btn,
.payables-module table tbody td.actions-cell .actions-inline .action-btn,
.payables-module table tbody td.actions-cell .actions-inline .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 4px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.2s ease;
  background: transparent;
  font-size: 0.875rem;
  text-decoration: none;
  flex-shrink: 0;
  vertical-align: middle;
  padding: 0;
}

/* line 450, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module table tbody td.actions-cell .actions-inline .action-btn.btn-outline-primary, .receivables-module table tbody td.actions-cell .actions-inline .action-btn.view,
.receivables-module table tbody td.actions-cell .actions-inline .btn.btn-outline-primary,
.receivables-module table tbody td.actions-cell .actions-inline .btn.view,
.payables-module table tbody td.actions-cell .actions-inline .action-btn.btn-outline-primary,
.payables-module table tbody td.actions-cell .actions-inline .action-btn.view,
.payables-module table tbody td.actions-cell .actions-inline .btn.btn-outline-primary,
.payables-module table tbody td.actions-cell .actions-inline .btn.view {
  color: #17a2b8;
  border-color: #17a2b8;
}

/* line 455, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module table tbody td.actions-cell .actions-inline .action-btn.btn-outline-primary:hover, .receivables-module table tbody td.actions-cell .actions-inline .action-btn.view:hover,
.receivables-module table tbody td.actions-cell .actions-inline .btn.btn-outline-primary:hover,
.receivables-module table tbody td.actions-cell .actions-inline .btn.view:hover,
.payables-module table tbody td.actions-cell .actions-inline .action-btn.btn-outline-primary:hover,
.payables-module table tbody td.actions-cell .actions-inline .action-btn.view:hover,
.payables-module table tbody td.actions-cell .actions-inline .btn.btn-outline-primary:hover,
.payables-module table tbody td.actions-cell .actions-inline .btn.view:hover {
  background-color: #17a2b8;
  color: white;
}

/* line 461, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module table tbody td.actions-cell .actions-inline .action-btn.btn-outline-secondary, .receivables-module table tbody td.actions-cell .actions-inline .action-btn.edit,
.receivables-module table tbody td.actions-cell .actions-inline .btn.btn-outline-secondary,
.receivables-module table tbody td.actions-cell .actions-inline .btn.edit,
.payables-module table tbody td.actions-cell .actions-inline .action-btn.btn-outline-secondary,
.payables-module table tbody td.actions-cell .actions-inline .action-btn.edit,
.payables-module table tbody td.actions-cell .actions-inline .btn.btn-outline-secondary,
.payables-module table tbody td.actions-cell .actions-inline .btn.edit {
  color: #ffc107;
  border-color: #ffc107;
}

/* line 466, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module table tbody td.actions-cell .actions-inline .action-btn.btn-outline-secondary:hover, .receivables-module table tbody td.actions-cell .actions-inline .action-btn.edit:hover,
.receivables-module table tbody td.actions-cell .actions-inline .btn.btn-outline-secondary:hover,
.receivables-module table tbody td.actions-cell .actions-inline .btn.edit:hover,
.payables-module table tbody td.actions-cell .actions-inline .action-btn.btn-outline-secondary:hover,
.payables-module table tbody td.actions-cell .actions-inline .action-btn.edit:hover,
.payables-module table tbody td.actions-cell .actions-inline .btn.btn-outline-secondary:hover,
.payables-module table tbody td.actions-cell .actions-inline .btn.edit:hover {
  background-color: #ffc107;
  color: #212529;
}

/* line 472, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module table tbody td.actions-cell .actions-inline .action-btn.btn-outline-danger, .receivables-module table tbody td.actions-cell .actions-inline .action-btn.delete,
.receivables-module table tbody td.actions-cell .actions-inline .btn.btn-outline-danger,
.receivables-module table tbody td.actions-cell .actions-inline .btn.delete,
.payables-module table tbody td.actions-cell .actions-inline .action-btn.btn-outline-danger,
.payables-module table tbody td.actions-cell .actions-inline .action-btn.delete,
.payables-module table tbody td.actions-cell .actions-inline .btn.btn-outline-danger,
.payables-module table tbody td.actions-cell .actions-inline .btn.delete {
  color: #dc3545;
  border-color: #dc3545;
}

/* line 477, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module table tbody td.actions-cell .actions-inline .action-btn.btn-outline-danger:hover, .receivables-module table tbody td.actions-cell .actions-inline .action-btn.delete:hover,
.receivables-module table tbody td.actions-cell .actions-inline .btn.btn-outline-danger:hover,
.receivables-module table tbody td.actions-cell .actions-inline .btn.delete:hover,
.payables-module table tbody td.actions-cell .actions-inline .action-btn.btn-outline-danger:hover,
.payables-module table tbody td.actions-cell .actions-inline .action-btn.delete:hover,
.payables-module table tbody td.actions-cell .actions-inline .btn.btn-outline-danger:hover,
.payables-module table tbody td.actions-cell .actions-inline .btn.delete:hover {
  background-color: #dc3545;
  color: white;
}

/* line 483, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module table tbody td.actions-cell .actions-inline .action-btn.btn-outline-success, .receivables-module table tbody td.actions-cell .actions-inline .action-btn.payment,
.receivables-module table tbody td.actions-cell .actions-inline .btn.btn-outline-success,
.receivables-module table tbody td.actions-cell .actions-inline .btn.payment,
.payables-module table tbody td.actions-cell .actions-inline .action-btn.btn-outline-success,
.payables-module table tbody td.actions-cell .actions-inline .action-btn.payment,
.payables-module table tbody td.actions-cell .actions-inline .btn.btn-outline-success,
.payables-module table tbody td.actions-cell .actions-inline .btn.payment {
  color: #28a745;
  border-color: #28a745;
}

/* line 488, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module table tbody td.actions-cell .actions-inline .action-btn.btn-outline-success:hover, .receivables-module table tbody td.actions-cell .actions-inline .action-btn.payment:hover,
.receivables-module table tbody td.actions-cell .actions-inline .btn.btn-outline-success:hover,
.receivables-module table tbody td.actions-cell .actions-inline .btn.payment:hover,
.payables-module table tbody td.actions-cell .actions-inline .action-btn.btn-outline-success:hover,
.payables-module table tbody td.actions-cell .actions-inline .action-btn.payment:hover,
.payables-module table tbody td.actions-cell .actions-inline .btn.btn-outline-success:hover,
.payables-module table tbody td.actions-cell .actions-inline .btn.payment:hover {
  background-color: #28a745;
  color: white;
}

/* line 496, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module table tbody td.actions-cell .actions-inline .dropdown,
.payables-module table tbody td.actions-cell .actions-inline .dropdown {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
}

/* line 506, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .actions-cell:not(td),
.payables-module .actions-cell:not(td) {
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  flex-wrap: nowrap;
}

/* line 516, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .actions-cell:not(td) .action-btn,
.payables-module .actions-cell:not(td) .action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 4px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.2s ease;
  background: transparent;
  font-size: 0.875rem;
  text-decoration: none;
  flex-shrink: 0;
}

/* line 531, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .actions-cell:not(td) .action-btn.view,
.payables-module .actions-cell:not(td) .action-btn.view {
  color: #17a2b8;
  border-color: #17a2b8;
}

/* line 535, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .actions-cell:not(td) .action-btn.view:hover,
.payables-module .actions-cell:not(td) .action-btn.view:hover {
  background-color: #17a2b8;
  color: white;
}

/* line 541, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .actions-cell:not(td) .action-btn.edit,
.payables-module .actions-cell:not(td) .action-btn.edit {
  color: #ffc107;
  border-color: #ffc107;
}

/* line 545, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .actions-cell:not(td) .action-btn.edit:hover,
.payables-module .actions-cell:not(td) .action-btn.edit:hover {
  background-color: #ffc107;
  color: #212529;
}

/* line 551, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .actions-cell:not(td) .action-btn.payment,
.payables-module .actions-cell:not(td) .action-btn.payment {
  color: #28a745;
  border-color: #28a745;
}

/* line 555, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .actions-cell:not(td) .action-btn.payment:hover,
.payables-module .actions-cell:not(td) .action-btn.payment:hover {
  background-color: #28a745;
  color: white;
}

/* line 561, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .actions-cell:not(td) .action-btn.delete,
.payables-module .actions-cell:not(td) .action-btn.delete {
  color: #dc3545;
  border-color: #dc3545;
}

/* line 565, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .actions-cell:not(td) .action-btn.delete:hover,
.payables-module .actions-cell:not(td) .action-btn.delete:hover {
  background-color: #dc3545;
  color: white;
}

/* line 573, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .actions-cell:not(td) .dropdown,
.payables-module .actions-cell:not(td) .dropdown {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* line 581, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .card,
.payables-module .card {
  border: none;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  margin-bottom: 1.5rem;
}

/* line 587, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .card .card-header,
.payables-module .card .card-header {
  background: linear-gradient(135deg, #f8f9fc 0%, #eaecf4 100%);
  border-bottom: 1px solid #e3e6f0;
  padding: 1rem 1.5rem;
}

/* line 592, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .card .card-header .card-title,
.payables-module .card .card-header .card-title {
  color: #5a5c69;
  font-weight: 600;
  font-size: 1rem;
  margin: 0;
}

/* line 598, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .card .card-header .card-title i,
.payables-module .card .card-header .card-title i {
  margin-right: 0.5rem;
  color: #5a5c69;
}

/* line 605, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .card .card-body,
.payables-module .card .card-body {
  padding: 0.75rem;
}

/* line 611, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .form-section,
.payables-module .form-section {
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #e3e6f0;
}

/* line 616, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .form-section:last-child,
.payables-module .form-section:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

/* line 622, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .form-section .section-header,
.payables-module .form-section .section-header {
  padding-bottom: 0.25rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #e3e6f0;
}

/* line 627, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .form-section .section-header h6,
.payables-module .form-section .section-header h6 {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #5a5c69;
  margin: 0;
  line-height: 1.2;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 637, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .form-section .section-header h6 i,
.payables-module .form-section .section-header h6 i {
  font-size: 0.75rem;
  color: #007bff;
}

/* line 643, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .form-section .section-header small,
.payables-module .form-section .section-header small {
  display: none;
}

/* line 648, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .form-section .form-field,
.payables-module .form-section .form-field {
  margin-bottom: 0.25rem;
}

/* line 651, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .form-section .form-field label,
.payables-module .form-section .form-field label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #495057;
  margin-bottom: 0.15rem;
  line-height: 1.2;
}

/* line 658, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .form-section .form-field label .required,
.payables-module .form-section .form-field label .required {
  color: #dc3545;
  font-size: 0.7rem;
}

/* line 664, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .form-section .form-field .form-control,
.payables-module .form-section .form-field .form-control {
  font-size: 0.8125rem;
  padding: 0.3rem 0.5rem;
  border-color: #ced4da;
  line-height: 1.3;
}

/* line 670, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .form-section .form-field .form-control:focus,
.payables-module .form-section .form-field .form-control:focus {
  border-color: #007bff;
  box-shadow: 0 0 0 0.15rem rgba(0, 123, 255, 0.2);
}

/* line 676, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .form-section .form-field .form-text,
.payables-module .form-section .form-field .form-text {
  font-size: 0.7rem;
  color: #6c757d;
  margin-top: 0.1rem;
  line-height: 1.2;
}

/* line 683, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .form-section .form-field .invalid-feedback,
.payables-module .form-section .form-field .invalid-feedback {
  font-size: 0.7rem;
  margin-top: 0.1rem;
}

/* line 690, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .form-section .form-grid,
.payables-module .form-section .form-grid {
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}

/* line 694, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .form-section .form-grid.one-column,
.payables-module .form-section .form-grid.one-column {
  grid-template-columns: 1fr;
}

/* line 698, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .form-section .form-grid.two-columns,
.payables-module .form-section .form-grid.two-columns {
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
}

/* line 703, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .form-section .form-grid.three-columns,
.payables-module .form-section .form-grid.three-columns {
  grid-template-columns: repeat(3, 1fr);
}

/* line 707, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .form-section .form-grid.four-columns,
.payables-module .form-section .form-grid.four-columns {
  gap: 0.35rem;
}

/* line 711, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .form-section .form-grid .form-field,
.payables-module .form-section .form-grid .form-field {
  display: flex;
  flex-direction: column;
}

/* line 715, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .form-section .form-grid .form-field.span-2,
.payables-module .form-section .form-grid .form-field.span-2 {
  grid-column: span 2;
}

/* line 719, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .form-section .form-grid .form-field.span-3,
.payables-module .form-section .form-grid .form-field.span-3 {
  grid-column: span 3;
}

/* line 727, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .form-label-sm,
.payables-module .form-label-sm {
  font-size: 0.75rem;
  font-weight: 500;
  color: #495057;
  margin-bottom: 0.15rem;
}

/* line 735, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .form-control:disabled,
.receivables-module .form-control[disabled],
.payables-module .form-control:disabled,
.payables-module .form-control[disabled] {
  background-color: #f8f9fa;
  opacity: 1;
  cursor: not-allowed;
}

/* line 744, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .input-group-sm .input-group-text,
.payables-module .input-group-sm .input-group-text {
  font-size: 0.75rem;
  padding: 0.375rem 0.5rem;
}

/* line 749, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .input-group-sm .form-control,
.payables-module .input-group-sm .form-control {
  font-size: 0.875rem;
  padding: 0.375rem 0.5rem;
}

/* line 756, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .progress-payable,
.payables-module .progress-payable {
  height: 8px;
}

/* line 759, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .progress-payable .progress-bar,
.payables-module .progress-payable .progress-bar {
  width: var(--progress-percent, 0%);
}

/* line 765, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .progress-section,
.payables-module .progress-section {
  padding: 12px 16px;
  background: white;
  border-bottom: 1px solid #dee2e6;
}

/* line 771, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .progress-compact,
.payables-module .progress-compact {
  height: 8px;
}

/* line 776, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .payables-bulk-col,
.payables-module .payables-bulk-col {
  width: 2.5rem;
  vertical-align: middle;
  text-align: center;
}

/* line 783, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .form-text.form-text-extra-small,
.receivables-module .form-check-label.form-text-extra-small,
.payables-module .form-text.form-text-extra-small,
.payables-module .form-check-label.form-text-extra-small {
  font-size: 10px;
}

/* line 787, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .form-check-label.form-text-extra-small,
.payables-module .form-check-label.form-text-extra-small {
  font-size: 11px;
}

/* line 791, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module #preview-recurring-container .preview-due-date,
.payables-module #preview-recurring-container .preview-due-date {
  min-width: 140px;
}

/* line 794, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module #preview-recurring-container .preview-amount,
.payables-module #preview-recurring-container .preview-amount {
  min-width: 100px;
}

/* line 797, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module #preview-recurring-container .recurring-preview-table th.recurring-preview-col-month,
.payables-module #preview-recurring-container .recurring-preview-table th.recurring-preview-col-month {
  width: 60px;
}

/* line 800, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module #preview-recurring-container .recurring-preview-table th.recurring-preview-col-parcelas,
.payables-module #preview-recurring-container .recurring-preview-table th.recurring-preview-col-parcelas {
  width: 80px;
}

/* line 807, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .person-card-content.boletos-tab-active,
.receivables-module .person-card-content:has(#boletos.tab-pane.active),
.receivables-module .person-card-content.payments-tab-active,
.receivables-module .person-card-content:has(#pagamentos.tab-pane.active),
.payables-module .person-card-content.boletos-tab-active,
.payables-module .person-card-content:has(#boletos.tab-pane.active),
.payables-module .person-card-content.payments-tab-active,
.payables-module .person-card-content:has(#pagamentos.tab-pane.active) {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  min-height: unset;
}

/* line 816, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .payments-history-tab,
.payables-module .payments-history-tab {
  padding-top: 0;
}

/* line 819, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .payments-history-tab.active,
.payables-module .payments-history-tab.active {
  margin-top: -0.25rem;
}

/* line 823, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .payments-history-tab .payments-history-card,
.payables-module .payments-history-tab .payments-history-card {
  margin-top: 0;
  margin-bottom: 0;
  border: 1px solid #dee2e6;
}

/* line 829, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .payments-history-tab .card-header,
.payables-module .payments-history-tab .card-header {
  padding: 0.5rem 1rem;
  border-bottom: 1px solid #dee2e6;
  background: #f8f9fa;
}

/* line 835, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .payments-history-tab .card-body,
.payables-module .payments-history-tab .card-body {
  padding: 0 !important;
}

@media (max-width: 768px) {
  /* line 842, app/assets/stylesheets/components/accounts_payables.scss */
  .receivables-module .main-container,
.payables-module .main-container {
    padding: 1rem;
  }
  /* line 846, app/assets/stylesheets/components/accounts_payables.scss */
  .receivables-module .stats-row,
.payables-module .stats-row {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
    padding: 0.75rem;
  }
  /* line 853, app/assets/stylesheets/components/accounts_payables.scss */
  .receivables-module .filters-section .filters-row,
.payables-module .filters-section .filters-row {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  /* line 860, app/assets/stylesheets/components/accounts_payables.scss */
  .receivables-module .form-grid.two-columns, .receivables-module .form-grid.three-columns,
.payables-module .form-grid.two-columns,
.payables-module .form-grid.three-columns {
    grid-template-columns: 1fr;
  }
  /* line 866, app/assets/stylesheets/components/accounts_payables.scss */
  .receivables-module .form-grid .form-field.span-2, .receivables-module .form-grid .form-field.span-3,
.payables-module .form-grid .form-field.span-2,
.payables-module .form-grid .form-field.span-3 {
    grid-column: span 1;
  }
}

/* line 874, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-hero,
.payables-module .boleto-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid rgba(52, 152, 219, 0.14);
  border-radius: var(--border-radius-lg);
  background: linear-gradient(135deg, rgba(52, 152, 219, 0.08), rgba(243, 156, 18, 0.06));
}

/* line 885, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-hero-title,
.payables-module .boleto-hero-title {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

/* line 891, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-hero-title h6,
.payables-module .boleto-hero-title h6 {
  color: var(--gray-900);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
}

/* line 898, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-hero-title p,
.payables-module .boleto-hero-title p {
  color: var(--gray-600);
  font-size: 0.78rem;
  line-height: 1.45;
}

/* line 905, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-hero-icon,
.payables-module .boleto-hero-icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.95rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--erp-info);
  background: rgba(52, 152, 219, 0.14);
  font-size: 1.1rem;
  flex-shrink: 0;
}

/* line 918, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-status-badge,
.payables-module .boleto-status-badge {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  padding: 0.45rem 0.65rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  white-space: nowrap;
}

/* line 929, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-stat-grid,
.payables-module .boleto-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

/* line 935, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-upload-card,
.payables-module .boleto-upload-card {
  background: white;
  border: 1px solid rgba(243, 156, 18, 0.22);
  border-radius: var(--border-radius-lg);
  box-shadow: var(--erp-shadow-light);
  overflow: hidden;
}

/* line 943, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-upload-header,
.payables-module .boleto-upload-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--spacing-md);
  padding: 0.875rem 1rem;
  background: linear-gradient(135deg, rgba(243, 156, 18, 0.08), rgba(52, 152, 219, 0.05));
  border-bottom: 1px solid rgba(243, 156, 18, 0.14);
}

/* line 953, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-upload-title,
.payables-module .boleto-upload-title {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

/* line 958, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-upload-title h6,
.payables-module .boleto-upload-title h6 {
  color: var(--gray-900);
  font-size: 0.95rem;
  font-weight: 700;
}

/* line 964, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-upload-title p,
.payables-module .boleto-upload-title p {
  color: var(--gray-600);
  font-size: 0.75rem;
  line-height: 1.4;
}

/* line 971, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-upload-icon,
.payables-module .boleto-upload-icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(243, 156, 18, 0.12);
  color: var(--erp-warning);
  flex-shrink: 0;
}

/* line 983, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-upload-badges,
.payables-module .boleto-upload-badges {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 988, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-upload-badges .badge,
.payables-module .boleto-upload-badges .badge {
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.35rem 0.55rem;
  border-radius: 999px;
}

/* line 995, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-upload-badges .badge-light,
.payables-module .boleto-upload-badges .badge-light {
  background: rgba(44, 62, 80, 0.08);
  color: var(--erp-primary);
}

/* line 1001, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-upload-dropzone,
.payables-module .boleto-upload-dropzone {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 1008, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-upload-copy-row,
.payables-module .boleto-upload-copy-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

/* line 1015, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-upload-copy,
.payables-module .boleto-upload-copy {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 1020, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-upload-copy strong,
.payables-module .boleto-upload-copy strong {
  color: var(--gray-900);
  font-size: 0.8rem;
}

/* line 1025, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-upload-copy span,
.payables-module .boleto-upload-copy span {
  color: var(--gray-600);
  font-size: 0.75rem;
  line-height: 1.4;
}

/* line 1032, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-upload-input,
.payables-module .boleto-upload-input {
  width: 100%;
  display: block;
  height: auto;
  min-height: 2.6rem;
  padding: 0.35rem;
  border: 1px dashed rgba(243, 156, 18, 0.48);
  border-radius: var(--border-radius-md);
  background: rgba(255, 251, 244, 0.65);
  color: var(--gray-700);
  font-size: 0.78rem;
  line-height: 1.5;
  overflow: visible;
}

/* line 1046, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-upload-input::file-selector-button,
.payables-module .boleto-upload-input::file-selector-button {
  margin-right: 0.75rem;
  padding: 0.35rem 0.75rem;
  border: 1px solid rgba(243, 156, 18, 0.25);
  border-radius: var(--border-radius-base);
  background: rgba(243, 156, 18, 0.14);
  color: var(--gray-900);
  font-size: 0.75rem;
  line-height: 1.4;
  font-weight: 700;
  cursor: pointer;
}

/* line 1059, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-upload-input::-webkit-file-upload-button,
.payables-module .boleto-upload-input::-webkit-file-upload-button {
  margin-right: 0.75rem;
  padding: 0.35rem 0.75rem;
  border: 1px solid rgba(243, 156, 18, 0.25);
  border-radius: var(--border-radius-base);
  background: rgba(243, 156, 18, 0.14);
  color: var(--gray-900);
  font-size: 0.75rem;
  line-height: 1.4;
  font-weight: 700;
  cursor: pointer;
}

/* line 1073, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-upload-meta,
.payables-module .boleto-upload-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 1079, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-meta-pill,
.payables-module .boleto-meta-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.3rem 0.55rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--gray-700);
  background: var(--gray-100);
  border: 1px solid var(--gray-300);
}

/* line 1092, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-file-grid,
.payables-module .boleto-file-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
  padding: 0;
}

/* line 1099, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-file-card,
.payables-module .boleto-file-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.875rem;
  padding: 0.875rem;
  background: white;
  border: 1px solid var(--gray-300);
  border-radius: var(--border-radius-lg);
  box-shadow: var(--erp-shadow-light);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

/* line 1111, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-file-card:hover,
.payables-module .boleto-file-card:hover {
  border-color: rgba(52, 152, 219, 0.35);
  box-shadow: 0 0.35rem 0.9rem rgba(44, 62, 80, 0.08);
  transform: translateY(-1px);
}

/* line 1118, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-file-card-show,
.payables-module .boleto-file-card-show {
  min-height: 96px;
}

/* line 1122, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-file-main,
.payables-module .boleto-file-main {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: 1 1 auto;
}

/* line 1130, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-file-icon,
.payables-module .boleto-file-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1rem;
}

/* line 1140, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-file-icon.is-pdf,
.payables-module .boleto-file-icon.is-pdf {
  color: var(--erp-danger);
  background: rgba(231, 76, 60, 0.1);
}

/* line 1145, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-file-icon.is-image,
.payables-module .boleto-file-icon.is-image {
  color: var(--erp-info);
  background: rgba(52, 152, 219, 0.12);
}

/* line 1151, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-file-body,
.payables-module .boleto-file-body {
  min-width: 0;
  flex: 1 1 auto;
}

/* line 1156, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-file-title,
.payables-module .boleto-file-title {
  color: var(--gray-900);
  font-size: 0.84rem;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 1165, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-file-meta-text,
.payables-module .boleto-file-meta-text {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.25rem;
  color: var(--gray-600);
  font-size: 0.72rem;
}

/* line 1173, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-file-meta-text span::after,
.payables-module .boleto-file-meta-text span::after {
  content: '•';
  margin-left: 0.4rem;
  color: var(--gray-400);
}

/* line 1179, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-file-meta-text span:last-child::after,
.payables-module .boleto-file-meta-text span:last-child::after {
  content: none;
  margin-left: 0;
}

/* line 1185, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-file-actions,
.payables-module .boleto-file-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.4rem;
  flex-shrink: 0;
}

/* line 1192, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-file-actions .btn,
.payables-module .boleto-file-actions .btn {
  min-width: 2.25rem;
  border-radius: var(--border-radius-base);
  box-shadow: none;
  font-weight: 600;
}

/* line 1200, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-empty-state,
.payables-module .boleto-empty-state {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0 1rem 1rem;
  padding: 0.9rem 1rem;
  border: 1px dashed var(--gray-400);
  border-radius: var(--border-radius-lg);
  background: rgba(248, 249, 250, 0.75);
  color: var(--gray-700);
}

/* line 1211, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-empty-state i,
.payables-module .boleto-empty-state i {
  font-size: 1.2rem;
  color: var(--erp-info);
}

/* line 1216, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-empty-state strong,
.payables-module .boleto-empty-state strong {
  display: block;
  color: var(--gray-900);
  font-size: 0.8rem;
  margin-bottom: 0.15rem;
}

/* line 1223, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-empty-state span,
.payables-module .boleto-empty-state span {
  display: block;
  font-size: 0.74rem;
  color: var(--gray-600);
  line-height: 1.4;
}

/* line 1231, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-empty-state-lg,
.payables-module .boleto-empty-state-lg {
  padding: 1.35rem;
  margin: 0;
  background: white;
}

/* line 1237, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-stat-card,
.payables-module .boleto-stat-card {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--gray-300);
  border-radius: var(--border-radius-lg);
  background: white;
  box-shadow: var(--erp-shadow-light);
}

/* line 1249, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-stat-icon,
.payables-module .boleto-stat-icon {
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--erp-info);
  background: rgba(52, 152, 219, 0.1);
  flex-shrink: 0;
}

/* line 1261, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-stat-label,
.payables-module .boleto-stat-label {
  display: block;
  color: var(--gray-600);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.35rem;
}

/* line 1271, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-stat-value,
.payables-module .boleto-stat-value {
  display: block;
  color: var(--gray-900);
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.2;
}

/* line 1279, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-upload-submit,
.payables-module .boleto-upload-submit {
  min-width: 150px;
}

/* line 1283, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .boleto-tab-shell,
.payables-module .boleto-tab-shell {
  margin-top: 0;
  padding: 1rem;
  border: 1px solid var(--gray-300);
  border-radius: var(--border-radius-lg);
  background: #f8fafc;
  box-shadow: var(--erp-shadow-light);
}

/* line 1293, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .installment-cancelled td,
.payables-module .installment-cancelled td {
  color: var(--gray-600);
  text-decoration: line-through;
}

/* line 1298, app/assets/stylesheets/components/accounts_payables.scss */
.receivables-module .installment-cancelled .badge,
.receivables-module .installment-cancelled .text-muted,
.receivables-module .installment-cancelled .action-btn,
.payables-module .installment-cancelled .badge,
.payables-module .installment-cancelled .text-muted,
.payables-module .installment-cancelled .action-btn {
  text-decoration: none;
}

@media (max-width: 768px) {
  /* line 1306, app/assets/stylesheets/components/accounts_payables.scss */
  .receivables-module .boleto-hero,
.receivables-module .boleto-upload-header,
.receivables-module .boleto-upload-copy-row,
.receivables-module .boleto-file-card,
.payables-module .boleto-hero,
.payables-module .boleto-upload-header,
.payables-module .boleto-upload-copy-row,
.payables-module .boleto-file-card {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 1314, app/assets/stylesheets/components/accounts_payables.scss */
  .receivables-module .boleto-stat-grid,
.payables-module .boleto-stat-grid {
    grid-template-columns: 1fr;
  }
  /* line 1318, app/assets/stylesheets/components/accounts_payables.scss */
  .receivables-module .boleto-status-badge,
.receivables-module .boleto-upload-badges,
.receivables-module .boleto-upload-meta,
.receivables-module .boleto-file-actions,
.payables-module .boleto-status-badge,
.payables-module .boleto-upload-badges,
.payables-module .boleto-upload-meta,
.payables-module .boleto-file-actions {
    width: 100%;
    justify-content: flex-start;
  }
  /* line 1327, app/assets/stylesheets/components/accounts_payables.scss */
  .receivables-module .boleto-file-actions .btn,
.payables-module .boleto-file-actions .btn {
    flex: 1 1 auto;
  }
  /* line 1332, app/assets/stylesheets/components/accounts_payables.scss */
  .receivables-module .boleto-file-grid,
.payables-module .boleto-file-grid {
    grid-template-columns: 1fr;
  }
  /* line 1336, app/assets/stylesheets/components/accounts_payables.scss */
  .receivables-module .boleto-tab-shell,
.payables-module .boleto-tab-shell {
    padding: 0.75rem;
  }
}
/* line 26, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module table.data tbody tr.is-overdue > td {
  background: var(--erp-ui-critical-wash);
}

/* line 30, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module table.data tbody tr.is-overdue > td:first-child {
  box-shadow: inset 3px 0 0 var(--erp-ui-critical);
}

/* line 34, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module table.data tbody tr.is-overdue:hover > td {
  background: var(--erp-ui-critical-soft);
}

/* line 49, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module .erp-concilia {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 14px;
  margin-top: 10px;
  padding: 9px 12px;
  border-radius: 6px;
  font-size: 12.5px;
  background: var(--erp-ui-surface-2);
  border: 1px solid var(--erp-ui-hairline);
  color: var(--erp-ui-ink-2);
}

/* line 62, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module .erp-concilia .marca {
  font-weight: 700;
}

/* line 63, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module .erp-concilia .empurra {
  margin-left: auto;
}

/* line 65, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module .erp-concilia.ok {
  background: var(--erp-ui-good-wash);
  border-color: var(--erp-ui-good-soft);
  color: var(--erp-ui-good-text);
}

/* line 71, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module .erp-concilia.erro {
  background: var(--erp-ui-critical-wash);
  border-color: var(--erp-ui-critical-soft);
  color: var(--erp-ui-critical-text);
}

/* line 84, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module table.data.linhas-parcela col.col-numero {
  width: 92px;
}

/* line 85, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module table.data.linhas-parcela col.col-valor {
  width: 132px;
}

/* line 86, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module table.data.linhas-parcela col.col-vencimento {
  width: 150px;
}

/* line 93, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module table.data.linhas-rateio col.col-valor {
  width: 112px;
}

/* line 94, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module table.data.linhas-rateio col.col-percentual {
  width: 64px;
}

/* line 99, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module table.data.linhas-rateio .percentual-lido {
  display: block;
  text-align: right;
  font-variant-numeric: tabular-nums;
  color: var(--erp-ui-ink-2);
}

/* line 125, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module .rateio-eixos {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

/* line 132, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module .rateio-eixo {
  position: relative;
  min-width: 0;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  overflow: hidden;
  box-shadow: var(--erp-ui-shadow);
}

/* line 147, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module .rateio-eixo-filete {
  display: block;
  height: 3px;
}

/* line 152, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module .rateio-eixo-financial .rateio-eixo-filete {
  background: var(--erp-ui-accent);
}

/* line 153, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module .rateio-eixo-cost_center .rateio-eixo-filete {
  background: var(--erp-ui-accent-marker);
}

/* line 155, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module .rateio-eixo-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 14px;
  border-bottom: 1px solid var(--erp-ui-hairline);
  background: var(--erp-ui-surface-2);
}

/* line 164, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module .rateio-eixo-ico {
  flex: none;
  width: 28px;
  height: 28px;
  border-radius: 7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* line 174, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module .rateio-eixo-financial .rateio-eixo-ico {
  background: var(--erp-ui-accent-soft);
  color: var(--erp-ui-accent);
}

/* line 179, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module .rateio-eixo-cost_center .rateio-eixo-ico {
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-accent-soft);
  color: var(--erp-ui-accent-marker);
}

/* line 185, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module .rateio-eixo-titulo {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -0.005em;
}

/* line 194, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module .rateio-eixo-legenda {
  margin: 1px 0 0;
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
}

/* line 200, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module .rateio-eixo-corpo {
  padding: 12px 14px 14px;
}

/* line 204, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module .rateio-eixo-corpo table.data td,
.erp-ui.accounts-payables-module .rateio-eixo-corpo table.data th {
  padding-left: 8px;
  padding-right: 8px;
}

/* line 206, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module .rateio-eixo-corpo table.data th:first-child,
.erp-ui.accounts-payables-module .rateio-eixo-corpo table.data td:first-child {
  padding-left: 0;
}

/* line 208, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module .rateio-eixo-corpo table.data th:last-child,
.erp-ui.accounts-payables-module .rateio-eixo-corpo table.data td:last-child {
  padding-right: 0;
}

/* line 215, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module .encargo-unidade {
  color: var(--erp-ui-ink-3);
  font-weight: 400;
}

/* line 223, app/assets/stylesheets/components/accounts_payables_module.scss */
.erp-ui.accounts-payables-module .parcelas-acoes {
  margin-left: auto;
  align-self: center;
}

@media (max-width: 1000px) {
  /* line 230, app/assets/stylesheets/components/accounts_payables_module.scss */
  .erp-ui.accounts-payables-module .rateio-eixos {
    grid-template-columns: minmax(0, 1fr);
  }
}
@charset "UTF-8";
/* line 9, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .stats-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  padding: 1rem;
  background: #f8f9fc;
  border-bottom: 1px solid #e3e6f0;
}

/* line 17, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .stats-row.stats-row-show {
  padding: 16px;
  background: #f8f9fa;
  border-bottom: 1px solid #dee2e6;
}

/* line 23, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .stats-row .erp-stat-card {
  background: white;
  border-radius: 8px;
  padding: 1rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

/* line 30, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .stats-row .erp-stat-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transform: translateY(-2px);
}

/* line 35, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .stats-row .erp-stat-card .stat-icon {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: white;
  margin-bottom: 0.75rem;
}

/* line 46, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .stats-row .erp-stat-card .stat-icon.secondary {
  background: #6c757d;
}

/* line 47, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .stats-row .erp-stat-card .stat-icon.info {
  background: #17a2b8;
}

/* line 48, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .stats-row .erp-stat-card .stat-icon.success {
  background: #28a745;
}

/* line 49, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .stats-row .erp-stat-card .stat-icon.warning {
  background: #ffc107;
}

/* line 50, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .stats-row .erp-stat-card .stat-icon.danger {
  background: #dc3545;
}

/* line 54, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .stats-row .erp-stat-card .stat-content h3 {
  font-size: 1.75rem;
  font-weight: 700;
  margin: 0 0 0.25rem 0;
  color: #2c3e50;
}

/* line 61, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .stats-row .erp-stat-card .stat-content p {
  font-size: 0.875rem;
  color: #6c757d;
  margin: 0;
}

/* line 71, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .filters-section {
  padding: 1rem;
  background: white;
  border-bottom: 1px solid #e3e6f0;
  overflow: visible !important;
}

/* line 77, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .filters-section .filters-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem;
  align-items: end;
}

/* line 84, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .filters-section .filters-row .filter-group label {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  color: #495057;
  margin-bottom: 0.25rem;
}

/* line 92, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .filters-section .filters-row .filter-group .form-control {
  font-size: 0.875rem;
}

/* line 97, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .filters-section .filters-row .filter-actions {
  display: flex;
  gap: 0.5rem;
  align-items: end;
}

/* line 106, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .table-responsive {
  border-radius: 0;
  overflow: visible !important;
}

/* line 110, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .table-responsive .table {
  margin-bottom: 0;
}

/* line 113, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .table-responsive .table thead {
  background: #f8f9fc;
}

/* line 116, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .table-responsive .table thead th {
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #5a5c69;
  padding: 0.75rem;
  border-bottom: 2px solid #e3e6f0;
}

/* line 128, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .table-responsive .table tbody tr {
  transition: background-color 0.2s ease;
}

/* line 131, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .table-responsive .table tbody tr:hover {
  background-color: #f8f9fc;
}

/* line 135, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .table-responsive .table tbody tr.table-danger {
  background-color: #fff5f5;
}

/* line 138, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .table-responsive .table tbody tr.table-danger:hover {
  background-color: #ffe0e0;
}

/* line 144, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .table-responsive .table tbody td {
  padding: 0.75rem;
  vertical-align: middle;
  font-size: 0.875rem;
  line-height: 1.5;
}

/* line 151, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .table-responsive .table tbody td[class*="actions"] {
  vertical-align: middle !important;
}

/* line 160, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .actions-inline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  flex-wrap: nowrap;
  white-space: nowrap;
}

/* line 168, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .actions-inline .action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 4px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.2s ease;
  background: transparent;
  font-size: 0.75rem;
  text-decoration: none;
  flex-shrink: 0;
  position: relative;
  overflow: visible;
  padding: 0;
  line-height: 1;
}

/* line 188, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .actions-inline .action-btn > i {
  display: inline-block;
  line-height: 1;
  vertical-align: middle;
}

/* line 195, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .actions-inline .action-btn::before, .receivables-module .actions-inline .action-btn::after {
  display: none !important;
  content: none !important;
}

/* line 202, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .actions-inline .action-btn[title]::before, .receivables-module .actions-inline .action-btn[title]::after {
  display: none !important;
  content: none !important;
}

/* line 208, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .actions-inline .action-btn.view {
  color: #17a2b8;
  border-color: #17a2b8;
}

/* line 212, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .actions-inline .action-btn.view:hover {
  background-color: #17a2b8;
  color: white;
}

/* line 218, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .actions-inline .action-btn.edit {
  color: #ffc107;
  border-color: #ffc107;
}

/* line 222, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .actions-inline .action-btn.edit:hover {
  background-color: #ffc107;
  color: #212529;
}

/* line 228, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .actions-inline .action-btn.payment {
  color: #28a745;
  border-color: #28a745;
}

/* line 232, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .actions-inline .action-btn.payment:hover {
  background-color: #28a745;
  color: white;
}

/* line 238, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .actions-inline .action-btn.delete {
  color: #dc3545;
  border-color: #dc3545;
}

/* line 242, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .actions-inline .action-btn.delete:hover {
  background-color: #dc3545;
  color: white;
}

/* line 248, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .actions-inline .action-btn.disabled {
  color: #6c757d;
  border-color: #dee2e6;
  cursor: not-allowed;
  opacity: 0.6;
}

/* line 254, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .actions-inline .action-btn.disabled:hover {
  background-color: transparent;
  color: #6c757d;
  border-color: #dee2e6;
}

/* line 261, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .actions-inline .action-btn.reverse {
  color: #dc3545;
  border-color: #dc3545;
}

/* line 265, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .actions-inline .action-btn.reverse:hover {
  background-color: #dc3545;
  color: white;
  border-color: #dc3545;
}

/* line 275, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module table tbody td.actions-cell {
  vertical-align: middle !important;
  text-align: center;
  padding: 0.75rem !important;
  line-height: 1.5;
}

/* line 281, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module table tbody td.actions-cell .actions-inline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  flex-wrap: nowrap;
  white-space: nowrap;
  vertical-align: middle;
  line-height: 1;
}

/* line 294, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module table tbody td.actions-cell .action-btn {
  vertical-align: middle;
  margin: 0;
  position: relative;
  overflow: hidden;
  text-indent: -9999px;
  white-space: nowrap;
}

/* line 303, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module table tbody td.actions-cell .action-btn > i {
  position: absolute;
  text-indent: 0;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

/* line 312, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module table tbody td.actions-cell .action-btn::before, .receivables-module table tbody td.actions-cell .action-btn::after {
  display: none !important;
  content: none !important;
}

/* line 321, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .card {
  border: none;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  margin-bottom: 1.5rem;
}

/* line 327, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .card .card-header {
  background: linear-gradient(135deg, #f8f9fc 0%, #eaecf4 100%);
  border-bottom: 1px solid #e3e6f0;
  padding: 1rem 1.5rem;
}

/* line 332, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .card .card-header .card-title {
  color: #5a5c69;
  font-weight: 600;
  font-size: 1rem;
  margin: 0;
}

/* line 338, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .card .card-header .card-title i {
  margin-right: 0.5rem;
}

/* line 344, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .card .card-body {
  padding: 1.5rem;
}

/* line 348, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .card .card-body .table-borderless td {
  padding: 0.5rem 0;
  border: none;
}

/* line 357, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .card.bg-primary,
.receivables-module .card.bg-success,
.receivables-module .card.bg-warning,
.receivables-module .card.bg-danger,
.receivables-module .card.bg-info {
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* line 365, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .card.bg-primary .card-body,
.receivables-module .card.bg-success .card-body,
.receivables-module .card.bg-warning .card-body,
.receivables-module .card.bg-danger .card-body,
.receivables-module .card.bg-info .card-body {
  padding: 1.5rem;
}

/* line 368, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .card.bg-primary .card-body .card-title,
.receivables-module .card.bg-success .card-body .card-title,
.receivables-module .card.bg-warning .card-body .card-title,
.receivables-module .card.bg-danger .card-body .card-title,
.receivables-module .card.bg-info .card-body .card-title {
  font-size: 0.875rem;
  font-weight: 500;
  opacity: 0.9;
  margin-bottom: 0.5rem;
}

/* line 375, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .card.bg-primary .card-body h3,
.receivables-module .card.bg-success .card-body h3,
.receivables-module .card.bg-warning .card-body h3,
.receivables-module .card.bg-danger .card-body h3,
.receivables-module .card.bg-info .card-body h3 {
  font-size: 2rem;
  font-weight: 700;
  margin: 0;
}

/* line 381, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .card.bg-primary .card-body i,
.receivables-module .card.bg-success .card-body i,
.receivables-module .card.bg-warning .card-body i,
.receivables-module .card.bg-danger .card-body i,
.receivables-module .card.bg-info .card-body i {
  opacity: 0.3;
}

/* line 388, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .card {
  border: 1px solid #e3e6f0;
  border-radius: 6px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* line 393, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .card .card-body {
  padding: 0.75rem;
}

/* line 397, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .card .card-header {
  background: #f8f9fc;
  border-bottom: 1px solid #e3e6f0;
  padding: 0.5rem 1rem;
}

/* line 402, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .card .card-header h6 {
  font-size: 0.875rem;
  font-weight: 600;
  margin: 0;
  color: #5a5c69;
}

/* line 412, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .form-control:disabled,
.receivables-module .form-control[disabled] {
  background-color: #f8f9fc;
  border-color: #e3e6f0;
  color: #495057;
  cursor: not-allowed;
  opacity: 1;
}

/* line 420, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .form-control.text-warning:disabled,
.receivables-module .form-control.text-warning[disabled] {
  color: #856404 !important;
}

/* line 424, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .form-control.text-success:disabled,
.receivables-module .form-control.text-success[disabled] {
  color: #155724 !important;
}

/* line 428, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .form-control.text-info:disabled,
.receivables-module .form-control.text-info[disabled] {
  color: #0c5460 !important;
}

/* line 432, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .form-control.text-danger:disabled,
.receivables-module .form-control.text-danger[disabled] {
  color: #721c24 !important;
}

/* line 438, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module.renegotiations-form #renegotiation-preview {
  position: relative;
  transition: opacity 0.2s ease;
}

/* line 442, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module.renegotiations-form #renegotiation-preview.is-loading {
  opacity: 0.6;
}

/* line 446, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module.renegotiations-form #renegotiation-preview.is-loading::after {
  content: 'Calculando prévia...';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(255, 255, 255, 0.9);
  padding: 0.5rem 1rem;
  border-radius: 999px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #495057;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* line 462, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module.renegotiations-form .preview-summary {
  background: #f8f9fc;
  border-radius: 8px;
  padding: 0.75rem;
  border: 1px solid #e3e6f0;
  margin-bottom: 0.5rem;
}

/* line 472, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .form-label-sm {
  font-size: 0.75rem;
  font-weight: 500;
  color: #495057;
  margin-bottom: 0.2rem;
  line-height: 1.2;
}

/* line 481, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .form-section {
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #e3e6f0;
}

/* line 486, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .form-section:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

/* line 492, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .form-section .section-header {
  padding-bottom: 0.25rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #e3e6f0;
}

/* line 497, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .form-section .section-header h6 {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #5a5c69;
  margin: 0;
  line-height: 1.2;
}

/* line 504, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .form-section .section-header h6 i {
  margin-right: 0.4rem;
  font-size: 0.75rem;
  color: #007bff;
}

/* line 511, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .form-section .section-header small {
  display: none;
}

/* line 516, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .form-section .form-field {
  margin-bottom: 0.25rem;
}

/* line 519, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .form-section .form-field label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #495057;
  margin-bottom: 0.15rem;
  line-height: 1.2;
}

/* line 526, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .form-section .form-field label .required {
  color: #dc3545;
  font-size: 0.7rem;
}

/* line 532, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .form-section .form-field .form-control {
  font-size: 0.8125rem;
  padding: 0.3rem 0.5rem;
  border-color: #ced4da;
  line-height: 1.3;
}

/* line 538, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .form-section .form-field .form-control:focus {
  border-color: #007bff;
  box-shadow: 0 0 0 0.15rem rgba(0, 123, 255, 0.2);
}

/* line 544, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .form-section .form-field .form-text {
  font-size: 0.7rem;
  color: #6c757d;
  margin-top: 0.1rem;
  line-height: 1.2;
}

/* line 551, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .form-section .form-field .invalid-feedback {
  font-size: 0.7rem;
  margin-top: 0.1rem;
}

/* line 558, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .form-section .form-grid {
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}

/* line 562, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .form-section .form-grid.two-columns {
  gap: 0.5rem;
}

/* line 566, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .form-section .form-grid.four-columns {
  gap: 0.35rem;
}

/* line 573, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .badge {
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.35em 0.65em;
}

/* line 580, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .pagination {
  margin-bottom: 0;
}

/* line 583, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .pagination .page-link {
  font-size: 0.875rem;
  color: #007bff;
  border-color: #dee2e6;
}

/* line 588, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .pagination .page-link:hover {
  color: #0056b3;
  background-color: #e9ecef;
  border-color: #dee2e6;
}

/* line 595, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .pagination .page-item.active .page-link {
  background-color: #007bff;
  border-color: #007bff;
}

/* line 602, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .text-center.py-5 {
  padding: 3rem 1rem;
}

/* line 605, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .text-center.py-5 i {
  opacity: 0.3;
}

/* line 609, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .text-center.py-5 h5 {
  color: #6c757d;
  margin-top: 1rem;
}

/* line 614, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .text-center.py-5 p {
  color: #6c757d;
  margin-bottom: 1.5rem;
}

/* line 621, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .progress-section {
  padding: 12px 16px;
  background: white;
  border-bottom: 1px solid #dee2e6;
}

/* line 627, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .progress-compact {
  height: 8px;
}

/* line 632, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .table th.actions-column {
  width: 80px;
}

/* line 637, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .input-group-text-sm {
  font-size: 0.7rem;
}

/* line 642, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .footer-actions {
  position: relative;
  z-index: 1000;
}

/* line 646, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .footer-actions .dropdown {
  position: relative;
  z-index: 10000;
}

/* line 650, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .footer-actions .dropdown .dropdown-menu {
  z-index: 10001 !important;
  position: absolute !important;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
  min-width: 200px;
}

/* line 662, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .person-card-footer {
  overflow: visible !important;
  position: relative;
  z-index: 999;
}

/* line 669, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .person-card {
  overflow: visible !important;
  position: relative;
}

/* line 675, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .person-tabs-container,
.receivables-module .person-tabs-wrapper {
  overflow: visible !important;
}

@media (max-width: 768px) {
  /* line 682, app/assets/stylesheets/components/accounts_receivables.scss */
  .receivables-module .stats-row {
    grid-template-columns: 1fr;
  }
  /* line 686, app/assets/stylesheets/components/accounts_receivables.scss */
  .receivables-module .filters-row {
    grid-template-columns: 1fr !important;
  }
  /* line 690, app/assets/stylesheets/components/accounts_receivables.scss */
  .receivables-module .table-responsive {
    font-size: 0.8125rem;
  }
  /* line 695, app/assets/stylesheets/components/accounts_receivables.scss */
  .receivables-module .actions-cell .action-btn {
    width: 28px;
    height: 28px;
    font-size: 0.75rem;
  }
  /* line 703, app/assets/stylesheets/components/accounts_receivables.scss */
  .receivables-module .hide-mobile {
    display: none !important;
  }
}

@media (max-width: 1200px) and (min-width: 769px) {
  /* line 710, app/assets/stylesheets/components/accounts_receivables.scss */
  .receivables-module .table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  /* line 714, app/assets/stylesheets/components/accounts_receivables.scss */
  .receivables-module .table-responsive table {
    min-width: 1200px;
  }
}

/* line 722, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module [id^="recipients-section"] {
  transition: all 0.3s ease;
}

/* line 725, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .has-error[id^="recipients-section"] {
  border: 2px solid #dc3545 !important;
  border-radius: 4px;
  padding: 12px;
  background-color: #fff5f5;
}

/* line 734, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .email-history-item {
  border-bottom: 1px solid #dee2e6;
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
}

/* line 739, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .email-history-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

/* line 747, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module [id^="char-count"] {
  font-weight: 600;
}

/* line 750, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module .text-danger[id^="char-count"] {
  color: #dc3545 !important;
}

/* line 756, app/assets/stylesheets/components/accounts_receivables.scss */
.receivables-module #flash,
.receivables-module .flash-message,
.receivables-module .alert.position-fixed,
.receivables-module .toast,
.receivables-module .toast-container,
.receivables-module .position-fixed[role="alert"] {
  z-index: 10060 !important;
}

/* line 769, app/assets/stylesheets/components/accounts_receivables.scss */
.recipients-section-invalid {
  border: 1px solid var(--erp-ui-critical-text, #dc3545);
  border-radius: 8px;
  padding: 12px;
  background-color: var(--erp-ui-critical-soft, #fff5f5);
}
/* line 17, app/assets/stylesheets/components/accounts_receivables_module.scss */
.erp-ui.accounts-receivables-module .reneg-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

/* line 48, app/assets/stylesheets/components/accounts_receivables_module.scss */
.erp-ui.accounts-receivables-module .cadastro-parcelas-geradas {
  margin-top: 20px;
}

/* line 53, app/assets/stylesheets/components/accounts_receivables_module.scss */
.erp-ui.accounts-receivables-module .cadastro-secao .erp-bars {
  margin-top: 16px;
}

/* line 59, app/assets/stylesheets/components/accounts_receivables_module.scss */
.erp-ui.accounts-receivables-module .reneg-preview.is-loading {
  opacity: 0.55;
  pointer-events: none;
}

/* line 64, app/assets/stylesheets/components/accounts_receivables_module.scss */
.erp-ui.accounts-receivables-module .reneg-preview.preview-error {
  border-color: var(--erp-ui-critical);
}

@media (max-width: 1100px) {
  /* line 70, app/assets/stylesheets/components/accounts_receivables_module.scss */
  .erp-ui.accounts-receivables-module .reneg-split {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  /* line 76, app/assets/stylesheets/components/accounts_receivables_module.scss */
  .erp-ui.accounts-receivables-module .reneg-preview {
    transition: none;
  }
}
/* line 12, app/assets/stylesheets/components/activation_guide.scss */
.erp-ui .activation-guide .guide-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* line 21, app/assets/stylesheets/components/activation_guide.scss */
.erp-ui .activation-guide .guide-step {
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-surface);
}

/* line 26, app/assets/stylesheets/components/activation_guide.scss */
.erp-ui .activation-guide .guide-step[aria-current="step"] {
  border-color: var(--erp-ui-accent);
}

/* line 27, app/assets/stylesheets/components/activation_guide.scss */
.erp-ui .activation-guide .guide-step.is-failed {
  border-color: var(--erp-ui-critical);
}

/* line 28, app/assets/stylesheets/components/activation_guide.scss */
.erp-ui .activation-guide .guide-step.is-todo summary {
  color: var(--erp-ui-ink-3);
}

/* line 30, app/assets/stylesheets/components/activation_guide.scss */
.erp-ui .activation-guide .guide-step summary {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  cursor: pointer;
  list-style: none;
}

/* line 39, app/assets/stylesheets/components/activation_guide.scss */
.erp-ui .activation-guide .guide-step summary::-webkit-details-marker {
  display: none;
}

/* line 41, app/assets/stylesheets/components/activation_guide.scss */
.erp-ui .activation-guide .guide-step summary:focus-visible {
  outline: 2px solid var(--erp-ui-accent);
  outline-offset: -2px;
  border-radius: var(--erp-ui-radius);
}

/* line 49, app/assets/stylesheets/components/activation_guide.scss */
.erp-ui .activation-guide .guide-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid var(--erp-ui-hairline-strong);
  background: var(--erp-ui-surface-2);
  color: var(--erp-ui-ink-2);
  font-size: 13px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* line 63, app/assets/stylesheets/components/activation_guide.scss */
.is-done .erp-ui .activation-guide .guide-num {
  border-color: var(--erp-ui-good);
  background: var(--erp-ui-good-soft);
  color: var(--erp-ui-good-text);
}

/* line 69, app/assets/stylesheets/components/activation_guide.scss */
.guide-step[aria-current="step"] .erp-ui .activation-guide .guide-num {
  border-color: var(--erp-ui-accent);
  background: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
}

/* line 75, app/assets/stylesheets/components/activation_guide.scss */
.is-failed .erp-ui .activation-guide .guide-num {
  border-color: var(--erp-ui-critical);
  background: var(--erp-ui-critical-soft);
  color: var(--erp-ui-critical-text);
}

/* line 82, app/assets/stylesheets/components/activation_guide.scss */
.erp-ui .activation-guide .guide-title {
  display: flex;
  flex-direction: column;
  min-width: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--erp-ui-ink);
}

/* line 91, app/assets/stylesheets/components/activation_guide.scss */
.erp-ui .activation-guide .guide-where {
  font-size: 12px;
  font-weight: 400;
  color: var(--erp-ui-ink-3);
}

/* line 97, app/assets/stylesheets/components/activation_guide.scss */
.erp-ui .activation-guide .guide-body {
  padding: 0 14px 14px 54px;
  font-size: 13px;
  color: var(--erp-ui-ink-2);
}

/* line 102, app/assets/stylesheets/components/activation_guide.scss */
.erp-ui .activation-guide .guide-body p {
  margin: 0 0 8px;
}

/* line 103, app/assets/stylesheets/components/activation_guide.scss */
.erp-ui .activation-guide .guide-body > .acts {
  margin-top: 12px;
}

/* line 106, app/assets/stylesheets/components/activation_guide.scss */
.erp-ui .activation-guide .guide-list {
  margin: 0 0 8px;
  padding-left: 18px;
}

/* line 110, app/assets/stylesheets/components/activation_guide.scss */
.erp-ui .activation-guide .guide-list li {
  margin-bottom: 4px;
}

/* line 113, app/assets/stylesheets/components/activation_guide.scss */
.erp-ui .activation-guide .guide-problems-title {
  font-weight: 600;
  color: var(--erp-ui-ink);
}

/* line 118, app/assets/stylesheets/components/activation_guide.scss */
.erp-ui .activation-guide .guide-note {
  padding: 8px 10px;
  border-left: 3px solid var(--erp-ui-warning);
  background: var(--erp-ui-warning-soft);
  color: var(--erp-ui-ink);
}

/* line 125, app/assets/stylesheets/components/activation_guide.scss */
.erp-ui .activation-guide .guide-body > .acts {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

@media (max-width: 575.98px) {
  /* line 135, app/assets/stylesheets/components/activation_guide.scss */
  .erp-ui .activation-guide .guide-step summary {
    grid-template-columns: 28px minmax(0, 1fr);
  }
  /* line 138, app/assets/stylesheets/components/activation_guide.scss */
  .erp-ui .activation-guide .guide-step summary .pill {
    grid-column: 2;
    justify-self: start;
  }
  /* line 141, app/assets/stylesheets/components/activation_guide.scss */
  .erp-ui .activation-guide .guide-body {
    padding-left: 14px;
  }
}
/* line 34, app/assets/stylesheets/components/aging_module.scss */
.erp-ui.aging-module .erp-stack-seg + .erp-stack-seg {
  border-left: 2px solid var(--erp-ui-surface);
}

/* line 45, app/assets/stylesheets/components/aging_module.scss */
.erp-ui.aging-module .data td.num.good {
  color: var(--erp-ui-good-text);
}

/* line 46, app/assets/stylesheets/components/aging_module.scss */
.erp-ui.aging-module .data td.num.warning {
  color: var(--erp-ui-warning-text);
}

/* line 47, app/assets/stylesheets/components/aging_module.scss */
.erp-ui.aging-module .data td.num.critical {
  color: var(--erp-ui-critical-text);
}

/* line 50, app/assets/stylesheets/components/aging_module.scss */
.erp-ui.aging-module .data td.num.zero {
  color: var(--erp-ui-ink-3);
}

/* line 53, app/assets/stylesheets/components/aging_module.scss */
.erp-ui.aging-module .table-foot b.critical {
  color: var(--erp-ui-critical-text);
}
/* line 57, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-workspace {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-top: 14px;
}

/* line 64, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-aside {
  flex: 0 0 264px;
  max-width: 264px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* line 72, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-panel {
  flex: 1 1 auto;
}

/* line 79, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-aside-card {
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  padding: 13px 14px;
}

/* line 86, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-aside-title {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 9px;
  font-size: 13px;
  font-weight: 600;
  color: var(--erp-ui-ink);
}

/* line 95, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-aside-title .erp-icon {
  color: var(--erp-ui-ink-2);
}

/* line 100, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-aside-list {
  margin: 0;
  padding-left: 17px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--erp-ui-ink-2);
}

/* line 107, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-aside-list li + li {
  margin-top: 4px;
}

/* line 120, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-quick-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* line 137, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-quick {
  display: flex;
  align-items: center;
  gap: 7px;
  width: 100%;
  padding: 8px 11px;
  text-align: left;
  font-size: 12px;
  font-weight: 600;
  color: var(--erp-ui-accent);
  background: var(--erp-ui-accent-soft);
  border: 1px solid transparent;
  border-radius: 6px;
  cursor: pointer;
}

/* line 152, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-quick:hover {
  border-color: var(--erp-ui-accent);
}

/* line 160, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .thread-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

/* line 168, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-thread-meta {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* line 178, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-live {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  color: var(--erp-ui-ink-2);
}

/* line 186, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--erp-ui-ink-3);
}

/* line 193, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-live[data-state="ready"] .chat-live-dot {
  background: var(--erp-ui-good);
}

/* line 197, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-live[data-state="working"] .chat-live-dot {
  background: var(--erp-ui-warning);
}

/* line 201, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-live[data-state="error"] .chat-live-dot {
  background: var(--erp-ui-critical);
}

/* line 205, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-session-count {
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
  white-space: nowrap;
}

/* line 229, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .thread-window {
  background: var(--erp-ui-page);
}

/* line 239, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-msg.is-inbound {
  max-width: 92%;
}

/* line 247, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .msg {
  border-color: var(--erp-ui-hairline-strong);
  box-shadow: var(--erp-ui-shadow);
}

/* line 252, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-msg-who {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--erp-ui-ink-2);
}

/* line 263, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .msg.is-blocked {
  border-color: var(--erp-ui-warning);
  background: var(--erp-ui-warning-wash);
}

/* line 268, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-msg-error {
  border-color: var(--erp-ui-critical);
  background: var(--erp-ui-critical-wash);
}

/* line 272, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-msg-error .chat-msg-who .erp-icon {
  color: var(--erp-ui-critical);
}

/* line 286, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .msg-body p {
  margin: 0 0 8px;
}

/* line 290, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .msg-body p:last-child {
  margin-bottom: 0;
}

/* line 294, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .msg-body table {
  width: 100%;
  margin: 9px 0;
  border-collapse: collapse;
  font-size: 12px;
  display: block;
  overflow-x: auto;
}

/* line 305, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .msg-body th,
.erp-ui.ai-chat-module .msg-body td {
  padding: 5px 8px;
  border: 1px solid var(--erp-ui-hairline);
  text-align: left;
}

/* line 312, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .msg-body thead th {
  background: var(--erp-ui-surface-2);
  font-weight: 600;
  color: var(--erp-ui-ink);
  white-space: nowrap;
}

/* line 319, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .msg-body ul,
.erp-ui.ai-chat-module .msg-body ol {
  margin: 0 0 8px;
  padding-left: 19px;
}

/* line 325, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .msg-body a {
  color: var(--erp-ui-accent);
  text-decoration: underline;
}

/* line 330, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .msg-body pre {
  margin: 9px 0;
  padding: 9px 11px;
  background: var(--erp-ui-surface-2);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 6px;
  overflow-x: auto;
  font-size: 11.5px;
}

/* line 340, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .msg-body code {
  font-size: 11.5px;
}

/* line 344, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .msg-body h1,
.erp-ui.ai-chat-module .msg-body h2,
.erp-ui.ai-chat-module .msg-body h3,
.erp-ui.ai-chat-module .msg-body h4,
.erp-ui.ai-chat-module .msg-body h5,
.erp-ui.ai-chat-module .msg-body h6 {
  margin: 11px 0 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--erp-ui-ink);
}

/* line 368, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-guardrail {
  margin: 9px 0;
  padding: 9px 11px;
  background: var(--erp-ui-surface-2);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 6px;
  font-size: 12px;
  color: var(--erp-ui-ink-2);
}

/* line 378, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-guardrail-title {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 5px;
  font-weight: 600;
  color: var(--erp-ui-ink);
}

/* line 393, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 600;
  border: 1px solid var(--erp-ui-hairline);
  background: var(--erp-ui-surface-2);
  color: var(--erp-ui-ink-2);
  white-space: nowrap;
}

/* line 407, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-badge.is-warning {
  border-color: var(--erp-ui-warning);
  background: var(--erp-ui-warning-soft);
  color: var(--erp-ui-warning-text);
}

/* line 413, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-badge.is-success {
  border-color: var(--erp-ui-good);
  background: var(--erp-ui-good-soft);
  color: var(--erp-ui-good-text);
}

/* line 422, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .msg.is-loading {
  color: var(--erp-ui-ink-2);
}

/* line 426, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-loader-text {
  font-size: 12px;
}

/* line 430, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-typing {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin-left: 6px;
}

/* line 437, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-typing-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--erp-ui-ink-3);
  animation: erp-ui-chat-typing 1.2s infinite ease-in-out;
}

/* line 445, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-typing-dot:nth-child(2) {
  animation-delay: 0.15s;
}

/* line 449, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-typing-dot:nth-child(3) {
  animation-delay: 0.3s;
}

/* line 456, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 11px;
}

/* line 463, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-suggestion {
  padding: 4px 10px;
  font-size: 11.5px;
  color: var(--erp-ui-accent);
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 999px;
  cursor: pointer;
  text-align: left;
}

/* line 473, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-suggestion:hover {
  background: var(--erp-ui-accent-soft);
}

/* line 481, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-feedback {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 11px;
  padding-top: 9px;
  border-top: 1px solid var(--erp-ui-hairline);
}

/* line 491, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-feedback-label {
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
}

/* line 496, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-feedback-btn.is-active {
  background: var(--erp-ui-accent-soft);
  border-color: var(--erp-ui-hairline-strong);
}

/* line 501, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-feedback-comment {
  margin-top: 8px;
}

/* line 505, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-feedback-input {
  width: 100%;
  padding: 6px 9px;
  font-size: 12px;
  color: var(--erp-ui-ink);
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 6px;
  resize: vertical;
}

/* line 518, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-feedback-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
}

/* line 528, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-tech {
  margin-top: 11px;
}

/* line 532, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-tech-summary {
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
  cursor: pointer;
}

/* line 538, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-tech-body {
  margin-top: 6px;
  font-size: 11.5px;
  line-height: 1.5;
  color: var(--erp-ui-ink-3);
}

/* line 548, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-composer {
  padding: 13px 16px;
  border-top: 1px solid var(--erp-ui-hairline);
}

/* line 560, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-input-wrap {
  display: flex;
  align-items: flex-end;
  gap: 9px;
  padding: 9px 11px;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: var(--erp-ui-radius);
  transition: border-color .12s, box-shadow .12s;
}

/* line 570, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-input-wrap.is-focused {
  border-color: var(--erp-ui-accent);
  box-shadow: 0 0 0 3px var(--erp-ui-accent-soft);
}

/* line 576, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-input {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 42px;
  max-height: 132px;
  padding: 4px 2px;
  font-size: 13px;
  color: var(--erp-ui-ink);
  background: transparent;
  border: 0;
  resize: none;
  overflow-y: auto;
}

/* line 595, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-input:focus {
  outline: none;
}

/* line 599, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-input::placeholder {
  color: var(--erp-ui-ink-3);
}

/* line 604, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-composer-actions {
  display: flex;
  align-items: center;
  gap: 7px;
  flex: 0 0 auto;
}

/* line 613, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-mic.is-recording {
  border-color: var(--erp-ui-critical);
  color: var(--erp-ui-critical-text);
}

/* line 618, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-composer-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 7px;
}

/* line 627, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-composer-meta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

/* line 633, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-recording {
  font-size: 11.5px;
  color: var(--erp-ui-critical-text);
}

/* line 638, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-char-count {
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
  white-space: nowrap;
}

/* line 644, app/assets/stylesheets/components/ai_chat_module.scss */
.erp-ui.ai-chat-module .chat-disclaimer {
  margin: 9px 0 0;
  text-align: center;
}

@media (max-width: 900px) {
  /* line 658, app/assets/stylesheets/components/ai_chat_module.scss */
  .erp-ui.ai-chat-module .chat-workspace {
    flex-direction: column;
  }
  /* line 662, app/assets/stylesheets/components/ai_chat_module.scss */
  .erp-ui.ai-chat-module .chat-aside {
    flex: 1 1 auto;
    max-width: none;
    width: 100%;
  }
  /* line 668, app/assets/stylesheets/components/ai_chat_module.scss */
  .erp-ui.ai-chat-module .chat-quick-list {
    flex-direction: row;
    flex-wrap: wrap;
  }
  /* line 673, app/assets/stylesheets/components/ai_chat_module.scss */
  .erp-ui.ai-chat-module .chat-quick {
    width: auto;
  }
  /* line 677, app/assets/stylesheets/components/ai_chat_module.scss */
  .erp-ui.ai-chat-module .chat-msg.is-inbound,
.erp-ui.ai-chat-module .msg {
    max-width: 100%;
  }
}

@keyframes erp-ui-chat-typing {
  0%,
60%,
100% {
    opacity: 0.25;
  }
  30% {
    opacity: 1;
  }
}
/* line 15, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .tab-panel > .card.filters {
  border: 0;
  border-bottom: 1px solid var(--erp-ui-hairline);
  border-radius: 0;
  box-shadow: none;
  margin-bottom: 0;
}

/* line 23, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-aviso {
  padding: 14px 16px 0;
}

/* line 27, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-nota {
  margin: 0;
  padding: 10px 16px;
  border-top: 1px solid var(--erp-ui-hairline);
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 36, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-erro {
  color: var(--erp-ui-critical-text);
  max-width: 32ch;
  margin-top: 3px;
}

/* line 42, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-reprocessar {
  margin-top: 6px;
}

/* line 48, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 14px;
  align-items: start;
}

@media (max-width: 1080px) {
  /* line 48, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
  .erp-ui.ai-knowledge-bases-module .ai-kb-form {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* line 59, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-publicos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

@media (max-width: 640px) {
  /* line 59, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
  .erp-ui.ai-knowledge-bases-module .ai-kb-publicos {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* line 69, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-publico {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 2px 8px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-surface);
  cursor: pointer;
  font-weight: 400;
}

/* line 82, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-publico input {
  grid-row: span 3;
  margin-top: 3px;
}

/* line 88, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-publico input:checked ~ .ai-kb-publico-nome::after {
  content: "";
  position: absolute;
  inset: -1px;
  border: 2px solid var(--erp-ui-accent);
  border-radius: var(--erp-ui-radius);
  pointer-events: none;
}

/* line 97, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-publico input:focus-visible ~ .ai-kb-publico-nome::after {
  box-shadow: 0 0 0 3px var(--erp-ui-accent-soft);
}

/* line 102, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-publico-nome {
  font-size: 13px;
  font-weight: 600;
  color: var(--erp-ui-ink);
}

/* line 108, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-publico-quem {
  font-size: 11.5px;
  font-weight: 600;
}

/* line 112, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-publico-quem.clientes {
  color: var(--erp-ui-warning-text);
}

/* line 113, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-publico-quem.equipe {
  color: var(--erp-ui-ink-3);
}

/* line 116, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-publico-dica {
  font-size: 12px;
  color: var(--erp-ui-ink-2);
}

/* line 121, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .field.invalid .ai-kb-publico {
  border-color: var(--erp-ui-critical);
}

/* line 125, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-texto-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 8px;
}

/* line 133, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module textarea.ai-kb-texto {
  min-height: 260px;
  resize: vertical;
  line-height: 1.55;
}

/* line 139, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-medidor {
  font-variant-numeric: tabular-nums;
}

/* line 143, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module [data-ai-knowledge-base-form-target="audienceWarning"] {
  margin-top: 10px;
}

/* line 148, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .pill {
  white-space: nowrap;
}

/* line 152, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-comparacao .hint {
  font-size: 12px;
  margin: 10px 0 0;
}

/* line 157, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-dicas {
  padding: 14px 16px;
  display: grid;
  gap: 8px;
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
}

/* line 164, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-dicas h3 {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--erp-ui-ink-3);
}

/* line 173, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-dicas ul {
  margin: 0 0 6px;
  padding-left: 16px;
  display: grid;
  gap: 4px;
}

/* line 188, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module dialog.ai-kb-comparacao {
  width: 920px;
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - 64px);
  padding: 0;
  margin: 32px auto auto;
  color: var(--erp-ui-ink);
}

/* line 196, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module dialog.ai-kb-comparacao:not([open]) {
  display: none;
}

/* line 198, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module dialog.ai-kb-comparacao::backdrop {
  background: rgba(26, 32, 40, 0.42);
}

/* line 200, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module dialog.ai-kb-comparacao .erp-modal-body {
  max-height: none;
  flex: 1 1 auto;
}

/* line 203, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-lado-a-lado {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

@media (max-width: 768px) {
  /* line 203, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
  .erp-ui.ai-knowledge-bases-module .ai-kb-lado-a-lado {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* line 213, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-lado-a-lado h4 {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--erp-ui-ink-3);
}

/* line 226, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-versao {
  margin: 0;
  padding: 10px 12px;
  max-height: 300px;
  overflow: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font: inherit;
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--erp-ui-ink);
  background: var(--erp-ui-surface-2);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
}

/* line 242, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module mark.ai-kb-novo {
  padding: 0 1px;
  color: var(--erp-ui-warning-text);
  background: var(--erp-ui-warning-soft);
  border-bottom: 2px solid var(--erp-ui-warning);
}

/* line 251, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-ficha {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 14px;
  align-items: start;
}

@media (max-width: 1080px) {
  /* line 251, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
  .erp-ui.ai-knowledge-bases-module .ai-kb-ficha {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* line 262, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-card-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  padding: 11px 16px;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 271, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-card-head h2 {
  margin: 0;
  font-size: 13.5px;
  font-weight: 700;
}

/* line 277, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-card-head .hint {
  font-size: 12px;
}

/* line 281, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-conteudo {
  padding: 16px 18px;
  max-width: 80ch;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 13.5px;
  line-height: 1.65;
  color: var(--erp-ui-ink);
}

/* line 292, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-meta > div {
  display: grid;
  gap: 4px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--erp-ui-hairline);
  font-size: 13px;
}

/* line 299, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-meta > div:last-child {
  border-bottom: 0;
}

/* line 302, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-meta .k {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--erp-ui-ink-3);
}

/* line 310, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-meta .sub {
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 316, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-usos {
  margin: 4px 0 0;
  padding-left: 16px;
  display: grid;
  gap: 3px;
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
}

/* line 324, app/assets/stylesheets/components/ai_knowledge_bases_module.scss */
.erp-ui.ai-knowledge-bases-module .ai-kb-usos .nao {
  color: var(--erp-ui-ink-3);
}
@charset "UTF-8";
/* line 29, app/assets/stylesheets/components/alerts.scss */
.alert-severity-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  flex-shrink: 0;
}

/* line 39, app/assets/stylesheets/components/alerts.scss */
.alert-severity-icon.alert-severity-critical {
  background: rgba(229, 115, 115, 0.1);
  color: #e57373;
}

/* line 43, app/assets/stylesheets/components/alerts.scss */
.alert-severity-icon.alert-severity-warning {
  background: rgba(255, 183, 77, 0.12);
  color: #875800;
}

/* line 47, app/assets/stylesheets/components/alerts.scss */
.alert-severity-icon.alert-severity-info {
  background: rgba(100, 181, 246, 0.1);
  color: #1565c0;
}

/* line 59, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alerts-toolbar {
  border: 1px solid #e8eaed !important;
  border-radius: 8px !important;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

/* line 65, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alerts-toolbar__header {
  min-height: 46px;
  background: #ffffff;
  gap: 0.5rem;
}

/* line 71, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alerts-toolbar__filters {
  background: #f8fafc;
  gap: 0.375rem;
  border-top: 1px solid #e8eaed;
  flex-wrap: wrap;
  align-items: center;
}

/* line 78, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alerts-toolbar__filters .form-control {
  border-color: #e8eaed;
  background: #ffffff;
  color: #1f2937;
  border-radius: 5px;
  font-size: 0.8rem;
  height: calc(1.5em + 0.5rem + 2px);
  box-shadow: none;
}

/* line 87, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alerts-toolbar__filters .form-control:focus {
  border-color: #93c5fd;
  box-shadow: 0 0 0 3px rgba(147, 197, 253, 0.25);
}

/* line 93, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alerts-toolbar__filters .custom-control-label {
  font-size: 0.8rem;
  color: #6b7280;
  line-height: 1.6;
}

/* line 99, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alerts-toolbar__filters .btn {
  border-radius: 5px;
  font-size: 0.8rem;
}

/* line 107, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alerts-stats-pills {
  gap: 5px;
  flex-wrap: wrap;
}

/* line 111, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alerts-stats-pills .fa-stat-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 11px;
  border-radius: 20px;
  border: 1px solid #e8eaed;
  font-size: 0.78rem;
  font-weight: 600;
  color: #6b7280;
  background: #ffffff;
  text-decoration: none;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  white-space: nowrap;
  line-height: 1.6;
}

/* line 127, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alerts-stats-pills .fa-stat-pill i {
  font-size: 0.7rem;
}

/* line 129, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alerts-stats-pills .fa-stat-pill:hover {
  text-decoration: none;
  background: #f8fafc;
  border-color: #c9cdd2;
  color: #1f2937;
}

/* line 131, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alerts-stats-pills .fa-stat-pill.is-active {
  background: #e5edff;
  border-color: #93c5fd;
  color: #1d4ed8;
}

/* line 137, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alerts-stats-pills .fa-stat-pill--danger {
  color: #c0392b;
  border-color: rgba(229, 115, 115, 0.4);
}

/* line 140, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alerts-stats-pills .fa-stat-pill--danger.is-active, .financial-alerts-page .financial-alerts-stats-pills .fa-stat-pill--danger:hover {
  background: rgba(229, 115, 115, 0.1);
  border-color: #e57373;
  color: #c0392b;
}

/* line 143, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alerts-stats-pills .fa-stat-pill--warning {
  color: #875800;
  border-color: rgba(255, 183, 77, 0.5);
}

/* line 146, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alerts-stats-pills .fa-stat-pill--warning.is-active, .financial-alerts-page .financial-alerts-stats-pills .fa-stat-pill--warning:hover {
  background: rgba(255, 183, 77, 0.12);
  border-color: #ffb74d;
  color: #875800;
}

/* line 149, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alerts-stats-pills .fa-stat-pill--info {
  color: #1565c0;
  border-color: rgba(100, 181, 246, 0.4);
  cursor: default;
}

/* line 158, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alerts-list-card {
  border: 1px solid #e8eaed !important;
  border-radius: 8px !important;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

/* line 164, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alerts-list-card .erp-card-header {
  background: #ffffff;
  border-bottom: 1px solid #e8eaed;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

/* line 173, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alert-row {
  border: none;
  border-bottom: 1px solid #e8eaed;
  border-left: 3px solid #e8eaed;
  padding: 0.65rem 1rem;
  background: #ffffff;
  transition: background 0.12s ease;
}

/* line 181, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alert-row:last-child {
  border-bottom: none;
}

/* line 183, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alert-row--critical {
  border-left-color: #e57373;
}

/* line 185, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alert-row--critical.financial-alert-row--unread {
  background: rgba(254, 248, 248, 0.55);
}

/* line 187, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alert-row--warning {
  border-left-color: #ffb74d;
}

/* line 189, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alert-row--warning.financial-alert-row--unread {
  background: rgba(255, 251, 244, 0.56);
}

/* line 191, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alert-row--info {
  border-left-color: #64b5f6;
}

/* line 193, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alert-row--info.financial-alert-row--unread {
  background: rgba(247, 251, 255, 0.55);
}

/* line 196, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alert-row--unread:not([class*="--critical"]):not([class*="--warning"]):not([class*="--info"]) {
  background: rgba(66, 133, 244, 0.03);
}

/* line 200, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alert-row:hover {
  background: #f8fafc;
}

/* line 202, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alert-row__body {
  min-width: 0;
}

/* line 204, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alert-row__title {
  font-size: 0.875rem;
}

/* line 206, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alert-row__title a {
  color: #1f2937;
  text-decoration: none;
}

/* line 209, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alert-row__title a:hover {
  color: #2563eb;
  text-decoration: none;
}

/* line 213, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alert-row__message {
  font-size: 0.78rem;
  color: #6b7280;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4;
}

/* line 223, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alert-row__actions .btn-group {
  flex-wrap: nowrap;
}

/* line 225, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alert-row__actions .btn {
  font-size: 0.75rem;
  padding: 0.2rem 0.45rem;
  border-color: #e8eaed;
  color: #6b7280;
  background: #ffffff;
}

/* line 232, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alert-row__actions .btn:hover {
  background: #f8fafc;
  color: #1f2937;
}

/* line 241, app/assets/stylesheets/components/alerts.scss */
.financial-alerts-page .financial-alerts-empty {
  color: #6b7280;
}

/* line 251, app/assets/stylesheets/components/alerts.scss */
.financial-alert-detail-page .financial-alert-detail-card {
  border: 1px solid #e8eaed !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
  overflow: hidden;
}

/* line 257, app/assets/stylesheets/components/alerts.scss */
.financial-alert-detail-page .financial-alert-detail-card--critical {
  border-left: 4px solid #e57373 !important;
}

/* line 258, app/assets/stylesheets/components/alerts.scss */
.financial-alert-detail-page .financial-alert-detail-card--warning {
  border-left: 4px solid #ffb74d !important;
}

/* line 259, app/assets/stylesheets/components/alerts.scss */
.financial-alert-detail-page .financial-alert-detail-card--info {
  border-left: 4px solid #64b5f6 !important;
}

/* line 261, app/assets/stylesheets/components/alerts.scss */
.financial-alert-detail-page .financial-alert-detail-card .erp-card-header {
  background: #ffffff;
  border-bottom: 1px solid #e8eaed;
}

/* line 266, app/assets/stylesheets/components/alerts.scss */
.financial-alert-detail-page .financial-alert-detail-card .erp-card-footer {
  background: #f8fafc;
  border-top: 1px solid #e8eaed;
}

/* line 272, app/assets/stylesheets/components/alerts.scss */
.financial-alert-detail-page .alert-detail-message-block {
  background: #f8fafc;
  border: 1px solid #e8eaed;
  border-radius: 5px;
  padding: 0.875rem 1rem;
  font-size: 0.875rem;
  white-space: pre-wrap;
  color: #1f2937;
  line-height: 1.6;
}

/* line 283, app/assets/stylesheets/components/alerts.scss */
.financial-alert-detail-page .alert-detail-recommended {
  background: rgba(255, 183, 77, 0.07);
  border: 1px solid rgba(255, 183, 77, 0.3);
  border-radius: 5px;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
}

/* line 291, app/assets/stylesheets/components/alerts.scss */
.financial-alert-detail-page .alert-detail-meta-label {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #6b7280;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

/* line 300, app/assets/stylesheets/components/alerts.scss */
.financial-alert-detail-page .alert-detail-dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.15rem 1rem;
  font-size: 0.82rem;
}

/* line 306, app/assets/stylesheets/components/alerts.scss */
.financial-alert-detail-page .alert-detail-dl dt {
  color: #6b7280;
  font-weight: 500;
  white-space: nowrap;
  padding: 0.2rem 0;
}

/* line 312, app/assets/stylesheets/components/alerts.scss */
.financial-alert-detail-page .alert-detail-dl dd {
  color: #1f2937;
  margin-bottom: 0;
  padding: 0.2rem 0;
  border-bottom: 1px solid #e8eaed;
}

/* line 318, app/assets/stylesheets/components/alerts.scss */
.financial-alert-detail-page .alert-detail-dl dt:last-of-type + dd {
  border-bottom: none;
}

/* line 321, app/assets/stylesheets/components/alerts.scss */
.financial-alert-detail-page .financial-alert-metadata-details {
  border: 1px solid #e8eaed;
  border-radius: 5px;
  overflow: hidden;
  font-size: 0.82rem;
}

/* line 327, app/assets/stylesheets/components/alerts.scss */
.financial-alert-detail-page .financial-alert-metadata-details summary {
  cursor: pointer;
  list-style: none;
  background: #f8fafc;
  padding: 0.5rem 0.875rem;
  user-select: none;
  color: #6b7280;
  font-weight: 600;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* line 339, app/assets/stylesheets/components/alerts.scss */
.financial-alert-detail-page .financial-alert-metadata-details summary::-webkit-details-marker {
  display: none;
}

/* line 340, app/assets/stylesheets/components/alerts.scss */
.financial-alert-detail-page .financial-alert-metadata-details summary::before {
  content: '▸';
  display: inline-block;
  margin-right: 0.3rem;
  font-size: 0.7rem;
  transition: transform 0.2s ease;
}

/* line 349, app/assets/stylesheets/components/alerts.scss */
.financial-alert-detail-page .financial-alert-metadata-details[open] summary::before {
  transform: rotate(90deg);
}

/* line 353, app/assets/stylesheets/components/alerts.scss */
.financial-alert-detail-page .financial-alert-sidebar-card {
  border: 1px solid #e8eaed !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  overflow: hidden;
}

/* line 359, app/assets/stylesheets/components/alerts.scss */
.financial-alert-detail-page .financial-alert-sidebar-card .erp-card-header {
  background: #f8fafc;
  border-bottom: 1px solid #e8eaed;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

/* line 367, app/assets/stylesheets/components/alerts.scss */
.financial-alert-detail-page .financial-alert-quick-links .list-group-item {
  border-left: none;
  border-right: none;
  border-color: #e8eaed;
  font-size: 0.84rem;
  padding: 0.5rem 1rem;
  color: #1f2937;
  background: #ffffff;
}

/* line 376, app/assets/stylesheets/components/alerts.scss */
.financial-alert-detail-page .financial-alert-quick-links .list-group-item:first-child {
  border-top: none;
}

/* line 377, app/assets/stylesheets/components/alerts.scss */
.financial-alert-detail-page .financial-alert-quick-links .list-group-item:hover {
  background: #f8fafc;
  color: #2563eb;
}

/* line 379, app/assets/stylesheets/components/alerts.scss */
.financial-alert-detail-page .financial-alert-quick-links .list-group-item i {
  width: 1.1rem;
  text-align: center;
}

/* line 386, app/assets/stylesheets/components/alerts.scss */
.alert-widget-item {
  border-left: 3px solid transparent;
  transition: background 0.15s ease;
}

/* line 390, app/assets/stylesheets/components/alerts.scss */
.alert-widget-item[data-severity="critical"] {
  border-left-color: #e57373;
}

/* line 392, app/assets/stylesheets/components/alerts.scss */
.alert-widget-item[data-severity="critical"]:hover {
  background: rgba(229, 115, 115, 0.1);
}

/* line 394, app/assets/stylesheets/components/alerts.scss */
.alert-widget-item[data-severity="warning"] {
  border-left-color: #ffb74d;
}

/* line 396, app/assets/stylesheets/components/alerts.scss */
.alert-widget-item[data-severity="warning"]:hover {
  background: rgba(255, 183, 77, 0.12);
}

/* line 398, app/assets/stylesheets/components/alerts.scss */
.alert-widget-item[data-severity="info"] {
  border-left-color: #64b5f6;
}

/* line 400, app/assets/stylesheets/components/alerts.scss */
.alert-widget-item[data-severity="info"]:hover {
  background: rgba(100, 181, 246, 0.1);
}

/* line 408, app/assets/stylesheets/components/alerts.scss */
.alerts-module .alert-unread {
  background-color: rgba(255, 193, 7, 0.05);
  border-left: 3px solid #ffc107;
}

/* line 413, app/assets/stylesheets/components/alerts.scss */
.alerts-module .list-group-item {
  border-left: none;
  border-right: none;
  padding: 0.875rem 1rem;
}

/* line 417, app/assets/stylesheets/components/alerts.scss */
.alerts-module .list-group-item:first-child {
  border-top: none;
}

/* line 418, app/assets/stylesheets/components/alerts.scss */
.alerts-module .list-group-item:last-child {
  border-bottom: none;
}

/* line 419, app/assets/stylesheets/components/alerts.scss */
.alerts-module .list-group-item:hover {
  background-color: #f8fafc;
}
/* line 58, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .period-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

/* line 76, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .segmented {
  display: flex;
  gap: 2px;
  padding: 3px;
  background: var(--erp-ui-surface-2);
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 6px;
  overflow-x: auto;
}

/* line 87, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .seg-btn {
  height: 34px;
  padding: 0 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  white-space: nowrap;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--erp-ui-ink-2);
  font-size: 13.5px;
  font-weight: 600;
  transition: background .12s, color .12s, border-color .12s;
}

/* line 106, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .seg-btn:hover {
  color: var(--erp-ui-accent);
}

/* line 113, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .seg-btn[aria-pressed="true"] {
  background: var(--erp-ui-accent);
  border-color: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
}

/* line 122, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .seg-btn:focus-visible {
  outline: none;
  border-color: var(--erp-ui-accent);
  box-shadow: 0 0 0 3px var(--erp-ui-accent-soft);
}

/* line 133, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .freshness {
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 146, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .gap-note {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 14px;
  margin-bottom: 14px;
  background: var(--erp-ui-accent-soft);
  border-radius: var(--erp-ui-radius);
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
}

/* line 162, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .gap-note .pill {
  white-space: nowrap;
}

/* line 180, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .filters-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
  grid-template-columns: none;
}

/* line 195, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .filters-row > .filter-group {
  flex: 1 1 170px;
  max-width: 280px;
  min-width: 0;
}

/* line 201, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .filters-row > .filter-actions {
  flex: 0 0 auto;
  margin-left: auto;
}

/* line 211, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .split-headline {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
}

/* line 218, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .split-headline > .kpi-standalone {
  flex: 0 0 260px;
}

/* line 222, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .split-headline > .card:not(.kpi-standalone) {
  flex: 1 1 420px;
  min-width: 0;
}

/* line 237, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .occupancy-cell {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

/* line 244, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .occupancy-meter {
  width: 68px;
  height: 6px;
  flex: none;
  border: 0;
  border-radius: 999px;
  background: var(--erp-ui-hairline);
  appearance: none;
}

/* line 253, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .occupancy-meter::-webkit-meter-bar {
  background: var(--erp-ui-hairline);
  border: 0;
  border-radius: 999px;
}

/* line 259, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .occupancy-meter::-webkit-meter-optimum-value, .erp-ui.analytics-module .occupancy-meter::-webkit-meter-suboptimum-value, .erp-ui.analytics-module .occupancy-meter::-webkit-meter-even-less-good-value {
  background: var(--erp-ui-accent);
  border-radius: 999px;
}

/* line 266, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .occupancy-meter::-moz-meter-bar {
  background: var(--erp-ui-accent);
  border-radius: 999px;
}

/* line 272, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .occupancy-value {
  font-variant-numeric: tabular-nums;
}

/* line 277, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .insight-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 14px;
}

/* line 303, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .insight-grid .insight-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  position: static;
  overflow: visible;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  padding: 14px 16px;
  font-size: 13px;
  color: var(--erp-ui-ink-2);
}

/* line 326, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .insight-grid .insight-card h3 {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  color: var(--erp-ui-ink);
}

/* line 333, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .insight-grid .insight-card p {
  margin: 0;
}

/* line 337, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .insight-grid .insight-card ul {
  margin: 0;
  padding-left: 1.1em;
}

/* line 342, app/assets/stylesheets/components/analytics_dashboard.scss */
.erp-ui.analytics-module .insight-grid .insight-card strong {
  color: var(--erp-ui-ink);
  font-weight: 600;
}

@media (max-width: 1080px) {
  /* line 357, app/assets/stylesheets/components/analytics_dashboard.scss */
  .erp-ui.analytics-module .kpi-grid.three,
.erp-ui.analytics-module .insight-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 365, app/assets/stylesheets/components/analytics_dashboard.scss */
  .erp-ui.analytics-module .filters-row > .filter-actions {
    margin-left: 0;
  }
}

@media (max-width: 640px) {
  /* line 370, app/assets/stylesheets/components/analytics_dashboard.scss */
  .erp-ui.analytics-module .kpi-grid.three,
.erp-ui.analytics-module .insight-grid {
    grid-template-columns: 1fr;
  }
  /* line 375, app/assets/stylesheets/components/analytics_dashboard.scss */
  .erp-ui.analytics-module .filters-row > .filter-group {
    flex: 1 1 100%;
  }
}
/* line 17, app/assets/stylesheets/components/bank_accounts_module.scss */
.erp-ui.bank-accounts-module .saldo-par {
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: flex-end;
}

/* line 23, app/assets/stylesheets/components/bank_accounts_module.scss */
.erp-ui.bank-accounts-module .saldo-par b {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}

/* line 28, app/assets/stylesheets/components/bank_accounts_module.scss */
.erp-ui.bank-accounts-module .saldo-par small {
  color: var(--erp-ui-ink-3);
  font-size: 11.5px;
  font-variant-numeric: tabular-nums;
}

/* line 34, app/assets/stylesheets/components/bank_accounts_module.scss */
.erp-ui.bank-accounts-module .saldo-par.divergente b {
  color: var(--erp-ui-critical-text);
}

/* line 42, app/assets/stylesheets/components/bank_accounts_module.scss */
.erp-ui.bank-accounts-module .banco-cell {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

/* line 49, app/assets/stylesheets/components/bank_accounts_module.scss */
.erp-ui.bank-accounts-module .banco-logo {
  flex-shrink: 0;
  border-radius: 3px;
}

/* line 54, app/assets/stylesheets/components/bank_accounts_module.scss */
.erp-ui.bank-accounts-module .banco-num {
  flex-shrink: 0;
  padding: 3px 5px;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 4px;
  background: var(--erp-ui-surface-2);
  color: var(--erp-ui-ink-2);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11px;
  line-height: 1;
}

/* line 68, app/assets/stylesheets/components/bank_accounts_module.scss */
.erp-ui.bank-accounts-module .audit-change {
  display: block;
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
}

/* line 73, app/assets/stylesheets/components/bank_accounts_module.scss */
.erp-ui.bank-accounts-module .audit-change + .audit-change {
  margin-top: 3px;
}

/* line 77, app/assets/stylesheets/components/bank_accounts_module.scss */
.erp-ui.bank-accounts-module .audit-change b {
  color: var(--erp-ui-ink);
  font-weight: 600;
}

/* line 87, app/assets/stylesheets/components/bank_accounts_module.scss */
.erp-ui.bank-accounts-module output.valor-calculado {
  display: block;
  padding: 7px 10px;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-surface-2);
  color: var(--erp-ui-ink-2);
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}
/* line 23, app/assets/stylesheets/components/bank_reconciliation.scss */
:root {
  --erp-primary: #2c3e50;
  --erp-primary-light: #34495e;
  --erp-secondary: #7f8c8d;
  --erp-success: #27ae60;
  --erp-warning: #f39c12;
  --erp-danger: #e74c3c;
  --erp-info: #3498db;
  --erp-warning-text: #96590a;
  --erp-info-text: #1a6a9c;
  --erp-success-text: #1d7d45;
  --erp-danger-text: #a52a1a;
  --gray-900: #212529;
  --gray-800: #343a40;
  --gray-700: #495057;
  --gray-600: #6c757d;
  --gray-500: #adb5bd;
  --gray-400: #ced4da;
  --gray-300: #dee2e6;
  --gray-200: #e9ecef;
  --gray-100: #f8f9fa;
  --gray-50: #ffffff;
  --shadow-light: 0 1px 3px rgba(0,0,0,0.05);
  --shadow-medium: 0 2px 6px rgba(0,0,0,0.08);
  --shadow-lg: 0 10px 15px rgba(0,0,0,0.1);
  --border-radius: 4px;
  --border-radius-lg: 8px;
}

/* line 51, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module {
  padding-top: 25px;
}

@media (min-width: 992px) {
  /* line 55, app/assets/stylesheets/components/bank_reconciliation.scss */
  .bank-reconciliations-module {
    padding-left: 35px;
    padding-right: 35px;
  }
}

@media (max-width: 991px) {
  /* line 61, app/assets/stylesheets/components/bank_reconciliation.scss */
  .bank-reconciliations-module {
    padding-left: 15px;
    padding-right: 15px;
  }
}

/* line 66, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .content-header {
  margin-top: 5px !important;
  margin-bottom: 25px;
  padding-top: 15px;
  padding-bottom: 10px;
}

/* line 72, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module section.content {
  padding-top: 15px;
  padding-bottom: 20px;
}

/* line 76, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module section.content .container-fluid {
  padding-left: 0;
  padding-right: 0;
}

/* line 80, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .erp-card {
  background: white;
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-light);
  border: 1px solid var(--gray-300);
  margin-bottom: 20px;
}

/* line 87, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .erp-card:first-of-type {
  margin-top: 0;
}

/* line 90, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .erp-card-header {
  padding: 15px 20px;
  border-bottom: 1px solid var(--gray-300);
  background: var(--gray-50);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}

/* line 100, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .erp-card-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--gray-800);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 109, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .erp-card-body {
  padding: 20px;
}

/* line 112, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .erp-stat-card {
  background: white;
  border-radius: var(--border-radius);
  padding: 12px 15px;
  box-shadow: var(--shadow-light);
  border: 1px solid var(--gray-300);
  border-left: 3px solid var(--erp-primary);
  display: flex;
  align-items: center;
  gap: 12px;
  transition: all 0.2s ease;
}

/* line 124, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .erp-stat-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-medium);
}

/* line 128, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .erp-stat-card.success {
  border-left-color: var(--erp-success);
}

/* line 131, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .erp-stat-card.warning {
  border-left-color: var(--erp-warning);
}

/* line 134, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .erp-stat-card.danger {
  border-left-color: var(--erp-danger);
}

/* line 137, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .erp-stat-card.info {
  border-left-color: var(--erp-info);
}

/* line 140, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .stat-icon {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}

/* line 150, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .erp-stat-card.success .stat-icon {
  background: rgba(39, 174, 96, 0.1);
  color: var(--erp-success);
}

/* line 154, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .erp-stat-card.warning .stat-icon {
  background: rgba(243, 156, 18, 0.1);
  color: var(--erp-warning);
}

/* line 158, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .erp-stat-card.info .stat-icon {
  background: rgba(52, 152, 219, 0.1);
  color: var(--erp-info);
}

/* line 162, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .stat-content {
  flex: 1;
  min-width: 0;
}

@keyframes shimmer {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}

/* line 174, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .btn-erp {
  padding: 8px 16px;
  border-radius: var(--border-radius);
  border: none;
  font-weight: 500;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
}

/* line 187, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .btn-erp.btn-erp-primary {
  background: var(--erp-primary);
  color: white;
}

/* line 191, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .btn-erp.btn-erp-primary:hover {
  background: var(--erp-primary-light);
  transform: translateY(-1px);
  box-shadow: var(--shadow-light);
  color: white;
  text-decoration: none;
}

/* line 198, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .btn-erp.btn-erp-outline {
  background: white;
  color: var(--gray-700);
  border: 1px solid var(--gray-300);
}

/* line 203, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .btn-erp.btn-erp-outline:hover {
  border-color: var(--erp-info);
  color: var(--erp-info);
  text-decoration: none;
}

/* line 208, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .btn-erp.btn-sm {
  padding: 6px 12px;
  font-size: 12px;
}

/* line 212, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .empty-state {
  text-align: center;
  padding: 40px;
  color: var(--gray-500);
}

/* line 217, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .empty-state-icon {
  font-size: 48px;
  margin-bottom: 15px;
  opacity: 0.5;
}

/* line 222, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .empty-state-text {
  font-size: 14px;
  margin-bottom: 20px;
}

/* line 226, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .text-erp-success {
  color: var(--erp-success);
}

/* line 229, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .text-erp-info {
  color: var(--erp-info);
}

/* line 232, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .mr-10 {
  margin-right: 10px;
}

/* line 235, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .recon-text-muted-xs {
  font-size: 11px;
  color: var(--gray-600);
}

/* line 239, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .recon-section-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--gray-800);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 248, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .recon-select-sm {
  width: 140px;
  font-size: 12px;
}

/* line 252, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .gap-8 {
  gap: 8px;
}

/* line 255, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .threshold-recommendation {
  border: 1px solid var(--erp-info);
  background: rgba(52, 152, 219, 0.08);
  border-radius: var(--border-radius);
  padding: 12px 14px;
}

/* line 261, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .threshold-recommendation-header {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: var(--erp-info);
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* line 272, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .threshold-recommendation-body {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
}

/* line 278, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .threshold-recommendation-value {
  font-size: 24px;
  font-weight: 700;
  color: var(--gray-800);
}

/* line 283, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .threshold-recommendation-reason {
  font-size: 13px;
  color: var(--gray-700);
}

/* line 287, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module .threshold-recommendation-footnote {
  font-size: 11px;
  color: var(--gray-600);
  margin-top: 6px;
}

@keyframes listaLinkFlash {
  0% {
    background: rgba(52, 152, 219, 0.35);
  }
  100% {
    background: rgba(52, 152, 219, 0.08);
  }
}

/* line 300, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module #lista-reconciliation-summary {
  border: 1px solid var(--gray-300);
}

/* line 303, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module #modo-lista .erp-card-body {
  overflow: hidden;
}

/* line 306, app/assets/stylesheets/components/bank_reconciliation.scss */
.bank-reconciliations-module #extrato-items-list,
.bank-reconciliations-module #sistema-items-list {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

/* line 312, app/assets/stylesheets/components/bank_reconciliation.scss */
.wrapper .content-wrapper .bank-reconciliations-module .content-header {
  margin-top: 5px !important;
}
/* line 18, app/assets/stylesheets/components/bank_slips_module.scss */
.erp-ui.bank-slips-module .linha-digitavel {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

/* line 25, app/assets/stylesheets/components/bank_slips_module.scss */
.erp-ui.bank-slips-module .linha-digitavel code {
  flex: 1 1 380px;
  min-width: 0;
  padding: 10px 12px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: 0.4px;
  color: var(--erp-ui-ink);
  background: var(--erp-ui-surface-2);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  overflow-wrap: anywhere;
}

/* line 44, app/assets/stylesheets/components/bank_slips_module.scss */
.erp-ui.bank-slips-module .form-section > .acts {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 14px;
}
/* line 16, app/assets/stylesheets/components/bank_statements_module.scss */
.erp-ui.bank-statements-module .stmt-progress,
.erp-ui .bank-statements-module .stmt-progress {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}

/* line 27, app/assets/stylesheets/components/bank_statements_module.scss */
.erp-ui.bank-statements-module .erp-bar-track,
.erp-ui .bank-statements-module .erp-bar-track {
  width: 84px;
  flex: none;
}

/* line 32, app/assets/stylesheets/components/bank_statements_module.scss */
.erp-ui.bank-statements-module .stmt-progress-text,
.erp-ui .bank-statements-module .stmt-progress-text {
  font-size: 12px;
  color: var(--erp-ui-ink-2);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* line 52, app/assets/stylesheets/components/bank_statements_module.scss */
.erp-ui.bank-statements-module .stmt-credit,
.erp-ui .bank-statements-module .stmt-credit {
  color: var(--erp-ui-good-text);
  font-weight: 600;
}

/* line 57, app/assets/stylesheets/components/bank_statements_module.scss */
.erp-ui.bank-statements-module .stmt-debit,
.erp-ui .bank-statements-module .stmt-debit {
  color: var(--erp-ui-critical-text);
  font-weight: 600;
}

/* line 68, app/assets/stylesheets/components/bank_statements_module.scss */
.erp-ui.bank-statements-module .stmt-steps,
.erp-ui .bank-statements-module .stmt-steps {
  margin: 0;
  padding-left: 18px;
  font-size: 13px;
  color: var(--erp-ui-ink-2);
  line-height: 1.7;
}

/* line 75, app/assets/stylesheets/components/bank_statements_module.scss */
.erp-ui.bank-statements-module .stmt-steps b,
.erp-ui .bank-statements-module .stmt-steps b {
  color: var(--erp-ui-ink);
  font-weight: 600;
}

/* line 81, app/assets/stylesheets/components/bank_statements_module.scss */
.erp-ui.bank-statements-module .stmt-outcomes,
.erp-ui .bank-statements-module .stmt-outcomes {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
}

/* line 87, app/assets/stylesheets/components/bank_statements_module.scss */
.erp-ui.bank-statements-module .stmt-outcomes > div,
.erp-ui .bank-statements-module .stmt-outcomes > div {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

/* line 93, app/assets/stylesheets/components/bank_statements_module.scss */
.erp-ui.bank-statements-module .stmt-outcomes dt,
.erp-ui .bank-statements-module .stmt-outcomes dt {
  display: flex;
  align-items: flex-start;
  font-weight: 400;
}

/* line 103, app/assets/stylesheets/components/bank_statements_module.scss */
.erp-ui.bank-statements-module .stmt-outcomes dd,
.erp-ui .bank-statements-module .stmt-outcomes dd {
  margin: 0;
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
}

/* line 108, app/assets/stylesheets/components/bank_statements_module.scss */
.erp-ui.bank-statements-module .stmt-outcomes dd b,
.erp-ui .bank-statements-module .stmt-outcomes dd b {
  color: var(--erp-ui-ink);
  font-weight: 600;
}
/* line 9, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module {
  --bd-serie-1: #2a78d6;
  --bd-serie-2: #eb6834;
  --bd-serie-3: #1baf7a;
}

/* line 12, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-controles {
  display: grid;
}

/* line 16, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-periodo {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px 14px;
  padding: 12px 14px;
}

/* line 24, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-periodo-botoes {
  display: inline-flex;
  flex-wrap: wrap;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 6px;
  overflow: hidden;
}

/* line 32, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-periodo-botao {
  padding: 5px 11px;
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
  background: var(--erp-ui-surface);
  text-decoration: none;
}

/* line 39, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-periodo-botao + .bd-periodo-botao {
  border-left: 1px solid var(--erp-ui-hairline);
}

/* line 41, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-periodo-botao:hover {
  background: var(--erp-ui-surface-2);
}

/* line 43, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-periodo-botao[aria-pressed="true"] {
  background: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
}

/* line 49, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-periodo-datas {
  display: flex;
  align-items: flex-end;
  gap: 8px;
}

/* line 54, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-periodo-datas .field {
  min-width: 0;
}

/* line 55, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-periodo-datas input {
  width: 150px;
}

/* line 58, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-periodo-texto {
  margin: 0;
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
  flex: 1 1 200px;
}

/* line 67, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-sec-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 4px 12px;
  padding: 12px 16px 0;
}

/* line 75, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-sec-head h2 {
  margin: 0;
  font-size: 14.5px;
}

/* line 80, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-sec-head .ctx {
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 86, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-sec-body {
  padding: 12px 16px 16px;
  display: grid;
  gap: 12px;
}

/* line 92, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-charts {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 14px;
}

@media (max-width: 1000px) {
  /* line 92, app/assets/stylesheets/components/billing_dashboard_module.scss */
  .erp-ui.billing-dashboard-module .bd-charts {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* line 102, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

@media (max-width: 1000px) {
  /* line 102, app/assets/stylesheets/components/billing_dashboard_module.scss */
  .erp-ui.billing-dashboard-module .bd-two {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* line 114, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-todo {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 12px;
  border-top: 1px solid var(--erp-ui-hairline);
}

@media (max-width: 1100px) {
  /* line 114, app/assets/stylesheets/components/billing_dashboard_module.scss */
  .erp-ui.billing-dashboard-module .bd-todo {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  /* line 114, app/assets/stylesheets/components/billing_dashboard_module.scss */
  .erp-ui.billing-dashboard-module .bd-todo {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* line 124, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-todo-item {
  display: grid;
  gap: 2px;
  padding: 12px 16px;
  color: inherit;
  text-decoration: none;
  border-right: 1px solid var(--erp-ui-hairline);
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 133, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-todo-item:hover {
  background: var(--erp-ui-surface-2);
}

/* line 135, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-todo-item .t {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--erp-ui-ink-2);
}

/* line 144, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-todo-item .n {
  font-size: 20px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}

/* line 150, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-todo-item .v {
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
  font-variant-numeric: tabular-nums;
}

/* line 156, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-todo-item .go {
  font-size: 12px;
  font-weight: 600;
  color: var(--erp-ui-accent);
}

/* line 162, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-todo-item.crit .n {
  color: var(--erp-ui-critical-text);
}

/* line 165, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-sev {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex: 0 0 auto;
  background: var(--erp-ui-ink-3);
}

/* line 172, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-sev.crit {
  background: var(--erp-ui-critical);
}

/* line 173, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-sev.warn {
  background: var(--erp-ui-warning);
}

/* line 178, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-trend {
  font-weight: 700;
}

/* line 181, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-trend.down {
  color: var(--erp-ui-critical-text);
}

/* line 182, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-trend.up {
  color: var(--erp-ui-good-text);
}

/* line 185, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-como {
  margin-left: auto;
  border: 0;
  background: none;
  padding: 0 2px;
  line-height: 1;
  color: var(--erp-ui-ink-3);
  cursor: pointer;
}

/* line 194, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-como:hover {
  color: var(--erp-ui-accent);
}

/* line 196, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-como .erp-icon {
  width: 14px;
  height: 14px;
}

/* line 199, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-mix-legend {
  margin-top: 10px;
}

/* line 206, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-chart-box {
  position: relative;
  height: 300px;
}

@media (max-width: 640px) {
  /* line 206, app/assets/stylesheets/components/billing_dashboard_module.scss */
  .erp-ui.billing-dashboard-module .bd-chart-box {
    height: 220px;
  }
}

/* line 225, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .legend .swatch.bd-serie-1 {
  background: var(--bd-serie-1);
}

/* line 226, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .legend .swatch.bd-serie-2 {
  background: var(--bd-serie-2);
}

/* line 227, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .legend .swatch.bd-serie-3 {
  background: var(--bd-serie-3);
}

/* line 231, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .legend .swatch.esmaecido {
  opacity: .45;
}

/* line 239, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-ciclo .bd-sec-head-interna {
  border-top: 1px solid var(--erp-ui-hairline);
  padding-top: 14px;
}

/* line 245, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-ciclo-tabelas {
  padding: 0 16px 16px;
}

/* line 248, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-ciclo-tabelas > div {
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  overflow: hidden;
  min-width: 0;
}

/* line 255, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-ciclo-tabelas .bd-sec-head-interna {
  border-top: 0;
  padding: 12px 14px 0;
}

/* line 261, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-revisar-acao {
  margin-left: auto;
}

/* line 267, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-subtabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 275, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-subtab {
  border: 1px solid var(--erp-ui-hairline-strong);
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink-2);
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 12.5px;
  text-decoration: none;
}

/* line 284, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-subtab:hover {
  background: var(--erp-ui-surface-2);
}

/* line 286, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-subtab[aria-pressed="true"] {
  background: var(--erp-ui-accent-soft);
  border-color: var(--erp-ui-accent);
  color: var(--erp-ui-accent);
  font-weight: 600;
}

/* line 294, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-lista-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 4px 16px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 303, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-lista-head h3 {
  margin: 0;
  font-size: 13.5px;
}

/* line 308, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-lista-head p {
  margin: 0;
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 315, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-lista-total {
  font-size: 13px;
  color: var(--erp-ui-ink-2);
  font-variant-numeric: tabular-nums;
}

/* line 321, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-lista-carregando {
  padding: 24px 16px;
  color: var(--erp-ui-ink-3);
  font-size: 13px;
}

/* line 327, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-foot-line {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-top: 1px solid var(--erp-ui-hairline);
  background: var(--erp-ui-surface-2);
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 340, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-see-all {
  font-size: 12.5px;
  font-weight: 600;
}

/* line 345, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-revisar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 24px;
}

/* line 351, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-revisar > div {
  display: grid;
  gap: 2px;
}

/* line 356, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-revisar .k {
  font-size: 12px;
  font-weight: 600;
  color: var(--erp-ui-ink-2);
}

/* line 362, app/assets/stylesheets/components/billing_dashboard_module.scss */
.erp-ui.billing-dashboard-module .bd-revisar b {
  font-size: 16px;
  font-variant-numeric: tabular-nums;
}
/* line 6, app/assets/stylesheets/components/budgets.scss */
.budgets-module .erp-card {
  position: relative;
}

/* line 10, app/assets/stylesheets/components/budgets.scss */
.budgets-module .erp-card-body {
  position: relative;
}

/* line 14, app/assets/stylesheets/components/budgets.scss */
.budgets-module .erp-card-body .table-responsive {
  overflow-x: auto;
  overflow-y: auto;
  max-height: 600px;
  position: relative;
}

/* line 23, app/assets/stylesheets/components/budgets.scss */
.financial-amount:disabled {
  background-color: #e9ecef;
  cursor: not-allowed;
}

/* line 29, app/assets/stylesheets/components/budgets.scss */
#annualBudgetTable {
  font-size: 0.875rem;
}

/* line 32, app/assets/stylesheets/components/budgets.scss */
#annualBudgetTable th {
  font-size: 0.8rem;
  padding: 0.5rem 0.3rem;
  white-space: nowrap;
  vertical-align: middle;
}

/* line 39, app/assets/stylesheets/components/budgets.scss */
#annualBudgetTable td {
  padding: 0.4rem 0.3rem;
  vertical-align: middle;
}

/* line 44, app/assets/stylesheets/components/budgets.scss */
#annualBudgetTable .month-cell {
  min-width: 100px;
}

/* line 47, app/assets/stylesheets/components/budgets.scss */
#annualBudgetTable .month-cell .month-input {
  font-size: 0.875rem !important;
  padding: 0.25rem 0.5rem !important;
  min-width: 90px;
  text-align: right;
  font-weight: 600;
  height: calc(1.5em + 0.5rem + 2px);
  line-height: 1.5;
  color: #212529;
}

/* line 57, app/assets/stylesheets/components/budgets.scss */
#annualBudgetTable .month-cell .month-input:focus {
  border-color: #007bff;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
  z-index: 1;
  background-color: #fff;
}

/* line 64, app/assets/stylesheets/components/budgets.scss */
#annualBudgetTable .month-cell .month-input::placeholder {
  color: #adb5bd;
  font-weight: normal;
}

/* line 70, app/assets/stylesheets/components/budgets.scss */
#annualBudgetTable .month-cell .month-input[value]:not([value=""]) {
  color: #212529;
  font-weight: 600;
}

/* line 77, app/assets/stylesheets/components/budgets.scss */
#annualBudgetTable .month-header {
  font-weight: 600;
  background-color: #f8f9fa;
  position: sticky;
  top: 0;
  z-index: 10;
}

/* line 85, app/assets/stylesheets/components/budgets.scss */
#annualBudgetTable .month-total {
  font-size: 0.75rem;
  background-color: #f8f9fa;
  font-weight: 600;
}

/* line 92, app/assets/stylesheets/components/budgets.scss */
#annualBudgetTable .financial-row:hover {
  background-color: #f8f9fa;
}

/* line 95, app/assets/stylesheets/components/budgets.scss */
#annualBudgetTable .financial-row:hover .month-input {
  background-color: #fff;
}

@media (max-width: 1400px) {
  /* line 105, app/assets/stylesheets/components/budgets.scss */
  #annualBudgetTable .month-cell {
    min-width: 90px;
  }
  /* line 108, app/assets/stylesheets/components/budgets.scss */
  #annualBudgetTable .month-cell .month-input {
    font-size: 0.8rem !important;
    padding: 0.2rem 0.4rem !important;
    min-width: 85px;
  }
}

/* line 118, app/assets/stylesheets/components/budgets.scss */
.card-body .table-responsive {
  border: 1px solid #dee2e6;
  border-radius: 0.25rem;
}

/* line 126, app/assets/stylesheets/components/budgets.scss */
.card .card-header .card-title {
  margin-bottom: 0;
}

/* line 133, app/assets/stylesheets/components/budgets.scss */
.badge.badge-sm {
  font-size: 0.7rem;
  padding: 0.2rem 0.4rem;
}

/* line 138, app/assets/stylesheets/components/budgets.scss */
.badge.badge-lg {
  font-size: 0.9rem;
  padding: 0.4rem 0.6rem;
}

/* line 146, app/assets/stylesheets/components/budgets.scss */
.btn-group .btn:not(:last-child) {
  margin-right: 0.25rem;
}

/* line 152, app/assets/stylesheets/components/budgets.scss */
.form-check-input:checked {
  background-color: #007bff;
  border-color: #007bff;
}

/* line 161, app/assets/stylesheets/components/budgets.scss */
.budget-form-module .d-flex.flex-wrap {
  align-items: stretch;
}

/* line 164, app/assets/stylesheets/components/budgets.scss */
.budget-form-module .d-flex.flex-wrap .flex-fill {
  display: flex;
}

/* line 167, app/assets/stylesheets/components/budgets.scss */
.budget-form-module .d-flex.flex-wrap .flex-fill .erp-stat-card {
  width: 100%;
  flex: 1;
}

/* line 177, app/assets/stylesheets/components/budgets.scss */
.budget-annual-module .erp-card {
  position: relative;
  display: block;
  clear: both;
}

/* line 184, app/assets/stylesheets/components/budgets.scss */
.budget-annual-module .erp-card-body {
  position: relative;
}

/* line 190, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-executive-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

/* line 196, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-executive-card {
  min-width: 0;
  padding: 0.85rem 1rem;
  border: 1px solid #e3e8ee;
  border-left: 4px solid #6c757d;
  border-radius: 0.35rem;
  background: #fff;
}

/* line 204, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-executive-card.revenue {
  border-left-color: #28a745;
}

/* line 205, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-executive-card.expense {
  border-left-color: #dc3545;
}

/* line 206, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-executive-card.result {
  border-left-color: #17a2b8;
}

/* line 208, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-executive-card small,
.budget-show-module .budget-executive-card span {
  display: block;
}

/* line 213, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-executive-card small {
  color: #6c757d;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  font-size: 0.7rem;
}

/* line 221, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-executive-card strong {
  display: block;
  margin: 0.2rem 0;
  color: #2c3e50;
  font-size: clamp(1rem, 1.45vw, 1.35rem);
  line-height: 1.2;
  overflow-wrap: anywhere;
}

/* line 230, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-executive-card span {
  color: #6c757d;
  font-size: 0.75rem;
}

/* line 236, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-progress-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

/* line 242, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-audit-tabs {
  border-bottom-color: #dee2e6;
}

/* line 245, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-audit-tabs .nav-link {
  color: #5c6773;
  font-weight: 600;
}

/* line 249, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-audit-tabs .nav-link.active {
  color: #1f2d3d;
  border-top: 3px solid #17a2b8;
}

/* line 256, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-audit-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.65rem;
}

/* line 262, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-audit-metric {
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid #e3e8ee;
  border-top: 3px solid #17a2b8;
  border-radius: 0.3rem;
  background: #fff;
}

/* line 270, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-audit-metric.success {
  border-top-color: #28a745;
}

/* line 271, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-audit-metric.warning {
  border-top-color: #ffc107;
}

/* line 272, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-audit-metric.secondary {
  border-top-color: #6c757d;
}

/* line 273, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-audit-metric.danger {
  border-top-color: #dc3545;
}

/* line 275, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-audit-metric small,
.budget-show-module .budget-audit-metric strong {
  display: block;
}

/* line 280, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-audit-metric small {
  min-height: 2.1em;
  color: #6c757d;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.1;
  text-transform: uppercase;
}

/* line 289, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-audit-metric strong {
  margin-top: 0.35rem;
  color: #2c3e50;
  font-size: clamp(0.88rem, 1.2vw, 1.1rem);
  line-height: 1.15;
  overflow-wrap: anywhere;
}

/* line 298, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-audit-equation {
  gap: 0.75rem;
  padding: 0.55rem 0.75rem;
  border-radius: 0.3rem;
  background: #f7f9fb;
  color: #5c6773;
  font-size: 0.8rem;
}

/* line 307, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-audit-subheader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 0.9rem;
  border-bottom: 1px solid #e3e8ee;
  background: #f8f9fa;
}

/* line 317, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-audit-table-wrap {
  max-height: 430px;
}

/* line 321, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-audit-review-list {
  max-height: 430px;
  overflow-y: auto;
}

/* line 326, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-audit-review-item {
  padding: 0.8rem 0.9rem;
  border-bottom: 1px solid #edf0f2;
  font-size: 0.82rem;
}

/* line 331, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-audit-review-item:last-child {
  border-bottom: 0;
}

/* line 334, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-audit-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 150px;
  padding: 1rem;
  color: #6c757d;
  text-align: center;
}

/* line 345, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-audit-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
}

/* line 351, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-audit-summary-card {
  min-width: 0;
  padding: 1rem;
  border: 1px solid #e3e8ee;
  border-radius: 0.35rem;
  background: #fff;
}

/* line 358, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-audit-summary-card small,
.budget-show-module .budget-audit-summary-card strong,
.budget-show-module .budget-audit-summary-card span {
  display: block;
}

/* line 362, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-audit-summary-card small {
  color: #6c757d;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
}

/* line 369, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-audit-summary-card strong {
  margin: 0.35rem 0;
  font-size: clamp(1.05rem, 1.7vw, 1.45rem);
  overflow-wrap: anywhere;
}

/* line 375, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-audit-summary-card span {
  color: #6c757d;
  font-size: 0.78rem;
}

/* line 381, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-hierarchy-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

/* line 388, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-hierarchy-section-title {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
}

/* line 394, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-hierarchy-table-wrap {
  max-height: 620px;
}

/* line 398, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-hierarchy-table {
  font-size: 0.9rem;
}

/* line 402, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-hierarchy-stack {
  display: block;
}

/* line 406, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-hierarchy-stack-section {
  width: 100%;
}

/* line 410, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-hierarchy-name-cell {
  min-width: 280px;
  white-space: nowrap;
}

/* line 415, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-hierarchy-spacer {
  display: inline-block;
  width: 20px;
  margin-right: 0.5rem;
}

/* line 421, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-hierarchy-code {
  display: inline-block;
  min-width: 82px;
  margin-right: 0.5rem;
  color: #6c757d;
  font-weight: 700;
  font-size: 0.82rem;
}

/* line 430, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-hierarchy-synthetic {
  background: rgba(108, 117, 125, 0.08);
}

/* line 434, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-hierarchy-progress {
  width: 72px;
  height: 8px;
  margin: 0 auto 0.15rem;
}

/* line 440, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-hierarchy-toggle {
  width: 18px;
  min-width: 18px;
  font-size: 0.7rem;
}

/* line 446, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .budget-zero-row {
  display: none;
}

@media (max-width: 991px) {
  /* line 453, app/assets/stylesheets/components/budgets.scss */
  .budget-show-module .budget-audit-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  /* line 457, app/assets/stylesheets/components/budgets.scss */
  .budget-show-module .budget-audit-summary-grid {
    grid-template-columns: 1fr;
  }
  /* line 461, app/assets/stylesheets/components/budgets.scss */
  .budget-show-module .budget-hierarchy-actions {
    justify-content: flex-start;
    margin-top: 0.75rem;
  }
  /* line 466, app/assets/stylesheets/components/budgets.scss */
  .budget-show-module .budget-hierarchy-name-cell {
    min-width: 220px;
  }
}

@media (max-width: 575px) {
  /* line 474, app/assets/stylesheets/components/budgets.scss */
  .budget-show-module .budget-executive-grid,
.budget-show-module .budget-progress-grid,
.budget-show-module .budget-audit-metrics {
    grid-template-columns: 1fr;
  }
}

/* line 484, app/assets/stylesheets/components/budgets.scss */
.budget-annual-module .erp-stat-card.filled.info {
  background: #3498db !important;
  border-color: #3498db !important;
  border-left-color: #3498db !important;
  border-radius: var(--erp-border-radius) !important;
  padding: 10px 12px !important;
  box-shadow: var(--erp-shadow-light) !important;
}

/* line 494, app/assets/stylesheets/components/budgets.scss */
.budget-annual-module .erp-stat-card.filled.info .stat-content h3,
.budget-annual-module .erp-stat-card.filled.info .stat-content .erp-stat-value {
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}

/* line 501, app/assets/stylesheets/components/budgets.scss */
.budget-annual-module .erp-stat-card.filled.info .stat-content p,
.budget-annual-module .erp-stat-card.filled.info .stat-content .erp-stat-label {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 10px !important;
}

/* line 508, app/assets/stylesheets/components/budgets.scss */
.budget-annual-module .erp-stat-card.filled.info .stat-icon,
.budget-annual-module .erp-stat-card.filled.info .erp-stat-icon {
  background: rgba(255, 255, 255, 0.2) !important;
  color: #ffffff !important;
  width: 34px !important;
  height: 34px !important;
}

/* line 515, app/assets/stylesheets/components/budgets.scss */
.budget-annual-module .erp-stat-card.filled.info .stat-icon i,
.budget-annual-module .erp-stat-card.filled.info .erp-stat-icon i {
  color: #ffffff !important;
  font-size: 15px !important;
}

/* line 526, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .chart-empty-state {
  color: #adb5bd;
  text-align: center;
}

/* line 533, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .donut-chart-wrapper .donut-center-label {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  pointer-events: none;
  width: 70%;
}

/* line 542, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .donut-chart-wrapper .donut-center-label .donut-center-value {
  font-size: 1.75rem;
  font-weight: 700;
  color: #2c3e50;
  line-height: 1.1;
}

/* line 549, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .donut-chart-wrapper .donut-center-label .donut-center-caption {
  font-size: 0.7rem;
  color: #6c757d;
  margin-top: 2px;
  line-height: 1.2;
}

/* line 559, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .legend-dot {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  margin-right: 4px;
  vertical-align: middle;
}

/* line 569, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .variance-legend-btn {
  transition: all 0.18s ease;
  cursor: pointer;
  font-size: 0.78rem;
  padding: 4px 10px;
}

/* line 575, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .variance-legend-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

/* line 580, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .variance-legend-btn.active {
  color: #fff;
  box-shadow: 0 2px 6px rgba(0, 123, 255, 0.3);
}

/* line 584, app/assets/stylesheets/components/budgets.scss */
.budget-show-module .variance-legend-btn.active .legend-dot {
  outline: 2px solid #fff;
  outline-offset: 1px;
}

/* line 592, app/assets/stylesheets/components/budgets.scss */
.budget-show-module #variance-filter-badge {
  animation: fadeInDown 0.25s ease;
}

/* line 595, app/assets/stylesheets/components/budgets.scss */
.budget-show-module #variance-filter-badge .btn-link {
  text-decoration: none;
  color: inherit;
}

/* line 599, app/assets/stylesheets/components/budgets.scss */
.budget-show-module #variance-filter-badge .btn-link:hover {
  text-decoration: underline;
}

/* line 606, app/assets/stylesheets/components/budgets.scss */
.budget-show-module [data-budget-row="true"] {
  transition: opacity 0.2s ease;
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* line 623, app/assets/stylesheets/components/budgets.scss */
body.modal-open:has(#approveModal.show) .modal-backdrop,
body.modal-open:has(#rejectModal.show) .modal-backdrop,
body.modal-open:has(#duplicateModal.show) .modal-backdrop,
body.modal-open:has(.show[id^="rejectModal"]) .modal-backdrop,
body.modal-open:has(.show[id^="duplicateModal"]) .modal-backdrop {
  z-index: 1040 !important;
}

/* line 631, app/assets/stylesheets/components/budgets.scss */
body.modal-open #approveModal.show,
body.modal-open #rejectModal.show,
body.modal-open #duplicateModal.show,
body.modal-open .show[id^="rejectModal"],
body.modal-open .show[id^="duplicateModal"] {
  z-index: 1050 !important;
}
/* line 17, app/assets/stylesheets/components/busy_feedback.scss */
form[aria-busy="true"] [type="submit"],
form[aria-busy="true"] button:not([type]) {
  cursor: progress;
  opacity: 0.65;
}

/* line 24, app/assets/stylesheets/components/busy_feedback.scss */
turbo-frame[busy] {
  cursor: progress;
}

/* line 31, app/assets/stylesheets/components/busy_feedback.scss */
turbo-frame[complete] {
  transition: opacity 0.15s ease-out;
}

/* line 35, app/assets/stylesheets/components/busy_feedback.scss */
turbo-frame[busy][complete] {
  opacity: 0.6;
  transition: opacity 0.15s ease-in 0.2s;
}

@media (prefers-reduced-motion: reduce) {
  /* line 42, app/assets/stylesheets/components/busy_feedback.scss */
  turbo-frame[complete] {
    transition: none;
  }
  /* line 46, app/assets/stylesheets/components/busy_feedback.scss */
  turbo-frame[busy][complete] {
    transition: opacity 0s linear 0.2s;
  }
}

/* line 54, app/assets/stylesheets/components/busy_feedback.scss */
.remote-modal-loading {
  padding: 24px;
  min-height: 220px;
}

/* line 62, app/assets/stylesheets/components/busy_feedback.scss */
.erp-ui .frame-loading {
  padding: 16px 0;
}
/* line 14, app/assets/stylesheets/components/cash_flow_projection.scss */
.erp-ui.cash-flow-projection-module .data td.num {
  font-variant-numeric: tabular-nums;
}

/* line 17, app/assets/stylesheets/components/cash_flow_projection.scss */
.erp-ui.cash-flow-projection-module .data td.num.entrada {
  color: var(--erp-ui-good-text);
}

/* line 18, app/assets/stylesheets/components/cash_flow_projection.scss */
.erp-ui.cash-flow-projection-module .data td.num.saida {
  color: var(--erp-ui-critical-text);
}

/* line 20, app/assets/stylesheets/components/cash_flow_projection.scss */
.erp-ui.cash-flow-projection-module .data td.num .main.saida {
  color: var(--erp-ui-critical-text);
}

/* line 26, app/assets/stylesheets/components/cash_flow_projection.scss */
.erp-ui.cash-flow-projection-module .data .sub.critical {
  color: var(--erp-ui-critical-text);
}

/* line 32, app/assets/stylesheets/components/cash_flow_projection.scss */
.erp-ui.cash-flow-projection-module .nota-acao {
  display: block;
  margin-top: 3px;
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
}
/* line 22, app/assets/stylesheets/components/cash_flow_report_module.scss */
.erp-ui.cash-flow-module .cat-lista {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* line 28, app/assets/stylesheets/components/cash_flow_report_module.scss */
.erp-ui.cash-flow-module .cat-item {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

/* line 34, app/assets/stylesheets/components/cash_flow_report_module.scss */
.erp-ui.cash-flow-module .cat-topo {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}

/* line 41, app/assets/stylesheets/components/cash_flow_report_module.scss */
.erp-ui.cash-flow-module .cat-rotulo {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

/* line 48, app/assets/stylesheets/components/cash_flow_report_module.scss */
.erp-ui.cash-flow-module .cat-nome {
  font-size: 13.5px;
  color: var(--erp-ui-ink);
}

/* line 53, app/assets/stylesheets/components/cash_flow_report_module.scss */
.erp-ui.cash-flow-module .cat-pct {
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
}

/* line 58, app/assets/stylesheets/components/cash_flow_report_module.scss */
.erp-ui.cash-flow-module .cat-valor {
  font-size: 13.5px;
  font-weight: 600;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

/* line 64, app/assets/stylesheets/components/cash_flow_report_module.scss */
.erp-ui.cash-flow-module .cat-valor.entrada {
  color: var(--erp-ui-good-text);
}

/* line 68, app/assets/stylesheets/components/cash_flow_report_module.scss */
.erp-ui.cash-flow-module .cat-valor.saida {
  color: var(--erp-ui-critical-text);
}

/* line 73, app/assets/stylesheets/components/cash_flow_report_module.scss */
.erp-ui.cash-flow-module .cat-barra {
  height: 6px;
  border-radius: 999px;
  background: var(--erp-ui-surface-2);
  overflow: hidden;
}

/* line 79, app/assets/stylesheets/components/cash_flow_report_module.scss */
.erp-ui.cash-flow-module .cat-barra i {
  display: block;
  height: 100%;
  border-radius: 999px;
}

/* line 84, app/assets/stylesheets/components/cash_flow_report_module.scss */
.erp-ui.cash-flow-module .cat-barra i.entrada {
  background: var(--erp-ui-good-text);
}

/* line 88, app/assets/stylesheets/components/cash_flow_report_module.scss */
.erp-ui.cash-flow-module .cat-barra i.saida {
  background: var(--erp-ui-critical-text);
}

/* line 96, app/assets/stylesheets/components/cash_flow_report_module.scss */
.erp-ui.cash-flow-module .data td.num.entrada {
  color: var(--erp-ui-good-text);
}

/* line 100, app/assets/stylesheets/components/cash_flow_report_module.scss */
.erp-ui.cash-flow-module .data td.num.saida {
  color: var(--erp-ui-critical-text);
}

/* line 107, app/assets/stylesheets/components/cash_flow_report_module.scss */
.erp-ui.cash-flow-module .data tr.sem-movimento td {
  color: var(--erp-ui-ink-3);
}

/* line 117, app/assets/stylesheets/components/cash_flow_report_module.scss */
.erp-ui.cash-flow-module .cash-flow-canvas-box {
  position: relative;
  width: 100%;
  height: 300px;
}
/* line 12, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-inline-form {
  display: inline;
  margin: 0;
}

/* line 14, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-email-form {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  margin: 0 8px 0 0;
}

/* line 20, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-email-form input {
  width: 220px;
  max-width: 100%;
}

/* line 24, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-field-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--erp-ui-ink-2);
}

/* line 31, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-switch {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 4px 0 0;
  font-size: 13px;
  font-weight: 400;
  cursor: pointer;
}

/* line 40, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-switch input {
  width: 16px;
  height: 16px;
  margin: 2px 0 0;
  flex: none;
  accent-color: var(--erp-ui-accent);
}

/* line 41, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-switch small {
  display: block;
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 44, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-inline-check {
  display: flex;
  gap: 6px;
  align-items: center;
  margin: 0 0 6px;
  font-size: 12.5px;
  font-weight: 400;
}

/* line 54, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-suggest {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
  margin: 0 0 10px;
  padding: 10px 12px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-surface-2);
}

/* line 66, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-suggest-text {
  flex: 1 1 320px;
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
}

/* line 71, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-suggest-text strong {
  display: block;
  font-size: 13.5px;
  color: var(--erp-ui-ink);
}

/* line 74, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-suggest-status {
  flex: 1 1 100%;
  margin: 0;
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
}

/* line 80, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-suggest-status.is-ok {
  color: var(--erp-ui-good-text);
  font-weight: 600;
}

/* line 81, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-suggest-status.is-warn {
  color: var(--erp-ui-warning-text);
  font-weight: 600;
}

/* line 84, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-row-suggested {
  background: var(--erp-ui-accent-soft);
}

/* line 86, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-row-flag {
  display: inline-block;
  margin-top: 3px;
  font-size: 11px;
  font-weight: 600;
}

/* line 92, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-row-flag.is-suggested {
  color: var(--erp-ui-ink-3);
}

/* line 93, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-row-flag.is-check {
  color: var(--erp-ui-warning-text);
}

/* line 96, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-import {
  margin: 0 0 12px;
  border: 1px dashed var(--erp-ui-hairline-strong);
  border-radius: var(--erp-ui-radius);
  padding: 8px 12px;
}

/* line 102, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-import summary {
  cursor: pointer;
  font-weight: 600;
  color: var(--erp-ui-accent);
}

/* line 108, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-import[open] summary {
  margin-bottom: 8px;
}

/* line 111, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-rows {
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
}

/* line 116, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-rows-head,
.erp-ui.checklists-module .ck-row-grid {
  display: grid;
  gap: 8px;
  align-items: center;
  padding: 8px 10px;
}

/* line 124, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-rows-items .ck-rows-head,
.erp-ui.checklists-module .ck-rows-items .ck-row-grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 2.6fr) 190px 110px 56px 108px;
}

/* line 129, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-rows-where .ck-rows-head,
.erp-ui.checklists-module .ck-rows-where .ck-row-grid {
  grid-template-columns: minmax(0, 1.6fr) 190px minmax(0, 1.8fr) 32px;
}

/* line 134, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-rows-head {
  background: var(--erp-ui-surface-2);
  border-bottom: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius) var(--erp-ui-radius) 0 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--erp-ui-ink-3);
}

/* line 145, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-row {
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 148, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-row:last-of-type {
  border-bottom: 0;
}

/* line 149, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-row.invalid {
  background: var(--erp-ui-critical-wash);
}

/* line 151, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-row .field {
  margin: 0;
}

/* line 154, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-row-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

/* line 163, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-col-check {
  justify-self: center;
}

/* line 164, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-col-check input {
  width: 16px;
  height: 16px;
  accent-color: var(--erp-ui-accent);
}

/* line 166, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-row-acts {
  display: flex;
  gap: 4px;
  justify-content: flex-end;
}

/* line 172, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-target-all {
  font-size: 12.5px;
  color: var(--erp-ui-ink-3);
}

/* line 177, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-rows-empty {
  margin: 0;
  padding: 12px 14px;
  font-size: 12.5px;
  color: var(--erp-ui-ink-3);
}

/* line 184, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-row-err {
  margin: 0;
  padding: 0 10px 8px;
}

/* line 187, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-status {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

/* line 196, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-status-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* line 202, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-progress {
  flex: 1 1 260px;
  max-width: 420px;
}

/* line 206, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-progress label {
  display: block;
  margin-bottom: 4px;
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
}

/* line 213, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-progress progress {
  display: block;
  width: 100%;
  height: 10px;
  border: 0;
  border-radius: 999px;
  background: var(--erp-ui-hairline);
  overflow: hidden;
  appearance: none;
  -webkit-appearance: none;
}

/* line 224, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-progress progress::-webkit-progress-bar {
  background: var(--erp-ui-hairline);
  border-radius: 999px;
}

/* line 225, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-progress progress::-webkit-progress-value {
  background: var(--erp-ui-accent);
  border-radius: 999px;
}

/* line 226, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-progress progress::-moz-progress-bar {
  background: var(--erp-ui-accent);
  border-radius: 999px;
}

/* line 8, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-items {
  padding: 0;
}

/* line 10, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "text  answer" "obs   obs" "photo photo";
  gap: 8px 16px;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 22, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-item:last-child {
  border-bottom: 0;
}

/* line 23, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-item.is-nc {
  background: var(--erp-ui-critical-wash);
}

/* line 26, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-item-text {
  grid-area: text;
  display: flex;
  gap: 6px;
  font-size: 14px;
  line-height: 1.4;
}

/* line 27, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-item-num {
  color: var(--erp-ui-ink-3);
  font-variant-numeric: tabular-nums;
}

/* line 28, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-item-answer {
  grid-area: answer;
}

/* line 29, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-item-obs {
  grid-area: obs;
}

/* line 31, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-item-photo {
  grid-area: photo;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  align-items: center;
}

/* line 39, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-photo-label {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  color: var(--erp-ui-ink-2);
}

/* line 46, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-photo-file {
  max-width: 100%;
  font-size: 12.5px;
}

/* line 48, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-photo-thumb {
  display: block;
  max-width: 120px;
  max-height: 90px;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 6px;
}

/* line 56, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-photo-link {
  display: inline-block;
  margin-top: 4px;
}

/* line 57, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-item-obs textarea {
  min-height: 34px;
}

/* line 59, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-choice {
  display: inline-flex;
  gap: 6px;
}

/* line 66, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-choice-input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}

/* line 73, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-choice-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 52px;
  height: 44px;
  margin: 0;
  padding: 0 12px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink-2);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  user-select: none;
}

/* line 91, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-choice-input:focus-visible + .ck-choice-btn {
  outline: 2px solid var(--erp-ui-accent);
  outline-offset: 2px;
}

/* line 96, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-choice-input:checked + .ck-choice-conforming {
  background: var(--erp-ui-good-soft);
  border: 2px solid var(--erp-ui-good);
  color: var(--erp-ui-good-text);
}

/* line 102, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-choice-input:checked + .ck-choice-non_conforming {
  background: var(--erp-ui-critical-soft);
  border: 2px solid var(--erp-ui-critical);
  color: var(--erp-ui-critical-text);
}

/* line 108, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-choice-input:checked + .ck-choice-not_applicable {
  background: var(--erp-ui-surface-2);
  border: 2px solid var(--erp-ui-ink-3);
  color: var(--erp-ui-ink);
}

/* line 114, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-measure {
  display: flex;
  gap: 6px;
  align-items: center;
}

/* line 119, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-measure input {
  width: 130px;
  text-align: right;
}

/* line 122, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-unit {
  font-size: 13px;
  color: var(--erp-ui-ink-2);
}

/* line 146, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-pad {
  padding: 12px;
}

/* line 148, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-ident {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 10px 14px;
}

/* line 154, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-ident-field label {
  display: block;
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 600;
  color: var(--erp-ui-ink-2);
}

/* line 162, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-ident-hint {
  margin: 8px 0 0;
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 168, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-witnesses {
  display: grid;
  gap: 14px;
}

/* line 170, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-witness {
  min-width: 0;
  margin: 0;
  padding: 10px 12px 12px;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
}

/* line 177, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-witness legend {
  width: auto;
  margin: 0;
  padding: 0 4px;
  font-size: 13px;
  font-weight: 700;
  color: var(--erp-ui-ink);
}

/* line 186, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-witness small {
  font-weight: 400;
  color: var(--erp-ui-ink-3);
}

/* line 189, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-signature-canvas {
  display: block;
  width: 100%;
  height: 180px;
  margin: 8px 0;
  border: 1px dashed var(--erp-ui-hairline-strong);
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-surface);
  touch-action: none;
}

/* line 200, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-witness .ck-signature-canvas {
  height: 150px;
}

/* line 202, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-release {
  min-width: 0;
  margin: 0 0 10px;
  padding: 0;
  border: 0;
}

/* line 208, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-release legend {
  width: auto;
  margin: 0 0 6px;
}

/* line 211, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-release-option {
  display: flex;
  gap: 8px;
  align-items: center;
  min-height: 40px;
  margin: 0 0 6px;
  padding: 6px 10px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: var(--erp-ui-radius);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

/* line 224, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-release-option input {
  margin: 0;
}

/* line 225, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-release-option:has(input:disabled) {
  opacity: .55;
  cursor: not-allowed;
}

/* line 228, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-release-result {
  display: inline-block;
  margin: 0 0 8px;
  padding: 4px 10px;
  border: 2px solid var(--erp-ui-good);
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-good-soft);
  color: var(--erp-ui-good-text);
  font-weight: 700;
}

/* line 238, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-release-result.is-released_with_comments {
  border-color: var(--erp-ui-warning);
  background: var(--erp-ui-warning-soft);
  color: var(--erp-ui-warning-text);
}

/* line 244, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-release-result.is-not_released {
  border-color: var(--erp-ui-critical);
  background: var(--erp-ui-critical-soft);
  color: var(--erp-ui-critical-text);
}

/* line 253, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-release-notes {
  margin: 4px 0 0;
}

/* line 254, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-release-field:has(input[value="released"]:checked) .ck-release-notes {
  display: none;
}

/* line 255, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-release-notes-read {
  margin: 0 0 8px;
  white-space: pre-line;
}

/* line 257, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-bulletin {
  margin: 0 0 14px;
  padding: 12px 16px;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-surface);
}

/* line 265, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-bulletin-number {
  margin: 0 0 8px;
  font-size: 13px;
  color: var(--erp-ui-ink-2);
}

/* line 267, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-ident-read {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 8px 14px;
  margin: 0;
}

/* line 273, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-ident-read dt {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--erp-ui-ink-3);
}

/* line 274, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-ident-read dd {
  margin: 0;
  font-size: 14px;
  color: var(--erp-ui-ink);
}

/* line 277, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-divergence {
  display: block;
  font-size: 12px;
  color: var(--erp-ui-warning-text);
}

/* line 283, app/assets/stylesheets/components/_checklist_fill.scss */
.erp-ui.checklists-module .ck-witness-read {
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
  font-size: 13px;
}

/* line 234, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-fill-foot {
  position: sticky;
  bottom: 0;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
  justify-content: space-between;
  margin-top: 14px;
  padding: 12px 16px;
  box-shadow: var(--erp-ui-shadow);
}

/* line 247, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-fill-foot .status {
  margin: 0;
  font-size: 12.5px;
  color: var(--erp-ui-ink-3);
  flex: 1 1 280px;
}

/* line 248, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-fill-foot .acts {
  display: flex;
  gap: 8px;
}

/* line 252, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module table.data tr.ck-row-nc td {
  background: var(--erp-ui-critical-wash);
}

/* line 256, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module table.data.ck-answers {
  table-layout: fixed;
}

/* line 259, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module table.data.ck-answers th:nth-child(1) {
  width: 60px;
}

/* line 260, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module table.data.ck-answers td:first-child {
  white-space: nowrap;
}

/* line 261, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module table.data.ck-answers th:nth-child(3) {
  width: 180px;
}

/* line 262, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module table.data.ck-answers th:nth-child(4) {
  width: 32%;
}

/* line 263, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module table.data.ck-answers td {
  overflow-wrap: anywhere;
}

/* line 267, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-link-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 0 0 10px;
}

/* line 274, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-link-row input {
  flex: 1 1 320px;
}

/* line 275, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-link-row .field-hint {
  flex: 1 1 100%;
  margin: 0;
}

/* line 278, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-invite-form {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: flex-end;
}

/* line 284, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-invite-form .field {
  margin: 0;
  flex: 0 1 260px;
}

/* line 288, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-panel-title {
  margin: 0 0 8px;
  font-size: 15px;
  font-weight: 700;
  color: var(--erp-ui-ink);
}

/* line 295, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-decision-acts {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 8px;
}

/* line 302, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-signature-image {
  display: block;
  max-width: 320px;
  max-height: 120px;
  margin-bottom: 8px;
}

/* line 309, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-approver {
  margin: 0 0 6px;
}

/* line 311, app/assets/stylesheets/components/checklists_module.scss */
.erp-ui.checklists-module .ck-digest {
  font-size: 11px;
  word-break: break-all;
}

@media (max-width: 900px) {
  /* line 320, app/assets/stylesheets/components/checklists_module.scss */
  .erp-ui.checklists-module .ck-rows-head {
    display: none;
  }
  /* line 322, app/assets/stylesheets/components/checklists_module.scss */
  .erp-ui.checklists-module .ck-rows-items .ck-row-grid,
.erp-ui.checklists-module .ck-rows-where .ck-row-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  /* line 327, app/assets/stylesheets/components/checklists_module.scss */
  .erp-ui.checklists-module .ck-row-label {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    display: block;
    font-size: 11px;
    color: var(--erp-ui-ink-3);
  }
  /* line 128, app/assets/stylesheets/components/_checklist_fill.scss */
  .erp-ui.checklists-module .ck-item {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "text" "answer" "obs" "photo";
  }
  /* line 137, app/assets/stylesheets/components/_checklist_fill.scss */
  .erp-ui.checklists-module .ck-choice {
    display: flex;
  }
  /* line 138, app/assets/stylesheets/components/_checklist_fill.scss */
  .erp-ui.checklists-module .ck-choice-btn {
    flex: 1 1 0;
  }
}
/* line 16, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .ct-actions {
  display: flex;
  align-items: center;
  gap: 12px 18px;
  flex-wrap: wrap;
  padding: 12px 16px;
}

/* line 23, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .ct-actions-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

/* line 29, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .ct-actions-meta .sep {
  color: var(--erp-ui-ink-3);
  font-size: 12px;
}

/* line 33, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .ct-actions-flow {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

/* line 39, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .ct-actions-record {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

/* line 46, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .ct-actions .btn .erp-icon {
  width: 15px;
  height: 15px;
}

/* line 55, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .ct-actions .btn[disabled],
.erp-ui.contracts-module .ct-actions .btn[aria-disabled="true"] {
  opacity: .55;
  cursor: not-allowed;
}

/* line 60, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .ct-closed {
  font-size: 13px;
  color: var(--erp-ui-ink-2);
  display: inline-flex;
  gap: 6px;
  align-items: center;
}

/* line 70, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .ct-facts {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--erp-ui-hairline);
}

/* line 76, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .ct-fact {
  padding: 10px 16px;
  border-right: 1px solid var(--erp-ui-hairline);
  min-width: 0;
}

/* line 81, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .ct-fact:last-child {
  border-right: 0;
}

/* line 84, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .ct-fact .lbl {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--erp-ui-ink-3);
}

/* line 92, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .ct-fact .val {
  display: block;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--erp-ui-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 101, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .ct-fact .val a {
  color: var(--erp-ui-accent);
  text-decoration: none;
}

/* line 105, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .ct-fact .val a:hover {
  text-decoration: underline;
}

/* line 108, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .ct-fact .sub {
  display: block;
  font-size: 12px;
  color: var(--erp-ui-ink-2);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 118, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .ficha-tabs-card {
  margin-top: 14px;
}

/* line 123, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .tab-panel .an-section {
  margin-top: 14px;
}

/* line 126, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .tab-panel .an-section:first-child {
  margin-top: 0;
}

/* line 129, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .ct-tabbody {
  padding: 16px;
}

/* line 132, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .ct-section-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

/* line 140, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .sig-card {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 0;
}

/* line 145, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .sig-main {
  padding: 11px 14px;
  border-right: 1px solid var(--erp-ui-hairline);
}

/* line 149, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .sig-doc {
  padding: 11px 14px;
  border-right: 1px solid var(--erp-ui-hairline);
}

/* line 153, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .sig-doc:last-child {
  border-right: 0;
}

/* line 156, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .sig-doc .lbl {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--erp-ui-ink-3);
  display: block;
  margin-bottom: 4px;
}

/* line 165, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .sig-doc .name {
  font-weight: 600;
  font-size: 13.5px;
}

/* line 169, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .sig-doc .meta {
  font-size: 11.5px;
  color: var(--erp-ui-ink-2);
  margin: 2px 0 6px;
}

/* line 174, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .sig-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
  margin: 8px 0;
  font-size: 12px;
  line-height: 1.3;
  color: var(--erp-ui-ink-2);
}

/* line 184, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .sig-chips b {
  color: var(--erp-ui-ink);
  font-weight: 600;
}

/* line 188, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .sig-next {
  font-size: 12.5px;
  line-height: 1.4;
  color: var(--erp-ui-ink-2);
  margin: 0 0 8px;
  padding: 7px 9px;
  background: var(--erp-ui-surface-2);
  border-radius: 6px;
  border: 1px solid var(--erp-ui-hairline);
}

/* line 198, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .sig-next b {
  color: var(--erp-ui-ink);
}

/* line 201, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .sig-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

/* line 208, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .sig-rows {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* line 213, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .sig-row {
  display: grid;
  grid-template-columns: 1fr 1.2fr 32px;
  gap: 8px;
  align-items: center;
}

@media (max-width: 1080px) {
  /* line 226, app/assets/stylesheets/components/contracts_module.scss */
  .erp-ui.contracts-module .ct-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  /* line 229, app/assets/stylesheets/components/contracts_module.scss */
  .erp-ui.contracts-module .ct-fact:nth-child(3n) {
    border-right: 0;
  }
  /* line 232, app/assets/stylesheets/components/contracts_module.scss */
  .erp-ui.contracts-module .sig-card {
    grid-template-columns: 1fr;
  }
  /* line 235, app/assets/stylesheets/components/contracts_module.scss */
  .erp-ui.contracts-module .sig-main,
.erp-ui.contracts-module .sig-doc {
    border-right: 0;
    border-bottom: 1px solid var(--erp-ui-hairline);
  }
}

@media (max-width: 640px) {
  /* line 242, app/assets/stylesheets/components/contracts_module.scss */
  .erp-ui.contracts-module .ct-facts {
    grid-template-columns: 1fr 1fr;
  }
  /* line 245, app/assets/stylesheets/components/contracts_module.scss */
  .erp-ui.contracts-module .ct-actions-record {
    margin-left: 0;
  }
}

/* line 272, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .radio-row {
  display: flex;
  gap: 18px;
  align-items: center;
  font-size: 13.5px;
}

/* line 278, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .radio-row label {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  margin-bottom: 0;
}

/* line 286, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .item-rows {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* line 292, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .item-row {
  display: grid;
  grid-template-columns: 1fr 90px 32px;
  gap: 8px;
  align-items: end;
}

/* line 302, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .item-row .item-patrimonies {
  grid-column: 1 / -1;
  border: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
}

/* line 309, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .item-row .item-patrimonies > legend {
  float: none;
  width: auto;
  margin: 0;
  padding: 0;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--erp-ui-ink-2);
}

/* line 331, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .item-row.item-row--wide {
  grid-template-columns: 3fr 90px 110px 110px 32px;
}

/* line 342, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .item-row.item-row--wide > * {
  min-width: 0;
}

/* line 346, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .modal-actions-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 10px;
}

/* line 353, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .fiscal-block {
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 6px;
  padding: 10px 12px;
  margin-top: 8px;
}

/* line 359, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .fiscal-block .t {
  font-weight: 600;
  font-size: 13px;
  display: flex;
  gap: 8px;
  align-items: center;
}

/* line 367, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .fiscal-block p {
  margin: 6px 0 0;
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
}

/* line 388, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .field-unit input[inputmode="decimal"] {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* line 412, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module table.data tfoot tr:last-child > td {
  padding: 10px 12px;
  border-top: 1px solid var(--erp-ui-hairline-strong);
  background: var(--erp-ui-surface-2);
  font-weight: 600;
  color: var(--erp-ui-ink);
  border-bottom: 1px solid var(--erp-ui-hairline-strong);
}

/* line 430, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module table.data tfoot .sub {
  display: inline;
  margin-left: 8px;
  font-weight: 400;
  color: var(--erp-ui-ink-3);
}

/* line 437, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module table.data tfoot td.num {
  font-variant-numeric: tabular-nums;
}

/* line 449, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module table.data td .sub.sub-1l {
  display: block;
  max-width: 34ch;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 461, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .item-row .item-total .item-total-valor {
  text-align: right;
  font-weight: 700;
  color: var(--erp-ui-ink);
  font-variant-numeric: tabular-nums;
  background: var(--erp-ui-surface-2);
  -webkit-text-fill-color: var(--erp-ui-ink);
  opacity: 1;
}

/* line 475, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .field .opt.opt-sem-caixa {
  grid-template-columns: 1fr;
}

/* line 482, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .resumo-cobranca {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 4px;
}

/* line 488, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .resumo-cobranca .resumo-item {
  padding: 10px 12px;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 6px;
  background: var(--erp-ui-surface-2);
}

/* line 495, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .resumo-cobranca .resumo-rotulo {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--erp-ui-ink-3);
}

/* line 504, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .resumo-cobranca .resumo-valor {
  display: block;
  margin-top: 2px;
  font-size: 18px;
  font-weight: 700;
  color: var(--erp-ui-ink);
  font-variant-numeric: tabular-nums;
}

/* line 513, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .resumo-cobranca .resumo-item.destaque {
  border-color: var(--erp-ui-hairline-strong);
  background: var(--erp-ui-accent-soft);
}

/* line 517, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .resumo-cobranca .resumo-item.destaque .resumo-valor {
  color: var(--erp-ui-accent);
  font-size: 20px;
}

@media (max-width: 640px) {
  /* line 522, app/assets/stylesheets/components/contracts_module.scss */
  .erp-ui.contracts-module .resumo-cobranca {
    grid-template-columns: 1fr;
  }
}

/* line 532, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .recebimento {
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 6px;
  padding: 12px 14px;
  margin-top: 4px;
}

/* line 538, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .recebimento .recebimento-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

/* line 545, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .recebimento .recebimento-head .sub-h {
  margin: 0;
}

/* line 548, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .recebimento .recebimento-meta {
  margin: 2px 0 0;
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 554, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .recebimento .recebimento-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: none;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--erp-ui-accent);
  text-decoration: none;
}

/* line 564, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .recebimento .recebimento-link:hover {
  text-decoration: underline;
}

/* line 565, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .recebimento .recebimento-link:focus-visible {
  outline: 2px solid var(--erp-ui-accent);
  outline-offset: 2px;
  border-radius: 4px;
}

/* line 566, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .recebimento .recebimento-link .erp-icon {
  width: 14px;
  height: 14px;
}

/* line 569, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .recebimento .recebimento-valores {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

/* line 576, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .recebimento .recebimento-valor .rv-rotulo {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--erp-ui-ink-3);
}

/* line 585, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .recebimento .recebimento-valor .rv-numero {
  display: block;
  margin-top: 1px;
  font-size: 14px;
  color: var(--erp-ui-ink-2);
  font-variant-numeric: tabular-nums;
}

/* line 594, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .recebimento .recebimento-valor.destaque .rv-numero {
  font-size: 19px;
  font-weight: 700;
  color: var(--erp-ui-ink);
}

/* line 602, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .recebimento .recebimento-nota {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 10px 0 0;
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 610, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .recebimento .recebimento-nota .erp-icon {
  width: 13px;
  height: 13px;
  flex: none;
}

@media (max-width: 640px) {
  /* line 615, app/assets/stylesheets/components/contracts_module.scss */
  .erp-ui.contracts-module .recebimento .recebimento-valores {
    grid-template-columns: 1fr;
  }
}

/* line 628, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .pill-com-detalhe {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* line 634, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .pop-i {
  width: 16px;
  height: 16px;
  flex: none;
  padding: 0;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 999px;
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink-3);
  font-size: 10px;
  font-weight: 700;
  font-style: italic;
  line-height: 1;
  cursor: pointer;
}

/* line 649, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .pop-i:hover {
  color: var(--erp-ui-accent);
  border-color: var(--erp-ui-accent);
}

/* line 651, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .pop-i:focus-visible {
  outline: none;
  border-color: var(--erp-ui-accent);
  box-shadow: 0 0 0 3px var(--erp-ui-accent-soft);
}

/* line 666, app/assets/stylesheets/components/contracts_module.scss */
.popover.detalhe-faturamento {
  position: fixed;
  top: auto;
  right: auto;
  z-index: 1100050;
  width: 260px;
  max-width: 86vw;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: var(--erp-ui-radius);
  box-shadow: var(--erp-ui-shadow-overlay);
  padding: 12px 14px;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--erp-ui-ink-2);
  font-family: inherit;
  display: none;
}

/* line 686, app/assets/stylesheets/components/contracts_module.scss */
.popover.detalhe-faturamento.is-open {
  display: block;
}

/* line 688, app/assets/stylesheets/components/contracts_module.scss */
.popover.detalhe-faturamento h4 {
  margin: 0 0 6px;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--erp-ui-ink);
}

/* line 696, app/assets/stylesheets/components/contracts_module.scss */
.popover.detalhe-faturamento .df-secao {
  margin: 8px 0 3px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--erp-ui-ink-3);
}

/* line 705, app/assets/stylesheets/components/contracts_module.scss */
.popover.detalhe-faturamento .df-linha,
.popover.detalhe-faturamento .df-total {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 2px;
  font-size: 12.5px;
  font-variant-numeric: tabular-nums;
}

/* line 715, app/assets/stylesheets/components/contracts_module.scss */
.popover.detalhe-faturamento .df-total {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--erp-ui-hairline);
  font-weight: 700;
  color: var(--erp-ui-ink);
}

/* line 724, app/assets/stylesheets/components/contracts_module.scss */
.popover.detalhe-faturamento .df-saldo {
  margin-top: 2px;
  padding-top: 0;
  border-top: 0;
  color: var(--erp-ui-warning-text);
}

/* line 731, app/assets/stylesheets/components/contracts_module.scss */
.popover.detalhe-faturamento .df-vazio {
  margin: 6px 0 0;
  color: var(--erp-ui-ink-3);
}

/* line 740, app/assets/stylesheets/components/contracts_module.scss */
.popover.detalhe-faturamento.lista-envios {
  width: 280px;
}

/* line 743, app/assets/stylesheets/components/contracts_module.scss */
.popover.detalhe-faturamento.lista-envios .env {
  padding: 7px 0;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 747, app/assets/stylesheets/components/contracts_module.scss */
.popover.detalhe-faturamento.lista-envios .env:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

/* line 751, app/assets/stylesheets/components/contracts_module.scss */
.popover.detalhe-faturamento.lista-envios .env-quem {
  margin: 0;
  font-weight: 600;
  color: var(--erp-ui-ink);
  overflow-wrap: anywhere;
}

/* line 758, app/assets/stylesheets/components/contracts_module.scss */
.popover.detalhe-faturamento.lista-envios .env-nome {
  margin: 1px 0 0;
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
}

/* line 764, app/assets/stylesheets/components/contracts_module.scss */
.popover.detalhe-faturamento.lista-envios .env-quando {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 3px 0 0;
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
  font-variant-numeric: tabular-nums;
}

/* line 779, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .sig-resumo {
  margin: 0 0 12px;
  font-size: 13.5px;
  color: var(--erp-ui-ink);
}

/* line 785, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .sig-linha {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 10px 14px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 793, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .sig-linha:last-child {
  border-bottom: 0;
}

/* line 797, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .sig-nome {
  margin: 0;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--erp-ui-ink);
}

/* line 804, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .sig-email {
  margin: 1px 0 0;
  font-size: 12px;
  color: var(--erp-ui-ink-3);
  overflow-wrap: anywhere;
}

/* line 811, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .sig-linha-estado {
  text-align: right;
}

/* line 813, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .sig-quando {
  margin: 3px 0 0;
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
}

@media (max-width: 640px) {
  /* line 820, app/assets/stylesheets/components/contracts_module.scss */
  .erp-ui.contracts-module .sig-linha {
    grid-template-columns: 1fr;
  }
  /* line 823, app/assets/stylesheets/components/contracts_module.scss */
  .erp-ui.contracts-module .sig-linha .sig-linha-estado {
    text-align: left;
  }
}

/* line 839, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .svc-os {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin-top: 3px;
}

/* line 858, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module a.svc-os-link {
  background: var(--erp-ui-blue-soft);
  color: var(--erp-ui-blue-text);
  border: 1px solid var(--erp-ui-blue-soft);
  text-decoration: none;
  font-variant-numeric: tabular-nums;
  transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}

/* line 866, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module a.svc-os-link .ico {
  width: 13px;
  height: 13px;
  flex: 0 0 auto;
}

/* line 872, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module a.svc-os-link:hover {
  background: var(--erp-ui-blue-text);
  border-color: var(--erp-ui-blue-text);
  color: var(--erp-ui-blue-ink);
  text-decoration: underline;
}

/* line 879, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module a.svc-os-link:focus-visible {
  outline: 2px solid var(--erp-ui-blue-text);
  outline-offset: 2px;
  text-decoration: underline;
}

/* line 886, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .svc-os-date {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--erp-ui-ink-3);
  font-variant-numeric: tabular-nums;
}

/* line 894, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .svc-os-date .ico {
  width: 13px;
  height: 13px;
  flex: 0 0 auto;
}

/* line 914, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module table.data tr.row-warning {
  background: var(--erp-ui-warning-wash);
}

/* line 920, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module table.data tr.row-warning > td:first-child {
  box-shadow: inset 3px 0 0 var(--erp-ui-warning);
}

/* line 924, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module table.data tr.row-warning .form-control {
  border-color: var(--erp-ui-warning);
}

/* line 939, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .prebilling-equipments-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

/* line 947, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module table.data th.col-chev,
.erp-ui.contracts-module table.data td.col-chev {
  width: 34px;
  padding-left: 0;
  padding-right: 0;
  text-align: center;
}

/* line 957, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .prebilling-group-chev {
  width: 26px;
  height: 26px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--erp-ui-ink-2);
  cursor: pointer;
}

/* line 969, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .prebilling-group-chev::before {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateX(-1px) rotate(-45deg);
  transition: transform .15s ease;
}

/* line 979, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .prebilling-group-chev:hover {
  border-color: var(--erp-ui-hairline-strong);
  color: var(--erp-ui-ink);
}

/* line 981, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .prebilling-group-chev:focus-visible {
  outline: none;
  border-color: var(--erp-ui-accent);
  box-shadow: 0 0 0 3px var(--erp-ui-accent-soft);
}

/* line 988, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module table.data tr.prebilling-group.is-open > td {
  background: var(--erp-ui-surface-2);
}

/* line 989, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module table.data tr.prebilling-group.is-open .prebilling-group-chev::before {
  transform: translateY(-1px) rotate(45deg);
}

/* line 992, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module table.data tr.prebilling-unit.is-grouped > td:nth-child(3) {
  padding-left: 28px;
}

/* line 994, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module table.data tr.prebilling-group-tools > td {
  padding: 0;
  background: var(--erp-ui-surface-2);
}

/* line 1001, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .prebilling-group-tools-body {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 8px 12px 10px 72px;
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
}

/* line 1010, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .prebilling-group-tools-body label {
  display: inline;
  margin: 0;
  font-weight: 500;
  color: var(--erp-ui-ink-2);
}

/* line 1017, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .prebilling-group-tools-body input.form-control {
  width: 150px;
  flex: 0 0 150px;
}

/* line 1024, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module table.data tr.prebilling-group > td:nth-child(3),
.erp-ui.contracts-module table.data tr.prebilling-unit > td:nth-child(3) {
  min-width: 200px;
}

/* line 1029, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module table.data tr.prebilling-unit.is-grouped .prebilling-unit-of {
  display: none;
}

/* line 1031, app/assets/stylesheets/components/contracts_module.scss */
.erp-ui.contracts-module .prebilling-group-tools-error {
  color: var(--erp-ui-critical-text);
  font-weight: 600;
}

@media (max-width: 640px) {
  /* line 1037, app/assets/stylesheets/components/contracts_module.scss */
  .erp-ui.contracts-module table.data tr.prebilling-unit.is-grouped > td:nth-child(3) {
    padding-left: 12px;
  }
  /* line 1038, app/assets/stylesheets/components/contracts_module.scss */
  .erp-ui.contracts-module .prebilling-group-tools-body {
    padding-left: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  /* line 1042, app/assets/stylesheets/components/contracts_module.scss */
  .erp-ui.contracts-module .prebilling-group-chev::before {
    transition: none;
  }
}
/* Gráfico CSS Puro (sem dependência de Chart.js) */

.css-chart {
  padding: 20px;
}

.chart-bar {
  margin-bottom: 20px;
}

.chart-label {
  display: flex;
  justify-content: space-between;
  margin-bottom: 8px;
  font-size: 14px;
}

.label-text {
  font-weight: 600;
  color: #2c3e50;
}

.label-value {
  font-weight: 500;
  color: #6c757d;
}

.chart-bar-container {
  background: #e9ecef;
  border-radius: 8px;
  height: 32px;
  overflow: hidden;
  position: relative;
}

.chart-bar-fill {
  height: 100%;
  border-radius: 8px;
  transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 12px;
  color: white;
  font-weight: 600;
  font-size: 13px;
  box-shadow: inset 0 -2px 4px rgba(0,0,0,0.1);
}

.chart-bar-fill:hover {
  filter: brightness(1.1);
}

/* Animação de entrada */
@keyframes fillBar {
  from {
    width: 0 !important;
  }
}

.chart-bar-fill {
  animation: fillBar 1s ease-out;
}

/* Responsividade */
@media (max-width: 576px) {
  .chart-label {
    font-size: 12px;
  }
  
  .chart-bar-container {
    height: 28px;
  }
  
  .label-value {
    font-size: 11px;
  }
}

/* line 16, app/assets/stylesheets/components/custom_report_module.scss */
.erp-ui.custom-report-module .rp-definicao {
  padding: 12px 14px;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-surface-2);
}

/* line 23, app/assets/stylesheets/components/custom_report_module.scss */
.erp-ui.custom-report-module .rp-definicao-texto {
  margin: 0;
  font-size: 13px;
  color: var(--erp-ui-ink-2);
}

/* line 29, app/assets/stylesheets/components/custom_report_module.scss */
.erp-ui.custom-report-module .rp-filtros {
  margin: 8px 0 0;
  padding-left: 18px;
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 35, app/assets/stylesheets/components/custom_report_module.scss */
.erp-ui.custom-report-module .rp-filtros li + li {
  margin-top: 2px;
}

/* line 40, app/assets/stylesheets/components/custom_report_module.scss */
.erp-ui.custom-report-module .rp-comparacao {
  margin: 8px 0 0;
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
}

/* line 49, app/assets/stylesheets/components/custom_report_module.scss */
.erp-ui.custom-report-module .data td.num,
.erp-ui.custom-report-module .data th.num {
  font-variant-numeric: tabular-nums;
}
@charset "UTF-8";
/* line 27, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module {
  --dash-accent: #1c5cab;
  --dash-accent-soft: rgba(28, 92, 171, 0.08);
  --dash-hairline: var(--gray-200, #e9ecef);
  --dash-hairline-strong: var(--gray-400, #ced4da);
  --dash-ink: var(--gray-900, #212529);
  --dash-ink-2: var(--gray-700, #495057);
  --dash-ink-3: var(--gray-600, #6c757d);
  --dash-surface-2: var(--gray-100, #f8f9fa);
  --dash-critical: var(--color-danger, #dc3545);
  --dash-critical-text: #b51f2e;
  --dash-critical-soft: var(--color-danger-light, #f8d7da);
  --dash-warning-text: #8a5a00;
  --dash-warning-soft: var(--color-warning-light, #fff3cd);
  --dash-good-text: var(--color-success-dark, #218838);
  --dash-good-soft: var(--color-success-light, #d4edda);
}

/* line 48, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-section {
  margin-top: 24px;
}

/* line 51, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-section:first-of-type {
  margin-top: 0;
}

/* line 56, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-section-head {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

/* line 64, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-section-title {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--dash-ink);
}

/* line 72, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-section-sub {
  font-size: 12.5px;
  color: var(--dash-ink-3);
}

/* line 77, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--dash-ink-3);
  margin: 0 0 8px;
}

/* line 85, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-eyebrow .dash-eyebrow-ctx {
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--dash-ink-3);
  text-transform: none;
}

/* line 97, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-period-bar .dashboard-period-filters {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

/* line 105, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-segmented {
  display: flex;
  gap: 2px;
  padding: 3px;
  background: var(--dash-surface-2);
  border: 1px solid var(--dash-hairline);
  border-radius: 8px;
  overflow-x: auto;
}

/* line 115, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-seg-btn {
  border: 0;
  background: transparent;
  color: var(--dash-ink-2);
  padding: 5px 13px;
  border-radius: 6px;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 500;
  transition: background 0.12s, color 0.12s;
  line-height: 1.4;
}

/* line 127, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-seg-btn:hover, .erp-dashboard-module .dash-seg-btn:focus {
  color: var(--dash-ink);
  text-decoration: none;
}

/* line 133, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-seg-btn[aria-pressed="true"] {
  background: var(--dash-accent);
  color: #fff;
}

/* line 139, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-custom-range {
  display: none;
  align-items: center;
  gap: 8px;
  margin: 0;
}

/* line 145, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-custom-range input[type="date"] {
  height: 31px;
  width: auto;
  flex: 0 0 auto;
}

/* line 152, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module.dashboard-period-filters.custom-period-active .dash-custom-range,
.erp-dashboard-module .dashboard-period-filters.custom-period-active .dash-custom-range {
  display: flex;
}

/* line 157, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-seg-apply {
  white-space: nowrap;
  border: 0;
  background: var(--dash-accent);
  color: #fff;
  border-radius: 6px;
  padding: 5px 14px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  cursor: pointer;
}

/* line 169, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-seg-apply:hover, .erp-dashboard-module .dash-seg-apply:focus {
  background: var(--dash-accent);
  filter: brightness(1.1);
  color: #fff;
}

/* line 177, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-freshness {
  font-size: 12px;
  color: var(--dash-ink-3);
  margin-left: auto;
}

/* line 186, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-card {
  overflow: hidden;
}

/* line 190, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-tabs {
  border-bottom: 1px solid var(--dash-hairline);
  flex-wrap: nowrap;
  overflow-x: auto;
  margin: 0;
}

/* line 197, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-tab.nav-link {
  border: 0;
  border-bottom: 2px solid transparent;
  color: var(--dash-ink-2);
  padding: 12px 16px 10px;
  font-size: 13.5px;
  font-weight: 500;
  white-space: nowrap;
  border-radius: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 210, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-tab.nav-link:hover {
  color: var(--dash-ink);
  border-color: transparent;
}

/* line 215, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-tab.nav-link.active {
  color: var(--dash-ink);
  font-weight: 600;
  border-color: var(--dash-accent);
  background: transparent;
}

/* line 223, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-count {
  display: inline-flex;
  align-items: center;
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1;
  padding: 3px 7px;
  border-radius: 999px;
  background: var(--dash-surface-2);
  color: var(--dash-ink-2);
  border: 1px solid var(--dash-hairline);
  font-variant-numeric: tabular-nums;
}

/* line 236, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-count.dash-count-critical {
  background: var(--dash-critical-soft);
  color: var(--dash-critical-text);
  border-color: transparent;
}

/* line 242, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-count.dash-count-warning {
  background: var(--dash-warning-soft);
  color: var(--dash-warning-text);
  border-color: transparent;
}

/* line 250, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-tab-content .tab-pane {
  padding: 0;
}

/* line 255, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-panel-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 16px;
  font-size: 12.5px;
  color: var(--dash-ink-3);
  border-top: 1px solid var(--dash-hairline);
  background: var(--dash-surface-2);
}

/* line 267, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-panel-foot a {
  font-weight: 600;
  text-decoration: none;
}

/* line 271, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-panel-foot a:hover {
  text-decoration: underline;
}

/* line 277, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-empty-state {
  text-align: center;
  padding: 32px 16px;
  color: var(--dash-ink-3);
}

/* line 282, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-empty-state i {
  font-size: 1.75rem;
  color: var(--erp-success, #27ae60);
  margin-bottom: 8px;
  display: block;
}

/* line 289, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-empty-state p {
  margin: 0;
}

/* line 295, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-empty-state.dash-empty-state-neutral i {
  color: var(--dash-ink-3);
}

/* line 303, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .table-scroll {
  overflow-x: auto;
}

/* line 308, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-table thead th {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--dash-ink-3);
  background: var(--dash-surface-2);
}

/* line 317, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-table .cell-main {
  font-weight: 600;
  display: block;
}

/* line 322, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-table .cell-sub {
  color: var(--dash-ink-3);
  font-size: 12px;
  display: block;
}

/* line 328, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-table td.num,
.erp-dashboard-module .dash-table th.num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* line 338, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1;
  padding: 4px 8px;
  border-radius: 999px;
  white-space: nowrap;
}

/* line 349, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-pill.dash-pill-critical {
  background: var(--dash-critical-soft);
  color: var(--dash-critical-text);
}

/* line 354, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-pill.dash-pill-warning {
  background: var(--dash-warning-soft);
  color: var(--dash-warning-text);
}

/* line 359, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-pill.dash-pill-good {
  background: var(--dash-good-soft);
  color: var(--dash-good-text);
}

/* line 364, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-pill.dash-pill-neutral {
  background: var(--dash-surface-2);
  color: var(--dash-ink-2);
  border: 1px solid var(--dash-hairline);
}

/* line 371, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-row-action {
  display: inline-block;
  border: 1px solid var(--dash-hairline-strong);
  background: #fff;
  color: var(--dash-accent);
  font-size: 12.5px;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 6px;
  white-space: nowrap;
  text-decoration: none;
}

/* line 383, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-row-action:hover {
  border-color: var(--dash-accent);
  background: var(--dash-accent-soft);
  color: var(--dash-accent);
  text-decoration: none;
}

/* line 394, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi-groups {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* line 400, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

@media (max-width: 991.98px) {
  /* line 400, app/assets/stylesheets/components/dashboard_redesign.scss */
  .erp-dashboard-module .dash-kpi-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 575.98px) {
  /* line 400, app/assets/stylesheets/components/dashboard_redesign.scss */
  .erp-dashboard-module .dash-kpi-grid {
    grid-template-columns: 1fr;
  }
}

/* line 414, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi {
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  position: relative;
}

/* line 430, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi.good {
  background: var(--erp-ui-good-wash);
  border-color: var(--erp-ui-hairline);
}

/* line 434, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi.warning {
  background: var(--erp-ui-warning-wash);
  border-color: var(--erp-ui-hairline);
}

/* line 438, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi.critical {
  background: var(--erp-ui-critical-wash);
  border-color: var(--erp-ui-hairline);
}

/* line 447, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi.good .dash-kpi-context, .erp-dashboard-module .dash-kpi.warning .dash-kpi-context, .erp-dashboard-module .dash-kpi.critical .dash-kpi-context {
  color: var(--dash-ink-2);
}

/* line 454, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi-label {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--dash-ink-2);
}

/* line 467, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  flex: none;
  background: var(--erp-ui-hairline-strong);
}

/* line 474, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi.good .dash-kpi-dot {
  background: var(--erp-ui-good);
}

/* line 475, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi.warning .dash-kpi-dot {
  background: var(--erp-ui-warning);
}

/* line 476, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi.critical .dash-kpi-dot {
  background: var(--erp-ui-critical);
}

/* line 478, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi-info {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  border: 1px solid var(--dash-hairline-strong);
  background: #fff;
  color: var(--dash-ink-3);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  display: grid;
  place-items: center;
  font-style: italic;
  font-family: var(--font-family-base);
}

/* line 496, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi-info:hover, .erp-dashboard-module .dash-kpi-info[aria-expanded="true"] {
  color: var(--dash-accent);
  border-color: var(--dash-accent);
  background: var(--dash-accent-soft);
}

/* line 504, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi-popover {
  position: absolute;
  top: 40px;
  right: 10px;
  z-index: 50;
  width: 280px;
  max-width: 86vw;
  background: #fff;
  border: 1px solid var(--dash-hairline-strong);
  border-radius: 8px;
  box-shadow: var(--erp-shadow-lg);
  padding: 12px 14px;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--dash-ink-2);
  display: none;
  font-weight: 400;
}

/* line 527, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi-popover.is-open {
  display: block;
}

/* line 531, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi-popover h4 {
  margin: 0 0 4px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--dash-ink);
}

/* line 538, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi-popover p {
  margin: 0;
}

/* line 542, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi-popover .dash-pop-how {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--dash-hairline);
}

/* line 547, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi-popover .dash-pop-how p {
  margin-top: 2px;
}

/* line 552, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi-popover .dash-pop-eyebrow {
  display: block;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--dash-ink-3);
  margin-bottom: 2px;
}

/* line 563, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi-value {
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--dash-ink);
  font-variant-numeric: tabular-nums;
}

/* line 572, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi-context {
  font-size: 12px;
  color: var(--dash-ink-3);
}

/* line 577, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi-foot {
  margin-top: 6px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

/* line 585, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-delta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

/* line 593, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-delta.dash-delta-up {
  color: var(--dash-good-text);
}

/* line 597, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-delta.dash-delta-down {
  color: var(--dash-critical-text);
}

/* line 601, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-delta .dash-delta-vs {
  color: var(--dash-ink-3);
  font-weight: 500;
}

/* line 608, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-delta.dash-delta-flat {
  color: var(--dash-ink-3);
  font-weight: 600;
}

/* line 614, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi-link {
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}

/* line 619, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi-link:hover {
  text-decoration: underline;
}

/* line 623, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-kpi-link.dash-kpi-link-danger {
  color: var(--dash-critical-text);
}

/* line 628, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar {
  height: 6px;
  border-radius: 999px;
  background: var(--dash-surface-2);
  border: 1px solid var(--dash-hairline);
  overflow: hidden;
  margin-top: 8px;
}

/* line 637, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill {
  display: block;
  height: 100%;
  background: var(--dash-accent);
  border-radius: 999px;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="0"] {
  width: 0%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="1"] {
  width: 1%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="2"] {
  width: 2%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="3"] {
  width: 3%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="4"] {
  width: 4%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="5"] {
  width: 5%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="6"] {
  width: 6%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="7"] {
  width: 7%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="8"] {
  width: 8%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="9"] {
  width: 9%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="10"] {
  width: 10%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="11"] {
  width: 11%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="12"] {
  width: 12%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="13"] {
  width: 13%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="14"] {
  width: 14%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="15"] {
  width: 15%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="16"] {
  width: 16%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="17"] {
  width: 17%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="18"] {
  width: 18%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="19"] {
  width: 19%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="20"] {
  width: 20%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="21"] {
  width: 21%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="22"] {
  width: 22%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="23"] {
  width: 23%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="24"] {
  width: 24%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="25"] {
  width: 25%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="26"] {
  width: 26%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="27"] {
  width: 27%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="28"] {
  width: 28%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="29"] {
  width: 29%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="30"] {
  width: 30%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="31"] {
  width: 31%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="32"] {
  width: 32%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="33"] {
  width: 33%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="34"] {
  width: 34%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="35"] {
  width: 35%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="36"] {
  width: 36%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="37"] {
  width: 37%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="38"] {
  width: 38%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="39"] {
  width: 39%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="40"] {
  width: 40%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="41"] {
  width: 41%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="42"] {
  width: 42%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="43"] {
  width: 43%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="44"] {
  width: 44%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="45"] {
  width: 45%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="46"] {
  width: 46%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="47"] {
  width: 47%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="48"] {
  width: 48%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="49"] {
  width: 49%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="50"] {
  width: 50%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="51"] {
  width: 51%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="52"] {
  width: 52%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="53"] {
  width: 53%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="54"] {
  width: 54%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="55"] {
  width: 55%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="56"] {
  width: 56%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="57"] {
  width: 57%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="58"] {
  width: 58%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="59"] {
  width: 59%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="60"] {
  width: 60%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="61"] {
  width: 61%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="62"] {
  width: 62%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="63"] {
  width: 63%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="64"] {
  width: 64%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="65"] {
  width: 65%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="66"] {
  width: 66%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="67"] {
  width: 67%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="68"] {
  width: 68%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="69"] {
  width: 69%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="70"] {
  width: 70%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="71"] {
  width: 71%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="72"] {
  width: 72%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="73"] {
  width: 73%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="74"] {
  width: 74%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="75"] {
  width: 75%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="76"] {
  width: 76%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="77"] {
  width: 77%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="78"] {
  width: 78%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="79"] {
  width: 79%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="80"] {
  width: 80%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="81"] {
  width: 81%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="82"] {
  width: 82%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="83"] {
  width: 83%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="84"] {
  width: 84%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="85"] {
  width: 85%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="86"] {
  width: 86%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="87"] {
  width: 87%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="88"] {
  width: 88%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="89"] {
  width: 89%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="90"] {
  width: 90%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="91"] {
  width: 91%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="92"] {
  width: 92%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="93"] {
  width: 93%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="94"] {
  width: 94%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="95"] {
  width: 95%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="96"] {
  width: 96%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="97"] {
  width: 97%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="98"] {
  width: 98%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="99"] {
  width: 99%;
}

/* line 645, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-occ-bar-fill[data-percent="100"] {
  width: 100%;
}

/* line 655, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-chart-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 16px 18px 0;
}

/* line 664, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-chart-title {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  color: var(--dash-ink);
}

/* line 671, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-chart-sub {
  display: block;
  font-size: 12px;
  color: var(--dash-ink-3);
}

/* line 677, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-chart-tools {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 686, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-chart-table {
  margin: 4px 0 6px;
}

/* line 689, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-chart-table summary {
  font-size: 12px;
  color: var(--dash-ink-3);
  cursor: pointer;
  padding: 4px 0;
  list-style: none;
}

/* line 696, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-chart-table summary::-webkit-details-marker {
  display: none;
}

/* line 700, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-chart-table summary:hover {
  color: var(--dash-accent);
}

/* line 704, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-chart-table summary::before {
  content: "▸ ";
}

/* line 709, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-chart-table[open] summary::before {
  content: "▾ ";
}

/* line 713, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-chart-table table {
  font-size: 12.5px;
}

/* line 722, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-acc details {
  border-bottom: 1px solid var(--dash-hairline);
}

/* line 725, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-acc details:last-child {
  border-bottom: 0;
}

/* line 730, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-acc summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  font-size: 14px;
  font-weight: 600;
  color: var(--dash-ink);
}

/* line 741, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-acc summary::-webkit-details-marker {
  display: none;
}

/* line 745, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-acc summary:hover {
  background: var(--dash-surface-2);
}

/* line 750, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-acc .dash-acc-hint {
  font-size: 12px;
  font-weight: 500;
  color: var(--dash-ink-3);
}

/* line 756, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-acc .dash-acc-chev {
  margin-left: auto;
  color: var(--dash-ink-3);
  font-size: 16px;
  transition: transform 0.15s;
}

/* line 763, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-acc details[open] summary .dash-acc-chev {
  transform: rotate(90deg);
}

/* line 767, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-acc .dash-acc-body {
  padding: 4px 18px 18px;
}

@media (prefers-reduced-motion: reduce) {
  /* line 773, app/assets/stylesheets/components/dashboard_redesign.scss */
  .erp-dashboard-module .dash-acc-chev {
    transition: none;
  }
}

/* line 783, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-metric-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

@media (max-width: 767.98px) {
  /* line 783, app/assets/stylesheets/components/dashboard_redesign.scss */
  .erp-dashboard-module .dash-metric-grid {
    grid-template-columns: 1fr;
  }
}

/* line 793, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-compare-card,
.erp-dashboard-module .dash-predict-card {
  border: 1px solid var(--dash-hairline);
  border-radius: 8px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* line 803, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-compare-label {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--dash-ink-2);
}

/* line 809, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-compare-value {
  font-size: 20px;
  font-weight: 700;
  color: var(--dash-ink);
  font-variant-numeric: tabular-nums;
}

/* line 816, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-compare-sub {
  font-size: 12px;
  color: var(--dash-ink-3);
}

/* line 821, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-compare-note {
  margin: 6px 0 0;
  font-size: 12px;
  color: var(--dash-ink-3);
}

/* line 827, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-predict-meta {
  list-style: none;
  margin: 10px 0 0;
  padding: 10px 0 0;
  border-top: 1px solid var(--dash-hairline);
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12.5px;
}

/* line 837, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-predict-meta li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

/* line 844, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-predict-meta li > span:first-child {
  color: var(--dash-ink-3);
}

/* line 849, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-trend-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

@media (max-width: 767.98px) {
  /* line 849, app/assets/stylesheets/components/dashboard_redesign.scss */
  .erp-dashboard-module .dash-trend-grid {
    grid-template-columns: 1fr;
  }
}

/* line 859, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-trend-item {
  border: 1px solid var(--dash-hairline);
  border-radius: 8px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* line 868, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-trend-strength {
  font-size: 12px;
  color: var(--dash-ink-3);
}

/* line 873, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-season-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 13px;
}

/* line 882, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-season-list li {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

/* line 889, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-season-list li > span:first-child {
  color: var(--dash-ink-3);
  min-width: 160px;
}

/* line 900, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-note {
  margin-top: 12px;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 12.5px;
  line-height: 1.5;
  background: var(--dash-surface-2);
  border-left: 3px solid var(--dash-hairline-strong);
  color: var(--dash-ink-2);
}

/* line 910, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-note strong {
  color: var(--dash-ink);
}

/* line 914, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-note.dash-note-warning {
  background: var(--dash-warning-soft);
  border-left-color: var(--dash-warning-text);
  color: var(--dash-warning-text);
}

/* line 919, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-note.dash-note-warning strong {
  color: inherit;
}

/* line 924, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-note.dash-note-critical {
  background: var(--dash-critical-soft);
  border-left-color: var(--dash-critical-text);
  color: var(--dash-critical-text);
}

/* line 929, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-note.dash-note-critical strong {
  color: inherit;
}

/* line 934, app/assets/stylesheets/components/dashboard_redesign.scss */
.erp-dashboard-module .dash-note.dash-note-info {
  background: var(--dash-surface-2);
  border-left-color: var(--dash-accent);
}
/* line 54, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .conv-layout {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-top: 14px;
}

/* line 64, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .conv-list {
  flex: 0 0 320px;
  width: 320px;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  overflow: hidden;
}

/* line 75, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .conv-list .panel-foot {
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 10px 14px;
}

/* line 83, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .conv-items {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 560px;
  overflow-y: auto;
  overflow-x: hidden;
}

/* line 94, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .conv-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 11px 14px;
  border-bottom: 1px solid var(--erp-ui-hairline);
  color: var(--erp-ui-ink);
  text-decoration: none;
}

/* line 103, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .conv-item:hover {
  background: var(--erp-ui-accent-soft);
  text-decoration: none;
}

/* line 109, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .conv-item:focus-visible {
  outline: 2px solid var(--erp-ui-accent);
  outline-offset: -2px;
}

/* line 117, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .conv-item.is-active {
  background: var(--erp-ui-accent-soft);
  box-shadow: inset 3px 0 0 var(--erp-ui-accent);
}

/* line 123, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .conv-avatar {
  flex: none;
  width: 34px;
  height: 34px;
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
}

/* line 137, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .conv-info {
  display: block;
  min-width: 0;
  flex: 1;
}

/* line 146, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .conv-top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

/* line 153, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .conv-mail {
  display: block;
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 162, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .conv-name {
  display: block;
  font-size: 13px;
  font-weight: 600;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 174, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .conv-last {
  display: block;
  font-size: 12px;
  color: var(--erp-ui-ink-2);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 183, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .conv-when {
  flex: none;
  font-size: 11px;
  color: var(--erp-ui-ink-3);
}

/* line 212, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .conv-thread {
  flex: 1 1 auto;
}

/* line 216, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .msg-subject {
  margin: 0 0 6px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--erp-ui-ink);
  overflow-wrap: anywhere;
}

/* line 230, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .msg-body {
  overflow-x: auto;
  overflow-y: hidden;
}

/* line 234, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .msg-body img {
  max-width: 100%;
  height: auto;
}

/* line 239, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .msg-body table {
  max-width: 100%;
}

/* line 264, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .msg-body svg:not([width]) {
  width: 60px;
  height: auto;
}

/* line 269, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .msg-body svg {
  max-width: 100%;
  max-height: 240px;
}

/* line 275, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .msg-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 9px;
  padding-top: 8px;
  border-top: 1px solid var(--erp-ui-hairline);
}

/* line 286, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .msg-trail {
  font-size: 11px;
  color: var(--erp-ui-ink-3);
}

/* line 291, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .msg-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* line 300, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .reply-box {
  padding: 13px 16px;
  border-top: 1px solid var(--erp-ui-hairline);
}

/* line 305, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .reply-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
}

/* line 312, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .conv-empty {
  padding: 30px 16px;
}

/* line 324, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .tpl-list {
  list-style: none;
  margin: 0 0 14px;
  padding: 0;
  max-height: 260px;
  overflow-y: auto;
  overflow-x: hidden;
}

/* line 335, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .tpl-item {
  display: block;
  width: 100%;
  text-align: left;
  padding: 9px 11px;
  margin-bottom: 7px;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  cursor: pointer;
}

/* line 346, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .tpl-item:hover {
  border-color: var(--erp-ui-accent);
}

/* line 350, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .tpl-item:focus-visible {
  outline: 2px solid var(--erp-ui-accent);
  outline-offset: 1px;
}

/* line 356, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .tpl-item.is-active {
  background: var(--erp-ui-accent-soft);
  border-color: var(--erp-ui-accent);
}

/* line 362, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .tpl-name {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--erp-ui-ink);
}

/* line 369, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .tpl-kind {
  display: block;
  font-size: 11px;
  color: var(--erp-ui-ink-3);
}

/* line 375, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .tpl-vars-label {
  display: block;
  margin-top: 6px;
}

/* line 380, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .tpl-vars {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}

/* line 387, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .tpl-var {
  padding: 4px 8px;
  font-size: 11px;
  font-family: monospace;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  color: var(--erp-ui-ink-2);
  cursor: pointer;
}

/* line 397, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .tpl-var:hover {
  border-color: var(--erp-ui-accent);
  color: var(--erp-ui-ink);
}

/* line 402, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .tpl-var:focus-visible {
  outline: 2px solid var(--erp-ui-accent);
  outline-offset: 1px;
}

/* line 414, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .preview-meta {
  padding: 12px 14px;
  background: var(--erp-ui-surface-2);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  margin-bottom: 12px;
}

/* line 422, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .preview-attachments {
  padding: 10px 14px;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  margin-bottom: 12px;
}

/* line 428, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .preview-attachments h3 {
  margin: 0 0 6px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--erp-ui-ink-3);
}

/* line 436, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .preview-attachments ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* line 442, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .preview-attachments li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 4px 0;
  font-size: 12.5px;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 452, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .preview-attachments li:last-child {
  border-bottom: 0;
}

/* line 457, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .att-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 463, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .att-size {
  flex: none;
  color: var(--erp-ui-ink-3);
  font-size: 11.5px;
}

/* line 469, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .preview-body {
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  overflow: hidden;
}

/* line 476, app/assets/stylesheets/components/email_module.scss */
.erp-ui.email-module .preview-body img {
  max-width: 100%;
  height: auto;
}

@media (max-width: 900px) {
  /* line 490, app/assets/stylesheets/components/email_module.scss */
  .erp-ui.email-module .conv-layout {
    flex-direction: column;
  }
  /* line 494, app/assets/stylesheets/components/email_module.scss */
  .erp-ui.email-module .conv-list {
    flex: 1 1 auto;
    width: 100%;
  }
  /* line 499, app/assets/stylesheets/components/email_module.scss */
  .erp-ui.email-module .conv-items {
    max-height: 260px;
  }
  /* line 503, app/assets/stylesheets/components/email_module.scss */
  .erp-ui.email-module .msg {
    max-width: 100%;
  }
}
@charset "UTF-8";
/* line 16, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module {
  padding: 20px;
  background-color: #f5f7fa;
  min-height: calc(100vh - 56px);
}

/* line 22, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .kpi-group-title {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--gray-600, #6c757d);
  margin: 0 0 8px;
}

/* line 31, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .erp-card-title-quiet {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--gray-700, #495057);
}

/* line 36, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .erp-card-title-quiet > i {
  color: var(--gray-600, #6c757d);
  font-size: 0.8125rem;
}

/* line 43, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .period-presets {
  display: inline-flex;
  flex-wrap: wrap;
  border: 1px solid var(--gray-300, #ced4da);
  border-radius: 6px;
  overflow: hidden;
}

/* line 50, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .period-presets .btn-period-filter {
  border: none;
  border-radius: 0;
  margin: 0;
  border-right: 1px solid var(--gray-300, #ced4da);
}

/* line 56, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .period-presets .btn-period-filter:last-child {
  border-right: none;
}

/* line 64, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .dashboard-period-filters .period-custom-control {
  display: none;
}

/* line 68, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .dashboard-period-filters.custom-period-active .period-custom-control {
  display: block;
}

/* line 72, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .dashboard-period-filters.custom-period-active .filter-actions.period-custom-control {
  display: flex;
}

/* line 79, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .analytics-card .analytics-tabs {
  padding: 8px 16px 0;
  border-bottom: 1px solid var(--gray-300, #ced4da);
}

/* line 83, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .analytics-card .analytics-tabs .nav-link {
  font-size: 0.875rem;
  font-weight: 600;
}

/* line 89, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .analytics-card .analytics-tab-content {
  padding: 16px;
}

/* line 95, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .row {
  display: flex;
  flex-wrap: wrap;
}

/* line 99, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .row > [class*="col-"] {
  display: flex;
  flex-direction: column;
}

/* line 106, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .erp-card {
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* line 111, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .erp-card .erp-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* line 130, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .erp-card .chart-container {
  width: 100%;
  min-width: 0;
}

/* line 148, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .erp-icon {
  width: 16px;
  height: 16px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* line 162, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .dash-kpi-linha {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

/* line 169, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .dash-kpi-texto {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

/* line 181, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .dash-kpi-tile {
  width: 38px;
  height: 38px;
  flex-shrink: 0;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--erp-ui-surface-2);
  border: 1px solid var(--erp-ui-hairline);
  color: var(--erp-ui-ink-2);
}

/* line 193, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .dash-kpi-tile .erp-icon {
  width: 19px;
  height: 19px;
}

/* line 199, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .dash-kpi.good .dash-kpi-tile {
  background: var(--erp-ui-good-soft);
  border-color: transparent;
  color: var(--erp-ui-good-text);
}

/* line 205, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .dash-kpi.warning .dash-kpi-tile {
  background: var(--erp-ui-warning-soft);
  border-color: transparent;
  color: var(--erp-ui-warning-text);
}

/* line 211, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .dash-kpi.critical .dash-kpi-tile {
  background: var(--erp-ui-critical-soft);
  border-color: transparent;
  color: var(--erp-ui-critical-text);
}

/* line 220, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-dashboard-module .dash-kpi.has-ico .dash-kpi-label {
  padding-right: 26px;
}

/* line 230, app/assets/stylesheets/components/erp_dashboard.scss */
.prebilling-alert-compact {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding-right: 40px;
}

/* line 237, app/assets/stylesheets/components/erp_dashboard.scss */
.prebilling-alert-compact .prebilling-alert-text {
  flex: 1 1 auto;
  min-width: 220px;
}

/* line 242, app/assets/stylesheets/components/erp_dashboard.scss */
.prebilling-alert-compact .prebilling-alert-actions {
  flex-shrink: 0;
}

/* line 248, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-card-header-compact {
  padding: 0.75rem 1rem;
}

/* line 251, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-card-header-compact .erp-card-title-compact {
  font-size: 0.95rem;
  margin: 0;
}

/* line 255, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-card-header-compact .erp-card-title-compact .badge-sm {
  font-size: 0.7rem;
  padding: 0.2rem 0.4rem;
}

/* line 263, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-card-header-compact .card-tools-compact .custom-switch-sm .custom-control-label {
  font-size: 0.875rem;
  padding-left: 0.5rem;
}

/* line 272, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list .alert-item {
  display: flex;
  align-items: center;
  padding: 1rem;
  border-bottom: 1px solid #e3e6f0;
  transition: var(--transition-fast);
}

/* line 279, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list .alert-item:last-child {
  border-bottom: none;
}

/* line 283, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list .alert-item:hover {
  background-color: #f8f9fa;
}

/* line 287, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list .alert-item .alert-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 1rem;
  flex-shrink: 0;
}

/* line 297, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list .alert-item .alert-icon i {
  font-size: 1.2rem;
}

/* line 302, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list .alert-item .alert-content {
  flex: 1;
  min-width: 0;
}

/* line 306, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list .alert-item .alert-content .alert-title {
  font-weight: 600;
  font-size: 0.95rem;
  margin-bottom: 0.25rem;
}

/* line 312, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list .alert-item .alert-content .alert-message {
  font-size: 0.875rem;
  color: #6c757d;
}

/* line 318, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list .alert-item .alert-actions {
  display: flex;
  gap: 0.5rem;
  margin-left: 1rem;
  flex-shrink: 0;
}

/* line 324, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list .alert-item .alert-actions .btn {
  font-weight: 500;
  border-radius: 4px;
  transition: all 0.2s ease;
}

/* line 329, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list .alert-item .alert-actions .btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* line 334, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list .alert-item .alert-actions .btn:active {
  transform: translateY(0);
}

/* line 342, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list .alert-item.alert-danger .alert-icon {
  background-color: var(--danger-light);
  color: var(--danger-color);
}

/* line 349, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list .alert-item.alert-warning .alert-icon {
  background-color: var(--warning-light);
  color: var(--warning-color);
}

/* line 356, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list .alert-item.alert-info .alert-icon {
  background-color: var(--info-light);
  color: var(--info-color);
}

/* line 364, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list.alerts-list-compact {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 0.75rem;
}

/* line 370, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list.alerts-list-compact .alert-item-compact {
  flex: 1 1 auto;
  min-width: 220px;
  max-width: 100%;
  padding: 0.625rem 0.875rem;
  min-height: auto;
  border-bottom: none;
  border-right: none;
  border: 1px solid #e3e6f0;
  border-radius: 4px;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

/* line 386, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list.alerts-list-compact .alert-item-compact:only-child {
  flex: 1 1 100%;
}

/* line 390, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list.alerts-list-compact .alert-item-compact:hover {
  background-color: #f8f9fa;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

/* line 395, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list.alerts-list-compact .alert-item-compact .alert-icon-compact {
  width: 28px;
  height: 28px;
  margin-right: 0;
  flex-shrink: 0;
}

/* line 401, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list.alerts-list-compact .alert-item-compact .alert-icon-compact i {
  font-size: 0.875rem;
}

/* line 406, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list.alerts-list-compact .alert-item-compact .alert-content-compact {
  flex: 1;
  min-width: 0;
}

/* line 410, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list.alerts-list-compact .alert-item-compact .alert-content-compact .alert-title-compact {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  font-size: 0.8125rem;
  line-height: 1.3;
}

/* line 417, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list.alerts-list-compact .alert-item-compact .alert-content-compact .alert-title-compact strong {
  font-weight: 600;
  color: #212529;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 425, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list.alerts-list-compact .alert-item-compact .alert-content-compact .alert-title-compact .alert-message-compact {
  font-weight: 400;
  color: #6c757d;
  font-size: 0.75rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 433, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list.alerts-list-compact .alert-item-compact .alert-content-compact .alert-title-compact .alert-message-compact::before {
  display: none;
}

/* line 440, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list.alerts-list-compact .alert-item-compact .alert-actions-compact {
  margin-left: 0;
  gap: 0.25rem;
  flex-shrink: 0;
}

/* line 445, app/assets/stylesheets/components/erp_dashboard.scss */
.alerts-list.alerts-list-compact .alert-item-compact .alert-actions-compact .btn-xs {
  padding: 0.2rem 0.4rem;
  font-size: 0.7rem;
  line-height: 1.2;
  min-width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 768px) {
  /* line 370, app/assets/stylesheets/components/erp_dashboard.scss */
  .alerts-list.alerts-list-compact .alert-item-compact {
    flex: 1 1 100%;
    border-right: none;
    border-bottom: 1px solid #e3e6f0;
  }
  /* line 463, app/assets/stylesheets/components/erp_dashboard.scss */
  .alerts-list.alerts-list-compact .alert-item-compact:last-child {
    border-bottom: none;
  }
  /* line 467, app/assets/stylesheets/components/erp_dashboard.scss */
  .alerts-list.alerts-list-compact .alert-item-compact .alert-title-compact {
    flex-direction: row;
    align-items: center;
  }
  /* line 472, app/assets/stylesheets/components/erp_dashboard.scss */
  .alerts-list.alerts-list-compact .alert-item-compact .alert-title-compact .alert-message-compact::before {
    display: inline;
    content: "•";
    margin: 0 0.375rem;
    color: #adb5bd;
  }
}

@media (max-width: 576px) {
  /* line 370, app/assets/stylesheets/components/erp_dashboard.scss */
  .alerts-list.alerts-list-compact .alert-item-compact {
    min-width: 100%;
    padding: 0.5rem 0.75rem;
  }
}

/* line 495, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-stat-card {
  background: var(--white);
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius-lg);
  padding: 1.5rem;
  transition: var(--transition-normal);
  display: flex;
  align-items: center;
  gap: 1rem;
  height: 100%;
}

/* line 506, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-stat-card:hover {
  box-shadow: var(--shadow);
  transform: translateY(-2px);
}

/* line 511, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-stat-card[title] {
  cursor: help;
}

/* line 515, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-stat-card .stat-icon {
  width: 60px;
  height: 60px;
  border-radius: var(--border-radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 524, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-stat-card .stat-icon i {
  font-size: 1.75rem;
  color: inherit;
}

/* line 530, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-stat-card .stat-content {
  flex: 1;
  min-width: 0;
}

/* line 534, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-stat-card .stat-content h3 {
  font-size: 1.75rem;
  font-weight: 700;
  margin: 0 0 0.25rem 0;
  color: #2c3e50;
}

/* line 541, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-stat-card .stat-content p {
  font-size: 0.875rem;
  color: #6c757d;
  margin: 0;
}

/* line 547, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-stat-card .stat-content .stat-trend {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  margin-top: 0.5rem;
  padding: 0.25rem 0.5rem;
  border-radius: var(--border-radius);
}

/* line 557, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-stat-card .stat-content .stat-trend.up {
  color: var(--success-color);
  background-color: var(--success-light);
}

/* line 562, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-stat-card .stat-content .stat-trend.down {
  color: var(--danger-color);
  background-color: var(--danger-light);
}

/* line 570, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-stat-card.success .stat-icon {
  background: var(--success-color);
}

/* line 574, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-stat-card.info .stat-icon {
  background: var(--info-color);
}

/* line 583, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-stat-card.primary .stat-icon {
  background: var(--primary-color);
}

/* line 587, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-stat-card.warning .stat-icon {
  background: var(--warning-color);
}

/* line 591, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-stat-card.danger .stat-icon {
  background: linear-gradient(135deg, var(--danger-color) 0%, #e74c3c 100%);
}

/* line 596, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-stat-card.filled {
  background: var(--erp-primary) !important;
  border-left-color: var(--erp-primary) !important;
  border-color: var(--erp-primary) !important;
}

/* line 602, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-stat-card.filled .stat-content h3 {
  color: var(--gray-50) !important;
}

/* line 606, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-stat-card.filled .stat-content p {
  color: rgba(255, 255, 255, 0.9) !important;
}

/* line 611, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-stat-card.filled .stat-icon {
  background: rgba(255, 255, 255, 0.2) !important;
}

/* line 614, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-stat-card.filled .stat-icon i {
  color: var(--gray-50) !important;
}

/* line 619, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-stat-card.filled.info {
  background: var(--erp-info) !important;
  border-left-color: var(--erp-info) !important;
  border-color: var(--erp-info) !important;
}

/* line 625, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-stat-card.filled.success {
  background: var(--erp-success) !important;
  border-left-color: var(--erp-success) !important;
  border-color: var(--erp-success) !important;
}

/* line 631, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-stat-card.filled.danger {
  background: var(--erp-danger) !important;
  border-left-color: var(--erp-danger) !important;
  border-color: var(--erp-danger) !important;
}

/* line 637, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-stat-card.filled.warning {
  background: var(--erp-warning) !important;
  border-left-color: var(--erp-warning) !important;
  border-color: var(--erp-warning) !important;
}

/* line 649, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-table {
  width: 100%;
  margin: 0;
  font-size: 0.875rem;
}

/* line 654, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-table thead {
  background-color: #f8f9fa;
}

/* line 657, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-table thead th {
  padding: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.5px;
  color: #6c757d;
  border-bottom: 2px solid #e3e6f0;
}

/* line 669, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-table tbody tr {
  transition: var(--transition-fast);
}

/* line 672, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-table tbody tr:hover {
  background-color: #f8f9fa;
}

/* line 676, app/assets/stylesheets/components/erp_dashboard.scss */
.erp-table tbody tr td {
  padding: 0.75rem;
  border-bottom: 1px solid #e3e6f0;
  vertical-align: middle;
}

/* line 689, app/assets/stylesheets/components/erp_dashboard.scss */
.chart-stat-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 694, app/assets/stylesheets/components/erp_dashboard.scss */
.chart-stat-item .chart-stat-icon {
  width: 40px;
  height: 40px;
  border-radius: var(--border-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 703, app/assets/stylesheets/components/erp_dashboard.scss */
.chart-stat-item .chart-stat-icon i {
  font-size: 1.2rem;
}

/* line 708, app/assets/stylesheets/components/erp_dashboard.scss */
.chart-stat-item .chart-stat-content {
  flex: 1;
  min-width: 0;
}

/* line 712, app/assets/stylesheets/components/erp_dashboard.scss */
.chart-stat-item .chart-stat-content .chart-stat-value {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

/* line 718, app/assets/stylesheets/components/erp_dashboard.scss */
.chart-stat-item .chart-stat-content .chart-stat-label {
  font-size: 0.75rem;
  color: #6c757d;
}

/* line 725, app/assets/stylesheets/components/erp_dashboard.scss */
.legend-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0;
}

/* line 731, app/assets/stylesheets/components/erp_dashboard.scss */
.legend-item .legend-color {
  width: 12px;
  height: 12px;
  border-radius: 4px;
  flex-shrink: 0;
}

/* line 738, app/assets/stylesheets/components/erp_dashboard.scss */
.legend-item .legend-label {
  flex: 1;
  font-size: 0.875rem;
  color: #6c757d;
}

/* line 744, app/assets/stylesheets/components/erp_dashboard.scss */
.legend-item .legend-value {
  font-size: 0.875rem;
  color: #2c3e50;
}

/* line 754, app/assets/stylesheets/components/erp_dashboard.scss */
.list-group-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  border: none;
  border-bottom: 1px solid #e3e6f0;
  transition: var(--transition-fast);
}

/* line 763, app/assets/stylesheets/components/erp_dashboard.scss */
.list-group-item:last-child {
  border-bottom: none;
}

/* line 767, app/assets/stylesheets/components/erp_dashboard.scss */
.list-group-item:hover {
  background-color: #f8f9fa;
  text-decoration: none;
}

/* line 772, app/assets/stylesheets/components/erp_dashboard.scss */
.list-group-item i:first-child {
  margin-right: 0.5rem;
  width: 20px;
  text-align: center;
}

/* line 778, app/assets/stylesheets/components/erp_dashboard.scss */
.list-group-item .fas.fa-chevron-right {
  opacity: 0.5;
}

@media (max-width: 768px) {
  /* line 788, app/assets/stylesheets/components/erp_dashboard.scss */
  .erp-dashboard-module {
    padding: 10px;
  }
  /* line 792, app/assets/stylesheets/components/erp_dashboard.scss */
  .erp-stat-card {
    flex-direction: column;
    text-align: center;
  }
  /* line 796, app/assets/stylesheets/components/erp_dashboard.scss */
  .erp-stat-card .stat-content {
    text-align: center;
  }
  /* line 801, app/assets/stylesheets/components/erp_dashboard.scss */
  .alert-item {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 805, app/assets/stylesheets/components/erp_dashboard.scss */
  .alert-item .alert-actions {
    margin-left: 0;
    margin-top: 0.75rem;
    width: 100%;
    justify-content: flex-end;
  }
}

/* line 818, app/assets/stylesheets/components/erp_dashboard.scss */
.comparison-item {
  border: 1px solid #dee2e6;
  border-radius: 4px;
  padding: 15px;
  background: white;
  height: 100%;
}

/* line 826, app/assets/stylesheets/components/erp_dashboard.scss */
.comparison-header h5 {
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 12px 0;
  color: #495057;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 836, app/assets/stylesheets/components/erp_dashboard.scss */
.comparison-values {
  margin-bottom: 12px;
}

/* line 840, app/assets/stylesheets/components/erp_dashboard.scss */
.value-current,
.value-previous {
  font-size: 13px;
  margin-bottom: 6px;
  color: #6c757d;
}

/* line 847, app/assets/stylesheets/components/erp_dashboard.scss */
.value-current strong,
.value-previous strong {
  color: #495057;
  margin-right: 8px;
}

/* line 853, app/assets/stylesheets/components/erp_dashboard.scss */
.comparison-trend {
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 862, app/assets/stylesheets/components/erp_dashboard.scss */
.comparison-trend.trend-up {
  background: #d4edda;
  color: #155724;
}

/* line 867, app/assets/stylesheets/components/erp_dashboard.scss */
.comparison-trend.trend-down {
  background: #f8d7da;
  color: #721c24;
}

/* line 872, app/assets/stylesheets/components/erp_dashboard.scss */
.comparison-trend strong {
  font-size: 16px;
  font-weight: 700;
}

/* line 877, app/assets/stylesheets/components/erp_dashboard.scss */
.comparison-trend .difference {
  font-size: 12px;
  opacity: 0.8;
}

/* line 886, app/assets/stylesheets/components/erp_dashboard.scss */
.trend-up {
  color: #28a745;
}

/* line 890, app/assets/stylesheets/components/erp_dashboard.scss */
.trend-down {
  color: #dc3545;
}

/* line 894, app/assets/stylesheets/components/erp_dashboard.scss */
.prediction-card {
  border: 1px solid #dee2e6;
  border-radius: 4px;
  padding: 15px;
  background: white;
  height: 100%;
  transition: box-shadow 0.2s ease;
}

/* line 903, app/assets/stylesheets/components/erp_dashboard.scss */
.prediction-card:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* line 907, app/assets/stylesheets/components/erp_dashboard.scss */
.prediction-header h5 {
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 12px 0;
  color: #495057;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 917, app/assets/stylesheets/components/erp_dashboard.scss */
.projected-value {
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #e9ecef;
}

/* line 923, app/assets/stylesheets/components/erp_dashboard.scss */
.projected-value strong {
  display: block;
  font-size: 12px;
  color: #6c757d;
  margin-bottom: 5px;
}

/* line 930, app/assets/stylesheets/components/erp_dashboard.scss */
.value-large {
  font-size: 24px;
  font-weight: 700;
  color: #2c3e50;
}

/* line 936, app/assets/stylesheets/components/erp_dashboard.scss */
.prediction-details {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* line 942, app/assets/stylesheets/components/erp_dashboard.scss */
.detail-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
}

/* line 949, app/assets/stylesheets/components/erp_dashboard.scss */
.detail-item .label {
  color: #6c757d;
}

/* line 953, app/assets/stylesheets/components/erp_dashboard.scss */
.detail-item .value {
  font-weight: 600;
  color: #495057;
}

/* line 958, app/assets/stylesheets/components/erp_dashboard.scss */
.trend-item {
  border: 1px solid #dee2e6;
  border-radius: 4px;
  padding: 15px;
  background: white;
  text-align: center;
}

/* line 966, app/assets/stylesheets/components/erp_dashboard.scss */
.trend-item.trend-overall {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border: 2px solid #6c757d;
}

/* line 971, app/assets/stylesheets/components/erp_dashboard.scss */
.trend-label {
  font-size: 12px;
  color: #6c757d;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 979, app/assets/stylesheets/components/erp_dashboard.scss */
.trend-value {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

/* line 989, app/assets/stylesheets/components/erp_dashboard.scss */
.trend-strength {
  font-size: 11px;
  color: #6c757d;
}

/* line 994, app/assets/stylesheets/components/erp_dashboard.scss */
.trends-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 15px;
}

/* line 1000, app/assets/stylesheets/components/erp_dashboard.scss */
.seasonality-info {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 15px;
  background: #f8f9fa;
  border-radius: 4px;
}

/* line 1009, app/assets/stylesheets/components/erp_dashboard.scss */
.seasonality-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
}

/* line 1016, app/assets/stylesheets/components/erp_dashboard.scss */
.seasonality-item .label {
  font-weight: 600;
  color: #495057;
}

/* line 1021, app/assets/stylesheets/components/erp_dashboard.scss */
.seasonality-item .value {
  font-weight: 600;
}

@media (max-width: 768px) {
  /* line 1026, app/assets/stylesheets/components/erp_dashboard.scss */
  .trends-grid {
    grid-template-columns: 1fr;
  }
  /* line 1030, app/assets/stylesheets/components/erp_dashboard.scss */
  .seasonality-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
  }
}
/* line 34, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui {
  --aging-f1: #0ca30c;
  --aging-f2: #fab219;
  --aging-f3: #e5761c;
  --aging-f4: #d03b3b;
  --aging-f5: #8f2323;
}

/* line 36, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .page-head {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  flex-wrap: wrap;
  margin: 20px 0 14px;
}

/* line 43, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .crumb {
  font-size: 12px;
  color: var(--erp-ui-ink-3);
  margin: 0 0 2px;
}

/* line 48, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .crumb a {
  text-decoration: none;
  font-weight: 400;
}

/* line 52, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .crumb a:hover {
  text-decoration: underline;
}

/* line 55, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .page-title {
  font-size: 21px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0;
}

/* line 61, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .page-sub {
  font-size: 13px;
  color: var(--erp-ui-ink-3);
  margin: 2px 0 0;
}

/* line 66, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .page-actions {
  margin-left: auto;
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

/* line 75, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  padding: 7px 14px;
  border: 1px solid transparent;
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink-2);
  border-color: var(--erp-ui-hairline-strong);
  text-decoration: none;
  white-space: nowrap;
  transition: background .12s, border-color .12s, color .12s;
}

/* line 91, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .btn:hover {
  border-color: var(--erp-ui-accent);
  color: var(--erp-ui-accent);
  background: var(--erp-ui-accent-soft);
}

/* line 97, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .btn[disabled] {
  opacity: .5;
  pointer-events: none;
}

/* line 102, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .btn-primary {
  background: var(--erp-ui-accent);
  border-color: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
}

/* line 107, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .btn-primary:hover {
  background: var(--erp-ui-accent-hover);
  border-color: var(--erp-ui-accent-hover);
  color: var(--erp-ui-accent-ink);
}

/* line 113, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .btn-primary:active {
  background: var(--erp-ui-accent-pressed);
  border-color: var(--erp-ui-accent-pressed);
}

/* line 118, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .btn-danger {
  color: var(--erp-ui-critical-text);
}

/* line 121, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .btn-danger:hover {
  background: var(--erp-ui-critical-soft);
  border-color: var(--erp-ui-critical);
  color: var(--erp-ui-critical-text);
}

/* line 127, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .btn-quiet {
  border-color: transparent;
  background: transparent;
}

/* line 131, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .btn-sm {
  padding: 5px 10px;
  font-size: 12.5px;
}

/* line 164, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .btn-neutra {
  background: var(--erp-ui-accent-soft);
  border-color: transparent;
  color: var(--erp-ui-accent);
}

/* line 169, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .btn-neutra:hover {
  background: var(--erp-ui-accent-soft);
  border-color: var(--erp-ui-accent);
  color: var(--erp-ui-accent);
}

/* line 176, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .btn-altera {
  background: var(--erp-ui-warning-soft);
  border-color: transparent;
  color: var(--erp-ui-warning-text);
}

/* line 181, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .btn-altera:hover {
  background: var(--erp-ui-warning-soft);
  border-color: var(--erp-ui-warning);
  color: var(--erp-ui-warning-text);
}

/* line 188, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .btn-avanca {
  background: var(--erp-ui-good-soft);
  border-color: transparent;
  color: var(--erp-ui-good-text);
}

/* line 193, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .btn-avanca:hover {
  background: var(--erp-ui-good-soft);
  border-color: var(--erp-ui-good);
  color: var(--erp-ui-good-text);
}

/* line 203, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .btn-desfaz,
.erp-ui .btn-danger.btn-desfaz {
  background: var(--erp-ui-critical-soft);
  border-color: transparent;
  color: var(--erp-ui-critical-text);
}

/* line 209, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .btn-desfaz:hover,
.erp-ui .btn-danger.btn-desfaz:hover {
  background: var(--erp-ui-critical-soft);
  border-color: var(--erp-ui-critical);
  color: var(--erp-ui-critical-text);
}

/* line 220, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .btn-group-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* line 225, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .btn-group-label::before {
  content: "";
  width: 1px;
  height: 22px;
  background: var(--erp-ui-hairline);
  flex: none;
}

/* line 233, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .btn-group-label > .lbl {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--erp-ui-ink-3);
  white-space: nowrap;
}

/* line 244, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .card {
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  box-shadow: var(--erp-ui-shadow);
  display: block;
  flex-direction: row;
  position: static;
}

/* line 278, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .card.pad {
  padding: 14px 18px;
}

/* line 280, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .card .card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 18px;
  border-bottom: 1px solid var(--erp-ui-hairline);
  background: var(--erp-ui-surface);
}

/* line 289, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .card .card-head .card-title {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  color: var(--erp-ui-ink);
  letter-spacing: -0.01em;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 300, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .card .card-head .card-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

/* line 329, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

/* line 334, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi-grid.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* line 335, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi-grid.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* line 336, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi-grid.four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* line 341, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi-grid.five {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

/* line 347, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi-grid > turbo-frame {
  display: grid;
}

/* line 349, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi {
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  position: relative;
}

/* line 380, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi.good {
  background: var(--erp-ui-good-wash);
  border-color: var(--erp-ui-hairline);
}

/* line 384, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi.good .kpi-context {
  color: var(--erp-ui-ink-2);
}

/* line 385, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi.good .kpi-label .dot {
  background: var(--erp-ui-good);
}

/* line 387, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi.warning {
  background: var(--erp-ui-warning-wash);
  border-color: var(--erp-ui-hairline);
}

/* line 391, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi.warning .kpi-context {
  color: var(--erp-ui-ink-2);
}

/* line 392, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi.warning .kpi-label .dot {
  background: var(--erp-ui-warning);
}

/* line 394, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi.critical {
  background: var(--erp-ui-critical-wash);
  border-color: var(--erp-ui-hairline);
}

/* line 398, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi.critical .kpi-context {
  color: var(--erp-ui-ink-2);
}

/* line 399, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi.critical .kpi-label .dot {
  background: var(--erp-ui-critical);
}

/* line 408, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi.accent {
  background: var(--erp-ui-accent-soft);
  border-color: var(--erp-ui-accent);
}

/* line 412, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi.accent .kpi-value {
  color: var(--erp-ui-accent);
}

/* line 413, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi.accent .kpi-context {
  color: var(--erp-ui-ink-2);
}

/* line 436, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi.compact {
  padding: 9px 12px;
  flex-direction: row;
  align-items: center;
  gap: 10px;
}

/* line 442, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi.compact > .dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  flex: none;
  background: var(--erp-ui-hairline-strong);
}

/* line 449, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi.compact.good > .dot {
  background: var(--erp-ui-good);
}

/* line 450, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi.compact.warning > .dot {
  background: var(--erp-ui-warning);
}

/* line 451, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi.compact.critical > .dot {
  background: var(--erp-ui-critical);
}

/* line 453, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi.compact .kpi-text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

/* line 463, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi.compact .kpi-label {
  display: block;
  font-size: 11.5px;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-right: 32px;
}

/* line 494, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi.compact .kpi-value {
  font-size: 18px;
  line-height: 1.2;
  white-space: nowrap;
}

/* line 499, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi.compact .kpi-info {
  top: 7px;
  right: 8px;
  width: 18px;
  height: 18px;
  font-size: 10px;
}

/* line 517, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi-delta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 2px;
  font-size: 12px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* line 526, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi-delta .erp-icon {
  width: 14px;
  height: 14px;
}

/* line 531, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi-delta-up {
  color: var(--erp-ui-good-text);
}

/* line 532, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi-delta-down {
  color: var(--erp-ui-critical-text);
}

/* line 533, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi-delta-flat {
  color: var(--erp-ui-ink-3);
}

/* line 536, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi-delta-vs {
  color: var(--erp-ui-ink-3);
  font-weight: 400;
}

/* line 541, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi-info {
  position: absolute;
  top: 11px;
  right: 11px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  border: 1px solid var(--erp-ui-hairline-strong);
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink-3);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  display: grid;
  place-items: center;
}

/* line 557, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi-info:hover, .erp-ui .kpi-info[aria-expanded="true"] {
  color: var(--erp-ui-accent);
  border-color: var(--erp-ui-accent);
  background: var(--erp-ui-accent-soft);
}

/* line 564, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .popover {
  position: absolute;
  top: 38px;
  right: 10px;
  z-index: 20;
  width: 280px;
  max-width: 86vw;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: var(--erp-ui-radius);
  box-shadow: var(--erp-ui-shadow-overlay);
  padding: 12px 14px;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--erp-ui-ink-2);
  display: none;
}

/* line 581, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .popover.is-open {
  display: block;
}

/* line 583, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .popover h4 {
  margin: 0 0 4px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--erp-ui-ink);
}

/* line 593, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .popover .pop-how,
.erp-ui .popover .pop-context {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--erp-ui-hairline);
}

/* line 599, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .popover .pop-eyebrow {
  display: block;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--erp-ui-ink-3);
  margin-bottom: 2px;
}

/* line 609, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi-label {
  margin: 0;
  text-transform: none;
  letter-spacing: normal;
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--erp-ui-ink-2);
}

/* line 638, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi-label .dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  flex: none;
  background: var(--erp-ui-hairline-strong);
}

/* line 646, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi-value {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
}

/* line 656, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kpi-context {
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 662, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .filters {
  padding: 14px 16px;
  margin-bottom: 12px;
}

/* line 666, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .filters-row {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr auto;
  gap: 12px;
  align-items: end;
}

/* line 672, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .filter-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

/* line 679, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .filter-group label,
.erp-ui .field label {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--erp-ui-ink-2);
  text-align: left;
}

/* line 701, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .filter-group label {
  margin-bottom: 4px;
}

/* line 702, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .filters input,
.erp-ui .filters select {
  height: 34px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 6px;
  padding: 0 10px;
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink);
  font-size: 13.5px;
  width: 100%;
}

/* line 713, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .filters input:focus,
.erp-ui .filters select:focus {
  border-color: var(--erp-ui-accent);
  outline: none;
  box-shadow: 0 0 0 3px var(--erp-ui-accent-soft);
}

/* line 719, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .filter-actions {
  display: flex;
  gap: 8px;
}

@media (min-width: 1081px) {
  /* line 728, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .filters-row:has(> .filter-group--short) {
    display: flex;
  }
  /* line 730, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .filters-row:has(> .filter-group--short) > .filter-group {
    flex: 1 1 0;
  }
  /* line 731, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .filters-row:has(> .filter-group--short) > .filter-group--short {
    flex: 0 0 132px;
  }
  /* line 732, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .filters-row:has(> .filter-group--short) > .filter-actions {
    flex: none;
  }
}

/* line 742, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field.field-actions {
  justify-content: flex-end;
}

/* line 745, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .filters-active {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 10px;
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 754, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--erp-ui-surface-2);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 999px;
  padding: 3px 6px 3px 10px;
  font-size: 12px;
  color: var(--erp-ui-ink-2);
}

/* line 765, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .chip button {
  border: 0;
  background: none;
  color: var(--erp-ui-ink-3);
  line-height: 1;
  padding: 0 3px;
  font-size: 14px;
}

/* line 773, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .chip button:hover {
  color: var(--erp-ui-critical-text);
}

/* line 778, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .table-scroll {
  overflow-x: auto;
}

/* line 779, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data {
  width: 100%;
  border-collapse: collapse;
  font-size: 13.5px;
}

/* line 784, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data th {
  text-align: left;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--erp-ui-ink-3);
  padding: 10px 16px;
  border-bottom: 1px solid var(--erp-ui-hairline);
  white-space: nowrap;
  background: var(--erp-ui-surface);
}

/* line 807, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data th.wrap {
  white-space: normal;
}

/* line 833, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data th.clamp,
.erp-ui table.data td.clamp {
  max-width: 200px;
}

/* line 837, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data td {
  padding: 9px 16px;
  border-bottom: 1px solid var(--erp-ui-hairline);
  vertical-align: middle;
  background: transparent;
}

/* line 849, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data tbody tr:hover {
  background: var(--erp-ui-surface-2);
}

/* line 850, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data tr:last-child td {
  border-bottom: 0;
}

/* line 856, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data tbody tr.is-highlighted,
.erp-ui table.data tbody tr.is-highlighted:hover {
  background: var(--erp-ui-accent-soft);
}

/* line 858, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data tbody tr.is-highlighted td:first-child {
  box-shadow: inset 3px 0 0 var(--erp-ui-accent);
}

/* line 877, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data td input:not([type="checkbox"]):not([type="radio"]),
.erp-ui table.data td select {
  width: 100%;
  height: 30px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 6px;
  padding: 0 8px;
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink);
  font-size: 13px;
  font-family: inherit;
}

/* line 890, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data td input:focus, .erp-ui table.data td select:focus {
  border-color: var(--erp-ui-accent);
  outline: none;
  box-shadow: 0 0 0 3px var(--erp-ui-accent-soft);
}

/* line 896, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data td input:disabled, .erp-ui table.data td input[readonly], .erp-ui table.data td select:disabled {
  background: var(--erp-ui-surface-2);
  color: var(--erp-ui-ink-3);
}

/* line 904, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data td.num input {
  text-align: right;
}

/* line 906, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data .num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* line 910, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data th.num {
  text-align: right;
}

/* line 911, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data .main {
  font-weight: 600;
  display: block;
}

/* line 915, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data .sub {
  color: var(--erp-ui-ink-3);
  font-size: 12px;
  display: block;
}

/* line 920, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data td.acts {
  width: 1%;
  white-space: nowrap;
  text-align: right;
}

/* line 936, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data td.acts > * {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}

/* line 950, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data th.sortable {
  padding: 0;
}

/* line 953, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data .sort-link {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  height: 100%;
  padding: 10px 16px;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

/* line 964, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data .sort-link:hover {
  background: var(--erp-ui-surface-2);
  color: var(--erp-ui-ink);
}

/* line 968, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data .sort-link:focus-visible {
  outline: 2px solid var(--erp-ui-accent);
  outline-offset: -2px;
}

/* line 980, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data .sort-ico {
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 5px solid var(--erp-ui-ink-3);
  opacity: .45;
  flex-shrink: 0;
}

/* line 989, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data th.sortable[aria-sort="ascending"] .sort-ico {
  opacity: 1;
  border-bottom-color: var(--erp-ui-accent);
}

/* line 993, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data th.sortable[aria-sort="descending"] .sort-ico {
  opacity: 1;
  border-bottom: 0;
  border-top: 5px solid var(--erp-ui-accent);
}

/* line 998, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data th.sortable.active .sort-label {
  color: var(--erp-ui-ink);
  font-weight: 700;
}

/* line 1003, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .check {
  width: 15px;
  height: 15px;
  accent-color: var(--erp-ui-accent);
}

/* line 1039, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .action-btn {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  border: 1px solid transparent;
  background: transparent;
  display: inline-grid;
  place-items: center;
  margin-left: 2px;
  margin-right: 0;
  font-size: 15px;
  line-height: 1;
  text-decoration: none;
  transition: background .12s, border-color .12s, color .12s;
  color: var(--erp-ui-ink-2);
}

/* line 1071, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .action-btn .erp-icon {
  flex: 0 0 auto;
}

/* line 1112, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .action-btn:hover, .erp-ui .action-btn:focus-visible {
  border-color: transparent;
}

/* line 1117, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .action-btn.neutra:hover, .erp-ui .action-btn.neutra:focus-visible {
  background: var(--erp-ui-accent-soft);
  color: var(--erp-ui-accent);
}

/* line 1122, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .action-btn.altera:hover, .erp-ui .action-btn.altera:focus-visible {
  background: var(--erp-ui-warning-soft);
  color: var(--erp-ui-warning-text);
}

/* line 1127, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .action-btn.avanca:hover, .erp-ui .action-btn.avanca:focus-visible {
  background: var(--erp-ui-good-soft);
  color: var(--erp-ui-good-text);
}

/* line 1132, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .action-btn.desfaz:hover, .erp-ui .action-btn.desfaz:focus-visible {
  background: var(--erp-ui-critical-soft);
  color: var(--erp-ui-critical-text);
}

/* line 1141, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .action-btn:focus-visible {
  outline: 2px solid var(--erp-ui-accent);
  outline-offset: 1px;
}

/* line 1150, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .action-btn[disabled], .erp-ui .action-btn[aria-disabled="true"] {
  color: var(--erp-ui-ink-3);
  background: var(--erp-ui-surface-2);
  border-color: transparent;
  pointer-events: none;
}

/* line 1167, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-icon {
  width: 16px;
  height: 16px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* line 1179, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1;
  padding: 4px 8px;
  border-radius: 999px;
}

/* line 1189, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .pill.critical {
  background: var(--erp-ui-critical-soft);
  color: var(--erp-ui-critical-text);
}

/* line 1190, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .pill.warning {
  background: var(--erp-ui-warning-soft);
  color: var(--erp-ui-warning-text);
}

/* line 1191, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .pill.good {
  background: var(--erp-ui-good-soft);
  color: var(--erp-ui-good-text);
}

/* line 1192, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .pill.neutral {
  background: var(--erp-ui-surface-2);
  color: var(--erp-ui-ink-2);
  border: 1px solid var(--erp-ui-hairline);
}

/* line 1212, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .pill.info {
  background: var(--erp-ui-accent-soft);
  color: var(--erp-ui-accent);
}

/* line 1229, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .banner {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid transparent;
  border-radius: var(--erp-ui-radius);
  margin-bottom: 16px;
}

/* line 1238, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .banner .banner-icon {
  width: 18px;
  height: 18px;
  flex: none;
  margin-top: 1px;
}

/* line 1244, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .banner .banner-text {
  min-width: 0;
}

/* line 1245, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .banner .banner-title {
  margin: 0;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--erp-ui-ink);
}

/* line 1251, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .banner .banner-body {
  margin: 3px 0 0;
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
}

/* line 1257, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .banner.good {
  background: var(--erp-ui-good-soft);
  border-color: var(--erp-ui-good);
}

/* line 1257, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .banner.good .banner-icon {
  color: var(--erp-ui-good-text);
}

/* line 1258, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .banner.warning {
  background: var(--erp-ui-warning-soft);
  border-color: var(--erp-ui-warning);
}

/* line 1258, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .banner.warning .banner-icon {
  color: var(--erp-ui-warning-text);
}

/* line 1259, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .banner.critical {
  background: var(--erp-ui-critical-soft);
  border-color: var(--erp-ui-critical);
}

/* line 1259, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .banner.critical .banner-icon {
  color: var(--erp-ui-critical-text);
}

/* line 1260, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .banner.info {
  background: var(--erp-ui-accent-soft);
  border-color: var(--erp-ui-accent);
}

/* line 1260, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .banner.info .banner-icon {
  color: var(--erp-ui-accent);
}

/* line 1264, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .bulk-bar {
  display: none;
  align-items: center;
  gap: 12px;
  padding: 8px 16px;
  background: var(--erp-ui-accent-soft);
  border-bottom: 1px solid var(--erp-ui-hairline);
  font-size: 13px;
  color: var(--erp-ui-ink-2);
  border-radius: var(--erp-ui-radius) var(--erp-ui-radius) 0 0;
}

/* line 1275, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .bulk-bar.on {
  display: flex;
}

/* line 1277, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .bulk-bar .sel {
  font-weight: 700;
  color: var(--erp-ui-ink);
}

/* line 1281, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .panel-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding: 10px 16px;
  font-size: 12.5px;
  color: var(--erp-ui-ink-3);
  border-top: 1px solid var(--erp-ui-hairline);
  background: var(--erp-ui-surface-2);
  border-radius: 0 0 var(--erp-ui-radius) var(--erp-ui-radius);
}

/* line 1294, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .pager {
  display: flex;
  gap: 4px;
}

/* line 1298, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .pager button {
  border: 1px solid var(--erp-ui-hairline-strong);
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink-2);
  min-width: 30px;
  height: 30px;
  border-radius: 6px;
  font-size: 12.5px;
  font-weight: 600;
}

/* line 1308, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .pager button[aria-current="page"] {
  background: var(--erp-ui-accent);
  border-color: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
}

/* line 1317, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .empty {
  text-align: center;
  padding: 40px 20px;
  color: var(--erp-ui-ink-2);
}

/* line 1322, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .empty .mark {
  background: transparent;
  padding: 0;
  color: var(--erp-ui-good-text);
  display: block;
  margin-bottom: 6px;
}

/* line 1342, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .empty .mark .erp-icon {
  width: 26px;
  height: 26px;
  margin: 0 auto;
}

/* line 1348, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .empty p {
  margin: 0 0 12px;
  font-size: 13.5px;
}

/* line 1365, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .search-results {
  position: relative;
}

/* line 1368, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .search-results .skeleton-overlay {
  display: none;
}

/* line 1374, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .search-results[aria-busy="true"] > .card {
  opacity: .35;
  pointer-events: none;
}

/* line 1378, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .search-results[aria-busy="true"] .skeleton-overlay {
  display: block;
  position: absolute;
  inset: 0;
  z-index: 2;
  padding: 16px;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
}

/* line 1390, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .skeleton-row {
  height: 34px;
  border-radius: 6px;
  margin-bottom: 8px;
  background: linear-gradient(90deg, var(--erp-ui-surface-2) 25%, var(--erp-ui-hairline) 50%, var(--erp-ui-surface-2) 75%);
  background-size: 200% 100%;
  animation: erp-ui-skeleton-pulse 1.5s ease-in-out infinite;
}

/* line 1398, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .skeleton-row:last-child {
  margin-bottom: 0;
}

@media (prefers-reduced-motion: reduce) {
  /* line 1404, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .skeleton-row {
    animation: none;
    background: var(--erp-ui-surface-2);
  }
}

/* line 1411, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .form-head {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  padding: 12px 18px;
  border-bottom: 1px solid var(--erp-ui-hairline);
  background: var(--erp-ui-surface-2);
  border-radius: var(--erp-ui-radius) var(--erp-ui-radius) 0 0;
}

/* line 1421, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .form-head .ft {
  font-size: 15px;
  font-weight: 700;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 9px;
}

/* line 1429, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .form-head .ft .ico {
  color: var(--erp-ui-accent);
}

/* line 1434, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .form-head .ft-alias {
  font-weight: 400;
  color: var(--erp-ui-ink-3);
  font-size: 13.5px;
}

/* line 1444, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .form-meta {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 1452, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .completude {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--erp-ui-ink-2);
}

/* line 1459, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .completude .bar {
  width: 90px;
  height: 6px;
  border-radius: 999px;
  background: var(--erp-ui-hairline);
  overflow: hidden;
}

/* line 1466, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .completude .bar i {
  display: block;
  height: 100%;
  background: var(--erp-ui-accent);
  border-radius: 999px;
}

/* line 1485, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .next-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 12px;
}

/* line 1496, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .next-step {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-surface);
}

/* line 1505, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .next-step h4 {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--erp-ui-ink);
}

/* line 1512, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .next-step p {
  margin: 0;
  font-size: 13px;
  color: var(--erp-ui-ink-2);
}

/* line 1518, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .next-step .fluxo {
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 1523, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .next-step .btn {
  margin-top: auto;
}

/* line 1534, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .form-errors {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1px solid var(--erp-ui-critical);
  border-left-width: 3px;
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-critical-wash);
}

/* line 1545, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .form-errors .titulo {
  font-size: 13px;
  font-weight: 600;
  color: var(--erp-ui-critical-text);
}

/* line 1551, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .form-errors ul {
  margin: 0;
  padding-left: 18px;
  font-size: 13px;
  color: var(--erp-ui-ink-2);
}

/* line 1569, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .period-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

/* line 1578, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .segmented {
  display: flex;
  gap: 2px;
  padding: 3px;
  background: var(--erp-ui-surface-2);
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 6px;
  overflow-x: auto;
}

/* line 1588, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .seg-btn {
  height: 34px;
  padding: 0 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  white-space: nowrap;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--erp-ui-ink-2);
  font-size: 13.5px;
  font-weight: 600;
  transition: background .12s, color .12s, border-color .12s;
}

/* line 1604, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .seg-btn:hover {
  color: var(--erp-ui-accent);
}

/* line 1608, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .seg-btn[aria-pressed="true"] {
  background: var(--erp-ui-accent);
  border-color: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
}

/* line 1614, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .seg-btn:focus-visible {
  outline: none;
  border-color: var(--erp-ui-accent);
  box-shadow: 0 0 0 3px var(--erp-ui-accent-soft);
}

/* line 1621, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .period-custom-form {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
}

/* line 1629, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .period-custom-form input[type="date"] {
  height: 34px;
  padding: 0 10px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 6px;
  font-size: 13px;
  color: var(--erp-ui-ink);
  background: var(--erp-ui-surface);
}

/* line 1638, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .period-custom-form input[type="date"]:focus-visible {
  outline: none;
  border-color: var(--erp-ui-accent);
  box-shadow: 0 0 0 3px var(--erp-ui-accent-soft);
}

/* line 1646, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .freshness {
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 1656, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack {
  display: flex;
  height: 16px;
  border-radius: 999px;
  overflow: hidden;
  background: var(--erp-ui-hairline);
}

/* line 1689, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-seg.f1,
.erp-ui .erp-stack-legend .swatch.f1 {
  background: var(--aging-f1);
}

/* line 1690, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-seg.f2,
.erp-ui .erp-stack-legend .swatch.f2 {
  background: var(--aging-f2);
}

/* line 1691, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-seg.f3,
.erp-ui .erp-stack-legend .swatch.f3 {
  background: var(--aging-f3);
}

/* line 1692, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-seg.f4,
.erp-ui .erp-stack-legend .swatch.f4 {
  background: var(--aging-f4);
}

/* line 1693, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-seg.f5,
.erp-ui .erp-stack-legend .swatch.f5 {
  background: var(--aging-f5);
}

/* line 1696, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-seg {
  display: block;
  height: 100%;
  width: 0;
  background: var(--erp-ui-ink-3);
}

/* line 1705, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-seg.good {
  background: var(--erp-ui-good);
}

/* line 1706, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-seg.accent {
  background: var(--erp-ui-accent);
}

/* line 1707, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-seg.warning {
  background: var(--erp-ui-warning);
}

/* line 1708, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-seg.critical {
  background: var(--erp-ui-critical);
}

/* line 1709, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-seg.info {
  background: var(--erp-ui-accent);
}

/* line 1713, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-seg.chart-1 {
  background: var(--erp-ui-chart-1);
}

/* line 1714, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-seg.chart-2 {
  background: var(--erp-ui-chart-2);
}

/* line 1715, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-seg.chart-3 {
  background: var(--erp-ui-chart-3);
}

/* line 1716, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-seg.chart-4 {
  background: var(--erp-ui-chart-4);
}

/* line 1717, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-seg.chart-5 {
  background: var(--erp-ui-chart-5);
}

/* line 1718, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-seg.chart-6 {
  background: var(--erp-ui-chart-6);
}

/* line 1734, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-chart {
  min-width: 0;
}

/* line 1736, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-columns {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  height: 128px;
  padding-top: 4px;
  border-bottom: 1px solid var(--erp-ui-hairline-strong);
}

/* line 1745, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-column {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  flex: 1 1 0;
  min-width: 0;
  height: 100%;
  gap: 4px;
}

/* line 1756, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-column-track {
  display: flex;
  align-items: flex-end;
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
}

/* line 1764, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-column-fill {
  display: block;
  width: 100%;
  height: 0;
  border-radius: 3px 3px 0 0;
  background: var(--erp-ui-accent-marker);
}

/* line 1780, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-column.is-peak .erp-column-fill {
  background: var(--erp-ui-accent);
}

/* line 1781, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-column.is-peak .erp-column-value {
  color: var(--erp-ui-ink);
  font-weight: 600;
}

/* line 1784, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-column-value {
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  color: var(--erp-ui-ink-3);
  white-space: nowrap;
  min-height: 14px;
}

/* line 1796, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-columns-labels {
  display: flex;
  gap: 8px;
  margin-top: 5px;
}

/* line 1802, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-column-label {
  flex: 1 1 0;
  min-width: 0;
  text-align: center;
  font-size: 11px;
  color: var(--erp-ui-ink-2);
  white-space: nowrap;
  overflow: visible;
}

/* line 1815, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-column-label.is-marked::before {
  content: "";
  display: block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  margin: 0 auto 3px;
  background: var(--erp-ui-accent-marker);
}

/* line 1829, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-chart.is-dense .erp-columns,
.erp-ui .erp-chart.is-dense .erp-columns-labels {
  gap: 2px;
}

/* line 1832, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-chart.is-dense .erp-column-fill {
  border-radius: 2px 2px 0 0;
}

/* line 1843, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-pie {
  position: relative;
  width: 100%;
  max-width: 200px;
  aspect-ratio: 1;
  height: auto;
  border-radius: 50%;
  background: var(--erp-ui-hairline);
  flex: 1 1 140px;
}

/* line 1860, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-pie::after {
  content: "";
  position: absolute;
  top: 22%;
  left: 22%;
  width: 56%;
  height: 56%;
  border-radius: 50%;
  background: var(--erp-ui-surface);
}

/* line 1872, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-pie-total {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 1;
  line-height: 1.15;
}

/* line 1885, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-pie-total b {
  font-size: 17px;
  font-variant-numeric: tabular-nums;
  color: var(--erp-ui-ink);
}

/* line 1891, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-pie-total span {
  font-size: 10.5px;
  color: var(--erp-ui-ink-3);
}

/* line 1899, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-pie-slice {
  display: block;
  width: 0;
  height: 0;
  overflow: hidden;
}

/* line 1909, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data .swatch {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 3px;
  margin-right: 7px;
  vertical-align: baseline;
  background: var(--erp-ui-ink-3);
}

/* line 1918, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data .swatch.chart-1 {
  background: var(--erp-ui-chart-1);
}

/* line 1919, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data .swatch.chart-2 {
  background: var(--erp-ui-chart-2);
}

/* line 1920, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data .swatch.chart-3 {
  background: var(--erp-ui-chart-3);
}

/* line 1921, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data .swatch.chart-4 {
  background: var(--erp-ui-chart-4);
}

/* line 1922, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data .swatch.chart-5 {
  background: var(--erp-ui-chart-5);
}

/* line 1923, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui table.data .swatch.chart-6 {
  background: var(--erp-ui-chart-6);
}

/* line 1931, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-pie-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

/* line 1944, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-pie-wrap.is-solo .erp-pie {
  max-width: 90%;
}

/* line 1946, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-pie-wrap.is-solo .erp-pie-total b {
  font-size: 20px;
}

/* line 1947, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-pie-wrap.is-solo .erp-pie-total span {
  font-size: 12px;
}

/* line 1951, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .chart-1 {
  background: var(--erp-ui-chart-1);
}

/* line 1952, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .chart-2 {
  background: var(--erp-ui-chart-2);
}

/* line 1953, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .chart-3 {
  background: var(--erp-ui-chart-3);
}

/* line 1954, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .chart-4 {
  background: var(--erp-ui-chart-4);
}

/* line 1955, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .chart-5 {
  background: var(--erp-ui-chart-5);
}

/* line 1956, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .chart-6 {
  background: var(--erp-ui-chart-6);
}

/* line 1958, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin-top: 10px;
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
}

/* line 1966, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-legend .item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

/* line 1973, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-legend .swatch {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  flex: none;
  background: var(--erp-ui-ink-3);
}

/* line 1980, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-legend .swatch.good {
  background: var(--erp-ui-good);
}

/* line 1981, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-legend .swatch.accent {
  background: var(--erp-ui-accent);
}

/* line 1982, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-legend .swatch.warning {
  background: var(--erp-ui-warning);
}

/* line 1983, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-legend .swatch.critical {
  background: var(--erp-ui-critical);
}

/* line 1984, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-legend .swatch.info {
  background: var(--erp-ui-accent);
}

/* line 1989, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-legend .swatch.chart-1 {
  background: var(--erp-ui-chart-1);
}

/* line 1990, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-legend .swatch.chart-2 {
  background: var(--erp-ui-chart-2);
}

/* line 1991, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-legend .swatch.chart-3 {
  background: var(--erp-ui-chart-3);
}

/* line 1992, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-legend .swatch.chart-4 {
  background: var(--erp-ui-chart-4);
}

/* line 1993, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-legend .swatch.chart-5 {
  background: var(--erp-ui-chart-5);
}

/* line 1994, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-legend .swatch.chart-6 {
  background: var(--erp-ui-chart-6);
}

/* line 1997, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-stack-legend b {
  color: var(--erp-ui-ink);
  font-weight: 600;
}

/* line 2002, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-steps {
  display: flex;
  flex-direction: column;
}

/* line 2011, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-step {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 90px minmax(0, 15rem);
  align-items: baseline;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid var(--erp-ui-hairline);
  font-size: 13px;
}

/* line 2020, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-step:last-child {
  border-bottom: none;
}

/* line 2022, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-step .rotulo {
  color: var(--erp-ui-ink);
}

/* line 2024, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-step .valor {
  color: var(--erp-ui-ink);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  text-align: right;
}

/* line 2032, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-step-rate {
  font-size: 12.5px;
  font-variant-numeric: tabular-nums;
  color: var(--erp-ui-ink-2);
  text-align: right;
}

/* line 2040, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-step-rate.sobe {
  color: var(--erp-ui-warning-text);
  font-weight: 600;
}

/* line 2041, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-step-rate.cai {
  color: var(--erp-ui-ink-2);
}

/* line 2051, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-bars {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* line 2061, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-bar {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* line 2067, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-bar-label {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  font-size: 12px;
  color: var(--erp-ui-ink-2);
  margin-bottom: 4px;
}

/* line 2077, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-bar-track {
  height: 10px;
  border-radius: 999px;
  background: var(--erp-ui-hairline);
  overflow: hidden;
}

/* line 2084, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-bar-fill {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: var(--erp-ui-ink-3);
  width: 0;
}

/* line 2101, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-bar-fill.good {
  background: var(--erp-ui-good);
}

/* line 2102, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-bar-fill.accent {
  background: var(--erp-ui-accent);
}

/* line 2103, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-bar-fill.warning {
  background: var(--erp-ui-warning);
}

/* line 2104, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-bar-fill.critical {
  background: var(--erp-ui-critical);
}

/* line 2127, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .section-switch {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 4px;
  margin-bottom: 12px;
  background: var(--erp-ui-surface-2);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
}

/* line 2137, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .section-switch a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 7px 14px;
  border: 1px solid transparent;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
  color: var(--erp-ui-ink-2);
  text-decoration: none;
  white-space: nowrap;
}

/* line 2152, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .section-switch a:hover {
  color: var(--erp-ui-ink);
}

/* line 2160, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .section-switch a[aria-current="page"] {
  background: var(--erp-ui-accent);
  border-color: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
  font-weight: 600;
}

/* line 2168, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .section-switch a[aria-current="page"] .count {
  background: var(--erp-ui-accent-ink);
  border-color: transparent;
  color: var(--erp-ui-accent);
}

/* line 2177, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .section-switch a[aria-current="page"]:hover {
  color: var(--erp-ui-accent-ink);
}

/* line 2179, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .section-switch a:focus-visible {
  outline: 2px solid var(--erp-ui-accent);
  outline-offset: 1px;
}

/* line 2186, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .tabs {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--erp-ui-hairline);
  overflow-x: auto;
  overflow-y: hidden;
}

/* line 2205, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .tab {
  border: 0;
  background: none;
  color: var(--erp-ui-ink-2);
  padding: 11px 15px 9px;
  font-size: 13.5px;
  font-weight: 500;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  display: flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}

/* line 2219, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .tab:hover {
  color: var(--erp-ui-ink);
  background: var(--erp-ui-surface-2);
}

/* line 2223, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .tab[aria-selected="true"] {
  color: var(--erp-ui-ink);
  font-weight: 600;
  border-bottom-color: var(--erp-ui-accent);
}

/* line 2229, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .count {
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  padding: 3px 7px;
  border-radius: 999px;
  background: var(--erp-ui-surface-2);
  color: var(--erp-ui-ink-2);
  border: 1px solid var(--erp-ui-hairline);
  font-variant-numeric: tabular-nums;
}

/* line 2240, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .count.critical {
  background: var(--erp-ui-critical-soft);
  color: var(--erp-ui-critical-text);
  border-color: transparent;
}

/* line 2241, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .count.warning {
  background: var(--erp-ui-warning-soft);
  color: var(--erp-ui-warning-text);
  border-color: transparent;
}

/* line 2242, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .count.good {
  background: var(--erp-ui-good-soft);
  color: var(--erp-ui-good-text);
  border-color: transparent;
}

/* line 2244, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .tab-panel {
  display: none;
}

/* line 2247, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .tab-panel.active {
  display: block;
}

/* line 2250, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .form-body {
  padding: 18px 18px 22px;
}

/* line 2264, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kv {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 16px;
  margin-bottom: 14px;
}

/* line 2270, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kv .lbl {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--erp-ui-ink-3);
}

/* line 2279, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kv .val {
  font-size: 13.5px;
  color: var(--erp-ui-ink);
}

/* line 2286, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kv .val.val-forte {
  font-size: 16px;
  font-weight: 700;
  color: var(--erp-ui-ink);
  font-variant-numeric: tabular-nums;
}

/* line 2294, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .sub-h {
  font-size: 13px;
  font-weight: 700;
  margin: 14px 0 8px;
  color: var(--erp-ui-ink);
}

/* line 2301, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field-hint {
  font-size: 12px;
  color: var(--erp-ui-ink-3);
  margin-top: 4px;
}

/* line 2307, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .form-section {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin-bottom: 0;
}

/* line 2322, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .form-section + .form-section {
  margin-top: 22px;
}

/* line 2323, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .form-section-head {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 10px;
  margin: 0 0 12px;
  padding-bottom: 7px;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 2337, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .form-section-head > h3 {
  flex: 0 1 auto;
  min-width: 0;
}

/* line 2338, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .form-section-head > .hint {
  flex: 1 1 240px;
  min-width: 0;
}

/* line 2340, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .form-section-head.bare {
  margin: 0;
  padding: 0;
  border: 0;
}

/* line 2342, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .form-section-head h3 {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--erp-ui-ink-3);
}

/* line 2350, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .form-section-head .hint {
  font-size: 12px;
  color: var(--erp-ui-ink-3);
  font-weight: 400;
}

/* line 2357, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 12px 14px;
}

/* line 2364, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .c2 {
  grid-column: span 2;
}

/* line 2365, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .c3 {
  grid-column: span 3;
}

/* line 2366, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .c4 {
  grid-column: span 4;
}

/* line 2367, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .c5 {
  grid-column: span 5;
}

/* line 2368, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .c6 {
  grid-column: span 6;
}

/* line 2369, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .c8 {
  grid-column: span 8;
}

/* line 2370, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .c12 {
  grid-column: span 12;
}

/* line 2372, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  text-align: left;
}

/* line 2379, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field .req {
  color: var(--erp-ui-critical-text);
  margin-left: 2px;
}

/* line 2386, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field input:not([type="checkbox"]):not([type="radio"]), .erp-ui .field select, .erp-ui .field textarea {
  height: 34px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 6px;
  padding: 0 10px;
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink);
  font-size: 13.5px;
  width: 100%;
}

/* line 2396, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field textarea {
  height: auto;
  padding: 8px 10px;
  resize: vertical;
  min-height: 76px;
  line-height: 1.5;
}

/* line 2403, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field input:focus, .erp-ui .field select:focus, .erp-ui .field textarea:focus {
  border-color: var(--erp-ui-accent);
  outline: none;
  box-shadow: 0 0 0 3px var(--erp-ui-accent-soft);
}

/* line 2408, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field input:disabled, .erp-ui .field select:disabled {
  background: var(--erp-ui-surface-2);
  color: var(--erp-ui-ink-3);
}

/* line 2412, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field .hint {
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
}

/* line 2431, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field > .pill {
  align-self: flex-start;
}

/* line 2436, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field.invalid input, .erp-ui .field.invalid select {
  border-color: var(--erp-ui-critical);
  background: var(--erp-ui-critical-soft);
}

/* line 2440, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field .err {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--erp-ui-critical-text);
  display: none;
}

/* line 2446, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field.invalid .err {
  display: block;
}

/* line 2447, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field .ok-hint {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--erp-ui-good-text);
  display: none;
}

/* line 2453, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field.resolved .ok-hint {
  display: block;
}

/* line 2465, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field .invalid-feedback {
  flex: 0 0 100%;
  width: 100%;
  margin: 4px 0 0;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--erp-ui-critical-text);
}

/* line 2477, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field.invalid:has(> .err) .invalid-feedback {
  display: none;
}

/* line 2479, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .with-btn {
  display: flex;
  gap: 6px;
}

/* line 2483, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .with-btn input {
  flex: 1;
}

/* line 2486, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .repeat-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

/* line 2492, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .repeat-head .btn {
  margin-left: auto;
}

/* line 2494, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .subtable {
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  overflow: hidden;
}

/* line 2499, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .subtable table.data th {
  background: var(--erp-ui-surface-2);
}

/* line 2520, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .form-body table.data tr:last-child > td,
.erp-ui .form-body table.data tr:last-child > th {
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 2540, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field-unit {
  display: flex;
  align-items: stretch;
  min-width: 0;
}

/* line 2545, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field-unit .field-unit-prefix,
.erp-ui .field-unit .field-unit-suffix {
  display: inline-flex;
  align-items: center;
  flex: none;
  padding: 0 9px;
  border: 1px solid var(--erp-ui-hairline-strong);
  background: var(--erp-ui-surface-2);
  color: var(--erp-ui-ink-2);
  font-size: 12.5px;
  font-weight: 600;
  white-space: nowrap;
}

/* line 2559, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field-unit .field-unit-prefix {
  border-right: 0;
  border-radius: 6px 0 0 6px;
}

/* line 2564, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field-unit .field-unit-suffix {
  border-left: 0;
  border-radius: 0 6px 6px 0;
}

/* line 2573, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field-unit input {
  flex: 1 1 auto;
  min-width: 0;
  border-radius: 0;
}

/* line 2579, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field-unit .field-unit-prefix + input {
  border-radius: 0 6px 6px 0;
}

/* line 2583, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field-unit input:first-child {
  border-radius: 6px 0 0 6px;
}

/* line 2587, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field-unit .field-unit-prefix + input:not(:last-child) {
  border-radius: 0;
}

/* line 2592, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .form-foot {
  position: sticky;
  bottom: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding: 11px 18px;
  background: var(--erp-ui-surface);
  border-top: 1px solid var(--erp-ui-hairline);
  border-radius: 0 0 var(--erp-ui-radius) var(--erp-ui-radius);
  box-shadow: 0 -2px 8px rgba(26, 32, 40, 0.06);
}

/* line 2611, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .form-foot .status {
  font-size: 12px;
  color: var(--erp-ui-ink-3);
  display: flex;
  align-items: center;
  gap: 6px;
}

/* line 2618, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .form-foot .acts {
  margin-left: auto;
  display: flex;
  gap: 8px;
  align-items: center;
}

/* line 2635, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field .form-check-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13.5px;
  font-weight: 400;
  color: var(--erp-ui-ink);
  cursor: pointer;
}

/* line 2644, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .field input.form-check-input[type="checkbox"],
.erp-ui .field input.form-check-input[type="radio"] {
  position: static;
  margin: 0;
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  accent-color: var(--erp-ui-accent);
}

/* line 2658, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .check-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 20px;
}

/* line 2676, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .periodo-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
}

/* line 2683, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .periodo-chip {
  display: inline-flex;
  align-items: center;
  padding: 5px 12px;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 999px;
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink-2);
  font-size: 12.5px;
  text-decoration: none;
}

/* line 2694, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .periodo-chip:hover {
  background: var(--erp-ui-surface-2);
  color: var(--erp-ui-ink);
  text-decoration: none;
}

/* line 2700, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .periodo-chip[aria-current="true"] {
  background: var(--erp-ui-accent);
  border-color: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
  font-weight: 600;
}

/* line 2722, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .opt-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* line 2728, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .opt {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 9px;
  align-items: start;
  font-size: 13.5px;
  line-height: 1.35;
  cursor: pointer;
}

/* line 2737, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .opt > input.check {
  margin: 2px 0 0;
}

/* line 2741, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .opt > span {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

/* line 2748, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .opt b {
  font-weight: 600;
  color: var(--erp-ui-ink);
}

/* line 2753, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .opt small {
  font-size: 12px;
  color: var(--erp-ui-ink-2);
}

/* line 2758, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .opt input:disabled + span b {
  color: var(--erp-ui-ink-3);
}

/* line 2770, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .table-foot {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 10px 14px;
  border-top: 1px solid var(--erp-ui-hairline);
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
}

/* line 2781, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .table-foot b {
  color: var(--erp-ui-ink);
  font-variant-numeric: tabular-nums;
}

/* line 2790, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .arquivo-preview {
  margin: 0;
  padding: 12px 14px;
  background: var(--erp-ui-surface-2);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--erp-ui-ink-2);
  overflow-x: auto;
  overflow-y: hidden;
  white-space: pre;
}

/* line 2813, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .split-2 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

/* line 2823, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kv-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px 18px;
}

/* line 2828, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kv-grid > div {
  min-width: 0;
}

/* line 2832, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kv-grid dt {
  margin: 0 0 2px;
  font-size: 11.5px;
  color: var(--erp-ui-ink-2);
}

/* line 2838, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kv-grid dd {
  margin: 0;
  font-size: 14px;
  color: var(--erp-ui-ink);
  font-variant-numeric: tabular-nums;
}

/* line 2847, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kv-grid .kv-full {
  grid-column: 1 / -1;
}

/* line 2850, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kv-grid .kv-full dd {
  font-variant-numeric: normal;
  white-space: pre-line;
}

@media (max-width: 1100px) {
  /* line 2858, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .split-2 {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* line 2869, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .acts .acts-form {
  display: contents;
}

/* line 2878, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .cadastro-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 208px;
  gap: 16px;
  align-items: start;
}

/* line 2888, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .cadastro-indice {
  position: sticky;
  top: 16px;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  padding: 10px 0;
}

/* line 2896, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .cadastro-indice p {
  margin: 0 0 6px;
  padding: 0 14px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.7px;
  text-transform: uppercase;
  color: var(--erp-ui-ink-3);
}

/* line 2906, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .cadastro-indice a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 14px;
  font-size: 13px;
  color: var(--erp-ui-ink-2);
  text-decoration: none;
  border-left: 2px solid transparent;
}

/* line 2917, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .cadastro-indice a:hover {
  background: var(--erp-ui-surface-2);
  color: var(--erp-ui-ink);
}

/* line 2922, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .cadastro-indice a[aria-current="true"] {
  border-left-color: var(--erp-ui-accent);
  color: var(--erp-ui-ink);
  font-weight: 600;
  background: var(--erp-ui-accent-soft);
}

/* line 2930, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .cadastro-indice .ct {
  font-size: 11px;
  color: var(--erp-ui-ink-3);
  font-variant-numeric: tabular-nums;
}

/* line 2937, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .cadastro-indice .ct.critical {
  color: var(--erp-ui-critical-text);
  font-weight: 700;
}

/* line 2945, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .cadastro-secao {
  scroll-margin-top: 74px;
}

/* line 2949, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .cadastro-secao + .cadastro-secao {
  margin-top: 26px;
}

@media (max-width: 1160px) {
  /* line 2956, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .cadastro-split {
    grid-template-columns: minmax(0, 1fr);
  }
  /* line 2960, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .cadastro-indice {
    display: none;
  }
}

/* line 2967, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui.is-readonly .field input:disabled, .erp-ui.is-readonly .field textarea:disabled {
  background: var(--erp-ui-surface-2);
  color: var(--erp-ui-ink-2);
  -webkit-text-fill-color: var(--erp-ui-ink-2);
  opacity: 1;
}

/* line 2981, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-tooltip-anchor {
  min-width: 0;
}

/* line 2995, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui td.num .erp-tooltip-anchor {
  display: block;
  padding: 8px 0;
  margin: -8px 0;
}

/* line 3015, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .num-detalhe .slot {
  display: inline-block;
  width: 12px;
  margin-left: 5px;
  vertical-align: -1px;
}

/* line 3021, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .num-detalhe .slot .erp-icon {
  width: 12px;
  height: 12px;
  color: var(--erp-ui-accent-marker);
}

/* line 3026, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .num-detalhe:hover .slot .erp-icon,
.erp-ui .num-detalhe:focus-visible .slot .erp-icon {
  color: var(--erp-ui-accent);
}

/* line 3033, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .ts-wrap {
  position: relative;
}

/* line 3037, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .ts-native {
  display: none;
}

/* line 3038, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .ts-control {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  height: 34px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 6px;
  padding: 0 8px 0 10px;
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink);
  font-size: 13.5px;
  text-align: left;
}

/* line 3052, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .ts-control .ts-value {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 3058, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .ts-control .ts-value.placeholder {
  color: var(--erp-ui-ink-3);
}

/* line 3060, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .ts-control .ts-caret {
  color: var(--erp-ui-ink-3);
  font-size: 10px;
  line-height: 1;
}

/* line 3065, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .ts-control:hover {
  border-color: var(--erp-ui-hairline-strong);
}

/* line 3066, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .ts-control[aria-expanded="true"] {
  border-color: var(--erp-ui-accent);
  box-shadow: 0 0 0 3px var(--erp-ui-accent-soft);
}

/* line 3071, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .filters .ts-control {
  height: 34px;
}

/* line 3072, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .ts-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 60;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 6px;
  box-shadow: var(--erp-ui-shadow-overlay);
  display: none;
  overflow: hidden;
}

/* line 3085, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .ts-dropdown.open {
  display: block;
}

/* line 3087, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .ts-search {
  width: 100%;
  height: 32px;
  border: 0;
  border-bottom: 1px solid var(--erp-ui-hairline);
  padding: 0 10px;
  font-size: 13px;
  color: var(--erp-ui-ink);
  background: var(--erp-ui-surface-2);
}

/* line 3097, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .ts-search:focus {
  outline: none;
}

/* line 3099, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .ts-options {
  max-height: 208px;
  overflow-y: auto;
  padding: 4px;
}

/* line 3104, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .ts-opt {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  text-align: left;
  padding: 6px 9px;
  border: 0;
  background: none;
  border-radius: 4px;
  font-size: 13.5px;
  color: var(--erp-ui-ink);
}

/* line 3117, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .ts-opt:hover, .erp-ui .ts-opt.active {
  background: var(--erp-ui-accent-soft);
}

/* line 3118, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .ts-opt[aria-selected="true"] {
  font-weight: 600;
}

/* line 3119, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .ts-opt[aria-selected="true"]::after {
  content: "\2713";
  margin-left: auto;
  color: var(--erp-ui-accent);
  font-size: 12px;
}

/* line 3126, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .ts-empty {
  padding: 10px;
  font-size: 12.5px;
  color: var(--erp-ui-ink-3);
}

/* line 3133, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .timeline {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* line 3143, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .timeline::before {
  content: none;
}

/* line 3145, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .timeline li {
  display: flex;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 3151, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .timeline li:last-child {
  border-bottom: 0;
}

/* line 3153, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .timeline .dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--erp-ui-hairline-strong);
  margin-top: 6px;
  flex: none;
}

/* line 3161, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .timeline .dot.good {
  background: var(--erp-ui-good);
}

/* line 3162, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .timeline .dot.warning {
  background: var(--erp-ui-warning);
}

/* line 3164, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .timeline .ev {
  font-size: 13.5px;
  font-weight: 600;
}

/* line 3165, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .timeline .when {
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
}

/* line 3166, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .timeline .txt {
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
}

/* line 3170, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .detail-avatar {
  width: 46px;
  height: 46px;
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-accent-soft);
  color: var(--erp-ui-accent);
  display: grid;
  place-items: center;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.02em;
}

/* line 3204, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .is-hidden {
  display: none !important;
}

/* line 3209, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 768px) {
  /* line 3247, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .table-scroll {
    overflow-x: visible;
  }
  /* line 3249, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui table.data {
    display: block;
  }
  /* line 3252, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui table.data thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
  }
  /* line 3263, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui table.data tbody, .erp-ui table.data tr, .erp-ui table.data td {
    display: block;
    width: 100%;
  }
  /* line 3265, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui table.data tr {
    margin-bottom: 12px;
    border: 1px solid var(--erp-ui-hairline);
    border-radius: var(--erp-ui-radius);
    padding: 4px 12px;
    background: var(--erp-ui-surface);
  }
  /* line 3272, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui table.data tr:last-child {
    margin-bottom: 0;
  }
  /* line 3276, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui table.data tbody tr:hover {
    background: var(--erp-ui-surface);
  }
  /* line 3278, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui table.data td {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 0;
    border-bottom: 1px solid var(--erp-ui-hairline);
    text-align: right;
  }
  /* line 3287, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui table.data td:last-child {
    border-bottom: 0;
  }
  /* line 3289, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui table.data td[data-label]::before {
    content: attr(data-label);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--erp-ui-ink-3);
    text-align: left;
    flex-shrink: 0;
  }
  /* line 3303, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui table.data td.acts {
    justify-content: flex-end;
  }
  /* line 3304, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui table.data td.col-check {
    justify-content: flex-start;
  }
}

@media (max-width: 1080px) {
  /* line 3316, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .kpi-grid[class] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  /* line 3317, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .filters-row {
    grid-template-columns: 1fr 1fr;
  }
  /* line 3318, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .grid > [class*="c"] {
    grid-column: span 6;
  }
}

@media (max-width: 640px) {
  /* line 3321, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .kpi-grid[class],
.erp-ui .filters-row {
    grid-template-columns: minmax(0, 1fr);
  }
  /* line 3323, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .grid > [class*="c"] {
    grid-column: span 12;
  }
  /* line 3324, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .page-actions {
    width: 100%;
  }
}

/* line 3337, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .an-section {
  margin-bottom: 20px;
}

/* line 3340, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .an-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 10px;
}

/* line 3348, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .an-section-title {
  font-size: 15px;
  font-weight: 700;
  margin: 0;
  color: var(--erp-ui-ink);
}

/* line 3354, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .an-section-sub {
  font-size: 12px;
  color: var(--erp-ui-ink-3);
  margin: 2px 0 0;
}

/* line 3368, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .chart-head {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 14px 16px 0;
  margin-bottom: 10px;
}

/* line 3391, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .chart-head .chart-title {
  font-size: 14px;
  font-weight: 700;
  margin: 0;
  color: var(--erp-ui-ink);
}

/* line 3397, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .chart-head .chart-sub {
  font-size: 12px;
  color: var(--erp-ui-ink-3);
  margin: 0;
}

/* line 3403, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .chart-body {
  position: relative;
  padding: 0 16px;
}

/* line 3417, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .chart-canvas-box {
  position: relative;
  height: 300px;
}

/* line 3421, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .chart-canvas-box canvas {
  display: block;
}

@media (max-width: 640px) {
  /* line 3427, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .chart-canvas-box {
    height: 220px;
  }
}

/* line 3442, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .chart-table {
  margin-top: 10px;
  padding: 0 0 14px;
}

/* line 3455, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .chart-table summary {
  cursor: pointer;
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--erp-ui-ink-2);
}

/* line 3465, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .chart-table summary::before {
  content: "";
  width: 0;
  height: 0;
  border-left: 5px solid currentColor;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  transition: transform .12s;
}

/* line 3475, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .chart-table summary::-webkit-details-marker {
  display: none;
}

/* line 3479, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .chart-table summary:hover {
  color: var(--erp-ui-accent);
}

/* line 3483, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .chart-table summary:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--erp-ui-accent-soft);
}

/* line 3489, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .chart-table[open] > summary::before {
  transform: rotate(90deg);
}

/* line 3493, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .chart-table table.data {
  margin-top: 8px;
}

/* line 3517, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kanban-board {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding-bottom: 8px;
}

/* line 3524, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kanban-column {
  flex: 1 1 260px;
  min-width: 240px;
  max-width: 340px;
  display: flex;
  flex-direction: column;
  background: var(--erp-ui-surface-2);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  max-height: 100%;
}

/* line 3543, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kanban-column-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border-top: 1px solid var(--erp-ui-hairline);
  font-size: 12px;
  color: var(--erp-ui-ink-2);
}

/* line 3554, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kanban-column-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 3563, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kanban-column-title {
  margin: 0;
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--erp-ui-ink-2);
}

/* line 3579, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kanban-column-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline-strong);
  font-size: 12px;
  font-weight: 700;
  color: var(--erp-ui-ink-2);
}

/* line 3599, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kanban-column-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 10px;
  min-height: 140px;
  transition: background-color 0.15s ease;
  overflow-y: auto;
  overflow-x: hidden;
  max-height: 62vh;
}

/* line 3618, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kanban-column-body.is-drag-over {
  background: var(--erp-ui-accent-soft);
}

/* line 3623, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kanban-column-empty {
  margin: auto 0;
  padding: 16px 8px;
  text-align: center;
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 3633, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kanban-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px 12px;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 6px;
  box-shadow: var(--erp-ui-shadow);
  cursor: grab;
}

/* line 3644, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .kanban-card.is-dragging {
  opacity: 0.5;
}

@media (max-width: 768px) {
  /* line 3650, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .kanban-board {
    flex-direction: column;
    overflow-x: visible;
  }
  /* line 3655, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .kanban-column {
    max-width: none;
  }
}

/* line 3703, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .erp-thread {
  min-width: 0;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  display: flex;
  flex-direction: column;
}

/* line 3712, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .thread-head {
  padding: 13px 16px;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 3717, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .thread-who {
  display: flex;
  align-items: center;
  gap: 11px;
}

/* line 3723, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .thread-title {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--erp-ui-ink);
  overflow-wrap: anywhere;
}

/* line 3734, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .thread-window {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-height: 560px;
  overflow-y: auto;
  overflow-x: hidden;
  background: var(--erp-ui-surface-2);
}

/* line 3745, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .thread-more {
  align-self: center;
  text-align: center;
  margin: 0;
}

/* line 3750, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .thread-more .hint {
  display: block;
  margin-top: 5px;
}

/* line 3756, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .msg {
  max-width: 82%;
  padding: 11px 14px;
  border-radius: var(--erp-ui-radius);
  border: 1px solid var(--erp-ui-hairline);
  background: var(--erp-ui-surface);
}

/* line 3768, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .msg.is-inbound {
  align-self: flex-start;
}

/* line 3772, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .msg.is-outbound {
  align-self: flex-end;
  background: var(--erp-ui-accent-soft);
}

/* line 3777, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .msg-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}

/* line 3785, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .msg-when {
  font-size: 11px;
  color: var(--erp-ui-ink-3);
  white-space: nowrap;
}

/* line 3794, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .msg-body {
  font-size: 13px;
  color: var(--erp-ui-ink);
  overflow-wrap: anywhere;
}

@media print {
  /* line 3806, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .page-actions,
.erp-ui .form-foot,
.erp-ui .bulk-bar,
.erp-ui .section-switch,
.erp-ui .action-btn {
    display: none;
  }
}

/* line 3816, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .plans-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
  margin-top: 14px;
  margin-bottom: 24px;
}

/* line 3824, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .plan-card {
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: box-shadow .15s, border-color .15s;
}

/* line 3834, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .plan-card:hover {
  border-color: var(--erp-ui-hairline-strong);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

/* line 3839, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .plan-card.featured {
  border: 2px solid var(--erp-ui-accent);
  position: relative;
}

/* line 3843, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .plan-card.featured::after {
  content: "Destaque";
  position: absolute;
  top: -10px;
  right: 16px;
  background: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 4px;
}

/* line 3859, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .plan-card-header {
  border-bottom: 1px solid var(--erp-ui-hairline);
  padding-bottom: 14px;
  margin-bottom: 14px;
}

/* line 3864, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .plan-card-header h4 {
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 700;
  color: var(--erp-ui-ink);
}

/* line 3872, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .plan-price {
  font-size: 26px;
  font-weight: 700;
  color: var(--erp-ui-accent);
  letter-spacing: -0.02em;
  margin-top: 8px;
}

/* line 3879, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .plan-price .price-period {
  font-size: 13px;
  font-weight: 400;
  color: var(--erp-ui-ink-3);
}

/* line 3886, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .plan-features-list {
  list-style: none;
  padding: 0;
  margin: 0 0 16px 0;
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
  display: grid;
  gap: 8px;
}

/* line 3895, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .plan-features-list li {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 3900, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .plan-features-list li .erp-icon {
  flex: none;
  width: 14px;
  height: 14px;
  color: var(--erp-ui-good);
}

/* line 3910, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .charts-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}

@media (max-width: 900px) {
  /* line 3910, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .charts-grid {
    grid-template-columns: 1fr;
  }
}

/* line 3920, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .charts-grid > .card {
  margin-bottom: 0;
}

/* line 3925, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .chart-container {
  height: 240px;
  position: relative;
  width: 100%;
}

/* line 3933, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .admin-lgpd-compliance-module .grid-two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}

@media (max-width: 900px) {
  /* line 3933, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .admin-lgpd-compliance-module .grid-two {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-bottom: 14px;
  }
}

/* line 3945, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .admin-lgpd-compliance-module .grid-two > .card {
  margin-bottom: 0;
}

/* line 3950, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .admin-lgpd-compliance-module .meta-list {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px 18px;
  margin: 0;
  font-size: 13px;
}

/* line 3957, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .admin-lgpd-compliance-module .meta-list dt {
  color: var(--erp-ui-ink-2);
  font-weight: 600;
}

/* line 3962, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .admin-lgpd-compliance-module .meta-list dd {
  margin: 0;
  color: var(--erp-ui-ink);
}

@media (max-width: 640px) {
  /* line 3950, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .admin-lgpd-compliance-module .meta-list {
    grid-template-columns: 1fr;
    gap: 4px;
    font-size: 12px;
  }
  /* line 3972, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .admin-lgpd-compliance-module .meta-list dt {
    margin-top: 8px;
  }
  /* line 3974, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .admin-lgpd-compliance-module .meta-list dt:first-child {
    margin-top: 0;
  }
}

/* line 3979, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .admin-lgpd-compliance-module .disk-meter-wrap {
  margin-top: 14px;
}

/* line 3983, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .admin-lgpd-compliance-module .disk-meter-header {
  display: flex;
  justify-content: space-between;
  font-size: 11.5px;
  color: var(--erp-ui-ink-2);
}

/* line 3990, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .admin-lgpd-compliance-module .meter-bar {
  height: 8px;
  background: var(--erp-ui-hairline);
  border-radius: 999px;
  overflow: hidden;
  margin-top: 6px;
}

/* line 3997, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .admin-lgpd-compliance-module .meter-bar .meter-fill {
  height: 100%;
  width: 12%;
  border-radius: 999px;
  background: var(--erp-ui-good);
}

/* line 4003, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .admin-lgpd-compliance-module .meter-bar .meter-fill.warning {
  background: var(--erp-ui-warning);
}

/* line 4004, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .admin-lgpd-compliance-module .meter-bar .meter-fill.critical {
  background: var(--erp-ui-critical);
}

/* line 4008, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .admin-lgpd-compliance-module .badge-sub {
  color: var(--erp-ui-ink-3);
  font-size: 11.5px;
  margin-top: 2px;
}

/* line 4014, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .admin-lgpd-compliance-module .legal-guidelines {
  font-size: 13px;
  line-height: 1.55;
  color: var(--erp-ui-ink-2);
}

/* line 4019, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .admin-lgpd-compliance-module .legal-guidelines ul {
  margin: 8px 0 16px 20px;
  padding: 0;
}

/* line 4023, app/assets/stylesheets/components/erp_ui.scss */
.erp-ui .admin-lgpd-compliance-module .legal-guidelines ul li {
  margin-bottom: 6px;
}

@keyframes erp-ui-skeleton-pulse {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

/* line 4057, app/assets/stylesheets/components/erp_ui.scss */
#erp-i-play path, #erp-i-pause rect {
  fill: currentColor;
  stroke: currentColor;
}

/* line 4072, app/assets/stylesheets/components/erp_ui.scss */
.erp-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(26, 32, 40, 0.42);
  z-index: 1030;
  opacity: 0;
  pointer-events: none;
  transition: opacity .16s;
}

/* line 4100, app/assets/stylesheets/components/erp_ui.scss */
.erp-modal-backdrop.is-open {
  opacity: 1;
  pointer-events: auto;
}

/* line 4105, app/assets/stylesheets/components/erp_ui.scss */
.erp-modal {
  text-align: left;
  position: fixed;
  inset: 0;
  z-index: 1040;
  display: none;
  align-items: flex-start;
  justify-content: center;
  padding: 56px 16px;
  overflow-y: auto;
}

/* line 4124, app/assets/stylesheets/components/erp_ui.scss */
.erp-modal.is-open {
  display: flex;
}

/* line 4126, app/assets/stylesheets/components/erp_ui.scss */
.erp-modal-box {
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: var(--erp-ui-radius);
  box-shadow: var(--erp-ui-shadow-overlay);
  width: 720px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
}

/* line 4136, app/assets/stylesheets/components/erp_ui.scss */
.erp-modal-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 15px 18px;
  border-bottom: 1px solid var(--erp-ui-hairline);
  background: var(--erp-ui-surface-2);
  border-radius: var(--erp-ui-radius) var(--erp-ui-radius) 0 0;
}

/* line 4145, app/assets/stylesheets/components/erp_ui.scss */
.erp-modal-head h2 {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
}

/* line 4146, app/assets/stylesheets/components/erp_ui.scss */
.erp-modal-head p {
  margin: 2px 0 0;
  font-size: 12.5px;
  color: var(--erp-ui-ink-3);
}

/* line 4148, app/assets/stylesheets/components/erp_ui.scss */
.erp-modal-close {
  margin-left: auto;
  border: 1px solid var(--erp-ui-hairline-strong);
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink-2);
  width: 28px;
  height: 28px;
  border-radius: 6px;
  font-size: 15px;
  line-height: 1;
}

/* line 4159, app/assets/stylesheets/components/erp_ui.scss */
.erp-modal-close:hover {
  border-color: var(--erp-ui-critical);
  color: var(--erp-ui-critical-text);
}

/* line 4164, app/assets/stylesheets/components/erp_ui.scss */
.erp-modal-body {
  padding: 18px;
  overflow-y: auto;
  max-height: 62vh;
}

/* line 4169, app/assets/stylesheets/components/erp_ui.scss */
.erp-modal-foot {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 12px 18px;
  border-top: 1px solid var(--erp-ui-hairline);
  border-radius: 0 0 var(--erp-ui-radius) var(--erp-ui-radius);
}

/* line 4177, app/assets/stylesheets/components/erp_ui.scss */
.erp-modal-foot .keep {
  margin-right: auto;
  font-size: 12.5px;
  color: var(--erp-ui-ink-3);
  display: flex;
  align-items: center;
  gap: 7px;
}

/* line 4195, app/assets/stylesheets/components/erp_ui.scss */
.erp-modal .erp-icon {
  width: 16px;
  height: 16px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 640px) {
  /* line 4207, app/assets/stylesheets/components/erp_ui.scss */
  .erp-modal {
    padding: 0;
  }
  /* line 4208, app/assets/stylesheets/components/erp_ui.scss */
  .erp-modal-box {
    min-height: 100vh;
    border-radius: 0;
    border: 0;
  }
  /* line 4213, app/assets/stylesheets/components/erp_ui.scss */
  .erp-modal-body {
    max-height: none;
    flex: 1;
  }
}

/* line 2, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal {
  background: var(--erp-ui-surface);
  border-radius: var(--erp-ui-radius);
  border: 1px solid var(--erp-ui-hairline-strong);
  font-family: inherit;
  padding: 0 0 18px;
  width: 30em;
}

/* line 10, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--erp-ui-ink);
  text-align: left;
  padding: 16px 20px 0;
  margin: 0;
}

/* line 18, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-html-container {
  font-size: 13.5px;
  color: var(--erp-ui-ink-2);
  text-align: left;
  margin: 6px 0 0;
  padding: 0 20px;
  line-height: 1.55;
}

/* line 26, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-icon {
  display: none;
}

/* line 31, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal.has-icon .swal2-icon {
  display: flex;
  font-size: 6.8px;
  width: 5em;
  height: 5em;
  margin: 16px 0 -4px 20px;
  border-width: 2px;
}

/* line 39, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal.has-icon .swal2-icon .swal2-icon-content {
  font-size: 20px;
}

/* line 41, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-actions {
  justify-content: flex-end;
  padding: 0 20px;
  margin: 18px 0 0;
  gap: 8px;
  width: 100%;
}

/* line 48, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-styled {
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  padding: 8px 16px;
  margin: 0;
  box-shadow: none;
}

/* line 56, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-confirm {
  background: var(--erp-ui-accent);
}

/* line 57, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal.danger .swal2-confirm {
  background: var(--erp-ui-critical);
}

/* line 58, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-cancel {
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink-2);
  border: 1px solid var(--erp-ui-hairline-strong);
}

/* line 63, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-input, .swal2-popup.erp-swal .swal2-textarea, .swal2-popup.erp-swal .swal2-select {
  font-size: 13.5px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 6px;
  box-shadow: none;
  margin: 10px 20px 0;
  width: calc(100% - 40px);
}

/* line 71, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-validation-message {
  font-size: 12.5px;
  border-radius: 6px;
  margin: 10px 20px 0;
  width: calc(100% - 40px);
}

/* line 4244, app/assets/stylesheets/components/erp_ui.scss */
.swal2-container .swal2-popup.erp-toast {
  padding: 11px 14px;
  width: auto;
  max-width: 380px;
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 11px;
  align-items: start;
}

/* line 4253, app/assets/stylesheets/components/erp_ui.scss */
.swal2-container .swal2-popup.erp-toast .swal2-title {
  font-size: 13.5px;
  font-weight: 700;
  padding: 0;
  margin: 0;
  grid-column: 2;
}

/* line 4260, app/assets/stylesheets/components/erp_ui.scss */
.swal2-container .swal2-popup.erp-toast .swal2-html-container {
  font-size: 12.5px;
  padding: 0;
  margin: 1px 0 0;
  grid-column: 2;
}

/* line 4270, app/assets/stylesheets/components/erp_ui.scss */
.swal2-container .swal2-popup.erp-toast .swal2-icon {
  display: flex;
  grid-row: 1 / span 2;
  grid-column: 1;
  width: 18px;
  height: 18px;
  min-width: 18px;
  margin: 1px 0 0;
  border: 0;
}

/* line 4280, app/assets/stylesheets/components/erp_ui.scss */
.swal2-container .swal2-popup.erp-toast .swal2-close {
  grid-row: 1;
  grid-column: 3;
  box-shadow: none;
}

/* line 4286, app/assets/stylesheets/components/erp_ui.scss */
.swal2-container .swal2-popup.erp-toast.success {
  background: var(--erp-ui-good-soft);
  border-color: var(--erp-ui-good);
}

/* line 4289, app/assets/stylesheets/components/erp_ui.scss */
.swal2-container .swal2-popup.erp-toast.success .swal2-icon {
  color: var(--erp-ui-good-text);
}

/* line 4290, app/assets/stylesheets/components/erp_ui.scss */
.swal2-container .swal2-popup.erp-toast.success .swal2-timer-progress-bar {
  background: var(--erp-ui-good);
}

/* line 4292, app/assets/stylesheets/components/erp_ui.scss */
.swal2-container .swal2-popup.erp-toast.warning {
  background: var(--erp-ui-warning-soft);
  border-color: var(--erp-ui-warning);
}

/* line 4295, app/assets/stylesheets/components/erp_ui.scss */
.swal2-container .swal2-popup.erp-toast.warning .swal2-icon {
  color: var(--erp-ui-warning-text);
}

/* line 4296, app/assets/stylesheets/components/erp_ui.scss */
.swal2-container .swal2-popup.erp-toast.warning .swal2-timer-progress-bar {
  background: var(--erp-ui-warning);
}

/* line 4298, app/assets/stylesheets/components/erp_ui.scss */
.swal2-container .swal2-popup.erp-toast.critical {
  background: var(--erp-ui-critical-soft);
  border-color: var(--erp-ui-critical);
}

/* line 4301, app/assets/stylesheets/components/erp_ui.scss */
.swal2-container .swal2-popup.erp-toast.critical .swal2-icon {
  color: var(--erp-ui-critical-text);
}

/* line 4304, app/assets/stylesheets/components/erp_ui.scss */
.swal2-container .swal2-popup.erp-toast.info {
  background: var(--erp-ui-accent-soft);
  border-color: var(--erp-ui-accent);
}

/* line 4307, app/assets/stylesheets/components/erp_ui.scss */
.swal2-container .swal2-popup.erp-toast.info .swal2-icon {
  color: var(--erp-ui-accent);
}

/* line 4308, app/assets/stylesheets/components/erp_ui.scss */
.swal2-container .swal2-popup.erp-toast.info .swal2-timer-progress-bar {
  background: var(--erp-ui-accent);
}

/* line 4311, app/assets/stylesheets/components/erp_ui.scss */
.swal-list {
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}

/* line 4316, app/assets/stylesheets/components/erp_ui.scss */
.swal-list li {
  display: flex;
  gap: 8px;
  align-items: baseline;
  padding: 6px 0;
  border-bottom: 1px solid var(--erp-ui-hairline);
  font-size: 13px;
}

/* line 4324, app/assets/stylesheets/components/erp_ui.scss */
.swal-list li:last-child {
  border-bottom: 0;
}

/* line 4326, app/assets/stylesheets/components/erp_ui.scss */
.swal-list .where {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--erp-ui-accent);
  background: var(--erp-ui-accent-soft);
  border-radius: 4px;
  padding: 2px 6px;
  flex: none;
}

/* line 4338, app/assets/stylesheets/components/erp_ui.scss */
.swal-kv {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 14px;
  margin-top: 10px;
  font-size: 13px;
}

/* line 4345, app/assets/stylesheets/components/erp_ui.scss */
.swal-kv dt {
  color: var(--erp-ui-ink-3);
}

/* line 4346, app/assets/stylesheets/components/erp_ui.scss */
.swal-kv dd {
  margin: 0;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* line 4352, app/assets/stylesheets/components/erp_ui.scss */
.swal-note {
  margin-top: 10px;
}

/* line 4379, app/assets/stylesheets/components/erp_ui.scss */
.erp-tooltip-bubble {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 90;
  width: 240px;
  max-width: 86vw;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: var(--erp-ui-radius);
  box-shadow: var(--erp-ui-shadow-overlay);
  padding: 8px 12px;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--erp-ui-ink-2);
  white-space: pre-line;
  visibility: hidden;
  opacity: 0;
  transition: opacity .12s, visibility .12s;
}

/* line 4406, app/assets/stylesheets/components/erp_ui.scss */
.erp-tooltip-bubble.is-open {
  visibility: visible;
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  /* line 4412, app/assets/stylesheets/components/erp_ui.scss */
  .erp-tooltip-bubble {
    transition: none;
  }
}

/* line 4425, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell {
  position: relative;
}

/* line 4428, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-trigger {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: var(--erp-ui-radius);
  color: var(--erp-ui-ink-2);
  cursor: pointer;
}

/* line 4442, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-trigger:hover {
  background: var(--erp-ui-surface-2);
  color: var(--erp-ui-ink);
}

/* line 4444, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-trigger:focus-visible {
  outline: 2px solid var(--erp-ui-accent);
  outline-offset: 2px;
}

/* line 4449, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-trigger .erp-icon {
  width: 20px;
  height: 20px;
}

/* line 4454, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-count {
  position: absolute;
  top: 3px;
  right: 3px;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  border-radius: 9px;
  background: var(--erp-ui-critical);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  line-height: 17px;
  text-align: center;
}

/* line 4470, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-panel {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 1050;
  width: 340px;
  max-width: calc(100vw - 24px);
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  box-shadow: var(--erp-ui-shadow-overlay);
}

/* line 4483, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 4492, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--erp-ui-ink);
}

/* line 4498, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-mark {
  padding: 0;
  background: transparent;
  border: 0;
  color: var(--erp-ui-accent);
  font-size: 12px;
  cursor: pointer;
}

/* line 4506, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-mark:hover {
  text-decoration: underline;
}

/* line 4509, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-list {
  max-height: 340px;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  list-style: none;
}

/* line 4517, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-item + .erp-bell-item {
  border-top: 1px solid var(--erp-ui-hairline);
}

/* line 4519, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-link {
  display: flex;
  gap: 10px;
  padding: 10px 12px;
  color: inherit;
  text-decoration: none;
}

/* line 4526, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-link:hover {
  background: var(--erp-ui-surface-2);
  text-decoration: none;
}

/* line 4529, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-item-icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
}

/* line 4538, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-item-icon .erp-icon {
  width: 15px;
  height: 15px;
}

/* line 4540, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-item-icon.critical {
  background: var(--erp-ui-critical-soft);
  color: var(--erp-ui-critical-text);
}

/* line 4541, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-item-icon.warning {
  background: var(--erp-ui-warning-soft);
  color: var(--erp-ui-warning-text);
}

/* line 4542, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-item-icon.neutral {
  background: var(--erp-ui-surface-2);
  color: var(--erp-ui-ink-2);
}

/* line 4547, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-item-text {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2px;
}

/* line 4553, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-item-title {
  overflow: hidden;
  font-size: 13px;
  font-weight: 600;
  color: var(--erp-ui-ink);
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 4562, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-item-body {
  font-size: 12px;
  color: var(--erp-ui-ink-2);
}

/* line 4567, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-item-time {
  font-size: 11px;
  color: var(--erp-ui-ink-3);
}

/* line 4572, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-empty {
  margin: 0;
  padding: 20px 12px;
  color: var(--erp-ui-ink-3);
  font-size: 13px;
  text-align: center;
}

/* line 4580, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-foot {
  padding: 8px 12px;
  border-top: 1px solid var(--erp-ui-hairline);
  text-align: center;
}

/* line 4586, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-all {
  color: var(--erp-ui-accent);
  font-size: 12px;
  font-weight: 600;
}

/* line 4591, app/assets/stylesheets/components/erp_ui.scss */
.erp-bell .erp-bell-all:hover {
  text-decoration: underline;
}

@media (max-width: 1080px) {
  /* line 4598, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .kv {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  /* line 4602, app/assets/stylesheets/components/erp_ui.scss */
  .erp-ui .kv {
    grid-template-columns: 1fr;
  }
}

/* line 4608, app/assets/stylesheets/components/erp_ui.scss */
a[data-controller~="pdf-link"][aria-busy="true"] {
  opacity: 0.55;
  cursor: progress;
}
/* line 9, app/assets/stylesheets/components/financial_dashboard.scss */
:root {
  --primary-color: #007bff;
  --secondary-color: #6c757d;
  --success-color: #28a745;
  --danger-color: #dc3545;
  --warning-color: #ffc107;
  --info-color: #17a2b8;
  --light-color: #f8f9fa;
  --dark-color: #343a40;
  --white: #ffffff;
  --primary-light: rgba(0, 123, 255, 0.1);
  --success-light: rgba(40, 167, 69, 0.1);
  --danger-light: rgba(220, 53, 69, 0.1);
  --warning-light: rgba(255, 193, 7, 0.1);
  --info-light: rgba(23, 162, 184, 0.1);
  --shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --transition-fast: all 0.15s ease-in-out;
  --transition-normal: all 0.3s ease-in-out;
  --transition-slow: all 0.5s ease-in-out;
  --border-radius: 0.375rem;
  --border-radius-lg: 0.5rem;
  --border-radius-xl: 1rem;
}

/* line 47, app/assets/stylesheets/components/financial_dashboard.scss */
.financial-dashboard {
  background-color: #f5f7fa;
  min-height: 100vh;
}

/* line 51, app/assets/stylesheets/components/financial_dashboard.scss */
.financial-dashboard .dashboard-content {
  padding: 0 15px;
}

/* line 55, app/assets/stylesheets/components/financial_dashboard.scss */
.financial-dashboard .dashboard-content .row {
  display: flex;
  flex-wrap: wrap;
}

/* line 59, app/assets/stylesheets/components/financial_dashboard.scss */
.financial-dashboard .dashboard-content .row > [class*="col-"] {
  display: flex;
  flex-direction: column;
}

/* line 66, app/assets/stylesheets/components/financial_dashboard.scss */
.financial-dashboard .dashboard-content .card {
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* line 71, app/assets/stylesheets/components/financial_dashboard.scss */
.financial-dashboard .dashboard-content .card .card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* line 84, app/assets/stylesheets/components/financial_dashboard.scss */
.kpi-card {
  background: var(--white);
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius-lg);
  transition: var(--transition-normal);
  overflow: hidden;
}

/* line 91, app/assets/stylesheets/components/financial_dashboard.scss */
.kpi-card:hover {
  box-shadow: var(--shadow);
  transform: translateY(-2px);
}

/* line 96, app/assets/stylesheets/components/financial_dashboard.scss */
.kpi-card .kpi-card-body {
  padding: 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 103, app/assets/stylesheets/components/financial_dashboard.scss */
.kpi-card .kpi-icon {
  width: 60px;
  height: 60px;
  border-radius: var(--border-radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
}

/* line 114, app/assets/stylesheets/components/financial_dashboard.scss */
.kpi-card .kpi-content {
  flex: 1;
}

/* line 118, app/assets/stylesheets/components/financial_dashboard.scss */
.kpi-card .kpi-value {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  line-height: 1;
}

/* line 125, app/assets/stylesheets/components/financial_dashboard.scss */
.kpi-card .kpi-label {
  font-size: 0.9rem;
  color: var(--secondary-color);
  font-weight: 500;
  margin-bottom: 0.75rem;
}

/* line 132, app/assets/stylesheets/components/financial_dashboard.scss */
.kpi-card .kpi-trend {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  font-weight: 500;
}

/* line 141, app/assets/stylesheets/components/financial_dashboard.scss */
.kpi-card .kpi-progress .progress {
  height: 6px;
  border-radius: 3px;
  background: #e9ecef;
  margin-bottom: 0.5rem;
}

/* line 148, app/assets/stylesheets/components/financial_dashboard.scss */
.kpi-card .kpi-progress small {
  font-size: 0.75rem;
  color: var(--secondary-color);
}

/* line 155, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-stat-card {
  background: var(--white);
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius);
  padding: 1rem;
  transition: var(--transition-fast);
}

/* line 162, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-stat-card:hover {
  box-shadow: var(--shadow-sm);
  transform: translateY(-1px);
}

/* line 167, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-stat-card .quick-stat-content {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 173, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-stat-card .quick-stat-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--primary-light);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 184, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-stat-card .quick-stat-info {
  flex: 1;
}

/* line 188, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-stat-card .quick-stat-value {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--dark-color);
  margin-bottom: 0.25rem;
}

/* line 195, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-stat-card .quick-stat-label {
  font-size: 0.8rem;
  color: var(--secondary-color);
  margin-bottom: 0;
}

/* line 208, app/assets/stylesheets/components/financial_dashboard.scss */
.receivables-summary .summary-card,
.payables-summary .summary-card {
  display: flex;
  align-items: center;
  padding: 1rem;
  border-radius: var(--border-radius-lg);
  background: var(--white);
  border: 1px solid #e3e6f0;
  margin-bottom: 1rem;
}

/* line 218, app/assets/stylesheets/components/financial_dashboard.scss */
.receivables-summary .summary-icon,
.payables-summary .summary-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 1rem;
  flex-shrink: 0;
}

/* line 229, app/assets/stylesheets/components/financial_dashboard.scss */
.receivables-summary .overdue .summary-icon,
.payables-summary .overdue .summary-icon {
  background: rgba(220, 53, 69, 0.1);
  color: #dc3545;
}

/* line 234, app/assets/stylesheets/components/financial_dashboard.scss */
.receivables-summary .upcoming .summary-icon,
.payables-summary .upcoming .summary-icon {
  background: rgba(255, 193, 7, 0.1);
  color: #ffc107;
}

/* line 239, app/assets/stylesheets/components/financial_dashboard.scss */
.receivables-summary .summary-value,
.payables-summary .summary-value {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

/* line 245, app/assets/stylesheets/components/financial_dashboard.scss */
.receivables-summary .summary-label,
.payables-summary .summary-label {
  font-size: 0.875rem;
  color: var(--secondary-color);
  margin-bottom: 0;
}

/* line 252, app/assets/stylesheets/components/financial_dashboard.scss */
.receivables-list,
.payables-list {
  max-height: 300px;
  overflow-y: auto;
}

/* line 258, app/assets/stylesheets/components/financial_dashboard.scss */
.receivable-item,
.payable-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius);
  margin-bottom: 0.75rem;
  background: var(--white);
  transition: var(--transition-fast);
}

/* line 270, app/assets/stylesheets/components/financial_dashboard.scss */
.receivable-item:hover,
.payable-item:hover {
  box-shadow: var(--shadow-sm);
  transform: translateY(-1px);
}

/* line 275, app/assets/stylesheets/components/financial_dashboard.scss */
.receivable-item.overdue-item,
.payable-item.overdue-item {
  border-left: 4px solid #dc3545;
}

/* line 279, app/assets/stylesheets/components/financial_dashboard.scss */
.receivable-item.upcoming-item,
.payable-item.upcoming-item {
  border-left: 4px solid #ffc107;
}

/* line 284, app/assets/stylesheets/components/financial_dashboard.scss */
.receivable-customer,
.payable-supplier {
  margin-bottom: 0.5rem;
}

/* line 289, app/assets/stylesheets/components/financial_dashboard.scss */
.receivable-details,
.payable-details {
  display: flex;
  gap: 1rem;
  font-size: 0.875rem;
}

/* line 296, app/assets/stylesheets/components/financial_dashboard.scss */
.receivable-amount,
.payable-amount {
  font-weight: 600;
}

/* line 301, app/assets/stylesheets/components/financial_dashboard.scss */
.receivable-date,
.payable-date {
  color: var(--secondary-color);
}

/* line 306, app/assets/stylesheets/components/financial_dashboard.scss */
.receivable-days,
.payable-days {
  font-weight: 500;
}

/* line 311, app/assets/stylesheets/components/financial_dashboard.scss */
.placeholder-message {
  text-align: center;
  padding: 2rem 1rem;
  background: #f8f9fa;
  border-radius: var(--border-radius-lg);
  border: 2px dashed #dee2e6;
}

/* line 318, app/assets/stylesheets/components/financial_dashboard.scss */
.placeholder-message .placeholder-icon {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

/* line 324, app/assets/stylesheets/components/financial_dashboard.scss */
.placeholder-message .placeholder-text h6 {
  margin-bottom: 0.5rem;
  color: var(--dark-color);
}

/* line 329, app/assets/stylesheets/components/financial_dashboard.scss */
.placeholder-message .placeholder-text p {
  color: var(--secondary-color);
  margin-bottom: 0;
}

/* line 340, app/assets/stylesheets/components/financial_dashboard.scss */
.bank-accounts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1rem;
  margin-bottom: 1rem;
}

/* line 347, app/assets/stylesheets/components/financial_dashboard.scss */
.bank-account-card {
  background: var(--white);
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius-lg);
  padding: 1.5rem;
  transition: var(--transition-fast);
}

/* line 354, app/assets/stylesheets/components/financial_dashboard.scss */
.bank-account-card:hover {
  box-shadow: var(--shadow-sm);
  transform: translateY(-2px);
}

/* line 360, app/assets/stylesheets/components/financial_dashboard.scss */
.bank-account-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1rem;
}

/* line 367, app/assets/stylesheets/components/financial_dashboard.scss */
.bank-name {
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
  color: var(--dark-color);
}

/* line 373, app/assets/stylesheets/components/financial_dashboard.scss */
.account-details {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 379, app/assets/stylesheets/components/financial_dashboard.scss */
.account-name {
  font-size: 0.9rem;
  color: var(--secondary-color);
}

/* line 384, app/assets/stylesheets/components/financial_dashboard.scss */
.account-number {
  font-size: 0.8rem;
  color: var(--secondary-color);
  font-family: monospace;
}

/* line 390, app/assets/stylesheets/components/financial_dashboard.scss */
.account-type-badge {
  flex-shrink: 0;
}

/* line 394, app/assets/stylesheets/components/financial_dashboard.scss */
.bank-account-balance {
  text-align: center;
  margin-bottom: 1rem;
  padding: 1rem;
  background: #f8f9fa;
  border-radius: var(--border-radius);
}

/* line 402, app/assets/stylesheets/components/financial_dashboard.scss */
.balance-label {
  font-size: 0.875rem;
  color: var(--secondary-color);
  margin-bottom: 0.5rem;
}

/* line 408, app/assets/stylesheets/components/financial_dashboard.scss */
.balance-amount {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

/* line 414, app/assets/stylesheets/components/financial_dashboard.scss */
.balance-warning {
  font-size: 0.8rem;
  color: var(--warning-color);
  font-weight: 500;
}

/* line 420, app/assets/stylesheets/components/financial_dashboard.scss */
.bank-account-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 426, app/assets/stylesheets/components/financial_dashboard.scss */
.account-status {
  flex: 1;
}

/* line 430, app/assets/stylesheets/components/financial_dashboard.scss */
.account-actions {
  flex-shrink: 0;
}

/* line 434, app/assets/stylesheets/components/financial_dashboard.scss */
.total-balance-summary {
  background: #f8f9fa;
  border-radius: var(--border-radius-lg);
  padding: 1.5rem;
}

/* line 440, app/assets/stylesheets/components/financial_dashboard.scss */
.total-balance-item {
  text-align: center;
}

/* line 444, app/assets/stylesheets/components/financial_dashboard.scss */
.total-balance-label {
  font-size: 0.875rem;
  color: var(--secondary-color);
  margin-bottom: 0.5rem;
}

/* line 450, app/assets/stylesheets/components/financial_dashboard.scss */
.total-balance-value {
  font-size: 1.25rem;
  font-weight: 700;
}

/* line 459, app/assets/stylesheets/components/financial_dashboard.scss */
.transactions-list {
  max-height: 400px;
  overflow-y: auto;
}

/* line 464, app/assets/stylesheets/components/financial_dashboard.scss */
.transaction-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius);
  margin-bottom: 0.75rem;
  background: var(--white);
  transition: var(--transition-fast);
}

/* line 475, app/assets/stylesheets/components/financial_dashboard.scss */
.transaction-item:hover {
  box-shadow: var(--shadow-sm);
  transform: translateY(-1px);
}

/* line 481, app/assets/stylesheets/components/financial_dashboard.scss */
.transaction-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #f8f9fa;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 492, app/assets/stylesheets/components/financial_dashboard.scss */
.transaction-content {
  flex: 1;
}

/* line 496, app/assets/stylesheets/components/financial_dashboard.scss */
.transaction-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 0.5rem;
}

/* line 503, app/assets/stylesheets/components/financial_dashboard.scss */
.transaction-description {
  font-size: 0.9rem;
  color: var(--dark-color);
  flex: 1;
  margin-right: 1rem;
}

/* line 510, app/assets/stylesheets/components/financial_dashboard.scss */
.transaction-amount {
  font-size: 1rem;
  font-weight: 700;
  flex-shrink: 0;
}

/* line 516, app/assets/stylesheets/components/financial_dashboard.scss */
.transaction-details {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 522, app/assets/stylesheets/components/financial_dashboard.scss */
.transaction-info {
  display: flex;
  gap: 1rem;
  font-size: 0.8rem;
  color: var(--secondary-color);
}

/* line 529, app/assets/stylesheets/components/financial_dashboard.scss */
.transaction-date,
.transaction-account {
  display: flex;
  align-items: center;
}

/* line 535, app/assets/stylesheets/components/financial_dashboard.scss */
.transaction-status {
  flex-shrink: 0;
}

/* line 539, app/assets/stylesheets/components/financial_dashboard.scss */
.transaction-actions {
  flex-shrink: 0;
}

/* line 543, app/assets/stylesheets/components/financial_dashboard.scss */
.transactions-actions {
  display: flex;
  gap: 0.5rem;
}

/* line 552, app/assets/stylesheets/components/financial_dashboard.scss */
.cash-flow-overview {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 558, app/assets/stylesheets/components/financial_dashboard.scss */
.cash-flow-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  background: var(--white);
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius);
  transition: var(--transition-fast);
}

/* line 568, app/assets/stylesheets/components/financial_dashboard.scss */
.cash-flow-item:hover {
  box-shadow: var(--shadow-sm);
  transform: translateY(-1px);
}

/* line 573, app/assets/stylesheets/components/financial_dashboard.scss */
.cash-flow-item.positive {
  border-left: 4px solid #28a745;
}

/* line 577, app/assets/stylesheets/components/financial_dashboard.scss */
.cash-flow-item.negative {
  border-left: 4px solid #dc3545;
}

/* line 581, app/assets/stylesheets/components/financial_dashboard.scss */
.cash-flow-item.net {
  border-left: 4px solid #007bff;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

/* line 587, app/assets/stylesheets/components/financial_dashboard.scss */
.cash-flow-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 597, app/assets/stylesheets/components/financial_dashboard.scss */
.cash-flow-item.positive .cash-flow-icon {
  background: rgba(40, 167, 69, 0.1);
  color: #28a745;
}

/* line 602, app/assets/stylesheets/components/financial_dashboard.scss */
.cash-flow-item.negative .cash-flow-icon {
  background: rgba(220, 53, 69, 0.1);
  color: #dc3545;
}

/* line 607, app/assets/stylesheets/components/financial_dashboard.scss */
.cash-flow-item.net .cash-flow-icon {
  background: rgba(0, 123, 255, 0.1);
  color: #007bff;
}

/* line 612, app/assets/stylesheets/components/financial_dashboard.scss */
.cash-flow-content {
  flex: 1;
}

/* line 616, app/assets/stylesheets/components/financial_dashboard.scss */
.cash-flow-label {
  font-size: 0.875rem;
  color: var(--secondary-color);
  margin-bottom: 0.25rem;
}

/* line 622, app/assets/stylesheets/components/financial_dashboard.scss */
.cash-flow-value {
  font-size: 1.25rem;
  font-weight: 700;
}

/* line 628, app/assets/stylesheets/components/financial_dashboard.scss */
.cash-flow-chart .chart-container {
  position: relative;
  height: 200px;
  margin: 0 auto;
}

/* line 635, app/assets/stylesheets/components/financial_dashboard.scss */
.cash-flow-breakdown {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 641, app/assets/stylesheets/components/financial_dashboard.scss */
.breakdown-item {
  background: var(--white);
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius);
  padding: 1rem;
}

/* line 647, app/assets/stylesheets/components/financial_dashboard.scss */
.breakdown-item.total {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-left: 4px solid var(--primary-color);
}

/* line 653, app/assets/stylesheets/components/financial_dashboard.scss */
.breakdown-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}

/* line 660, app/assets/stylesheets/components/financial_dashboard.scss */
.breakdown-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--dark-color);
}

/* line 666, app/assets/stylesheets/components/financial_dashboard.scss */
.breakdown-value {
  font-size: 1rem;
  font-weight: 700;
}

/* line 671, app/assets/stylesheets/components/financial_dashboard.scss */
.breakdown-bar {
  height: 8px;
  background: #e9ecef;
  border-radius: 4px;
  overflow: hidden;
}

/* line 678, app/assets/stylesheets/components/financial_dashboard.scss */
.breakdown-progress {
  height: 100%;
  border-radius: 4px;
  transition: width 0.3s ease;
}

/* line 684, app/assets/stylesheets/components/financial_dashboard.scss */
.cash-flow-actions {
  display: flex;
  gap: 0.5rem;
}

/* line 693, app/assets/stylesheets/components/financial_dashboard.scss */
.alerts-panel-modern {
  background: var(--white);
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius-lg);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}

/* line 701, app/assets/stylesheets/components/financial_dashboard.scss */
.alerts-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
  background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
  border-bottom: 1px solid #ffeaa7;
}

/* line 710, app/assets/stylesheets/components/financial_dashboard.scss */
.alerts-title {
  margin-bottom: 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: #856404;
}

/* line 717, app/assets/stylesheets/components/financial_dashboard.scss */
.alerts-container {
  max-height: 400px;
  overflow-y: auto;
}

/* line 722, app/assets/stylesheets/components/financial_dashboard.scss */
.alert-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.5rem;
  border-bottom: 1px solid #e3e6f0;
  transition: all 0.3s ease;
  opacity: 1;
  transform: translateX(0);
}

/* line 732, app/assets/stylesheets/components/financial_dashboard.scss */
.alert-item:last-child {
  border-bottom: none;
}

/* line 736, app/assets/stylesheets/components/financial_dashboard.scss */
.alert-item.danger {
  border-left: 4px solid #dc3545;
  background: linear-gradient(135deg, #fff5f5 0%, #fed7d7 100%);
}

/* line 741, app/assets/stylesheets/components/financial_dashboard.scss */
.alert-item.warning {
  border-left: 4px solid #ffc107;
  background: linear-gradient(135deg, #fffbf0 0%, #fef5e7 100%);
}

/* line 746, app/assets/stylesheets/components/financial_dashboard.scss */
.alert-item.info {
  border-left: 4px solid #17a2b8;
  background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
}

/* line 751, app/assets/stylesheets/components/financial_dashboard.scss */
.alert-item.primary {
  border-left: 4px solid #007bff;
  background: linear-gradient(135deg, #f0f8ff 0%, #e6f3ff 100%);
}

/* line 757, app/assets/stylesheets/components/financial_dashboard.scss */
.alert-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.2rem;
}

/* line 768, app/assets/stylesheets/components/financial_dashboard.scss */
.alert-item.danger .alert-icon {
  background: rgba(220, 53, 69, 0.1);
  color: #dc3545;
}

/* line 773, app/assets/stylesheets/components/financial_dashboard.scss */
.alert-item.warning .alert-icon {
  background: rgba(255, 193, 7, 0.1);
  color: #ffc107;
}

/* line 778, app/assets/stylesheets/components/financial_dashboard.scss */
.alert-item.info .alert-icon {
  background: rgba(23, 162, 184, 0.1);
  color: #17a2b8;
}

/* line 783, app/assets/stylesheets/components/financial_dashboard.scss */
.alert-item.primary .alert-icon {
  background: rgba(0, 123, 255, 0.1);
  color: #007bff;
}

/* line 788, app/assets/stylesheets/components/financial_dashboard.scss */
.alert-content {
  flex: 1;
}

/* line 792, app/assets/stylesheets/components/financial_dashboard.scss */
.alert-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 0.5rem;
}

/* line 799, app/assets/stylesheets/components/financial_dashboard.scss */
.alert-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--dark-color);
  margin-bottom: 0;
}

/* line 806, app/assets/stylesheets/components/financial_dashboard.scss */
.alert-close {
  background: none;
  border: none;
  color: var(--secondary-color);
  cursor: pointer;
  padding: 0.25rem;
  border-radius: 50%;
  transition: var(--transition-fast);
  flex-shrink: 0;
}

/* line 816, app/assets/stylesheets/components/financial_dashboard.scss */
.alert-close:hover {
  background: rgba(0, 0, 0, 0.1);
  color: var(--dark-color);
}

/* line 822, app/assets/stylesheets/components/financial_dashboard.scss */
.alert-message {
  font-size: 0.9rem;
  color: var(--secondary-color);
  margin-bottom: 1rem;
}

/* line 828, app/assets/stylesheets/components/financial_dashboard.scss */
.alert-actions {
  display: flex;
  gap: 0.5rem;
}

/* line 833, app/assets/stylesheets/components/financial_dashboard.scss */
.no-alerts {
  text-align: center;
  padding: 3rem 1.5rem;
}

/* line 838, app/assets/stylesheets/components/financial_dashboard.scss */
.no-alerts-icon {
  font-size: 3rem;
  margin-bottom: 1rem;
}

/* line 844, app/assets/stylesheets/components/financial_dashboard.scss */
.no-alerts-text h6 {
  margin-bottom: 0.5rem;
  color: var(--dark-color);
}

/* line 849, app/assets/stylesheets/components/financial_dashboard.scss */
.no-alerts-text p {
  color: var(--secondary-color);
  margin-bottom: 0;
}

/* line 859, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-action-btn {
  display: block;
  width: 100%;
  padding: 1.5rem;
  background: var(--white);
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius-lg);
  text-decoration: none;
  color: var(--dark-color);
  transition: var(--transition-normal);
  position: relative;
  overflow: hidden;
}

/* line 872, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-action-btn:hover {
  text-decoration: none;
  color: var(--dark-color);
  box-shadow: var(--shadow);
  transform: translateY(-2px);
}

/* line 879, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-action-btn.primary {
  border-left: 4px solid var(--primary-color);
}

/* line 883, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-action-btn.success {
  border-left: 4px solid var(--success-color);
}

/* line 887, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-action-btn .quick-action-content {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 893, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-action-btn .quick-action-icon {
  width: 50px;
  height: 50px;
  border-radius: var(--border-radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
}

/* line 904, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-action-btn.primary .quick-action-icon {
  background: var(--primary-light);
  color: var(--primary-color);
}

/* line 909, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-action-btn.success .quick-action-icon {
  background: var(--success-light);
  color: var(--success-color);
}

/* line 914, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-action-btn .quick-action-info {
  flex: 1;
}

/* line 918, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-action-btn .quick-action-title {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.25rem;
}

/* line 924, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-action-btn .quick-action-desc {
  font-size: 0.8rem;
  color: var(--secondary-color);
  margin-bottom: 0;
}

/* line 930, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-action-btn .quick-action-arrow {
  color: var(--secondary-color);
  transition: var(--transition-fast);
}

/* line 935, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-action-btn:hover .quick-action-arrow {
  transform: translateX(3px);
}

/* line 939, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-action-btn .badge-notification {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  font-size: 0.7rem;
}

/* line 947, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-action-card {
  display: block;
  width: 100%;
  padding: 1rem;
  background: var(--white);
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius);
  text-decoration: none;
  color: var(--dark-color);
  text-align: center;
  transition: var(--transition-fast);
}

/* line 959, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-action-card:hover {
  text-decoration: none;
  color: var(--dark-color);
  box-shadow: var(--shadow-sm);
  transform: translateY(-1px);
}

/* line 966, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-action-card .quick-action-card-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.75rem;
  font-size: 1.2rem;
}

/* line 977, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-action-card .quick-action-card-title {
  font-size: 0.9rem;
  font-weight: 500;
  margin-bottom: 0;
}

/* line 988, app/assets/stylesheets/components/financial_dashboard.scss */
.chart-container {
  position: relative;
  height: 300px;
  margin: 0 auto;
}

/* line 995, app/assets/stylesheets/components/financial_dashboard.scss */
.chart-stats .chart-stat-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  background: var(--white);
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius);
  margin-bottom: 0.75rem;
}

/* line 1005, app/assets/stylesheets/components/financial_dashboard.scss */
.chart-stats .chart-stat-item:last-child {
  margin-bottom: 0;
}

/* line 1010, app/assets/stylesheets/components/financial_dashboard.scss */
.chart-stats .chart-stat-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 1020, app/assets/stylesheets/components/financial_dashboard.scss */
.chart-stats .chart-stat-content {
  flex: 1;
}

/* line 1024, app/assets/stylesheets/components/financial_dashboard.scss */
.chart-stats .chart-stat-value {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

/* line 1030, app/assets/stylesheets/components/financial_dashboard.scss */
.chart-stats .chart-stat-label {
  font-size: 0.8rem;
  color: var(--secondary-color);
  margin-bottom: 0;
}

/* line 1037, app/assets/stylesheets/components/financial_dashboard.scss */
.chart-card {
  background: var(--white);
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius-lg);
  box-shadow: var(--shadow-sm);
}

/* line 1044, app/assets/stylesheets/components/financial_dashboard.scss */
.chart-card-header {
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #e9ecef;
}

/* line 1049, app/assets/stylesheets/components/financial_dashboard.scss */
.chart-card-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--dark-color);
  margin-bottom: 0;
}

/* line 1056, app/assets/stylesheets/components/financial_dashboard.scss */
.chart-card-body {
  padding: 1.5rem;
}

/* line 1064, app/assets/stylesheets/components/financial_dashboard.scss */
.financial-overview {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 1070, app/assets/stylesheets/components/financial_dashboard.scss */
.overview-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  background: #f8f9fa;
  border-radius: var(--border-radius);
  border-left: 4px solid transparent;
}

/* line 1079, app/assets/stylesheets/components/financial_dashboard.scss */
.overview-item.highlight {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-left-color: var(--primary-color);
  box-shadow: var(--shadow-sm);
}

/* line 1086, app/assets/stylesheets/components/financial_dashboard.scss */
.overview-label {
  font-size: 0.875rem;
  color: var(--secondary-color);
  font-weight: 500;
}

/* line 1092, app/assets/stylesheets/components/financial_dashboard.scss */
.overview-value {
  font-size: 1.25rem;
  font-weight: 700;
}

/* line 1097, app/assets/stylesheets/components/financial_dashboard.scss */
.overview-trend {
  font-size: 0.8rem;
  font-weight: 500;
}

/* line 1102, app/assets/stylesheets/components/financial_dashboard.scss */
.breakdown-chart {
  position: relative;
  height: 200px;
  margin: 0 auto;
}

/* line 1108, app/assets/stylesheets/components/financial_dashboard.scss */
.breakdown-legend {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 1114, app/assets/stylesheets/components/financial_dashboard.scss */
.legend-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 1120, app/assets/stylesheets/components/financial_dashboard.scss */
.legend-color {
  width: 12px;
  height: 12px;
  border-radius: 2px;
  flex-shrink: 0;
}

/* line 1127, app/assets/stylesheets/components/financial_dashboard.scss */
.legend-text {
  flex: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 1134, app/assets/stylesheets/components/financial_dashboard.scss */
.legend-label {
  font-size: 0.875rem;
  color: var(--dark-color);
  font-weight: 500;
}

/* line 1140, app/assets/stylesheets/components/financial_dashboard.scss */
.legend-value {
  font-size: 0.875rem;
  color: var(--secondary-color);
  font-weight: 600;
}

/* line 1146, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-stats {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 1152, app/assets/stylesheets/components/financial_dashboard.scss */
.stat-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  background: var(--white);
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius);
  transition: var(--transition-fast);
}

/* line 1162, app/assets/stylesheets/components/financial_dashboard.scss */
.stat-item:hover {
  box-shadow: var(--shadow-sm);
  transform: translateY(-1px);
}

/* line 1168, app/assets/stylesheets/components/financial_dashboard.scss */
.stat-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 1178, app/assets/stylesheets/components/financial_dashboard.scss */
.stat-content {
  flex: 1;
}

/* line 1182, app/assets/stylesheets/components/financial_dashboard.scss */
.stat-value {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

/* line 1188, app/assets/stylesheets/components/financial_dashboard.scss */
.stat-label {
  font-size: 0.8rem;
  color: var(--secondary-color);
  margin-bottom: 0;
}

/* line 1198, app/assets/stylesheets/components/financial_dashboard.scss */
.cash-flow-categories {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 1204, app/assets/stylesheets/components/financial_dashboard.scss */
.category-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  background: var(--white);
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius);
  transition: var(--transition-fast);
}

/* line 1214, app/assets/stylesheets/components/financial_dashboard.scss */
.category-item:hover {
  box-shadow: var(--shadow-sm);
  transform: translateY(-1px);
}

/* line 1220, app/assets/stylesheets/components/financial_dashboard.scss */
.category-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex: 1;
}

/* line 1227, app/assets/stylesheets/components/financial_dashboard.scss */
.category-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 1237, app/assets/stylesheets/components/financial_dashboard.scss */
.category-item.operating .category-icon {
  background: rgba(0, 123, 255, 0.1);
  color: #007bff;
}

/* line 1242, app/assets/stylesheets/components/financial_dashboard.scss */
.category-item.investing .category-icon {
  background: rgba(255, 193, 7, 0.1);
  color: #ffc107;
}

/* line 1247, app/assets/stylesheets/components/financial_dashboard.scss */
.category-item.financing .category-icon {
  background: rgba(23, 162, 184, 0.1);
  color: #17a2b8;
}

/* line 1252, app/assets/stylesheets/components/financial_dashboard.scss */
.category-info {
  flex: 1;
}

/* line 1256, app/assets/stylesheets/components/financial_dashboard.scss */
.category-name {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--dark-color);
  margin-bottom: 0.25rem;
}

/* line 1263, app/assets/stylesheets/components/financial_dashboard.scss */
.category-description {
  font-size: 0.8rem;
  color: var(--secondary-color);
  margin-bottom: 0;
}

/* line 1269, app/assets/stylesheets/components/financial_dashboard.scss */
.category-amount {
  font-size: 1rem;
  font-weight: 700;
  margin-right: 1rem;
}

/* line 1275, app/assets/stylesheets/components/financial_dashboard.scss */
.category-percentage {
  font-size: 0.8rem;
  color: var(--secondary-color);
  font-weight: 500;
  min-width: 40px;
  text-align: right;
}

/* line 1283, app/assets/stylesheets/components/financial_dashboard.scss */
.net-change-summary {
  background: #f8f9fa;
  border-radius: var(--border-radius-lg);
  padding: 1.5rem;
}

/* line 1289, app/assets/stylesheets/components/financial_dashboard.scss */
.net-change-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}

/* line 1296, app/assets/stylesheets/components/financial_dashboard.scss */
.net-change-label {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--dark-color);
}

/* line 1302, app/assets/stylesheets/components/financial_dashboard.scss */
.net-change-value {
  font-size: 1.1rem;
  font-weight: 700;
}

/* line 1307, app/assets/stylesheets/components/financial_dashboard.scss */
.net-change-bar {
  height: 8px;
  background: #e9ecef;
  border-radius: 4px;
  overflow: hidden;
}

/* line 1314, app/assets/stylesheets/components/financial_dashboard.scss */
.net-change-progress {
  height: 100%;
  border-radius: 4px;
  transition: width 0.3s ease;
}

/* line 1320, app/assets/stylesheets/components/financial_dashboard.scss */
.cash-flow-insights {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 1326, app/assets/stylesheets/components/financial_dashboard.scss */
.insight-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem;
  background: var(--white);
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius);
}

/* line 1335, app/assets/stylesheets/components/financial_dashboard.scss */
.insight-item.positive {
  border-left: 4px solid #28a745;
}

/* line 1339, app/assets/stylesheets/components/financial_dashboard.scss */
.insight-item.negative {
  border-left: 4px solid #dc3545;
}

/* line 1344, app/assets/stylesheets/components/financial_dashboard.scss */
.insight-icon {
  flex-shrink: 0;
  margin-top: 0.25rem;
}

/* line 1349, app/assets/stylesheets/components/financial_dashboard.scss */
.insight-text {
  flex: 1;
}

/* line 1352, app/assets/stylesheets/components/financial_dashboard.scss */
.insight-text strong {
  display: block;
  font-size: 0.9rem;
  margin-bottom: 0.25rem;
  color: var(--dark-color);
}

/* line 1359, app/assets/stylesheets/components/financial_dashboard.scss */
.insight-text p {
  font-size: 0.8rem;
  color: var(--secondary-color);
  margin-bottom: 0;
}

/* line 1366, app/assets/stylesheets/components/financial_dashboard.scss */
.breakdown-actions {
  display: flex;
  gap: 0.5rem;
}

/* line 1375, app/assets/stylesheets/components/financial_dashboard.scss */
.empty-state {
  text-align: center;
  padding: 3rem 1rem;
}

/* line 1380, app/assets/stylesheets/components/financial_dashboard.scss */
.empty-state-icon {
  font-size: 3rem;
  margin-bottom: 1rem;
}

/* line 1386, app/assets/stylesheets/components/financial_dashboard.scss */
.empty-state-text h6 {
  margin-bottom: 0.5rem;
  color: var(--dark-color);
}

/* line 1391, app/assets/stylesheets/components/financial_dashboard.scss */
.empty-state-text p {
  color: var(--secondary-color);
  margin-bottom: 1.5rem;
}

/* line 1402, app/assets/stylesheets/components/financial_dashboard.scss */
.nav-tabs .nav-link {
  border: none;
  color: var(--secondary-color);
  font-weight: 500;
  padding: 0.75rem 1rem;
}

/* line 1408, app/assets/stylesheets/components/financial_dashboard.scss */
.nav-tabs .nav-link.active {
  color: var(--primary-color);
  background: none;
  border-bottom: 2px solid var(--primary-color);
}

/* line 1414, app/assets/stylesheets/components/financial_dashboard.scss */
.nav-tabs .nav-link:hover {
  border: none;
  color: var(--primary-color);
}

/* line 1425, app/assets/stylesheets/components/financial_dashboard.scss */
.bg-primary-light {
  background-color: var(--primary-light) !important;
}

/* line 1426, app/assets/stylesheets/components/financial_dashboard.scss */
.bg-success-light {
  background-color: var(--success-light) !important;
}

/* line 1427, app/assets/stylesheets/components/financial_dashboard.scss */
.bg-danger-light {
  background-color: var(--danger-light) !important;
}

/* line 1428, app/assets/stylesheets/components/financial_dashboard.scss */
.bg-warning-light {
  background-color: var(--warning-light) !important;
}

/* line 1429, app/assets/stylesheets/components/financial_dashboard.scss */
.bg-info-light {
  background-color: var(--info-light) !important;
}

/* line 1431, app/assets/stylesheets/components/financial_dashboard.scss */
.badge-soft-primary {
  color: var(--primary-color);
  background-color: var(--primary-light);
}

/* line 1436, app/assets/stylesheets/components/financial_dashboard.scss */
.badge-soft-success {
  color: var(--success-color);
  background-color: var(--success-light);
}

/* line 1441, app/assets/stylesheets/components/financial_dashboard.scss */
.badge-soft-danger {
  color: var(--danger-color);
  background-color: var(--danger-light);
}

/* line 1446, app/assets/stylesheets/components/financial_dashboard.scss */
.badge-soft-warning {
  color: var(--warning-color);
  background-color: var(--warning-light);
}

/* line 1451, app/assets/stylesheets/components/financial_dashboard.scss */
.badge-soft-info {
  color: var(--info-color);
  background-color: var(--info-light);
}

/* line 1456, app/assets/stylesheets/components/financial_dashboard.scss */
.badge-soft-secondary {
  color: var(--secondary-color);
  background-color: rgba(108, 117, 125, 0.1);
}

@media (max-width: 768px) {
  /* line 1466, app/assets/stylesheets/components/financial_dashboard.scss */
  .bank-accounts-grid {
    grid-template-columns: 1fr;
  }
  /* line 1470, app/assets/stylesheets/components/financial_dashboard.scss */
  .bank-account-header {
    flex-direction: column;
    gap: 1rem;
  }
  /* line 1475, app/assets/stylesheets/components/financial_dashboard.scss */
  .account-type-badge {
    align-self: flex-start;
  }
  /* line 1479, app/assets/stylesheets/components/financial_dashboard.scss */
  .transaction-header {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 1484, app/assets/stylesheets/components/financial_dashboard.scss */
  .transaction-details {
    flex-direction: column;
    gap: 0.5rem;
    align-items: flex-start;
  }
  /* line 1490, app/assets/stylesheets/components/financial_dashboard.scss */
  .transaction-info {
    flex-direction: column;
    gap: 0.25rem;
  }
  /* line 1495, app/assets/stylesheets/components/financial_dashboard.scss */
  .alerts-header {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }
  /* line 1501, app/assets/stylesheets/components/financial_dashboard.scss */
  .alert-item {
    flex-direction: column;
    text-align: center;
  }
  /* line 1506, app/assets/stylesheets/components/financial_dashboard.scss */
  .alert-header {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 1511, app/assets/stylesheets/components/financial_dashboard.scss */
  .alert-actions {
    justify-content: center;
  }
  /* line 1515, app/assets/stylesheets/components/financial_dashboard.scss */
  .category-item {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }
  /* line 1521, app/assets/stylesheets/components/financial_dashboard.scss */
  .category-header {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 1526, app/assets/stylesheets/components/financial_dashboard.scss */
  .category-amount,
.category-percentage {
    margin-right: 0;
  }
  /* line 1531, app/assets/stylesheets/components/financial_dashboard.scss */
  .net-change-item {
    flex-direction: column;
    gap: 0.5rem;
    text-align: center;
  }
  /* line 1537, app/assets/stylesheets/components/financial_dashboard.scss */
  .kpi-card .kpi-card-body {
    flex-direction: column;
    text-align: center;
    gap: 1rem;
  }
  /* line 1543, app/assets/stylesheets/components/financial_dashboard.scss */
  .quick-action-btn .quick-action-content {
    flex-direction: column;
    text-align: center;
    gap: 1rem;
  }
  /* line 1549, app/assets/stylesheets/components/financial_dashboard.scss */
  .chart-stats .chart-stat-item {
    flex-direction: column;
    text-align: center;
    gap: 0.75rem;
  }
}

@media (max-width: 576px) {
  /* line 1558, app/assets/stylesheets/components/financial_dashboard.scss */
  .financial-dashboard .dashboard-content {
    padding: 0 10px;
  }
  /* line 1563, app/assets/stylesheets/components/financial_dashboard.scss */
  .kpi-card {
    margin-bottom: 1rem;
  }
  /* line 1567, app/assets/stylesheets/components/financial_dashboard.scss */
  .quick-action-btn {
    padding: 1rem;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* line 1598, app/assets/stylesheets/components/financial_dashboard.scss */
.kpi-card {
  animation: fadeInUp 0.6s ease-out;
}

/* line 1602, app/assets/stylesheets/components/financial_dashboard.scss */
.quick-action-btn {
  animation: slideInRight 0.6s ease-out;
}
/* line 13, app/assets/stylesheets/components/financial_dashboard_module.scss */
.erp-ui.financial-dashboard-module .data td.num {
  font-variant-numeric: tabular-nums;
}

/* line 16, app/assets/stylesheets/components/financial_dashboard_module.scss */
.erp-ui.financial-dashboard-module .data td.num.good {
  color: var(--erp-ui-good-text);
}

/* line 17, app/assets/stylesheets/components/financial_dashboard_module.scss */
.erp-ui.financial-dashboard-module .data td.num.critical {
  color: var(--erp-ui-critical-text);
}

/* line 22, app/assets/stylesheets/components/financial_dashboard_module.scss */
.erp-ui.financial-dashboard-module .alerta-acao {
  display: block;
  margin-top: 3px;
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
}
/* line 22, app/assets/stylesheets/components/financial_position_module.scss */
.erp-ui.financial-position-module .pos-rotulo {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

/* line 29, app/assets/stylesheets/components/financial_position_module.scss */
.erp-ui.financial-position-module .pos-nome {
  font-size: 13.5px;
  color: var(--erp-ui-ink);
}

/* line 34, app/assets/stylesheets/components/financial_position_module.scss */
.erp-ui.financial-position-module .pos-detalhe {
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
}

/* line 39, app/assets/stylesheets/components/financial_position_module.scss */
.erp-ui.financial-position-module .pos-valor {
  font-size: 13.5px;
  font-weight: 600;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

/* line 45, app/assets/stylesheets/components/financial_position_module.scss */
.erp-ui.financial-position-module .pos-valor.entrada {
  color: var(--erp-ui-good-text);
}

/* line 49, app/assets/stylesheets/components/financial_position_module.scss */
.erp-ui.financial-position-module .pos-valor.saida {
  color: var(--erp-ui-critical-text);
}

/* line 58, app/assets/stylesheets/components/financial_position_module.scss */
.erp-ui.financial-position-module .erp-bar.subtotal {
  padding-top: 10px;
  border-top: 1px solid var(--erp-ui-hairline);
}

/* line 62, app/assets/stylesheets/components/financial_position_module.scss */
.erp-ui.financial-position-module .erp-bar.subtotal .pos-nome,
.erp-ui.financial-position-module .erp-bar.subtotal .pos-valor {
  font-weight: 600;
}

/* line 70, app/assets/stylesheets/components/financial_position_module.scss */
.erp-ui.financial-position-module .table-foot b {
  font-variant-numeric: tabular-nums;
}

/* line 73, app/assets/stylesheets/components/financial_position_module.scss */
.erp-ui.financial-position-module .table-foot b.entrada {
  color: var(--erp-ui-good-text);
}

/* line 77, app/assets/stylesheets/components/financial_position_module.scss */
.erp-ui.financial-position-module .table-foot b.saida {
  color: var(--erp-ui-critical-text);
}
/* line 14, app/assets/stylesheets/components/financial_reports_index_module.scss */
.erp-ui.financial-reports-index-module .formatos {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

/* line 23, app/assets/stylesheets/components/financial_reports_index_module.scss */
.erp-ui.financial-reports-index-module .data th:first-child,
.erp-ui.financial-reports-index-module .data td:first-child {
  width: 100%;
}
/* line 19, app/assets/stylesheets/components/financial_reports_shared.scss */
.erp-ui .nat-card {
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  overflow: hidden;
}

/* line 24, app/assets/stylesheets/components/financial_reports_shared.scss */
.erp-ui .nat-card + .nat-card {
  margin-top: 8px;
}

/* line 29, app/assets/stylesheets/components/financial_reports_shared.scss */
.erp-ui .nat-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 14px;
  background: var(--erp-ui-surface-2);
  font-size: 13.5px;
  cursor: pointer;
  list-style: none;
}

/* line 40, app/assets/stylesheets/components/financial_reports_shared.scss */
.erp-ui .nat-head::-webkit-details-marker {
  display: none;
}

/* line 45, app/assets/stylesheets/components/financial_reports_shared.scss */
.erp-ui .nat-titulo {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

/* line 51, app/assets/stylesheets/components/financial_reports_shared.scss */
.erp-ui .nat-titulo b {
  font-weight: 600;
}

/* line 56, app/assets/stylesheets/components/financial_reports_shared.scss */
.erp-ui .nat-meta {
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
}

/* line 61, app/assets/stylesheets/components/financial_reports_shared.scss */
.erp-ui .nat-corpo {
  padding: 12px 14px;
}

/* line 68, app/assets/stylesheets/components/financial_reports_shared.scss */
.erp-ui .nat-linha {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

/* line 74, app/assets/stylesheets/components/financial_reports_shared.scss */
.erp-ui .nat-linha.nivel-1 {
  padding-left: 16px;
}

/* line 75, app/assets/stylesheets/components/financial_reports_shared.scss */
.erp-ui .nat-linha.nivel-2 {
  padding-left: 32px;
}

/* line 76, app/assets/stylesheets/components/financial_reports_shared.scss */
.erp-ui .nat-linha.nivel-3 {
  padding-left: 48px;
}

/* line 79, app/assets/stylesheets/components/financial_reports_shared.scss */
.erp-ui .nat-codigo {
  flex-shrink: 0;
  color: var(--erp-ui-ink-3);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11.5px;
}

/* line 86, app/assets/stylesheets/components/financial_reports_shared.scss */
.erp-ui .data tr.sintetica .nat-nome {
  font-weight: 600;
}
/* line 21, app/assets/stylesheets/components/financial_transactions_module.scss */
.erp-ui.financial-transactions-module .valor-tx {
  display: flex;
  flex-direction: column;
  gap: 1px;
  align-items: flex-end;
}

/* line 27, app/assets/stylesheets/components/financial_transactions_module.scss */
.erp-ui.financial-transactions-module .valor-tx b {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}

/* line 32, app/assets/stylesheets/components/financial_transactions_module.scss */
.erp-ui.financial-transactions-module .valor-tx small {
  color: var(--erp-ui-ink-3);
  font-size: 11.5px;
}

/* line 37, app/assets/stylesheets/components/financial_transactions_module.scss */
.erp-ui.financial-transactions-module .valor-tx.entrada b {
  color: var(--erp-ui-good-text);
}

/* line 41, app/assets/stylesheets/components/financial_transactions_module.scss */
.erp-ui.financial-transactions-module .valor-tx.saida b {
  color: var(--erp-ui-critical-text);
}

/* line 48, app/assets/stylesheets/components/financial_transactions_module.scss */
.erp-ui.financial-transactions-module .lanc {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

/* line 54, app/assets/stylesheets/components/financial_transactions_module.scss */
.erp-ui.financial-transactions-module .lanc .doc {
  display: inline-block;
  margin-right: 6px;
  padding: 1px 5px;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 4px;
  background: var(--erp-ui-surface-2);
  color: var(--erp-ui-ink-2);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11px;
}

/* line 72, app/assets/stylesheets/components/financial_transactions_module.scss */
.erp-ui.financial-transactions-module .oculto-ate-o-js {
  display: none;
}

/* line 79, app/assets/stylesheets/components/financial_transactions_module.scss */
.erp-ui.financial-transactions-module .saldo-projetado {
  margin-top: 8px;
  gap: 6px 18px;
}

/* line 83, app/assets/stylesheets/components/financial_transactions_module.scss */
.erp-ui.financial-transactions-module .saldo-projetado dd b {
  font-variant-numeric: tabular-nums;
}

/* line 91, app/assets/stylesheets/components/financial_transactions_module.scss */
.erp-ui.financial-transactions-module .conta-dupla {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

/* line 97, app/assets/stylesheets/components/financial_transactions_module.scss */
.erp-ui.financial-transactions-module .conta-dupla small {
  color: var(--erp-ui-ink-3);
  font-size: 11.5px;
}
/* line 15, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .toggle-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

/* line 22, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .toggle-label {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--erp-ui-ink-2);
  text-transform: uppercase;
  letter-spacing: .02em;
}

/* line 29, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .toggle-hint {
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 35, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .tt-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

/* line 42, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .tt-toolbar .btn {
  padding: 6px 10px;
  font-size: 12.5px;
}

/* line 44, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .tt-hint {
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 58, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module [hidden] {
  display: none !important;
}

/* line 63, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .nat-group {
  margin-bottom: 18px;
}

/* line 66, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .nat-group:last-child {
  margin-bottom: 0;
}

/* line 68, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .nat-group-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  background: var(--erp-ui-surface-2);
  border: 1px solid var(--erp-ui-hairline);
  border-bottom: 0;
  border-radius: var(--erp-ui-radius) var(--erp-ui-radius) 0 0;
  font-weight: 700;
}

/* line 79, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .nat-group-head .cnt {
  font-weight: 400;
  color: var(--erp-ui-ink-3);
  font-size: 12.5px;
}

/* line 85, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .nat-group .card {
  border-radius: 0 0 var(--erp-ui-radius) var(--erp-ui-radius);
}

/* line 90, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .indent-cell {
  white-space: nowrap;
}

/* line 91, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .indent-slot {
  display: inline-block;
  width: 18px;
}

/* line 92, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .expander {
  width: 24px;
  height: 24px;
  border: 0;
  background: transparent;
  color: var(--erp-ui-ink-2);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: -6px;
  padding: 0;
  border-radius: 6px;
}

/* line 106, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .expander:hover, .erp-ui.financials-module .expander:focus-visible {
  background: var(--erp-ui-surface-2);
}

/* line 108, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .expander .erp-icon {
  transition: transform .12s ease;
}

/* line 114, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .expander[aria-expanded="false"] .erp-icon {
  transform: rotate(-90deg);
}

/* line 116, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .expander-slot {
  display: inline-block;
  width: 24px;
}

/* line 117, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .kind-tag {
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--erp-ui-ink-3);
}

@media (prefers-reduced-motion: reduce) {
  /* line 124, app/assets/stylesheets/components/financials_module.scss */
  .erp-ui.financials-module .expander .erp-icon {
    transition: none;
  }
}

/* line 128, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .problema {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--erp-ui-critical-text);
}

/* line 136, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .problema .erp-icon {
  width: 13px;
  height: 13px;
  stroke: currentColor;
}

/* line 141, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .lnk {
  color: var(--erp-ui-accent);
  text-decoration: underline;
  font-size: 12.5px;
  white-space: nowrap;
}

/* line 147, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .lnk:hover {
  color: var(--erp-ui-accent-hover);
}

/* line 150, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .lock-reason {
  font-size: 11.5px;
  color: var(--erp-ui-warning-text);
  background: var(--erp-ui-warning-wash);
  border: 1px solid var(--erp-ui-warning-soft);
  border-radius: 6px;
  padding: 5px 8px;
  margin-top: 6px;
}

/* line 163, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .sub-mobile {
  display: none;
}

/* line 166, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .fin-tree, .erp-ui.financials-module .fin-tree ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* line 171, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .fin-tree ul {
  padding-left: 20px;
}

/* line 172, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .fin-tree li {
  position: relative;
  padding: 3px 0;
}

/* line 173, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .tree-node {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 6px;
  flex-wrap: wrap;
}

/* line 181, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .tree-node:hover {
  background: var(--erp-ui-surface-2);
}

/* line 183, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .tree-node .code {
  font-variant-numeric: tabular-nums;
  color: var(--erp-ui-ink-3);
  font-size: 12px;
  min-width: 70px;
  display: inline-block;
}

/* line 190, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .tree-node .nm {
  font-weight: 600;
}

/* line 191, app/assets/stylesheets/components/financials_module.scss */
.erp-ui.financials-module .tree-node .usage {
  margin-left: auto;
  font-size: 12px;
  color: var(--erp-ui-ink-3);
  font-variant-numeric: tabular-nums;
}

@media (max-width: 460px) {
  /* line 208, app/assets/stylesheets/components/financials_module.scss */
  .erp-ui.financials-module table.data.tt-financials th.tt-col-especie, .erp-ui.financials-module table.data.tt-financials td.tt-col-especie,
.erp-ui.financials-module table.data.tt-financials th.tt-col-uso, .erp-ui.financials-module table.data.tt-financials td.tt-col-uso,
.erp-ui.financials-module table.data.tt-financials th.tt-col-situacao, .erp-ui.financials-module table.data.tt-financials td.tt-col-situacao,
.erp-ui.financials-module table.data.tt-financials th.tt-col-problema, .erp-ui.financials-module table.data.tt-financials td.tt-col-problema {
    display: none;
  }
  /* line 215, app/assets/stylesheets/components/financials_module.scss */
  .erp-ui.financials-module .indent-slot {
    width: 10px;
  }
  /* line 216, app/assets/stylesheets/components/financials_module.scss */
  .erp-ui.financials-module .sub-mobile {
    display: block;
  }
  /* line 218, app/assets/stylesheets/components/financials_module.scss */
  .erp-ui.financials-module .tree-node .kind-tag, .erp-ui.financials-module .tree-node .usage {
    display: none;
  }
}
/* line 4, app/assets/stylesheets/components/kaminari_pagination.scss */
.pagination {
  display: inline-flex !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border: 1px solid #dee2e6 !important;
  border-radius: 0.25rem !important;
  overflow: hidden !important;
}

/* line 13, app/assets/stylesheets/components/kaminari_pagination.scss */
.pagination .page-item {
  margin: 0 !important;
}

/* line 16, app/assets/stylesheets/components/kaminari_pagination.scss */
.pagination .page-item .page-link {
  padding: 0.5rem 0.75rem !important;
  color: #007bff !important;
  background: white !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 44px !important;
  height: 38px !important;
  border: none !important;
  border-radius: 0 !important;
  border-right: 1px solid #dee2e6 !important;
  margin: 0 !important;
}

/* line 34, app/assets/stylesheets/components/kaminari_pagination.scss */
.pagination .page-item .page-link:hover:not(.disabled) {
  background: #f8f9fa !important;
  color: #0056b3 !important;
}

/* line 39, app/assets/stylesheets/components/kaminari_pagination.scss */
.pagination .page-item .page-link i {
  font-size: 14px !important;
}

/* line 44, app/assets/stylesheets/components/kaminari_pagination.scss */
.pagination .page-item:first-child .page-link {
  border-radius: 0.25rem 0 0 0.25rem !important;
}

/* line 48, app/assets/stylesheets/components/kaminari_pagination.scss */
.pagination .page-item:last-child .page-link {
  border-right: none !important;
  border-radius: 0 0.25rem 0.25rem 0 !important;
}

/* line 54, app/assets/stylesheets/components/kaminari_pagination.scss */
.pagination .page-item.active .page-link {
  background: #007bff !important;
  color: white !important;
  cursor: default !important;
}

/* line 59, app/assets/stylesheets/components/kaminari_pagination.scss */
.pagination .page-item.active .page-link:hover {
  background: #007bff !important;
  color: white !important;
}

/* line 67, app/assets/stylesheets/components/kaminari_pagination.scss */
.pagination .page-item.disabled .page-link {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
  color: #6c757d !important;
}

/* line 78, app/assets/stylesheets/components/kaminari_pagination.scss */
.pagination.pagination-sm .page-item .page-link {
  padding: 0.375rem 0.5rem !important;
  font-size: 12px !important;
  min-width: 36px !important;
  height: 32px !important;
}

/* line 88, app/assets/stylesheets/components/kaminari_pagination.scss */
.pagination.pagination-lg .page-item .page-link {
  padding: 0.75rem 1rem !important;
  font-size: 16px !important;
  min-width: 48px !important;
  height: 44px !important;
}

/* line 105, app/assets/stylesheets/components/kaminari_pagination.scss */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
/* line 14, app/assets/stylesheets/components/lgpd_logs_module.scss */
.erp-ui.lgpd-logs-module .lgpd-ip {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 12px;
  color: var(--erp-ui-ink-2);
  overflow-wrap: anywhere;
}

/* line 21, app/assets/stylesheets/components/lgpd_logs_module.scss */
.erp-ui.lgpd-logs-module .tab-panel > .card.filters {
  border: 0;
  border-bottom: 1px solid var(--erp-ui-hairline);
  border-radius: 0;
  box-shadow: none;
  margin-bottom: 0;
}
/* line 13, app/assets/stylesheets/components/notification_settings_module.scss */
.erp-ui.notification-settings-module .pref-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px 16px;
  padding: 8px 10px;
  border-radius: 6px;
}

/* line 22, app/assets/stylesheets/components/notification_settings_module.scss */
.erp-ui.notification-settings-module .pref-row:hover {
  background: var(--erp-ui-surface-2);
}

/* line 26, app/assets/stylesheets/components/notification_settings_module.scss */
.erp-ui.notification-settings-module .pref-row > .opt {
  flex: 1 1 320px;
  min-width: 0;
}

/* line 32, app/assets/stylesheets/components/notification_settings_module.scss */
.erp-ui.notification-settings-module .pref-aside {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
}

/* line 38, app/assets/stylesheets/components/notification_settings_module.scss */
.erp-ui.notification-settings-module .pref-aside > span {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
}

/* line 46, app/assets/stylesheets/components/notification_settings_module.scss */
.erp-ui.notification-settings-module .pref-aside > span[hidden] {
  display: none;
}

@media (max-width: 575.98px) {
  /* line 54, app/assets/stylesheets/components/notification_settings_module.scss */
  .erp-ui.notification-settings-module .pref-aside {
    padding-left: 24px;
  }
}

/* line 59, app/assets/stylesheets/components/notification_settings_module.scss */
.erp-ui.notification-settings-module .nr-rules {
  display: flex;
  flex-direction: column;
}

/* line 64, app/assets/stylesheets/components/notification_settings_module.scss */
.erp-ui.notification-settings-module .nr-rule {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 0;
  border-top: 1px solid var(--erp-ui-hairline);
}

/* line 71, app/assets/stylesheets/components/notification_settings_module.scss */
.erp-ui.notification-settings-module .nr-rule:first-child {
  border-top: 0;
  padding-top: 0;
}

/* line 77, app/assets/stylesheets/components/notification_settings_module.scss */
.erp-ui.notification-settings-module .nr-rule-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 10px;
}

/* line 83, app/assets/stylesheets/components/notification_settings_module.scss */
.erp-ui.notification-settings-module .nr-rule-head b {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--erp-ui-ink);
}

/* line 91, app/assets/stylesheets/components/notification_settings_module.scss */
.erp-ui.notification-settings-module .nr-status {
  font-size: 12px;
  color: var(--erp-ui-ink-2);
}

/* line 95, app/assets/stylesheets/components/notification_settings_module.scss */
.erp-ui.notification-settings-module .nr-status[data-state="ok"] {
  color: var(--erp-ui-good-text);
}

/* line 96, app/assets/stylesheets/components/notification_settings_module.scss */
.erp-ui.notification-settings-module .nr-status[data-state="error"] {
  color: var(--erp-ui-critical-text);
}

/* line 99, app/assets/stylesheets/components/notification_settings_module.scss */
.erp-ui.notification-settings-module .nr-row {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 4px 8px;
  align-items: start;
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

/* line 111, app/assets/stylesheets/components/notification_settings_module.scss */
.erp-ui.notification-settings-module .nr-row > legend {
  float: left;
  width: auto;
  margin: 0;
  padding: 2px 0 0;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--erp-ui-ink-2);
}

@media (max-width: 575.98px) {
  /* line 123, app/assets/stylesheets/components/notification_settings_module.scss */
  .erp-ui.notification-settings-module .nr-row {
    grid-template-columns: 1fr;
  }
}

/* line 128, app/assets/stylesheets/components/notification_settings_module.scss */
.erp-ui.notification-settings-module .nr-choice {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 13px;
  font-weight: 400;
  color: var(--erp-ui-ink);
  cursor: pointer;
}

/* line 138, app/assets/stylesheets/components/notification_settings_module.scss */
.erp-ui.notification-settings-module .nr-choice > input.check {
  margin: 0;
}
/* Offline Queue - Estilos */

/* Toast Notifications */
.offline-queue-toast {
  position: fixed;
  bottom: 100px; /* Acima do bottom-nav */
  left: 50%;
  transform: translateX(-50%) translateY(100%);
  background: white;
  padding: 12px 20px;
  border-radius: 24px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  display: flex;
  align-items: center;
  gap: 10px;
  z-index: 9999;
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  max-width: 90%;
  font-size: 14px;
  font-weight: 500;
}

.offline-queue-toast.show {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
}

.offline-queue-toast i {
  font-size: 20px;
  flex-shrink: 0;
}

.offline-queue-toast.offline {
  border-left: 4px solid #ffc107;
}

.offline-queue-toast.offline i {
  color: #ffc107;
}

.offline-queue-toast.success {
  border-left: 4px solid #28a745;
}

.offline-queue-toast.success i {
  color: #28a745;
}

.offline-queue-toast.error {
  border-left: 4px solid #dc3545;
}

.offline-queue-toast.error i {
  color: #dc3545;
}

.offline-queue-toast.info {
  border-left: 4px solid #17a2b8;
}

.offline-queue-toast.info i {
  color: #17a2b8;
}

/* Badge de Itens Pendentes */
.pending-sync-badge {
  background: #ffc107;
  color: #856404;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  animation: pulse 2s infinite;
  margin-left: 8px;
}

.pending-sync-badge i {
  animation: bounce 1s infinite;
}

.nav-pending-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  background: #dc3545;
  color: white;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: bold;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.8; transform: scale(1.05); }
}

@keyframes bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

/* Indicador de Pendente Sincronização */
.pending-sync-indicator {
  background: rgba(255, 193, 7, 0.1);
  border: 1px solid #ffc107;
  color: #856404;
  padding: 6px 12px;
  border-radius: 16px;
  font-size: 12px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
}

.pending-sync-indicator i {
  animation: rotate 2s linear infinite;
}

@keyframes rotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* Status Container (com indicador) */
.status-with-sync {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* Botão de Sincronização Manual */
.btn-sync-now {
  position: relative;
  background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.btn-sync-now:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(44, 62, 80, 0.3);
}

.btn-sync-now:active {
  transform: translateY(0);
}

.btn-sync-now:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.btn-sync-now i.fa-spin {
  animation: spin 1s linear infinite;
}

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* Panel de Status de Sincronização */
.sync-status-panel {
  background: white;
  border-radius: 12px;
  padding: 16px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  margin-bottom: 16px;
}

.sync-status-panel h4 {
  margin: 0 0 16px 0;
  font-size: 16px;
  font-weight: 600;
  color: #2c3e50;
  display: flex;
  align-items: center;
  gap: 8px;
}

.sync-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 16px;
}

.sync-stats .stat {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 12px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.sync-stats .stat-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: white;
}

.sync-stats .stat:nth-child(1) .stat-icon {
  background: #ffc107;
}

.sync-stats .stat:nth-child(2) .stat-icon {
  background: #28a745;
}

.sync-stats .stat:nth-child(3) .stat-icon {
  background: #dc3545;
}

.sync-stats .stat-content h3 {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  color: #2c3e50;
}

.sync-stats .stat-content p {
  margin: 0;
  font-size: 12px;
  color: #6c757d;
}

/* Lista de Itens Pendentes */
.pending-items-list {
  margin-top: 16px;
  max-height: 300px;
  overflow-y: auto;
}

.pending-item {
  background: #f8f9fa;
  border-left: 3px solid #ffc107;
  padding: 12px;
  border-radius: 6px;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}

.pending-item i {
  color: #ffc107;
}

.pending-item small {
  color: #6c757d;
  margin-left: auto;
}

.pending-item .badge {
  margin-left: 8px;
}

/* Empty State */
.sync-empty-state {
  text-align: center;
  padding: 40px 20px;
  color: #6c757d;
}

.sync-empty-state i {
  font-size: 48px;
  color: #28a745;
  margin-bottom: 16px;
}

.sync-empty-state h5 {
  margin: 0 0 8px 0;
  font-size: 16px;
  font-weight: 600;
  color: #2c3e50;
}

.sync-empty-state p {
  margin: 0;
  font-size: 14px;
}

/* Responsividade */
@media (max-width: 576px) {
  .sync-stats {
    grid-template-columns: 1fr;
  }
  
  .offline-queue-toast {
    max-width: 85%;
    font-size: 13px;
  }
}

/* line 14, app/assets/stylesheets/components/profile_module.scss */
.erp-ui.profile-module .detail-avatar.avatar-lg {
  width: 88px;
  height: 88px;
  font-size: 28px;
  margin-bottom: 6px;
  overflow: hidden;
}

/* line 21, app/assets/stylesheets/components/profile_module.scss */
.erp-ui.profile-module .detail-avatar.avatar-lg.has-photo {
  background: var(--erp-ui-surface-2);
}

/* line 25, app/assets/stylesheets/components/profile_module.scss */
.erp-ui.profile-module .detail-avatar.avatar-lg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

/* line 37, app/assets/stylesheets/components/profile_module.scss */
.erp-ui.profile-module .avatar-c0 {
  background: var(--erp-ui-accent-soft);
  color: var(--erp-ui-accent);
}

/* line 38, app/assets/stylesheets/components/profile_module.scss */
.erp-ui.profile-module .avatar-c1 {
  background: var(--erp-ui-good-soft);
  color: var(--erp-ui-good-text);
}

/* line 39, app/assets/stylesheets/components/profile_module.scss */
.erp-ui.profile-module .avatar-c2 {
  background: var(--erp-ui-warning-soft);
  color: var(--erp-ui-warning-text);
}

/* line 40, app/assets/stylesheets/components/profile_module.scss */
.erp-ui.profile-module .avatar-c3 {
  background: var(--erp-ui-critical-soft);
  color: var(--erp-ui-critical-text);
}

/* line 41, app/assets/stylesheets/components/profile_module.scss */
.erp-ui.profile-module .avatar-c4 {
  background: var(--erp-ui-surface-2);
  color: var(--erp-ui-ink-2);
}

/* line 46, app/assets/stylesheets/components/profile_module.scss */
.erp-ui.profile-module .avatar-upload-label {
  cursor: pointer;
  display: inline-flex;
  margin-top: 4px;
}
/* line 28, app/assets/stylesheets/components/profit_loss_module.scss */
.erp-ui.profit-loss-module .dre {
  width: 100%;
  border-collapse: collapse;
  font-size: 13.5px;
}

/* line 33, app/assets/stylesheets/components/profit_loss_module.scss */
.erp-ui.profit-loss-module .dre td {
  padding: 7px 16px;
  border-bottom: 1px solid var(--erp-ui-hairline);
  vertical-align: top;
}

/* line 39, app/assets/stylesheets/components/profit_loss_module.scss */
.erp-ui.profit-loss-module .dre td.num {
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

/* line 44, app/assets/stylesheets/components/profit_loss_module.scss */
.erp-ui.profit-loss-module .dre td.num.entrada {
  color: var(--erp-ui-good-text);
}

/* line 48, app/assets/stylesheets/components/profit_loss_module.scss */
.erp-ui.profit-loss-module .dre td.num.saida {
  color: var(--erp-ui-critical-text);
}

/* line 53, app/assets/stylesheets/components/profit_loss_module.scss */
.erp-ui.profit-loss-module .dre tr.grupo td {
  background: var(--erp-ui-surface-2);
  padding-top: 12px;
  padding-bottom: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: var(--erp-ui-ink-2);
}

/* line 64, app/assets/stylesheets/components/profit_loss_module.scss */
.erp-ui.profit-loss-module .dre tr.linha td:first-child,
.erp-ui.profit-loss-module .dre tr.deducao td:first-child {
  padding-left: 32px;
  color: var(--erp-ui-ink-2);
}

/* line 70, app/assets/stylesheets/components/profit_loss_module.scss */
.erp-ui.profit-loss-module .dre tr.subtotal td {
  border-top: 1px solid var(--erp-ui-ink-3);
  border-bottom: 0;
  padding-top: 10px;
  padding-bottom: 10px;
  font-weight: 600;
}

/* line 81, app/assets/stylesheets/components/profit_loss_module.scss */
.erp-ui.profit-loss-module .dre tr.resultado td {
  border-top: 2px solid var(--erp-ui-accent);
  border-bottom: 0;
  padding-top: 12px;
  padding-bottom: 12px;
  font-size: 15px;
  font-weight: 700;
}

/* line 92, app/assets/stylesheets/components/profit_loss_module.scss */
.erp-ui.profit-loss-module .dre .peso {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  font-weight: 400;
  color: var(--erp-ui-ink-3);
}

/* line 105, app/assets/stylesheets/components/profit_loss_module.scss */
.erp-ui.profit-loss-module .dre .trilho {
  display: block;
  height: 3px;
  max-width: 320px;
  margin-top: 5px;
  border-radius: 999px;
  background: var(--erp-ui-hairline);
  overflow: hidden;
}

/* line 114, app/assets/stylesheets/components/profit_loss_module.scss */
.erp-ui.profit-loss-module .dre .trilho i {
  display: block;
  height: 100%;
  width: 0;
  border-radius: 999px;
  background: var(--erp-ui-ink-3);
}

/* line 121, app/assets/stylesheets/components/profit_loss_module.scss */
.erp-ui.profit-loss-module .dre .trilho i.saida {
  background: var(--erp-ui-critical-text);
}

/* line 134, app/assets/stylesheets/components/profit_loss_module.scss */
.erp-ui.profit-loss-module .dre-canvas-box {
  position: relative;
  width: 100%;
  height: 280px;
}
/* line 35, app/assets/stylesheets/components/public_ui.scss */
.pub-page {
  min-height: 100vh;
  padding: 32px 16px 48px;
  background: var(--erp-ui-page);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: var(--erp-ui-ink);
}

/* line 46, app/assets/stylesheets/components/public_ui.scss */
.pub-sheet {
  max-width: 960px;
  margin: 0 auto;
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  box-shadow: var(--erp-ui-shadow);
  overflow: hidden;
}

/* line 57, app/assets/stylesheets/components/public_ui.scss */
.pub-sheet + .pub-sheet {
  margin-top: 24px;
}

/* line 62, app/assets/stylesheets/components/public_ui.scss */
.pub-sheet--narrow {
  max-width: 560px;
}

/* line 69, app/assets/stylesheets/components/public_ui.scss */
.pub-sheet__header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  padding: 28px 32px;
  background: var(--erp-ui-surface-2);
  border-bottom: 3px solid var(--erp-ui-accent);
}

/* line 80, app/assets/stylesheets/components/public_ui.scss */
.pub-brand {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  min-width: 0;
}

/* line 87, app/assets/stylesheets/components/public_ui.scss */
.pub-brand__logo {
  display: block;
  flex-shrink: 0;
  max-width: 180px;
  max-height: 64px;
  object-fit: contain;
}

/* line 95, app/assets/stylesheets/components/public_ui.scss */
.pub-brand__eyebrow {
  margin: 0 0 6px;
  color: var(--erp-ui-accent);
  font-size: .6875rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* line 104, app/assets/stylesheets/components/public_ui.scss */
.pub-brand__title {
  margin: 0;
  color: var(--erp-ui-ink);
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

/* line 113, app/assets/stylesheets/components/public_ui.scss */
.pub-brand__meta {
  margin: 6px 0 0;
  color: var(--erp-ui-ink-2);
  font-size: .875rem;
  overflow-wrap: anywhere;
}

/* line 120, app/assets/stylesheets/components/public_ui.scss */
.pub-sheet__status {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  min-width: 160px;
  text-align: right;
}

/* line 132, app/assets/stylesheets/components/public_ui.scss */
.pub-sheet__section {
  padding: 24px 32px;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 137, app/assets/stylesheets/components/public_ui.scss */
.pub-sheet__section:last-child {
  border-bottom: 0;
}

/* line 141, app/assets/stylesheets/components/public_ui.scss */
.pub-sheet__section-title {
  margin: 0 0 16px;
  color: var(--erp-ui-accent);
  font-size: .8125rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}

/* line 150, app/assets/stylesheets/components/public_ui.scss */
.pub-sheet__section p {
  margin: 0 0 12px;
  color: var(--erp-ui-ink);
  font-size: .9375rem;
  line-height: 1.6;
}

/* line 157, app/assets/stylesheets/components/public_ui.scss */
.pub-sheet__section p:last-child {
  margin-bottom: 0;
}

/* line 161, app/assets/stylesheets/components/public_ui.scss */
.pub-rows {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

/* line 167, app/assets/stylesheets/components/public_ui.scss */
.pub-rows--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* line 171, app/assets/stylesheets/components/public_ui.scss */
.pub-row {
  min-width: 0;
  padding: 14px 16px;
  background: var(--erp-ui-surface-2);
  border-radius: 6px;
}

/* line 178, app/assets/stylesheets/components/public_ui.scss */
.pub-row--full {
  grid-column: 1 / -1;
}

/* line 183, app/assets/stylesheets/components/public_ui.scss */
.pub-row--highlight {
  grid-column: 1 / -1;
  background: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
  text-align: center;
  font-weight: 700;
}

/* line 191, app/assets/stylesheets/components/public_ui.scss */
.pub-row__label {
  display: block;
  margin-bottom: 4px;
  color: var(--erp-ui-ink-2);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
}

/* line 201, app/assets/stylesheets/components/public_ui.scss */
.pub-row--highlight .pub-row__label {
  color: var(--erp-ui-accent-ink);
}

/* line 205, app/assets/stylesheets/components/public_ui.scss */
.pub-row__value {
  display: block;
  overflow-wrap: anywhere;
  color: var(--erp-ui-ink);
  font-size: .9375rem;
  line-height: 1.5;
}

/* line 213, app/assets/stylesheets/components/public_ui.scss */
.pub-row--highlight .pub-row__value {
  color: var(--erp-ui-accent-ink);
}

/* line 223, app/assets/stylesheets/components/public_ui.scss */
.pub-callout {
  padding: 18px 20px;
  margin: 0 0 16px;
  background: var(--erp-ui-surface-2);
  border-radius: 6px;
}

/* line 230, app/assets/stylesheets/components/public_ui.scss */
.pub-callout:last-child {
  margin-bottom: 0;
}

/* line 234, app/assets/stylesheets/components/public_ui.scss */
.pub-callout--warning {
  background: var(--erp-ui-warning-soft);
}

/* line 238, app/assets/stylesheets/components/public_ui.scss */
.pub-callout h3,
.pub-callout h4 {
  margin: 0 0 8px;
  color: var(--erp-ui-accent);
  font-size: .8125rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

/* line 248, app/assets/stylesheets/components/public_ui.scss */
.pub-callout--warning h3,
.pub-callout--warning h4 {
  color: var(--erp-ui-warning-text);
}

/* line 253, app/assets/stylesheets/components/public_ui.scss */
.pub-callout p {
  margin: 0;
  color: var(--erp-ui-ink);
  font-size: .9375rem;
  line-height: 1.6;
  white-space: pre-line;
}

/* line 264, app/assets/stylesheets/components/public_ui.scss */
.pub-table-wrap {
  overflow-x: auto;
}

/* line 268, app/assets/stylesheets/components/public_ui.scss */
.pub-table {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  font-size: .875rem;
}

/* line 275, app/assets/stylesheets/components/public_ui.scss */
.pub-table thead th {
  padding: 12px 16px;
  background: var(--erp-ui-surface-2);
  color: var(--erp-ui-ink-2);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  text-align: left;
  white-space: nowrap;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 288, app/assets/stylesheets/components/public_ui.scss */
.pub-table th.pub-table__col-numeric,
.pub-table td.pub-table__col-numeric {
  text-align: right;
}

/* line 293, app/assets/stylesheets/components/public_ui.scss */
.pub-table th.pub-table__col-center,
.pub-table td.pub-table__col-center {
  text-align: center;
}

/* line 298, app/assets/stylesheets/components/public_ui.scss */
.pub-table tbody td {
  padding: 14px 16px;
  vertical-align: top;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 304, app/assets/stylesheets/components/public_ui.scss */
.pub-table tbody tr:last-child td {
  border-bottom: 0;
}

/* line 308, app/assets/stylesheets/components/public_ui.scss */
.pub-table__item-title {
  display: block;
  color: var(--erp-ui-ink);
  font-weight: 700;
}

/* line 314, app/assets/stylesheets/components/public_ui.scss */
.pub-table__item-description {
  display: block;
  margin-top: 2px;
  color: var(--erp-ui-ink-2);
  font-size: .8125rem;
}

/* line 321, app/assets/stylesheets/components/public_ui.scss */
.pub-total {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: baseline;
  gap: 12px;
  padding: 20px 32px;
  background: var(--erp-ui-accent-soft);
  border-top: 2px solid var(--erp-ui-accent);
}

/* line 332, app/assets/stylesheets/components/public_ui.scss */
.pub-total__label {
  color: var(--erp-ui-ink-2);
  font-size: .8125rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

/* line 340, app/assets/stylesheets/components/public_ui.scss */
.pub-total__value {
  color: var(--erp-ui-accent);
  font-size: 1.375rem;
  font-weight: 700;
}

/* line 346, app/assets/stylesheets/components/public_ui.scss */
.pub-sheet__footer {
  padding: 20px 32px;
  color: var(--erp-ui-ink-2);
  font-size: .8125rem;
  text-align: center;
  line-height: 1.6;
}

/* line 357, app/assets/stylesheets/components/public_ui.scss */
.pub-field {
  margin-bottom: 16px;
}

/* line 361, app/assets/stylesheets/components/public_ui.scss */
.pub-field:last-child {
  margin-bottom: 0;
}

/* line 365, app/assets/stylesheets/components/public_ui.scss */
.pub-field__label {
  display: block;
  margin-bottom: 6px;
  color: var(--erp-ui-ink);
  font-size: .875rem;
  font-weight: 700;
}

/* line 373, app/assets/stylesheets/components/public_ui.scss */
.pub-field__control {
  display: block;
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink);
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: var(--erp-ui-radius);
  font-size: .9375rem;
}

/* line 385, app/assets/stylesheets/components/public_ui.scss */
.pub-field__control:focus {
  outline: none;
  border-color: var(--erp-ui-accent);
  box-shadow: 0 0 0 3px var(--erp-ui-accent-soft);
}

/* line 391, app/assets/stylesheets/components/public_ui.scss */
textarea.pub-field__control {
  min-height: 96px;
  resize: vertical;
}

/* line 402, app/assets/stylesheets/components/public_ui.scss */
.pub-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  min-width: 44px;
  padding: 0 20px;
  border: 1px solid transparent;
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink);
  font-size: .9375rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}

/* line 420, app/assets/stylesheets/components/public_ui.scss */
.pub-btn:hover,
.pub-btn:focus {
  text-decoration: none;
}

/* line 425, app/assets/stylesheets/components/public_ui.scss */
.pub-btn--block {
  display: flex;
  width: 100%;
}

/* line 430, app/assets/stylesheets/components/public_ui.scss */
.pub-btn--primary {
  background: var(--erp-ui-accent);
  border-color: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
}

/* line 436, app/assets/stylesheets/components/public_ui.scss */
.pub-btn--primary:hover,
.pub-btn--primary:focus {
  background: var(--erp-ui-accent-hover);
  border-color: var(--erp-ui-accent-hover);
  color: var(--erp-ui-accent-ink);
}

/* line 443, app/assets/stylesheets/components/public_ui.scss */
.pub-btn--secondary {
  background: var(--erp-ui-surface);
  border-color: var(--erp-ui-hairline-strong);
  color: var(--erp-ui-ink);
}

/* line 449, app/assets/stylesheets/components/public_ui.scss */
.pub-btn--secondary:hover,
.pub-btn--secondary:focus {
  background: var(--erp-ui-surface-2);
  color: var(--erp-ui-ink);
}

/* line 455, app/assets/stylesheets/components/public_ui.scss */
.pub-btn--positive {
  background: var(--erp-ui-good);
  border-color: var(--erp-ui-good);
  color: var(--erp-ui-accent-ink);
}

/* line 461, app/assets/stylesheets/components/public_ui.scss */
.pub-btn--positive:hover,
.pub-btn--positive:focus {
  color: var(--erp-ui-accent-ink);
  filter: brightness(0.92);
}

/* line 467, app/assets/stylesheets/components/public_ui.scss */
.pub-btn--negative {
  background: var(--erp-ui-surface);
  border-color: var(--erp-ui-critical);
  color: var(--erp-ui-critical-text);
}

/* line 473, app/assets/stylesheets/components/public_ui.scss */
.pub-btn--negative:hover,
.pub-btn--negative:focus {
  background: var(--erp-ui-critical-soft);
  color: var(--erp-ui-critical-text);
}

/* line 479, app/assets/stylesheets/components/public_ui.scss */
.pub-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

/* line 490, app/assets/stylesheets/components/public_ui.scss */
.pub-accept {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-height: 44px;
  padding: 10px 4px;
  cursor: pointer;
}

/* line 499, app/assets/stylesheets/components/public_ui.scss */
.pub-accept input[type="checkbox"],
.pub-accept input[type="radio"] {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 1px;
}

/* line 509, app/assets/stylesheets/components/public_ui.scss */
.pub-field.ck-release-field:has(input[value="released"]:checked) .ck-release-notes {
  display: none;
}

/* line 511, app/assets/stylesheets/components/public_ui.scss */
.pub-accept span {
  color: var(--erp-ui-ink);
  font-size: .9375rem;
  line-height: 1.5;
}

/* line 520, app/assets/stylesheets/components/public_ui.scss */
.pub-result {
  padding: 40px 32px;
  text-align: center;
}

/* line 525, app/assets/stylesheets/components/public_ui.scss */
.pub-result__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin-bottom: 16px;
  border-radius: 50%;
}

/* line 535, app/assets/stylesheets/components/public_ui.scss */
.pub-result__icon svg {
  width: 30px;
  height: 30px;
}

/* line 540, app/assets/stylesheets/components/public_ui.scss */
.pub-result__title {
  margin: 0 0 8px;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--erp-ui-ink);
}

/* line 547, app/assets/stylesheets/components/public_ui.scss */
.pub-result__text {
  margin: 0;
  color: var(--erp-ui-ink-2);
  font-size: .9375rem;
  line-height: 1.6;
}

/* line 554, app/assets/stylesheets/components/public_ui.scss */
.pub-result--success .pub-result__icon {
  background: var(--erp-ui-good-soft);
  color: var(--erp-ui-good-text);
}

/* line 559, app/assets/stylesheets/components/public_ui.scss */
.pub-result--warning .pub-result__icon {
  background: var(--erp-ui-warning-soft);
  color: var(--erp-ui-warning-text);
}

/* line 564, app/assets/stylesheets/components/public_ui.scss */
.pub-result--danger .pub-result__icon {
  background: var(--erp-ui-critical-soft);
  color: var(--erp-ui-critical-text);
}

/* line 569, app/assets/stylesheets/components/public_ui.scss */
.pub-result--info .pub-result__icon {
  background: var(--erp-ui-accent-soft);
  color: var(--erp-ui-accent);
}

/* line 577, app/assets/stylesheets/components/public_ui.scss */
.pub-signature__canvas {
  display: block;
  width: 100%;
  height: 220px;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 6px;
  touch-action: none;
  cursor: crosshair;
}

/* line 588, app/assets/stylesheets/components/public_ui.scss */
.pub-signature__error {
  margin-top: 8px;
}

/* line 592, app/assets/stylesheets/components/public_ui.scss */
.pub-signature__actions {
  margin-top: 10px;
}

/* line 600, app/assets/stylesheets/components/public_ui.scss */
.pub-modal[hidden] {
  display: none;
}

/* line 604, app/assets/stylesheets/components/public_ui.scss */
.pub-modal__backdrop {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal-backdrop);
  background: var(--modal-backdrop-bg);
}

/* line 611, app/assets/stylesheets/components/public_ui.scss */
.pub-modal__panel {
  position: fixed;
  z-index: var(--z-modal);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 480px;
  max-height: 90vh;
  overflow-y: auto;
  background: var(--erp-ui-surface);
  border-radius: var(--erp-ui-radius);
  box-shadow: var(--erp-ui-shadow-overlay);
}

/* line 626, app/assets/stylesheets/components/public_ui.scss */
.pub-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 20px 24px;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 635, app/assets/stylesheets/components/public_ui.scss */
.pub-modal__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--erp-ui-ink);
}

/* line 642, app/assets/stylesheets/components/public_ui.scss */
.pub-modal__body {
  padding: 20px 24px;
}

/* line 646, app/assets/stylesheets/components/public_ui.scss */
.pub-modal__footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
  padding: 16px 24px 24px;
}

@media (max-width: 639.98px) {
  /* line 658, app/assets/stylesheets/components/public_ui.scss */
  .pub-page {
    padding: 16px 0 32px;
  }
  /* line 662, app/assets/stylesheets/components/public_ui.scss */
  .pub-sheet {
    border-left: 0;
    border-right: 0;
    border-radius: 0;
  }
  /* line 668, app/assets/stylesheets/components/public_ui.scss */
  .pub-sheet--narrow {
    border-left: 0;
    border-right: 0;
    border-radius: 0;
  }
  /* line 674, app/assets/stylesheets/components/public_ui.scss */
  .pub-sheet__header {
    padding: 20px;
    flex-direction: column;
  }
  /* line 679, app/assets/stylesheets/components/public_ui.scss */
  .pub-brand__logo {
    max-width: 150px;
    max-height: 52px;
  }
  /* line 684, app/assets/stylesheets/components/public_ui.scss */
  .pub-sheet__status {
    align-items: flex-start;
    width: 100%;
    text-align: left;
  }
  /* line 690, app/assets/stylesheets/components/public_ui.scss */
  .pub-sheet__section,
.pub-total,
.pub-sheet__footer {
    padding-left: 20px;
    padding-right: 20px;
  }
  /* line 697, app/assets/stylesheets/components/public_ui.scss */
  .pub-rows,
.pub-rows--4 {
    grid-template-columns: minmax(0, 1fr);
  }
  /* line 702, app/assets/stylesheets/components/public_ui.scss */
  .pub-table {
    min-width: 0;
  }
  /* line 706, app/assets/stylesheets/components/public_ui.scss */
  .pub-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  /* line 718, app/assets/stylesheets/components/public_ui.scss */
  .pub-table,
.pub-table tbody {
    display: block;
    width: 100%;
  }
  /* line 724, app/assets/stylesheets/components/public_ui.scss */
  .pub-table tbody tr {
    display: grid;
    grid-template-columns: minmax(112px, 40%) minmax(0, 1fr);
    gap: 8px 16px;
    padding: 16px 20px;
    border-top: 1px solid var(--erp-ui-hairline);
    border-bottom: 0;
  }
  /* line 733, app/assets/stylesheets/components/public_ui.scss */
  .pub-table tbody td {
    display: contents;
    padding: 0;
    border: 0;
    text-align: left !important;
    white-space: normal !important;
  }
  /* line 741, app/assets/stylesheets/components/public_ui.scss */
  .pub-table tbody td::before {
    content: attr(data-label);
    color: var(--erp-ui-ink-2);
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: uppercase;
  }
  /* line 750, app/assets/stylesheets/components/public_ui.scss */
  .pub-table tbody td[data-label="Item"] {
    display: block;
    grid-column: 1 / -1;
    padding: 0 0 8px;
  }
  /* line 756, app/assets/stylesheets/components/public_ui.scss */
  .pub-table tbody td[data-label="Item"]::before {
    display: none;
  }
  /* line 760, app/assets/stylesheets/components/public_ui.scss */
  .pub-total {
    justify-content: space-between;
  }
  /* line 764, app/assets/stylesheets/components/public_ui.scss */
  .pub-actions {
    flex-direction: column;
  }
  /* line 768, app/assets/stylesheets/components/public_ui.scss */
  .pub-actions .pub-btn {
    width: 100%;
  }
}

@media (min-width: 640px) and (max-width: 899.98px) {
  /* line 774, app/assets/stylesheets/components/public_ui.scss */
  .pub-rows--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media print {
  @page {
    margin: 12mm;
  }
  /* line 784, app/assets/stylesheets/components/public_ui.scss */
  .pub-page {
    min-height: 0;
    padding: 0;
    background: #fff;
  }
  /* line 790, app/assets/stylesheets/components/public_ui.scss */
  .pub-sheet {
    max-width: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  /* line 797, app/assets/stylesheets/components/public_ui.scss */
  .pub-actions,
.footer-public {
    display: none !important;
  }
  /* line 802, app/assets/stylesheets/components/public_ui.scss */
  .pub-sheet__section {
    break-inside: avoid;
  }
  /* line 806, app/assets/stylesheets/components/public_ui.scss */
  .pub-table-wrap {
    overflow: visible;
  }
  /* line 810, app/assets/stylesheets/components/public_ui.scss */
  .pub-table {
    min-width: 0;
  }
}

/* line 833, app/assets/stylesheets/components/public_ui.scss */
.pub-plans {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}

/* line 839, app/assets/stylesheets/components/public_ui.scss */
.pub-plan {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 20px;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 10px;
  background: var(--erp-ui-surface);
}

/* line 851, app/assets/stylesheets/components/public_ui.scss */
.pub-plan--recommended {
  border-color: var(--erp-ui-accent);
  box-shadow: 0 0 0 1px var(--erp-ui-accent);
}

/* line 856, app/assets/stylesheets/components/public_ui.scss */
.pub-plan__flag {
  align-self: flex-start;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 4px;
  background: var(--erp-ui-accent-soft);
  color: var(--erp-ui-accent);
}

/* line 868, app/assets/stylesheets/components/public_ui.scss */
.pub-plan__name {
  font-size: 18px;
  font-weight: 700;
  margin: 0;
}

/* line 874, app/assets/stylesheets/components/public_ui.scss */
.pub-plan__price {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.1;
  margin: 0;
  font-variant-numeric: tabular-nums;
}

/* line 882, app/assets/stylesheets/components/public_ui.scss */
.pub-plan__cycle {
  font-size: 13px;
  color: var(--erp-ui-ink-2);
}

/* line 887, app/assets/stylesheets/components/public_ui.scss */
.pub-plan__features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 14px;
  color: var(--erp-ui-ink-2);
}

/* line 901, app/assets/stylesheets/components/public_ui.scss */
.pub-plan__action {
  margin-top: auto;
}

/* line 905, app/assets/stylesheets/components/public_ui.scss */
.pub-choice {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* line 911, app/assets/stylesheets/components/public_ui.scss */
.pub-choice__option {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding: 12px 14px;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
  background: var(--erp-ui-surface);
  cursor: pointer;
  font-size: 15px;
}

/* line 924, app/assets/stylesheets/components/public_ui.scss */
.pub-choice__option:hover {
  border-color: var(--erp-ui-accent);
}

/* line 931, app/assets/stylesheets/components/public_ui.scss */
.pub-choice__option input {
  width: 18px;
  height: 18px;
  margin: 0;
  flex: none;
}

/* line 940, app/assets/stylesheets/components/public_ui.scss */
.pub-checklist__photo {
  display: block;
  max-width: 160px;
  max-height: 120px;
  margin-top: 6px;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 6px;
}
/* line 11, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-banner-row {
  display: block;
}

/* line 15, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module table.data .sub.warn {
  color: var(--erp-ui-warning-text);
}

/* line 16, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module table.data .sub.crit {
  color: var(--erp-ui-critical-text);
  font-weight: 600;
}

/* line 20, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module table.data .pill {
  white-space: nowrap;
}

/* line 22, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-inline-form {
  display: inline;
  margin: 0;
}

/* line 25, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

/* line 32, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-aside {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}

/* line 42, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-aside > * {
  min-width: 0;
}

/* line 45, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-preset {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: flex-end;
  padding: 12px 16px;
}

/* line 52, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-preset .field {
  flex: 1 1 240px;
  max-width: 380px;
}

/* line 53, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-preset .field-hint {
  flex: 1 1 240px;
  margin: 0;
}

/* line 56, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-location-hint {
  align-self: end;
  margin: 0 0 6px;
}

/* line 58, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-add {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

/* line 64, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-add select, .erp-ui.quotations-module .qt-add .ts-wrapper {
  width: 300px;
  max-width: 100%;
}

/* line 69, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-rows {
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
}

/* line 74, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-rows-head,
.erp-ui.quotations-module .qt-row-grid {
  display: grid;
  gap: 8px;
  align-items: center;
  padding: 8px 10px;
}

/* line 82, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-rows-eq .qt-rows-head,
.erp-ui.quotations-module .qt-rows-eq .qt-row-grid {
  grid-template-columns: minmax(0, 2.6fr) 70px 124px 82px 140px 128px 32px;
}

/* line 87, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-rows-sv .qt-rows-head,
.erp-ui.quotations-module .qt-rows-sv .qt-row-grid {
  grid-template-columns: minmax(0, 2.6fr) 84px 90px 140px 128px 32px;
}

/* line 92, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-rows-head {
  background: var(--erp-ui-surface-2);
  border-bottom: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius) var(--erp-ui-radius) 0 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--erp-ui-ink-3);
}

/* line 102, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-rows-head .r {
  text-align: right;
}

/* line 105, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-row {
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 108, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-row:last-of-type {
  border-bottom: 0;
}

/* line 109, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-row.invalid {
  background: var(--erp-ui-critical-wash);
}

/* line 111, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-row .field {
  margin: 0;
}

/* line 114, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-row-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

/* line 123, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-row-total {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* line 128, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-row-total b {
  display: block;
  font-weight: 600;
}

/* line 129, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-row-total small {
  display: block;
  font-size: 11px;
  color: var(--erp-ui-ink-3);
}

/* line 132, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-unit {
  font-size: 13px;
  color: var(--erp-ui-ink-2);
}

/* line 137, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-auto-note {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 4px;
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
}

/* line 147, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-rows-empty {
  margin: 0;
  padding: 12px 14px;
  font-size: 12.5px;
  color: var(--erp-ui-ink-3);
}

/* line 154, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-row-err {
  margin: 0;
  padding: 0 10px 8px;
}

/* line 157, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-sp {
  display: grid;
  grid-template-columns: auto minmax(160px, 1fr) auto;
  gap: 6px 12px;
  align-items: center;
  padding: 0 10px 10px;
  font-size: 12px;
}

/* line 165, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-sp .pill {
  justify-self: start;
}

/* line 168, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-sp-msg {
  color: var(--erp-ui-ink-2);
  grid-column: 2 / -1;
}

/* line 170, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-sp-actions {
  display: flex;
  gap: 4px;
  justify-content: flex-end;
  flex-wrap: wrap;
}

/* line 177, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-range {
  display: grid;
  gap: 3px;
  min-width: 0;
}

/* line 179, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-range-track {
  position: relative;
  height: 8px;
  border-radius: 999px;
  background: var(--erp-ui-surface-2);
  border: 1px solid var(--erp-ui-hairline);
}

/* line 188, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-range-track i {
  position: absolute;
  top: 0;
  bottom: 0;
  opacity: 0.35;
}

/* line 189, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-range-track .z-below {
  background: var(--erp-ui-critical);
  border-radius: 999px 0 0 999px;
}

/* line 190, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-range-track .z-under {
  background: var(--erp-ui-warning);
}

/* line 191, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-range-track .z-within {
  background: var(--erp-ui-good);
}

/* line 192, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-range-track .z-above {
  background: var(--erp-ui-hairline-strong);
  border-radius: 0 999px 999px 0;
}

/* line 194, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-range-track b {
  position: absolute;
  top: -4px;
  width: 3px;
  height: 14px;
  margin-left: -1px;
  background: var(--erp-ui-ink);
  border-radius: 4px;
  box-shadow: 0 0 0 2px var(--erp-ui-surface);
}

/* line 206, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-range-labels {
  display: flex;
  justify-content: space-between;
  gap: 6px;
  flex-wrap: wrap;
  font-size: 11px;
  color: var(--erp-ui-ink-3);
  font-variant-numeric: tabular-nums;
}

/* line 215, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-range-labels b {
  color: var(--erp-ui-ink-2);
  font-weight: 600;
}

/* line 219, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-panel {
  padding: 14px 16px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}

/* line 225, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-panel h3 {
  margin: 0;
  font-size: 13.5px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

/* line 234, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-panel .field-hint {
  margin: 0;
}

/* line 237, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .smart-pricing-field-tooltip {
  border: 0;
  background: none;
  padding: 2px;
  color: var(--erp-ui-ink-3);
  cursor: pointer;
  line-height: 0;
  border-radius: 4px;
}

/* line 246, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .smart-pricing-field-tooltip:hover {
  color: var(--erp-ui-accent);
}

/* line 247, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .smart-pricing-field-tooltip .erp-icon {
  width: 14px;
  height: 14px;
}

/* line 250, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-calc {
  display: grid;
  gap: 4px;
  margin: 0;
  font-size: 12.5px;
  font-variant-numeric: tabular-nums;
}

/* line 257, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-calc > div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

/* line 258, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-calc dt {
  font-weight: 400;
  color: var(--erp-ui-ink-2);
}

/* line 259, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-calc dd {
  margin: 0;
}

/* line 260, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-calc .crit dd {
  color: var(--erp-ui-critical-text);
  font-weight: 600;
}

/* line 263, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-calc-sum {
  border-top: 1px solid var(--erp-ui-hairline);
  padding-top: 5px;
  margin-top: 2px;
  font-size: 15px;
  font-weight: 700;
}

/* line 270, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-calc-sum dt {
  color: var(--erp-ui-ink);
  font-weight: 700;
}

/* line 273, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-range-boxes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  text-align: center;
}

/* line 279, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-range-boxes > div {
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 6px;
  padding: 6px 4px;
  display: grid;
  gap: 1px;
}

/* line 287, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-range-boxes small {
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--erp-ui-ink-3);
}

/* line 294, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-range-boxes b {
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* line 295, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-range-boxes .rec {
  border-color: var(--erp-ui-accent);
  background: var(--erp-ui-accent-soft);
}

/* line 298, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-below-title {
  margin: 4px 0 0;
  font-size: 12.5px;
  font-weight: 700;
}

/* line 300, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-below-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 4px;
  font-size: 12.5px;
}

/* line 308, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-below-list li {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}

/* line 310, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-below-list li span:first-child {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 311, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-below-list li span:last-child {
  flex: none;
  white-space: nowrap;
}

/* line 315, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-below-list .err,
.erp-ui.quotations-module .qt-foot-sum .err {
  color: var(--erp-ui-critical-text);
  font-weight: 600;
}

/* line 320, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .kpi:not(.compact) {
  min-width: 0;
}

/* line 321, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .kpi:not(.compact) .kpi-value {
  font-size: 22px;
  overflow-wrap: anywhere;
}

/* line 324, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-aside > [data-quotation-form-target="calcPanel"] {
  grid-column: 1 / -1;
}

/* line 326, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-steps {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 5px;
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
}

/* line 334, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-steps b {
  color: var(--erp-ui-ink);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* line 337, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-foot-sum {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  align-items: center;
}

/* line 343, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-foot-sum b {
  font-size: 14px;
  color: var(--erp-ui-ink);
  font-variant-numeric: tabular-nums;
}

/* line 347, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

/* line 354, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-flow {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 12px 14px;
  gap: 8px 0;
}

/* line 363, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-flow-step {
  flex: 1 1 140px;
  display: grid;
  gap: 2px;
  padding: 0 10px 0 22px;
  position: relative;
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 372, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-flow-step b {
  color: var(--erp-ui-ink-2);
  font-size: 12.5px;
}

/* line 374, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-flow-step::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 4px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  border: 2px solid var(--erp-ui-hairline-strong);
  background: var(--erp-ui-surface);
}

/* line 386, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-flow-step.done::before {
  background: var(--erp-ui-good-text);
  border-color: var(--erp-ui-good-text);
}

/* line 387, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-flow-step.now::before {
  border-color: var(--erp-ui-accent);
}

/* line 388, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-flow-step.now b {
  color: var(--erp-ui-accent);
}

/* line 389, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-flow-step.stop::before {
  background: var(--erp-ui-ink-3);
  border-color: var(--erp-ui-ink-3);
}

/* line 392, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-more {
  position: relative;
}

/* line 395, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-more > summary {
  list-style: none;
}

/* line 396, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-more > summary::-webkit-details-marker {
  display: none;
}

/* line 399, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-menu {
  position: absolute;
  right: 0;
  top: 100%;
  margin-top: 4px;
  z-index: 20;
  min-width: 220px;
  display: grid;
  padding: 4px;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 6px;
  box-shadow: var(--erp-ui-shadow-overlay);
}

/* line 413, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-menu form {
  margin: 0;
}

/* line 416, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-menu-item {
  display: block;
  width: 100%;
  border: 0;
  background: none;
  text-align: left;
  padding: 7px 10px;
  border-radius: 4px;
  font-size: 13px;
  color: var(--erp-ui-ink);
  text-decoration: none;
  cursor: pointer;
}

/* line 429, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-menu-item:hover, .erp-ui.quotations-module .qt-menu-item:focus-visible {
  background: var(--erp-ui-surface-2);
}

/* line 432, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-menu-danger {
  color: var(--erp-ui-critical-text);
}

/* line 434, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-copy {
  display: flex;
  gap: 6px;
  max-width: 640px;
}

/* line 439, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-copy input {
  flex: 1 1 auto;
}

/* line 442, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-total-line {
  display: flex;
  justify-content: flex-end;
  gap: 14px;
  align-items: baseline;
  font-variant-numeric: tabular-nums;
}

/* line 449, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-total-line b {
  font-size: 16px;
}

/* line 452, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .kv-grid .sub {
  display: block;
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 461, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .erp-modal legend.lbl {
  font-size: 11.5px;
  font-weight: 700;
  color: var(--erp-ui-ink-2);
  margin-bottom: 6px;
}

/* line 468, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .erp-modal .qt-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

/* line 474, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .erp-modal .qt-options .opt {
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 6px;
  padding: 8px 10px;
}

/* line 480, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .erp-modal .qt-new-work {
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  padding: 12px;
  margin: 0 0 12px;
}

/* line 487, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .erp-modal .qt-conversion-summary {
  margin-bottom: 12px;
}

/* line 494, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qp-rows-eq .qt-rows-head,
.erp-ui.quotations-module .qp-rows-eq .qt-row-grid {
  grid-template-columns: minmax(0, 2.6fr) 80px 140px 150px 32px;
}

/* line 499, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qp-rows-sv .qt-rows-head,
.erp-ui.quotations-module .qp-rows-sv .qt-row-grid {
  grid-template-columns: minmax(0, 2.6fr) 90px 140px 32px;
}

/* line 506, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qp-add {
  flex: 1 1 320px;
  max-width: 440px;
  flex-wrap: nowrap;
}

/* line 511, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qp-add select, .erp-ui.quotations-module .qp-add .ts-wrapper {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
}

/* line 512, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qp-add .btn {
  flex: none;
}

/* line 515, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-row-inactive {
  background: var(--erp-ui-warning-soft);
}

/* line 517, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-row-name {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  font-weight: 600;
}

/* line 525, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-row-note {
  display: block;
  margin-top: 3px;
  font-size: 11.5px;
  line-height: 1.35;
  color: var(--erp-ui-warning-text);
}

/* line 533, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qp-aside {
  grid-template-columns: minmax(0, 1fr);
}

/* line 535, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-panel-note {
  margin: 0;
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 540, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-panel-note.warn {
  color: var(--erp-ui-warning-text);
}

/* line 543, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qt-preset-skipped {
  display: block;
  margin-top: 4px;
}

/* line 545, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qp-switch {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 4px 0 0;
  font-size: 13px;
  font-weight: 400;
  cursor: pointer;
}

/* line 554, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qp-switch input {
  width: 16px;
  height: 16px;
  margin: 2px 0 0;
  flex: none;
  accent-color: var(--erp-ui-accent);
}

/* line 555, app/assets/stylesheets/components/quotations_module.scss */
.erp-ui.quotations-module .qp-switch small {
  display: block;
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

@media (min-width: 1500px) {
  /* line 560, app/assets/stylesheets/components/quotations_module.scss */
  .erp-ui.quotations-module .qt-layout {
    grid-template-columns: minmax(0, 1fr) 320px;
  }
  /* line 561, app/assets/stylesheets/components/quotations_module.scss */
  .erp-ui.quotations-module .qt-aside {
    grid-template-columns: minmax(0, 1fr);
    position: sticky;
    top: 12px;
  }
}

@media (max-width: 1400px) {
  /* line 568, app/assets/stylesheets/components/quotations_module.scss */
  .erp-ui.quotations-module.is-readonly .kpi:not(.compact) .kpi-value {
    font-size: 18px;
  }
}

@media (max-width: 1180px) {
  /* line 573, app/assets/stylesheets/components/quotations_module.scss */
  .erp-ui.quotations-module .qt-rows-head {
    display: none;
  }
  /* line 575, app/assets/stylesheets/components/quotations_module.scss */
  .erp-ui.quotations-module .qt-rows-eq .qt-row-grid,
.erp-ui.quotations-module .qt-rows-sv .qt-row-grid,
.erp-ui.quotations-module .qp-rows-eq .qt-row-grid,
.erp-ui.quotations-module .qp-rows-sv .qt-row-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: end;
  }
  /* line 583, app/assets/stylesheets/components/quotations_module.scss */
  .erp-ui.quotations-module .qt-col-main {
    grid-column: 1 / -1;
  }
  /* line 585, app/assets/stylesheets/components/quotations_module.scss */
  .erp-ui.quotations-module .qt-row-label {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    font-size: 11px;
    font-weight: 700;
    color: var(--erp-ui-ink-2);
  }
  /* line 596, app/assets/stylesheets/components/quotations_module.scss */
  .erp-ui.quotations-module .qt-row-total {
    text-align: left;
  }
  /* line 597, app/assets/stylesheets/components/quotations_module.scss */
  .erp-ui.quotations-module .qt-sp {
    grid-template-columns: minmax(0, 1fr);
  }
  /* line 598, app/assets/stylesheets/components/quotations_module.scss */
  .erp-ui.quotations-module .qt-sp-msg {
    grid-column: auto;
  }
  /* line 599, app/assets/stylesheets/components/quotations_module.scss */
  .erp-ui.quotations-module .qt-sp-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 700px) {
  /* line 604, app/assets/stylesheets/components/quotations_module.scss */
  .erp-ui.quotations-module .qt-aside {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 600px) {
  /* line 609, app/assets/stylesheets/components/quotations_module.scss */
  .erp-ui.quotations-module .qt-rows-eq .qt-row-grid,
.erp-ui.quotations-module .qt-rows-sv .qt-row-grid,
.erp-ui.quotations-module .qp-rows-eq .qt-row-grid,
.erp-ui.quotations-module .qp-rows-sv .qt-row-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  /* line 614, app/assets/stylesheets/components/quotations_module.scss */
  .erp-ui.quotations-module .erp-modal .qt-options {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* line 15, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .form-subsection-title {
  margin: 14px 0 8px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--erp-ui-ink-3);
}

/* line 24, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .grid + .form-subsection-title {
  margin-top: 18px;
}

/* line 29, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .field-help-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-left: 4px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--erp-ui-ink-3);
  line-height: 1;
  vertical-align: middle;
}

/* line 44, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .field-help-btn:hover, .erp-ui.receivable-advance-contracts-module .field-help-btn:focus {
  color: var(--erp-ui-accent);
}

/* line 49, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .field-help-btn:focus-visible {
  outline: 2px solid var(--erp-ui-accent);
  outline-offset: 2px;
}

/* line 54, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .field-help-btn .erp-icon {
  width: 13px;
  height: 13px;
}

/* line 62, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-remove-cell {
  justify-content: flex-end;
  align-self: end;
}

/* line 69, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-submit-working {
  margin-right: 6px;
}

/* line 80, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-trigger-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-1);
  margin-top: var(--spacing-1);
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--erp-ui-accent);
  font-size: var(--font-size-xs);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* line 93, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-trigger-btn:hover, .erp-ui.receivable-advance-contracts-module .calibration-trigger-btn:focus {
  color: var(--erp-ui-accent-hover);
}

/* line 98, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-trigger-btn:focus-visible {
  outline: 2px solid var(--erp-ui-accent);
  outline-offset: 2px;
}

/* line 103, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-trigger-btn i {
  font-size: var(--font-size-xs);
}

/* line 112, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-operations-hint {
  margin: 0 0 var(--spacing-2);
  color: var(--erp-ui-ink-2);
  font-size: var(--font-size-xs);
}

/* line 118, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-operations-loading,
.erp-ui.receivable-advance-contracts-module .calibration-operations-empty {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-2) var(--spacing-3);
  border-radius: var(--border-radius-md);
  background: var(--erp-ui-surface-2);
  color: var(--erp-ui-ink-2);
  font-size: var(--font-size-sm);
}

/* line 130, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-operations-error {
  margin-bottom: var(--spacing-2);
  padding: var(--spacing-2) var(--spacing-3);
  border: 1px solid var(--erp-ui-critical);
  border-radius: var(--border-radius-md);
  background: var(--erp-ui-critical-soft);
  color: var(--erp-ui-critical-text);
  font-size: var(--font-size-sm);
}

/* line 142, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-operations-fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

/* line 151, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-operations-list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
  max-height: 220px;
  padding-right: var(--spacing-1);
  overflow-y: auto;
}

/* line 163, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-operation-row {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-2);
  margin: 0;
  padding: var(--spacing-2) var(--spacing-3);
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: var(--border-radius-md);
  background: var(--erp-ui-surface);
  cursor: pointer;
}

/* line 174, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-operation-row:hover {
  border-color: var(--erp-ui-accent);
}

/* line 178, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-operation-row:focus-within {
  outline: 2px solid var(--erp-ui-accent);
  outline-offset: 2px;
}

/* line 183, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-operation-row.is-selected {
  border-color: var(--erp-ui-accent);
  background: var(--erp-ui-accent-soft);
}

/* line 189, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-operation-radio {
  flex-shrink: 0;
  margin-top: 3px;
}

/* line 194, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-operation-info {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

/* line 202, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-operation-headline {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--spacing-2);
}

/* line 209, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-operation-reference {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--erp-ui-ink);
}

/* line 215, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-operation-date {
  font-size: var(--font-size-xs);
  color: var(--erp-ui-ink-2);
}

/* line 220, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-operation-payer {
  display: block;
  font-size: var(--font-size-xs);
  color: var(--erp-ui-ink-2);
}

/* line 226, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-operation-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-3);
  margin-top: 2px;
}

/* line 233, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-operation-metric {
  display: flex;
  flex-direction: column;
}

/* line 238, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-operation-metric-label {
  font-size: var(--font-size-xs);
  color: var(--erp-ui-ink-3);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* line 245, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-operation-metric-value {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--erp-ui-ink);
}

/* line 251, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-manual-section-title {
  margin-top: var(--spacing-4);
  padding-top: var(--spacing-3);
  border-top: 1px solid var(--erp-ui-hairline);
}

/* line 257, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-titles-section {
  margin-top: var(--spacing-3);
}

/* line 261, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-title-row .calibration-remove-row-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  margin-top: 1px;
  padding: 0;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: var(--border-radius-md);
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink-2);
}

/* line 274, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-title-row .calibration-remove-row-btn:hover, .erp-ui.receivable-advance-contracts-module .calibration-title-row .calibration-remove-row-btn:focus {
  border-color: var(--erp-ui-critical);
  color: var(--erp-ui-critical-text);
}

/* line 280, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-title-row .calibration-remove-row-btn:focus-visible {
  outline: 2px solid var(--erp-ui-accent);
  outline-offset: 2px;
}

/* line 286, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-add-row-btn {
  margin-top: var(--spacing-1);
}

/* line 290, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-error-box {
  margin-top: var(--spacing-3);
  padding: var(--spacing-2) var(--spacing-3);
  border: 1px solid var(--erp-ui-critical);
  border-radius: var(--border-radius-md);
  background: var(--erp-ui-critical-soft);
  color: var(--erp-ui-critical-text);
  font-size: var(--font-size-sm);
}

/* line 300, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-results {
  margin-top: var(--spacing-4);
  padding-top: var(--spacing-3);
  border-top: 1px solid var(--erp-ui-hairline);
}

/* line 306, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-results-title {
  margin: 0 0 var(--spacing-2);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--erp-ui-ink);
}

/* line 313, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-explanation {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-2);
  margin: 0 0 var(--spacing-3);
  padding: var(--spacing-2) var(--spacing-3);
  border-radius: var(--border-radius-md);
  background: var(--erp-ui-accent-soft);
  color: var(--erp-ui-ink-2);
  font-size: var(--font-size-xs);
}

/* line 324, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-explanation i {
  margin-top: 2px;
  color: var(--erp-ui-accent);
}

/* line 330, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-candidates {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-3);
}

@media (max-width: 640px) {
  /* line 337, app/assets/stylesheets/components/receivable_advance_contracts.scss */
  .erp-ui.receivable-advance-contracts-module .calibration-candidates {
    grid-template-columns: 1fr;
  }
}

/* line 342, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-candidate-card {
  display: flex;
  flex-direction: column;
  padding: var(--spacing-3);
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: var(--border-radius-md);
  background: var(--erp-ui-surface);
}

/* line 351, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-candidate-header {
  margin-bottom: var(--spacing-2);
}

/* line 355, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-candidate-convention {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--erp-ui-ink);
}

/* line 361, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-candidate-metrics {
  margin: 0 0 var(--spacing-3);
}

/* line 364, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-candidate-metrics .calibration-candidate-metric {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--spacing-2);
  padding: var(--spacing-1) 0;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 372, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-candidate-metrics .calibration-candidate-metric:last-child {
  border-bottom: 0;
}

/* line 376, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-candidate-metrics .calibration-candidate-metric dt {
  margin: 0;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-normal);
  color: var(--erp-ui-ink-2);
}

/* line 383, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-candidate-metrics .calibration-candidate-metric dd {
  margin: 0;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--erp-ui-ink);
  text-align: right;
}

/* line 393, app/assets/stylesheets/components/receivable_advance_contracts.scss */
.erp-ui.receivable-advance-contracts-module .calibration-use-btn {
  align-self: flex-start;
}
/* line 19, app/assets/stylesheets/components/receivable_advances_module.scss */
.erp-ui.receivable-advances-module .limite {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 210px;
  gap: 14px;
  align-items: center;
}

/* line 28, app/assets/stylesheets/components/receivable_advances_module.scss */
.erp-ui.receivable-advances-module .limite + .limite {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--erp-ui-hairline);
}

/* line 44, app/assets/stylesheets/components/receivable_advances_module.scss */
.erp-ui.receivable-advances-module .previa.is-loading {
  opacity: 0.55;
  pointer-events: none;
}

@media (max-width: 760px) {
  /* line 51, app/assets/stylesheets/components/receivable_advances_module.scss */
  .erp-ui.receivable-advances-module .limite {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* line 17, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .bulk-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: var(--erp-ui-surface-2);
  border-bottom: 1px solid var(--erp-ui-hairline);
  border-radius: 8px 8px 0 0;
}

/* line 29, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .bulk-bar-count {
  margin: 0;
  font-size: 13px;
  color: var(--erp-ui-ink-2);
}

/* line 34, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .bulk-bar-count strong {
  font-size: 15px;
  color: var(--erp-ui-ink);
  font-variant-numeric: tabular-nums;
}

/* line 41, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .bulk-bar-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

/* line 49, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .data .check-col {
  width: 40px;
  text-align: center;
  padding-right: 0;
}

/* line 57, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .data td .sub {
  display: block;
  margin-top: 3px;
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
}

/* line 64, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .data td .val {
  display: block;
  font-weight: 600;
  color: var(--erp-ui-ink);
}

/* line 75, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module.is-kanban {
  min-height: calc(100vh - 140px);
}

/* line 77, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kanban-board {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding-bottom: 12px;
  align-items: flex-start;
}

/* line 85, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kanban-column {
  flex: 0 0 300px;
  width: 300px;
  background: var(--erp-ui-surface-2);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 10px;
  padding: 12px;
}

/* line 94, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kanban-column-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

/* line 101, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kanban-column-title {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  color: var(--erp-ui-ink);
}

/* line 113, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kanban-column-hint {
  margin: 4px 0 10px;
  font-size: 11.5px;
  line-height: 1.35;
  color: var(--erp-ui-ink-3);
}

/* line 120, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kanban-column-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 80px;
  border-radius: 8px;
  transition: background .12s, box-shadow .12s;
}

/* line 129, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kanban-column-body.drag-over {
  background: var(--erp-ui-accent-soft);
  box-shadow: inset 0 0 0 2px var(--erp-ui-accent);
}

/* line 135, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kanban-column-empty {
  margin: 0;
  padding: 10px 2px;
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 142, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kanban-card {
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-left: 3px solid var(--erp-ui-hairline-strong);
  border-radius: 8px;
  padding: 10px;
  cursor: grab;
}

/* line 152, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kanban-card.tone-info {
  border-left-color: var(--erp-ui-accent);
}

/* line 153, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kanban-card.tone-good {
  border-left-color: var(--erp-ui-good-text);
}

/* line 155, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kanban-card.dragging {
  opacity: .5;
  cursor: grabbing;
}

/* line 158, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kc-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
}

/* line 166, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kc-doc {
  font-weight: 700;
  font-size: 13px;
  color: var(--erp-ui-ink);
}

/* line 167, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kc-date {
  font-size: 11px;
  color: var(--erp-ui-ink-3);
}

/* line 169, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kc-person,
.erp-ui.receivables-delivery-module .kc-work {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 177, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kc-person {
  font-size: 13px;
  color: var(--erp-ui-ink);
}

/* line 178, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kc-work {
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
  margin-top: 2px;
}

/* line 180, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kc-docs {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 8px 0;
}

/* line 187, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kc-doc-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 7px;
  font-size: 11px;
  font-weight: 600;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 6px;
  color: var(--erp-ui-ink-2);
  background: var(--erp-ui-surface);
}

/* line 199, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kc-doc-link:hover {
  border-color: var(--erp-ui-accent);
  color: var(--erp-ui-accent);
  text-decoration: none;
}

/* line 200, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kc-doc-link.is-remove:hover {
  border-color: var(--erp-ui-critical-text);
  color: var(--erp-ui-critical-text);
}

/* line 202, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kc-doc-link .erp-icon {
  width: 12px;
  height: 12px;
}

/* line 206, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kc-amount {
  margin: 8px 0 0;
  font-size: 15px;
  font-weight: 700;
  color: var(--erp-ui-ink);
  font-variant-numeric: tabular-nums;
}

/* line 214, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kc-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--erp-ui-hairline);
}

/* line 224, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kc-note {
  font-size: 11px;
  color: var(--erp-ui-ink-3);
}

/* line 225, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .kc-actions {
  display: flex;
  gap: 4px;
}

/* line 236, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .historico-envios {
  max-height: 260px;
  overflow-y: auto;
}

/* line 241, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module .upload-boleto input[type="file"] {
  padding: 4px 8px;
}

/* line 245, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module.is-preview .preview-body {
  padding: 0;
  height: 72vh;
}

/* line 249, app/assets/stylesheets/components/receivables_delivery_module.scss */
.erp-ui.receivables-delivery-module.is-preview .preview-body iframe {
  display: block;
  border: 0;
  width: 100%;
  height: 100%;
}
/* line 15, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-progress,
.erp-ui .recon-module .recon-progress {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}

/* line 21, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-progress .erp-bar-track,
.erp-ui .recon-module .recon-progress .erp-bar-track {
  flex: none;
  width: 72px;
  height: 6px;
}

/* line 28, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-progress-text,
.erp-ui .recon-module .recon-progress-text {
  font-size: 12px;
  color: var(--erp-ui-ink-2);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* line 37, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-credit,
.erp-ui.recon-module .recon-debit,
.erp-ui .recon-module .recon-credit,
.erp-ui .recon-module .recon-debit {
  display: block;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* line 45, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-credit,
.erp-ui .recon-module .recon-credit {
  color: var(--erp-ui-good-text);
}

/* line 48, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module td .pill,
.erp-ui .recon-module td .pill {
  white-space: nowrap;
}

/* line 49, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-debit,
.erp-ui .recon-module .recon-debit {
  color: var(--erp-ui-critical-text);
}

/* line 56, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-steps,
.erp-ui .recon-module .recon-steps {
  margin: 0;
  padding-left: 18px;
  font-size: 13px;
  color: var(--erp-ui-ink-2);
  line-height: 1.7;
}

/* line 63, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-steps b,
.erp-ui .recon-module .recon-steps b {
  color: var(--erp-ui-ink);
  font-weight: 600;
}

/* line 75, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-note,
.erp-ui .recon-module .recon-note {
  margin: 0;
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
}

/* line 80, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-note b,
.erp-ui .recon-module .recon-note b {
  color: var(--erp-ui-ink);
  font-weight: 600;
}

/* line 83, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-summary,
.erp-ui .recon-module .recon-summary {
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
}

/* line 88, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-summary > summary,
.erp-ui .recon-module .recon-summary > summary {
  padding: 10px 14px;
  cursor: pointer;
  font-size: 13px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  align-items: baseline;
}

/* line 97, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-summary > summary > span,
.erp-ui .recon-module .recon-summary > summary > span {
  color: var(--erp-ui-ink-3);
  font-size: 12px;
}

/* line 100, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-summary > div,
.erp-ui .recon-module .recon-summary > div {
  padding: 0 14px 12px;
  display: grid;
  gap: 8px;
  max-width: 90ch;
}

/* line 107, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-summary h4,
.erp-ui .recon-module .recon-summary h4 {
  margin: 4px 0 0;
  font-size: 12.5px;
}

/* line 110, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-summary-text,
.erp-ui .recon-module .recon-summary-text {
  margin: 0;
  font-size: 13px;
  color: var(--erp-ui-ink-2);
  white-space: pre-line;
}

/* line 117, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-flags,
.erp-ui .recon-module .recon-flags {
  margin: 0;
  padding-left: 18px;
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
  display: grid;
  gap: 2px;
}

/* line 127, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-tools,
.erp-ui .recon-module .recon-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 137, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-tools-acts,
.erp-ui .recon-module .recon-tools-acts {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

/* line 144, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-filter,
.erp-ui .recon-module .recon-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

/* line 149, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-filter a,
.erp-ui .recon-module .recon-filter a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--erp-ui-hairline-strong);
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink-2);
  border-radius: 999px;
  padding: 3px 6px 3px 12px;
  font-size: 12.5px;
  text-decoration: none;
  white-space: nowrap;
}

/* line 162, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-filter a:hover,
.erp-ui .recon-module .recon-filter a:hover {
  background: var(--erp-ui-surface-2);
  color: var(--erp-ui-ink);
}

/* line 164, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-filter a[aria-current="page"],
.erp-ui .recon-module .recon-filter a[aria-current="page"] {
  background: var(--erp-ui-accent-soft);
  border-color: var(--erp-ui-accent);
  color: var(--erp-ui-accent);
  font-weight: 600;
}

/* line 171, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-filter a:focus-visible,
.erp-ui .recon-module .recon-filter a:focus-visible {
  outline: 2px solid var(--erp-ui-accent);
  outline-offset: 1px;
}

/* line 175, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-period,
.erp-ui .recon-module .recon-period {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: flex-end;
  padding: 10px 14px;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 183, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-period .field,
.erp-ui .recon-module .recon-period .field {
  width: 160px;
}

/* line 186, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-check-label,
.erp-ui .recon-module .recon-check-label {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
  padding-bottom: 6px;
}

/* line 196, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-work,
.erp-ui .recon-module .recon-work {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
}

/* line 201, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-queue,
.erp-ui .recon-module .recon-queue {
  min-width: 0;
  border-right: 1px solid var(--erp-ui-hairline);
}

/* line 206, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-list,
.erp-ui .recon-module .recon-list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 620px;
  overflow-y: auto;
}

/* line 214, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-row,
.erp-ui .recon-module .recon-row {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: start;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 221, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-row-check,
.erp-ui .recon-module .recon-row-check {
  margin: 12px 0 0 12px;
  width: 14px;
  height: 14px;
}

/* line 227, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-row-link,
.erp-ui .recon-module .recon-row-link {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  grid-template-areas: "data desc valor" "data dica valor";
  gap: 2px 10px;
  padding: 9px 14px 9px 6px;
  color: var(--erp-ui-ink);
  text-decoration: none;
  border-left: 3px solid transparent;
}

/* line 239, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-row-link:hover,
.erp-ui .recon-module .recon-row-link:hover {
  background: var(--erp-ui-surface-2);
}

/* line 240, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-row-link:focus-visible,
.erp-ui .recon-module .recon-row-link:focus-visible {
  outline: 2px solid var(--erp-ui-accent);
  outline-offset: -2px;
}

/* line 242, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-row-link[aria-current="true"],
.erp-ui .recon-module .recon-row-link[aria-current="true"] {
  background: var(--erp-ui-accent-soft);
  border-left-color: var(--erp-ui-accent);
}

/* line 248, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-row-date,
.erp-ui .recon-module .recon-row-date {
  grid-area: data;
  font-size: 12px;
  color: var(--erp-ui-ink-3);
  font-variant-numeric: tabular-nums;
  padding-top: 1px;
}

/* line 256, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-row-desc,
.erp-ui .recon-module .recon-row-desc {
  grid-area: desc;
  font-size: 13px;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

/* line 266, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-row-hint,
.erp-ui .recon-module .recon-row-hint {
  grid-area: dica;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 6px;
  align-items: center;
}

/* line 274, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-row-amount,
.erp-ui .recon-module .recon-row-amount {
  grid-area: valor;
  text-align: right;
}

/* line 279, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-keys,
.erp-ui .recon-module .recon-keys {
  margin: 0;
  padding: 8px 14px;
  font-size: 12px;
  color: var(--erp-ui-ink-3);
  background: var(--erp-ui-surface-2);
}

/* line 286, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-keys kbd,
.erp-ui .recon-module .recon-keys kbd {
  font: 11px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-bottom-width: 2px;
  border-radius: 4px;
  padding: 0 4px;
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink-2);
}

/* line 297, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-panel,
.erp-ui .recon-module .recon-panel {
  min-width: 0;
}

/* line 299, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-decide,
.erp-ui .recon-module .recon-decide {
  padding: 14px 16px;
  display: grid;
  gap: 12px;
  align-content: start;
}

/* line 306, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-cmp,
.erp-ui .recon-module .recon-cmp {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  overflow: hidden;
}

/* line 313, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-cmp > div,
.erp-ui .recon-module .recon-cmp > div {
  padding: 10px 12px;
  display: grid;
  gap: 4px;
  align-content: start;
  min-width: 0;
}

/* line 321, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-cmp > div + div,
.erp-ui .recon-module .recon-cmp > div + div {
  border-left: 1px solid var(--erp-ui-hairline);
  background: var(--erp-ui-surface-2);
}

/* line 327, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-cmp-label,
.erp-ui .recon-module .recon-cmp-label {
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--erp-ui-ink-3);
  font-weight: 700;
}

/* line 335, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-cmp-value,
.erp-ui .recon-module .recon-cmp-value {
  font-size: 18px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}

/* line 341, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-cmp-desc,
.erp-ui .recon-module .recon-cmp-desc {
  font-size: 12.5px;
  overflow-wrap: anywhere;
}

/* line 346, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-kv,
.erp-ui .recon-module .recon-kv {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 2px 10px;
  margin: 0;
  font-size: 12px;
  color: var(--erp-ui-ink-2);
}

/* line 354, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-kv dd,
.erp-ui .recon-module .recon-kv dd {
  margin: 0;
  color: var(--erp-ui-ink);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

/* line 362, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-cands,
.erp-ui .recon-module .recon-cands {
  display: grid;
  gap: 6px;
}

/* line 367, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-cand,
.erp-ui .recon-module .recon-cand {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto auto;
  gap: 2px 10px;
  align-items: center;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 6px;
  padding: 8px 10px;
  font-size: 12.5px;
}

/* line 377, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-cand.is-top,
.erp-ui .recon-module .recon-cand.is-top {
  border-color: var(--erp-ui-accent);
  background: var(--erp-ui-accent-soft);
}

/* line 380, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-cand-main,
.erp-ui .recon-module .recon-cand-main {
  min-width: 0;
  display: grid;
  gap: 1px;
}

/* line 382, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-cand-amount,
.erp-ui.recon-module .recon-cand-score,
.erp-ui .recon-module .recon-cand-amount,
.erp-ui .recon-module .recon-cand-score {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  text-align: right;
}

/* line 389, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-cand-score,
.erp-ui .recon-module .recon-cand-score {
  font-weight: 700;
  font-size: 12px;
}

/* line 391, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-more,
.erp-ui .recon-module .recon-more {
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 6px;
}

/* line 395, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-more > summary,
.erp-ui .recon-module .recon-more > summary {
  padding: 8px 10px;
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  color: var(--erp-ui-ink-2);
}

/* line 403, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-more > div,
.erp-ui.recon-module .recon-more > turbo-frame,
.erp-ui .recon-module .recon-more > div,
.erp-ui .recon-module .recon-more > turbo-frame {
  padding: 0 10px 10px;
  display: grid;
  gap: 6px;
}

/* line 411, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-group-row,
.erp-ui .recon-module .recon-group-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  font-size: 12.5px;
  padding: 4px 0;
  cursor: pointer;
}

/* line 421, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-decide-acts,
.erp-ui .recon-module .recon-decide-acts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  border-top: 1px solid var(--erp-ui-hairline);
  padding-top: 12px;
}

/* line 429, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-spacer,
.erp-ui .recon-module .recon-spacer {
  flex: 1 1 auto;
}

/* line 431, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-candidates fieldset,
.erp-ui .recon-module .recon-candidates fieldset {
  border: 0;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 6px;
}

/* line 439, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-badges,
.erp-ui .recon-module .recon-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 3px;
}

/* line 446, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-line,
.erp-ui .recon-module .recon-line {
  display: block;
  font-size: 12.5px;
}

/* line 449, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-bal,
.erp-ui .recon-module .recon-bal {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  padding: 14px;
}

/* line 456, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-bal-card,
.erp-ui .recon-module .recon-bal-card {
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  padding: 10px 12px;
  display: grid;
  gap: 8px;
  align-content: start;
}

/* line 464, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-bal-card h3,
.erp-ui .recon-module .recon-bal-card h3 {
  margin: 0;
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 4px 8px;
}

/* line 473, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-bal-card h3 span,
.erp-ui .recon-module .recon-bal-card h3 span {
  font-weight: 400;
  color: var(--erp-ui-ink-3);
}

/* line 477, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-bal-cells,
.erp-ui .recon-module .recon-bal-cells {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

/* line 483, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-bal-cells div,
.erp-ui .recon-module .recon-bal-cells div {
  display: grid;
  gap: 1px;
  min-width: 0;
}

/* line 484, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-bal-cells dt,
.erp-ui .recon-module .recon-bal-cells dt {
  font-size: 11px;
  color: var(--erp-ui-ink-3);
  font-weight: 400;
}

/* line 485, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-bal-cells dd,
.erp-ui .recon-module .recon-bal-cells dd {
  margin: 0;
  font-size: 14px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

/* line 488, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-bal-note,
.erp-ui .recon-module .recon-bal-note {
  margin: 0;
  font-size: 12px;
  color: var(--erp-ui-warning-text);
  background: var(--erp-ui-warning-soft);
  border-radius: 6px;
  padding: 6px 8px;
}

/* line 497, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-diff,
.erp-ui .recon-module .recon-diff {
  margin: 0 14px 14px;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  overflow: hidden;
}

/* line 504, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-diff-row,
.erp-ui .recon-module .recon-diff-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  padding: 8px 12px;
  font-size: 13px;
  border-top: 1px solid var(--erp-ui-hairline);
}

/* line 512, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-diff-row:first-child,
.erp-ui .recon-module .recon-diff-row:first-child {
  border-top: 0;
}

/* line 513, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-diff-row.is-head,
.erp-ui .recon-module .recon-diff-row.is-head {
  background: var(--erp-ui-warning-soft);
  color: var(--erp-ui-warning-text);
  font-weight: 600;
}

/* line 514, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-diff-row.is-ok,
.erp-ui .recon-module .recon-diff-row.is-ok {
  background: var(--erp-ui-good-soft);
  color: var(--erp-ui-good-text);
  font-weight: 600;
}

/* line 516, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-diff-row small,
.erp-ui .recon-module .recon-diff-row small {
  display: block;
  color: var(--erp-ui-ink-3);
  font-weight: 400;
  font-size: 11.5px;
}

/* line 523, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-diff-row .money,
.erp-ui .recon-module .recon-diff-row .money {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* line 526, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-sides,
.erp-ui .recon-module .recon-sides {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  border-top: 1px solid var(--erp-ui-hairline);
}

/* line 532, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-side,
.erp-ui .recon-module .recon-side {
  min-width: 0;
  max-height: 520px;
  overflow-y: auto;
}

/* line 537, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-side + .recon-side,
.erp-ui .recon-module .recon-side + .recon-side {
  border-left: 1px solid var(--erp-ui-hairline);
}

/* line 539, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-side h3,
.erp-ui .recon-module .recon-side h3 {
  position: sticky;
  top: 0;
  margin: 0;
  padding: 10px 14px;
  font-size: 13px;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  border-bottom: 1px solid var(--erp-ui-hairline);
  background: var(--erp-ui-surface-2);
}

/* line 551, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-side h3 span,
.erp-ui .recon-module .recon-side h3 span {
  font-weight: 400;
  color: var(--erp-ui-ink-3);
  font-size: 12px;
}

/* line 554, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-side > .recon-note,
.erp-ui .recon-module .recon-side > .recon-note {
  padding: 14px;
}

/* line 557, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-srow,
.erp-ui .recon-module .recon-srow {
  display: grid;
  grid-template-columns: 70px 44px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 7px 14px;
  border-bottom: 1px solid var(--erp-ui-hairline);
  font-size: 12.5px;
  cursor: pointer;
  margin: 0;
}

/* line 568, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-srow:hover,
.erp-ui .recon-module .recon-srow:hover {
  background: var(--erp-ui-surface-2);
}

/* line 569, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-srow.is-done,
.erp-ui .recon-module .recon-srow.is-done {
  color: var(--erp-ui-ink-3);
  cursor: default;
}

/* line 571, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-srow .recon-row-desc,
.erp-ui .recon-module .recon-srow .recon-row-desc {
  font-weight: 400;
  font-size: 12.5px;
}

/* line 575, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-srow .recon-row-date,
.erp-ui.recon-module .recon-srow .recon-row-desc,
.erp-ui.recon-module .recon-srow .recon-row-amount,
.erp-ui .recon-module .recon-srow .recon-row-date,
.erp-ui .recon-module .recon-srow .recon-row-desc,
.erp-ui .recon-module .recon-srow .recon-row-amount {
  grid-area: auto;
}

/* line 580, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-srow-state,
.erp-ui .recon-module .recon-srow-state {
  font-size: 11px;
  color: var(--erp-ui-ink-3);
}

/* line 585, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-selbar,
.erp-ui .recon-module .recon-selbar {
  position: sticky;
  bottom: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: var(--erp-ui-surface);
  border-top: 1px solid var(--erp-ui-hairline-strong);
  font-size: 12.5px;
}

/* line 598, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-selbar b,
.erp-ui .recon-module .recon-selbar b {
  font-variant-numeric: tabular-nums;
}

/* line 601, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-modal-error,
.erp-ui .recon-module .recon-modal-error {
  margin: 0 0 10px;
  padding: 8px 10px;
  border-radius: 6px;
  background: var(--erp-ui-critical-soft);
  color: var(--erp-ui-critical-text);
  font-size: 12.5px;
}

/* line 610, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-modal-narrow,
.erp-ui .recon-module .recon-modal-narrow {
  width: 520px;
  max-width: 100%;
}

@media (max-width: 1100px) {
  /* line 613, app/assets/stylesheets/components/reconciliations_module.scss */
  .erp-ui.recon-module .recon-work,
.erp-ui .recon-module .recon-work {
    grid-template-columns: minmax(0, 1fr);
  }
  /* line 614, app/assets/stylesheets/components/reconciliations_module.scss */
  .erp-ui.recon-module .recon-queue,
.erp-ui .recon-module .recon-queue {
    border-right: 0;
    border-bottom: 1px solid var(--erp-ui-hairline);
  }
  /* line 615, app/assets/stylesheets/components/reconciliations_module.scss */
  .erp-ui.recon-module .recon-list,
.erp-ui .recon-module .recon-list {
    max-height: 360px;
  }
}

@media (max-width: 900px) {
  /* line 619, app/assets/stylesheets/components/reconciliations_module.scss */
  .erp-ui.recon-module .recon-bal,
.erp-ui.recon-module .recon-sides,
.erp-ui .recon-module .recon-bal,
.erp-ui .recon-module .recon-sides {
    grid-template-columns: minmax(0, 1fr);
  }
  /* line 621, app/assets/stylesheets/components/reconciliations_module.scss */
  .erp-ui.recon-module .recon-side + .recon-side,
.erp-ui .recon-module .recon-side + .recon-side {
    border-left: 0;
    border-top: 1px solid var(--erp-ui-hairline);
  }
}

@media (max-width: 600px) {
  /* line 625, app/assets/stylesheets/components/reconciliations_module.scss */
  .erp-ui.recon-module .recon-cmp,
.erp-ui .recon-module .recon-cmp {
    grid-template-columns: minmax(0, 1fr);
  }
  /* line 626, app/assets/stylesheets/components/reconciliations_module.scss */
  .erp-ui.recon-module .recon-cmp > div + div,
.erp-ui .recon-module .recon-cmp > div + div {
    border-left: 0;
    border-top: 1px solid var(--erp-ui-hairline);
  }
  /* line 627, app/assets/stylesheets/components/reconciliations_module.scss */
  .erp-ui.recon-module .recon-bal-cells,
.erp-ui .recon-module .recon-bal-cells {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  /* line 628, app/assets/stylesheets/components/reconciliations_module.scss */
  .erp-ui.recon-module .recon-cand,
.erp-ui .recon-module .recon-cand {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  /* line 629, app/assets/stylesheets/components/reconciliations_module.scss */
  .erp-ui.recon-module .recon-srow,
.erp-ui .recon-module .recon-srow {
    grid-template-columns: 60px 40px minmax(0, 1fr);
  }
  /* line 630, app/assets/stylesheets/components/reconciliations_module.scss */
  .erp-ui.recon-module .recon-srow .recon-row-amount,
.erp-ui .recon-module .recon-srow .recon-row-amount {
    grid-column: 3;
  }
}

/* line 644, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-an-grid,
.erp-ui .recon-module .recon-an-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 16px;
  margin-bottom: 16px;
}

/* line 650, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-an-grid.is-three,
.erp-ui .recon-module .recon-an-grid.is-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 0;
}

/* line 655, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-an-grid > .card,
.erp-ui .recon-module .recon-an-grid > .card {
  margin-bottom: 0;
}

@media (max-width: 1100px) {
  /* line 658, app/assets/stylesheets/components/reconciliations_module.scss */
  .erp-ui.recon-module .recon-an-grid.is-three,
.erp-ui .recon-module .recon-an-grid.is-three {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 900px) {
  /* line 644, app/assets/stylesheets/components/reconciliations_module.scss */
  .erp-ui.recon-module .recon-an-grid,
.erp-ui .recon-module .recon-an-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* line 666, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-an-note,
.erp-ui .recon-module .recon-an-note {
  margin: 8px 0 0;
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 672, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-an-subhead,
.erp-ui .recon-module .recon-an-subhead {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--erp-ui-ink);
}

/* line 679, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-an-cols,
.erp-ui .recon-module .recon-an-cols {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  height: 150px;
  padding-top: 4px;
  border-bottom: 1px solid var(--erp-ui-hairline-strong);
}

/* line 688, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-an-col,
.erp-ui .recon-module .recon-an-col {
  flex: 1 1 0;
  min-width: 0;
  height: 100%;
  display: flex;
  justify-content: center;
}

/* line 697, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-an-stack,
.erp-ui .recon-module .recon-an-stack {
  width: 56%;
  max-width: 64px;
  height: 100%;
  display: flex;
  flex-direction: column-reverse;
}

/* line 705, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-an-fill,
.erp-ui .recon-module .recon-an-fill {
  display: block;
  width: 100%;
  height: 0;
  background: var(--erp-ui-ink-3);
}

/* line 711, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-an-fill.is-auto,
.erp-ui .recon-module .recon-an-fill.is-auto {
  background: var(--erp-ui-accent);
}

/* line 715, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-an-stack > .recon-an-fill:last-child,
.erp-ui .recon-module .recon-an-stack > .recon-an-fill:last-child {
  border-radius: 3px 3px 0 0;
}

/* line 717, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-an-labels,
.erp-ui .recon-module .recon-an-labels {
  display: flex;
  gap: 10px;
  margin-top: 6px;
}

/* line 722, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-an-labels span,
.erp-ui .recon-module .recon-an-labels span {
  flex: 1 1 0;
  min-width: 0;
  text-align: center;
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
  white-space: nowrap;
}

/* line 731, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-an-labels b,
.erp-ui .recon-module .recon-an-labels b {
  display: block;
  font-size: 12px;
  color: var(--erp-ui-ink);
  font-variant-numeric: tabular-nums;
}

/* line 739, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-an-details,
.erp-ui .recon-module .recon-an-details {
  margin-top: 12px;
}

/* line 742, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-an-details summary,
.erp-ui .recon-module .recon-an-details summary {
  cursor: pointer;
  font-size: 12.5px;
  color: var(--erp-ui-accent);
}

/* line 748, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-an-details .table-scroll,
.erp-ui .recon-module .recon-an-details .table-scroll {
  margin-top: 8px;
}

/* line 751, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-an-who,
.erp-ui .recon-module .recon-an-who {
  min-width: 0;
}

/* line 754, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-an-who .main, .erp-ui.recon-module .recon-an-who .sub,
.erp-ui .recon-module .recon-an-who .main,
.erp-ui .recon-module .recon-an-who .sub {
  display: block;
  overflow-wrap: anywhere;
}

/* line 757, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-an-split,
.erp-ui .recon-module .recon-an-split {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  flex: 0 1 auto;
}

/* line 765, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-an-split .erp-stack,
.erp-ui .recon-module .recon-an-split .erp-stack {
  flex: 0 1 96px;
  min-width: 24px;
  height: 8px;
}

/* line 771, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-an-split .sub,
.erp-ui .recon-module .recon-an-split .sub {
  white-space: nowrap;
}

/* line 775, app/assets/stylesheets/components/reconciliations_module.scss */
.erp-ui.recon-module .recon-an-oldest .pill,
.erp-ui .recon-module .recon-an-oldest .pill {
  display: table;
  margin-top: 3px;
}

@media (max-width: 768px) {
  /* line 785, app/assets/stylesheets/components/reconciliations_module.scss */
  .erp-ui.recon-module table.data td.acts,
.erp-ui .recon-module table.data td.acts {
    width: 100%;
  }
}
/* line 10, app/assets/stylesheets/components/recurring_payable_templates_module.scss */
.erp-ui.recurring-payable-templates-module table.data tr.is-skip td {
  color: var(--erp-ui-ink-3);
  background: var(--erp-ui-surface-2);
}
/* line 19, app/assets/stylesheets/components/remittance_files_module.scss */
.erp-ui.remittance-files-module .resumo-selecao {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  align-items: baseline;
  padding: 12px 14px;
  background: var(--erp-ui-accent-soft);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
}

/* line 29, app/assets/stylesheets/components/remittance_files_module.scss */
.erp-ui.remittance-files-module .resumo-selecao b {
  font-size: 18px;
  font-variant-numeric: tabular-nums;
}
/* line 13, app/assets/stylesheets/components/rental_services_module.scss */
.erp-ui.rental-services-module .rs-intro {
  margin-bottom: 16px;
}

/* line 16, app/assets/stylesheets/components/rental_services_module.scss */
.erp-ui.rental-services-module .rs-intro p {
  color: var(--erp-ui-ink-3);
  font-size: 13px;
  margin: 0 0 8px;
}

/* line 23, app/assets/stylesheets/components/rental_services_module.scss */
.erp-ui.rental-services-module .rs-section-actions {
  margin-bottom: 12px;
  display: flex;
  justify-content: flex-end;
}

/* line 29, app/assets/stylesheets/components/rental_services_module.scss */
.erp-ui.rental-services-module .rs-balance {
  padding: 16px;
  border-top: 1px solid var(--erp-ui-hairline);
}

/* line 39, app/assets/stylesheets/components/rental_services_module.scss */
.erp-ui.rental-services-module .is-staged-removal {
  text-decoration: line-through;
  color: var(--erp-ui-ink-3);
}

/* line 49, app/assets/stylesheets/components/rental_services_module.scss */
.erp-ui.rental-services-module .rs-billing-filters {
  margin-bottom: 14px;
}

/* line 55, app/assets/stylesheets/components/rental_services_module.scss */
.erp-ui.rental-services-module .rs-billing-filters .segmented {
  flex-wrap: wrap;
  height: auto;
}

/* line 60, app/assets/stylesheets/components/rental_services_module.scss */
.erp-ui.rental-services-module .rs-billing-filters .seg-btn .count {
  margin-left: 7px;
}

/* line 67, app/assets/stylesheets/components/rental_services_module.scss */
.erp-ui.rental-services-module .rs-billing-filters .seg-btn[aria-pressed="true"] .count {
  background: var(--erp-ui-accent-ink);
  border-color: var(--erp-ui-accent-ink);
  color: var(--erp-ui-accent);
}
/* line 14, app/assets/stylesheets/components/return_files_module.scss */
.erp-ui.return-files-module .erros-lista {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 6px;
}

/* line 21, app/assets/stylesheets/components/return_files_module.scss */
.erp-ui.return-files-module .erros-lista li {
  padding: 8px 12px;
  border: 1px solid var(--erp-ui-critical);
  border-left-width: 3px;
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-critical-soft);
  color: var(--erp-ui-critical-text);
  font-size: 13px;
}

/* line 31, app/assets/stylesheets/components/return_files_module.scss */
.erp-ui.return-files-module .erros-lista .ref {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-weight: 700;
  margin-right: 6px;
}
/* line 8, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 16px;
  margin: 4px 0 14px;
}

/* line 17, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-toolbar-left {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  flex: 1 1 320px;
}

/* line 25, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-search {
  flex: 1 1 200px;
  max-width: 300px;
}

/* line 30, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-total {
  color: var(--erp-ui-ink-2);
  font-size: 13px;
}

/* line 34, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-total strong {
  color: var(--erp-ui-ink);
  font-variant-numeric: tabular-nums;
}

/* line 40, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-empty-filter {
  color: var(--erp-ui-ink-3);
  text-align: center;
  padding: 16px;
  margin: 0;
}

/* line 48, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-section {
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-surface);
  margin-bottom: 10px;
}

/* line 54, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-section > summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
  padding: 10px 12px;
  background: var(--erp-ui-surface-2);
  border-radius: var(--erp-ui-radius);
}

/* line 66, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-section > summary::-webkit-details-marker {
  display: none;
}

/* line 67, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-section > summary:focus-visible {
  outline: 2px solid var(--erp-ui-accent);
  outline-offset: 2px;
}

/* line 70, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-section[open] > summary {
  border-bottom: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius) var(--erp-ui-radius) 0 0;
}

/* line 76, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-section-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  color: var(--erp-ui-ink);
}

/* line 84, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-section-tools {
  display: inline-flex;
  gap: 12px;
}

/* line 89, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-link {
  border: 0;
  background: none;
  padding: 0;
  color: var(--erp-ui-accent);
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
}

/* line 98, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-link:hover {
  text-decoration: underline;
}

/* line 99, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-link:focus-visible {
  outline: 2px solid var(--erp-ui-accent);
  outline-offset: 2px;
}

/* line 105, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-matrix {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  table-layout: fixed;
}

/* line 111, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-matrix col.col-module {
  width: 30%;
}

/* line 112, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-matrix col.col-action {
  width: 76px;
}

/* line 114, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-matrix th,
.erp-ui.roles-module .roles-matrix td {
  padding: 8px 10px;
  border-bottom: 1px solid var(--erp-ui-hairline);
  text-align: center;
  vertical-align: middle;
}

/* line 122, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-matrix thead th {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--erp-ui-ink-2);
  white-space: nowrap;
}

/* line 131, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-matrix thead th:first-child,
.erp-ui.roles-module .roles-matrix thead th:last-child,
.erp-ui.roles-module .roles-matrix tbody th,
.erp-ui.roles-module .roles-matrix tbody td:last-child {
  text-align: left;
}

/* line 138, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-matrix tbody th {
  font-weight: 400;
}

/* line 139, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-matrix tbody tr:last-child th,
.erp-ui.roles-module .roles-matrix tbody tr:last-child td {
  border-bottom: 0;
}

/* line 142, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-matrix .na {
  color: var(--erp-ui-ink-3);
}

/* line 145, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-cb,
.erp-ui.roles-module .roles-flow-chip input {
  width: 16px;
  height: 16px;
  accent-color: var(--erp-ui-accent);
  cursor: pointer;
}

/* line 152, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-cb:disabled,
.erp-ui.roles-module .roles-flow-chip input:disabled {
  cursor: default;
}

/* line 157, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-cb.is-implied {
  opacity: .45;
}

/* line 159, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-flow {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

/* line 165, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-flow-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  padding: 1px 9px 1px 6px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 999px;
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink-2);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}

/* line 179, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-flow-chip input {
  width: 13px;
  height: 13px;
  margin: 0;
}

/* line 185, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-flow-chip.is-on {
  background: var(--erp-ui-accent-soft);
  border-color: var(--erp-ui-accent-marker);
  color: var(--erp-ui-accent);
}

/* line 191, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-flow-chip.is-implied {
  opacity: .6;
}

/* line 195, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-from-model {
  font-size: 13.5px;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-surface-2);
  padding: 12px 14px;
  margin-bottom: 14px;
}

/* line 203, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-from-model ul {
  margin: 6px 0 0;
  padding-left: 18px;
}

/* line 208, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-from-model .hint {
  margin: 6px 0 0;
}

/* line 211, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-from-model-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  color: var(--erp-ui-accent);
}

/* line 220, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-users {
  margin-top: 16px;
}

/* line 222, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-users-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 14px 16px 8px;
}

/* line 231, app/assets/stylesheets/components/roles_module.scss */
.erp-ui.roles-module .roles-users-foot {
  padding: 10px 16px 14px;
  margin: 0;
}
/* line 13, app/assets/stylesheets/components/saas_payment_configs_module.scss */
.erp-ui.admin-payment-configs-module .gw-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}

/* line 20, app/assets/stylesheets/components/saas_payment_configs_module.scss */
.erp-ui.admin-payment-configs-module .gw-body {
  padding: 14px 18px;
}

/* line 24, app/assets/stylesheets/components/saas_payment_configs_module.scss */
.erp-ui.admin-payment-configs-module .gw-kv {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* line 25, app/assets/stylesheets/components/saas_payment_configs_module.scss */
.erp-ui.admin-payment-configs-module .gw-kv-wide {
  grid-column: 1 / -1;
}

/* line 27, app/assets/stylesheets/components/saas_payment_configs_module.scss */
.erp-ui.admin-payment-configs-module .gw-note {
  margin: 0 0 4px;
  color: var(--erp-ui-ink-2);
  font-size: 13px;
}

/* line 33, app/assets/stylesheets/components/saas_payment_configs_module.scss */
.erp-ui.admin-payment-configs-module .gw-mono,
.erp-ui.admin-payment-configs-module code {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 12px;
  color: var(--erp-ui-ink);
  overflow-wrap: break-word;
}

/* line 41, app/assets/stylesheets/components/saas_payment_configs_module.scss */
.erp-ui.admin-payment-configs-module .gw-mono {
  overflow-wrap: anywhere;
}

/* line 43, app/assets/stylesheets/components/saas_payment_configs_module.scss */
.erp-ui.admin-payment-configs-module .gw-reqs {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 6px;
}

/* line 51, app/assets/stylesheets/components/saas_payment_configs_module.scss */
.erp-ui.admin-payment-configs-module .gw-req {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px 8px;
  padding: 6px 8px;
  border-radius: 6px;
  background: var(--erp-ui-surface-2);
  font-size: 13px;
}

/* line 61, app/assets/stylesheets/components/saas_payment_configs_module.scss */
.erp-ui.admin-payment-configs-module .gw-req.good .gw-req-icon {
  color: var(--erp-ui-good-text);
}

/* line 62, app/assets/stylesheets/components/saas_payment_configs_module.scss */
.erp-ui.admin-payment-configs-module .gw-req.warning .gw-req-icon {
  color: var(--erp-ui-warning-text);
}

/* line 63, app/assets/stylesheets/components/saas_payment_configs_module.scss */
.erp-ui.admin-payment-configs-module .gw-req.critical .gw-req-icon {
  color: var(--erp-ui-critical-text);
}

/* line 64, app/assets/stylesheets/components/saas_payment_configs_module.scss */
.erp-ui.admin-payment-configs-module .gw-req.neutral .gw-req-icon {
  color: var(--erp-ui-ink-3);
}

/* line 67, app/assets/stylesheets/components/saas_payment_configs_module.scss */
.erp-ui.admin-payment-configs-module .gw-req-icon {
  width: 14px;
  height: 14px;
}

/* line 72, app/assets/stylesheets/components/saas_payment_configs_module.scss */
.erp-ui.admin-payment-configs-module .gw-req-reason {
  grid-column: 2 / -1;
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 78, app/assets/stylesheets/components/saas_payment_configs_module.scss */
.erp-ui.admin-payment-configs-module .gw-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  padding: 10px 18px;
  border-top: 1px solid var(--erp-ui-hairline);
  background: var(--erp-ui-surface-2);
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 91, app/assets/stylesheets/components/saas_payment_configs_module.scss */
.erp-ui.admin-payment-configs-module .gw-test-form {
  margin: 0;
}

/* line 93, app/assets/stylesheets/components/saas_payment_configs_module.scss */
.erp-ui.admin-payment-configs-module > .card {
  margin-bottom: 20px;
}

/* line 95, app/assets/stylesheets/components/saas_payment_configs_module.scss */
.erp-ui.admin-payment-configs-module .gw-howto {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  padding: 4px 18px 16px;
  font-size: 13px;
}

/* line 102, app/assets/stylesheets/components/saas_payment_configs_module.scss */
.erp-ui.admin-payment-configs-module .gw-howto ol {
  margin: 0;
  padding-left: 18px;
  color: var(--erp-ui-ink-2);
  display: grid;
  gap: 4px;
}

/* line 111, app/assets/stylesheets/components/saas_payment_configs_module.scss */
.erp-ui.admin-payment-configs-module .gw-envlist {
  width: 100%;
  border-collapse: collapse;
  font-size: 12.5px;
}

/* line 116, app/assets/stylesheets/components/saas_payment_configs_module.scss */
.erp-ui.admin-payment-configs-module .gw-envlist td {
  padding: 5px 8px;
  border-bottom: 1px solid var(--erp-ui-hairline);
  vertical-align: top;
  color: var(--erp-ui-ink-2);
}

@media (max-width: 860px) {
  /* line 126, app/assets/stylesheets/components/saas_payment_configs_module.scss */
  .erp-ui.admin-payment-configs-module .gw-grid,
.erp-ui.admin-payment-configs-module .gw-howto {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 575px) {
  /* line 133, app/assets/stylesheets/components/saas_payment_configs_module.scss */
  .erp-ui.admin-payment-configs-module .gw-req {
    grid-template-columns: 16px minmax(0, 1fr);
  }
  /* line 136, app/assets/stylesheets/components/saas_payment_configs_module.scss */
  .erp-ui.admin-payment-configs-module .gw-req .pill {
    grid-column: 2;
    justify-self: start;
  }
}
/* line 11, app/assets/stylesheets/components/service_order_occurrences.scss */
.service-order-occurrences-panel .occurrences-timeline {
  position: relative;
  padding-left: 28px;
}

/* line 15, app/assets/stylesheets/components/service_order_occurrences.scss */
.service-order-occurrences-panel .occurrences-timeline::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--gray-300);
}

/* line 26, app/assets/stylesheets/components/service_order_occurrences.scss */
.service-order-occurrences-panel .occurrence-item {
  position: relative;
  padding-bottom: 2rem;
}

/* line 30, app/assets/stylesheets/components/service_order_occurrences.scss */
.service-order-occurrences-panel .occurrence-item:last-child {
  padding-bottom: 0;
}

/* line 42, app/assets/stylesheets/components/service_order_occurrences.scss */
.service-order-occurrences-panel .occurrence-marker {
  position: absolute;
  box-sizing: border-box;
  left: -21px;
  top: 22px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--color-warning);
  border: 2px solid var(--gray-50);
  z-index: 1;
}

/* line 55, app/assets/stylesheets/components/service_order_occurrences.scss */
.service-order-occurrences-panel .occurrence-item-blocking .occurrence-marker {
  background: var(--color-danger);
}

/* line 59, app/assets/stylesheets/components/service_order_occurrences.scss */
.service-order-occurrences-panel .occurrence-content {
  background: var(--gray-50);
  padding: 1rem;
  border-radius: 0.5rem;
  border: 1px solid var(--gray-300);
  box-shadow: var(--erp-ui-shadow);
}

/* line 67, app/assets/stylesheets/components/service_order_occurrences.scss */
.service-order-occurrences-panel .occurrence-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--gray-900);
}

/* line 73, app/assets/stylesheets/components/service_order_occurrences.scss */
.service-order-occurrences-panel .occurrence-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

/* line 80, app/assets/stylesheets/components/service_order_occurrences.scss */
.service-order-occurrences-panel .occurrence-gps-data {
  background: var(--gray-100);
  border-radius: 0.375rem;
}

/* line 85, app/assets/stylesheets/components/service_order_occurrences.scss */
.service-order-occurrences-panel .occurrence-attachment-thumb {
  max-width: 300px;
  max-height: 200px;
}
/* line 26, app/assets/stylesheets/components/service_order_signature.scss */
.erp-ui.service-orders-module .signature-pad {
  height: 220px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-surface);
  overflow: hidden;
}

/* line 33, app/assets/stylesheets/components/service_order_signature.scss */
.erp-ui.service-orders-module .signature-pad-canvas {
  display: block;
  width: 100%;
  height: 100%;
  cursor: crosshair;
  touch-action: none;
}
/* line 11, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .tabs {
  overflow-x: auto;
}

/* line 15, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-barra {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 12px 16px;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 24, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-barra .hint {
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
}

/* line 30, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-formato {
  font-weight: 600;
  margin-right: 4px;
}

/* line 35, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-acoes {
  display: flex;
  gap: 6px;
  justify-content: flex-end;
  flex-wrap: wrap;
}

/* line 44, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-meta {
  align-items: start;
}

/* line 48, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-ed {
  display: grid;
  grid-template-columns: 230px minmax(0, 1.25fr) minmax(0, 1fr);
  border-top: 1px solid var(--erp-ui-hairline);
  min-height: 640px;
}

@media (max-width: 1280px) {
  /* line 48, app/assets/stylesheets/components/settings_document_templates_module.scss */
  .erp-ui.document-templates-module .doc-tpl-ed {
    grid-template-columns: 210px minmax(0, 1fr);
  }
  /* line 57, app/assets/stylesheets/components/settings_document_templates_module.scss */
  .erp-ui.document-templates-module .doc-tpl-ed .doc-tpl-preview {
    grid-column: 1 / -1;
    border-left: 0;
    border-top: 1px solid var(--erp-ui-hairline);
  }
}

@media (max-width: 760px) {
  /* line 48, app/assets/stylesheets/components/settings_document_templates_module.scss */
  .erp-ui.document-templates-module .doc-tpl-ed {
    grid-template-columns: minmax(0, 1fr);
  }
  /* line 67, app/assets/stylesheets/components/settings_document_templates_module.scss */
  .erp-ui.document-templates-module .doc-tpl-ed .doc-tpl-vars {
    max-height: 220px;
    border-right: 0;
    border-bottom: 1px solid var(--erp-ui-hairline);
  }
}

/* line 75, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-ed-texto {
  grid-template-columns: 230px minmax(0, 1fr);
  min-height: 0;
}

/* line 79, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-ed-texto > .grid {
  padding: 14px 16px;
}

@media (max-width: 760px) {
  /* line 75, app/assets/stylesheets/components/settings_document_templates_module.scss */
  .erp-ui.document-templates-module .doc-tpl-ed-texto {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* line 88, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-vars {
  padding: 10px;
  border-right: 1px solid var(--erp-ui-hairline);
  background: var(--erp-ui-surface-2);
  overflow-y: auto;
  max-height: 720px;
}

/* line 95, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-vars h4 {
  margin: 12px 2px 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--erp-ui-ink-3);
}

/* line 104, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-vars .hint {
  margin: 6px 2px 0;
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
}

/* line 111, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-var {
  display: block;
  width: 100%;
  margin: 0 0 3px;
  padding: 5px 7px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  text-align: left;
  font-family: SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11.5px;
  color: var(--erp-ui-blue-text);
  word-break: break-all;
  cursor: pointer;
}

/* line 126, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-var .lbl {
  display: block;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 11.5px;
  color: var(--erp-ui-ink-2);
  word-break: normal;
}

/* line 134, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-var:hover:not(:disabled) {
  border-color: var(--erp-ui-hairline-strong);
  background: var(--erp-ui-surface);
}

/* line 139, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-var:disabled {
  cursor: default;
}

/* line 144, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-pane,
.erp-ui.document-templates-module .doc-tpl-preview {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* line 151, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-preview {
  border-left: 1px solid var(--erp-ui-hairline);
  background: var(--erp-ui-page);
}

/* line 156, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-pane-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 8px 12px;
  border-bottom: 1px solid var(--erp-ui-hairline);
  background: var(--erp-ui-surface);
  font-size: 12.5px;
}

/* line 166, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-pane-bar select {
  width: auto;
  max-width: 100%;
  flex: 1 1 160px;
}

/* line 173, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-seg {
  display: inline-flex;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 6px;
  overflow: hidden;
}

/* line 179, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-seg button {
  padding: 4px 12px;
  border: 0;
  background: var(--erp-ui-surface);
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
  cursor: pointer;
}

/* line 187, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-seg button + button {
  border-left: 1px solid var(--erp-ui-hairline-strong);
}

/* line 189, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-seg button[aria-pressed="true"] {
  background: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
}

/* line 194, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-seg button:disabled {
  opacity: .5;
  cursor: not-allowed;
}

/* line 201, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-note {
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 206, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-visual,
.erp-ui.document-templates-module .doc-tpl-code {
  flex: 1 1 auto;
  min-height: 640px;
}

/* line 212, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-visual .tox-tinymce {
  border: 0;
  border-radius: 0;
}

/* line 217, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-loading {
  padding: 24px;
  color: var(--erp-ui-ink-3);
  font-size: 13px;
}

/* line 224, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-source-plain {
  display: block;
  width: 100%;
  min-height: 640px;
  padding: 10px 12px;
  border: 0;
  font-family: SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12.5px;
}

/* line 234, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-pane > .err {
  padding: 6px 12px;
}

/* line 238, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-preview-frame {
  flex: 1 1 auto;
  width: 100%;
  min-height: 600px;
  border: 0;
  background: var(--erp-ui-surface);
}

/* line 246, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-preview-hint {
  margin: 0;
  padding: 8px 12px;
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
  border-top: 1px solid var(--erp-ui-hairline);
}

/* line 255, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-form > .form-foot,
.erp-ui.document-templates-module .doc-tpl-comunicacao .form-foot {
  position: sticky;
  bottom: 0;
  z-index: 5;
  background: var(--erp-ui-surface);
}

/* line 263, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-check {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 6px 0 0;
  font-weight: 400;
  font-size: 13px;
}

/* line 272, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-corpo {
  font-family: SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12.5px;
}

/* line 283, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module dialog.doc-tpl-dialog {
  width: 520px;
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - 64px);
  padding: 0;
  margin: 64px auto auto;
  color: var(--erp-ui-ink);
}

/* line 291, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module dialog.doc-tpl-dialog:not([open]) {
  display: none;
}

/* line 293, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module dialog.doc-tpl-dialog::backdrop {
  background: rgba(26, 32, 40, 0.42);
}

/* line 295, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module dialog.doc-tpl-dialog .erp-modal-body {
  max-height: none;
  flex: 1 1 auto;
}

/* line 298, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-opcoes {
  display: grid;
  gap: 8px;
}

/* line 302, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-opcoes label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 2px 8px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: var(--erp-ui-radius);
  font-weight: 400;
  cursor: pointer;
}

/* line 313, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-opcoes label input {
  grid-row: span 2;
  margin-top: 3px;
}

/* line 314, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-opcoes label b {
  font-size: 13px;
}

/* line 315, app/assets/stylesheets/components/settings_document_templates_module.scss */
.erp-ui.document-templates-module .doc-tpl-opcoes label span {
  font-size: 12px;
  color: var(--erp-ui-ink-2);
}
/* line 15, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-prontidao {
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  margin-bottom: 14px;
}

/* line 22, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-prontidao-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px 12px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 31, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-prontidao-head h2 {
  margin: 0;
  font-size: 14.5px;
  font-weight: 700;
}

/* line 34, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-prontidao-estado {
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
}

/* line 39, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-prontidao-lista {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1080px) {
  /* line 39, app/assets/stylesheets/components/settings_fiscal_module.scss */
  .erp-ui.settings-fiscal-module .fiscal-prontidao-lista {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  /* line 39, app/assets/stylesheets/components/settings_fiscal_module.scss */
  .erp-ui.settings-fiscal-module .fiscal-prontidao-lista {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* line 49, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-prontidao-lista li {
  display: grid;
  gap: 3px;
  align-content: start;
  padding: 10px 16px;
  border-bottom: 1px solid var(--erp-ui-hairline);
  border-right: 1px solid var(--erp-ui-hairline);
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
}

/* line 61, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-prontidao-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--erp-ui-ink);
}

/* line 71, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-prontidao-link a {
  font-weight: 600;
}

/* line 73, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .pill {
  white-space: nowrap;
}

/* line 76, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-emitente > .hint,
.erp-ui.settings-fiscal-module .fiscal-certificado-card .hint,
.erp-ui.settings-fiscal-module .fiscal-cnaes-barra .hint,
.erp-ui.settings-fiscal-module .form-section > .hint {
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 85, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .tabs + .fiscal-form .form-errors {
  margin: 14px 16px 0;
}

/* line 87, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-simples {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px dashed var(--erp-ui-hairline-strong);
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-surface-2);
}

/* line 96, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--erp-ui-ink);
  cursor: pointer;
}

/* line 106, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-switch input {
  width: 16px;
  height: 16px;
  margin: 0;
}

/* line 109, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-switch-field {
  align-self: end;
  padding-bottom: 6px;
}

/* line 114, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-ambientes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

@media (max-width: 640px) {
  /* line 114, app/assets/stylesheets/components/settings_fiscal_module.scss */
  .erp-ui.settings-fiscal-module .fiscal-ambientes {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* line 122, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-ambiente {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 2px 8px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-surface);
  cursor: pointer;
  font-weight: 400;
}

/* line 135, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-ambiente input {
  grid-row: span 2;
  margin-top: 3px;
}

/* line 138, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-ambiente input:checked ~ .fiscal-ambiente-nome::after {
  content: "";
  position: absolute;
  inset: -1px;
  border: 2px solid var(--erp-ui-accent);
  border-radius: var(--erp-ui-radius);
  pointer-events: none;
}

/* line 148, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-ambiente-nome {
  font-size: 13px;
  font-weight: 600;
  color: var(--erp-ui-ink);
}

/* line 149, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-ambiente-dica {
  font-size: 12px;
  color: var(--erp-ui-ink-2);
}

/* line 151, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-emitente {
  display: grid;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-surface-2);
}

/* line 160, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-emitente-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

/* line 167, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-emitente-head h3 {
  margin: 0;
  font-size: 13.5px;
  font-weight: 700;
}

/* line 170, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-emitente-dados {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 16px;
  margin: 0;
}

@media (max-width: 768px) {
  /* line 170, app/assets/stylesheets/components/settings_fiscal_module.scss */
  .erp-ui.settings-fiscal-module .fiscal-emitente-dados {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* line 178, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-emitente-dados.um {
  grid-template-columns: minmax(0, 1fr);
}

/* line 180, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-emitente-dados div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

/* line 181, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-emitente-dados .span2 {
  grid-column: 1 / -1;
}

/* line 182, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-emitente-dados dt {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--erp-ui-ink-2);
}

/* line 183, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-emitente-dados dd {
  margin: 0;
  font-size: 13px;
  color: var(--erp-ui-ink);
  overflow-wrap: anywhere;
}

/* line 187, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-certificado {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 14px 16px;
}

@media (max-width: 900px) {
  /* line 187, app/assets/stylesheets/components/settings_fiscal_module.scss */
  .erp-ui.settings-fiscal-module .fiscal-certificado {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* line 196, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-certificado-card {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 14px;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
}

/* line 204, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-certificado-card h3 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 14px;
  font-weight: 700;
}

/* line 214, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-certificado-card p {
  margin: 0;
}

/* line 217, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-certificado-form {
  display: grid;
  gap: 10px;
}

/* line 221, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-certificado-form .acts {
  display: flex;
  gap: 8px;
}

/* line 225, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-cnaes-barra {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px 12px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 235, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-cnae-acoes {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

/* line 242, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-codigo {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 12.5px;
  white-space: nowrap;
}

/* line 248, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-nota {
  margin: 0;
  padding: 10px 16px;
  border-top: 1px solid var(--erp-ui-hairline);
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 256, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-historico-kpis {
  padding: 14px 16px 0;
}

/* line 258, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-mensagem {
  display: block;
  max-width: 48ch;
  overflow-wrap: anywhere;
}

/* line 265, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module dialog.fiscal-dialog {
  width: 720px;
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - 64px);
  margin: 32px auto auto;
  padding: 0;
  color: var(--erp-ui-ink);
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: var(--erp-ui-radius);
  box-shadow: var(--erp-ui-shadow-overlay);
}

/* line 277, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module dialog.fiscal-dialog::backdrop {
  background: rgba(26, 32, 40, 0.42);
}

/* line 279, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module dialog.fiscal-dialog .erp-modal-body {
  max-height: none;
}

/* line 282, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-cnae-resultados {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
  max-height: 200px;
  overflow: auto;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
}

/* line 291, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-cnae-resultados li {
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 292, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-cnae-resultados li:last-child {
  border-bottom: 0;
}

/* line 294, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-cnae-resultados button {
  display: flex;
  gap: 8px;
  width: 100%;
  padding: 7px 10px;
  border: 0;
  background: none;
  text-align: left;
  font-size: 12.5px;
  color: var(--erp-ui-ink);
  cursor: pointer;
}

/* line 306, app/assets/stylesheets/components/settings_fiscal_module.scss */
.erp-ui.settings-fiscal-module .fiscal-cnae-resultados button:hover, .erp-ui.settings-fiscal-module .fiscal-cnae-resultados button:focus-visible {
  background: var(--erp-ui-surface-2);
}
/* line 17, app/assets/stylesheets/components/sicredi_api_module.scss */
.erp-ui.sicredi-api-module .form-subsection-title {
  margin: 18px 0 6px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--erp-ui-ink-3);
}

/* line 29, app/assets/stylesheets/components/sicredi_api_module.scss */
.erp-ui.sicredi-api-module .form-section > .acts {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 14px;
}
/* line 12, app/assets/stylesheets/components/smart_pricing_config_module.scss */
.erp-ui.smart-pricing-config-module .sp-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 14px;
  align-items: start;
}

@media (max-width: 1180px) {
  /* line 12, app/assets/stylesheets/components/smart_pricing_config_module.scss */
  .erp-ui.smart-pricing-config-module .sp-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* line 23, app/assets/stylesheets/components/smart_pricing_config_module.scss */
.erp-ui.smart-pricing-config-module .sp-aside {
  display: grid;
  gap: 14px;
  position: sticky;
  top: 12px;
}

@media (max-width: 1180px) {
  /* line 23, app/assets/stylesheets/components/smart_pricing_config_module.scss */
  .erp-ui.smart-pricing-config-module .sp-aside {
    position: static;
  }
}

/* line 34, app/assets/stylesheets/components/smart_pricing_config_module.scss */
.erp-ui.smart-pricing-config-module .sp-label {
  display: flex;
  align-items: center;
  gap: 4px;
}

/* line 39, app/assets/stylesheets/components/smart_pricing_config_module.scss */
.erp-ui.smart-pricing-config-module .sp-label label {
  margin: 0;
}

/* line 42, app/assets/stylesheets/components/smart_pricing_config_module.scss */
.erp-ui.smart-pricing-config-module .smart-pricing-field-tooltip {
  border: 0;
  background: none;
  padding: 2px;
  color: var(--erp-ui-ink-3);
  cursor: pointer;
  line-height: 0;
  border-radius: 4px;
}

/* line 51, app/assets/stylesheets/components/smart_pricing_config_module.scss */
.erp-ui.smart-pricing-config-module .smart-pricing-field-tooltip:hover {
  color: var(--erp-ui-accent);
}

/* line 53, app/assets/stylesheets/components/smart_pricing_config_module.scss */
.erp-ui.smart-pricing-config-module .smart-pricing-field-tooltip .erp-icon {
  width: 14px;
  height: 14px;
}

/* line 56, app/assets/stylesheets/components/smart_pricing_config_module.scss */
.erp-ui.smart-pricing-config-module .sp-panel {
  padding: 14px 16px;
  display: grid;
  gap: 10px;
}

/* line 61, app/assets/stylesheets/components/smart_pricing_config_module.scss */
.erp-ui.smart-pricing-config-module .sp-panel h3 {
  margin: 0;
  font-size: 13.5px;
}

/* line 62, app/assets/stylesheets/components/smart_pricing_config_module.scss */
.erp-ui.smart-pricing-config-module .sp-panel .hint {
  margin: 0;
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 65, app/assets/stylesheets/components/smart_pricing_config_module.scss */
.erp-ui.smart-pricing-config-module .sp-calc {
  display: grid;
  gap: 4px;
  margin: 0;
  font-size: 12.5px;
  font-variant-numeric: tabular-nums;
}

/* line 72, app/assets/stylesheets/components/smart_pricing_config_module.scss */
.erp-ui.smart-pricing-config-module .sp-calc > div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

/* line 78, app/assets/stylesheets/components/smart_pricing_config_module.scss */
.erp-ui.smart-pricing-config-module .sp-calc dt {
  font-weight: 400;
  color: var(--erp-ui-ink-2);
}

/* line 79, app/assets/stylesheets/components/smart_pricing_config_module.scss */
.erp-ui.smart-pricing-config-module .sp-calc dd {
  margin: 0;
  white-space: nowrap;
}

/* line 81, app/assets/stylesheets/components/smart_pricing_config_module.scss */
.erp-ui.smart-pricing-config-module .sp-calc .sum {
  border-top: 1px solid var(--erp-ui-hairline);
  padding-top: 4px;
  font-weight: 600;
}

/* line 87, app/assets/stylesheets/components/smart_pricing_config_module.scss */
.erp-ui.smart-pricing-config-module .sp-calc .big dd {
  font-size: 15px;
  font-weight: 700;
  color: var(--erp-ui-ink);
}

/* line 90, app/assets/stylesheets/components/smart_pricing_config_module.scss */
.erp-ui.smart-pricing-config-module .sp-range {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  text-align: center;
  margin-top: 8px;
}

/* line 97, app/assets/stylesheets/components/smart_pricing_config_module.scss */
.erp-ui.smart-pricing-config-module .sp-range > div {
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 6px;
  padding: 6px 4px;
  display: grid;
  gap: 1px;
}

/* line 105, app/assets/stylesheets/components/smart_pricing_config_module.scss */
.erp-ui.smart-pricing-config-module .sp-range small {
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--erp-ui-ink-3);
}

/* line 112, app/assets/stylesheets/components/smart_pricing_config_module.scss */
.erp-ui.smart-pricing-config-module .sp-range b {
  font-size: 13.5px;
  font-variant-numeric: tabular-nums;
}

/* line 114, app/assets/stylesheets/components/smart_pricing_config_module.scss */
.erp-ui.smart-pricing-config-module .sp-range .is-recommended {
  border-color: var(--erp-ui-accent);
  background: var(--erp-ui-accent-soft);
}

/* line 120, app/assets/stylesheets/components/smart_pricing_config_module.scss */
.erp-ui.smart-pricing-config-module .sp-inherit {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 12.5px;
}

/* line 129, app/assets/stylesheets/components/smart_pricing_config_module.scss */
.erp-ui.smart-pricing-config-module .sp-node {
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 999px;
  padding: 2px 9px;
}

/* line 134, app/assets/stylesheets/components/smart_pricing_config_module.scss */
.erp-ui.smart-pricing-config-module .sp-node.is-current {
  background: var(--erp-ui-accent);
  border-color: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
}
/* line 21, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
}

/* line 29, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.form-control, .ts-wrapper.form-control-sm, .ts-wrapper.form-control:focus, .ts-wrapper.form-control:hover, .ts-wrapper.form-control:active, .ts-wrapper.form-control-sm:focus, .ts-wrapper.form-control-sm:hover, .ts-wrapper.form-control-sm:active {
  border: none !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-left: none !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 0 !important;
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
}

/* line 52, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.single .ts-control {
  background-color: #fff;
  border: 1px solid #ced4da !important;
  border-radius: 4px;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  color: #495057;
  min-height: calc(1.5em + 0.75rem + 2px);
  height: calc(1.5em + 0.75rem + 2px) !important;
  max-height: calc(1.5em + 0.75rem + 2px) !important;
  overflow: hidden;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

/* line 69, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.multi .ts-control {
  background-color: #fff;
  border: 1px solid #ced4da !important;
  border-radius: 4px;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  color: #495057;
  min-height: calc(1.5em + 0.75rem + 2px);
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

/* line 87, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.single .ts-control, .ts-wrapper.multi .ts-control {
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

/* line 91, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.single .ts-control .items, .ts-wrapper.multi .ts-control .items {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 96, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.single .ts-control .items > *, .ts-wrapper.multi .ts-control .items > * {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 104, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.single .ts-control.focus, .ts-wrapper.multi .ts-control.focus {
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

/* line 112, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.single .ts-control .items .placeholder, .ts-wrapper.multi .ts-control .items .placeholder {
  color: #6c757d !important;
  opacity: 0.6 !important;
  display: block !important;
}

/* line 120, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.single .ts-control:not(.has-items) .items .placeholder, .ts-wrapper.multi .ts-control:not(.has-items) .items .placeholder {
  display: block !important;
  visibility: visible !important;
}

/* line 126, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.single .ts-control input, .ts-wrapper.multi .ts-control input {
  color: #495057;
  font-size: 1rem;
  line-height: 1.5;
  padding: 0;
  margin: 0;
}

/* line 133, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.single .ts-control input::placeholder, .ts-wrapper.multi .ts-control input::placeholder {
  color: #6c757d;
  opacity: 0.6;
}

/* line 142, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper .ts-dropdown {
  background-color: #fff;
  border: 1px solid #ced4da;
  border-radius: 4px;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  margin-top: 0.25rem;
  z-index: 1000;
  overflow-y: auto !important;
  max-height: 400px !important;
}

/* line 153, app/assets/stylesheets/components/tom_select_bootstrap.scss */
body > .ts-wrapper .ts-dropdown {
  z-index: 9999 !important;
  position: fixed !important;
  overflow-y: auto !important;
  max-height: 400px !important;
}

/* line 161, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper .ts-dropdown[class*="service-order"], .ts-wrapper .ts-dropdown[data-select-id] {
  position: fixed !important;
  z-index: 9999 !important;
  overflow-y: auto !important;
  max-height: 400px !important;
}

/* line 171, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper .ts-dropdown .ts-dropdown-content .input-wrap {
  padding: 0.5rem;
  border-bottom: 1px solid #ced4da;
}

/* line 175, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper .ts-dropdown .ts-dropdown-content .input-wrap input {
  width: 100%;
  padding: 0.375rem 0.75rem;
  border: 1px solid #ced4da;
  border-radius: 4px;
  font-size: 1rem;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
}

/* line 185, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper .ts-dropdown .ts-dropdown-content .input-wrap input:focus {
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

/* line 191, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper .ts-dropdown .ts-dropdown-content .input-wrap input::placeholder {
  color: #6c757d;
  opacity: 0.6;
}

/* line 199, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper .ts-dropdown .ts-dropdown-content .option {
  padding: 0.5rem 0.75rem;
  cursor: pointer;
  color: #212529;
  background-color: #fff;
}

/* line 205, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper .ts-dropdown .ts-dropdown-content .option:hover, .ts-wrapper .ts-dropdown .ts-dropdown-content .option.active {
  background-color: #e9ecef;
  color: #212529;
}

/* line 211, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper .ts-dropdown .ts-dropdown-content .option.selected {
  background-color: #007bff;
  color: #fff;
  font-weight: 500;
}

/* line 216, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper .ts-dropdown .ts-dropdown-content .option.selected:hover {
  background-color: #0056b3;
  color: #fff;
}

/* line 223, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper .ts-dropdown .ts-dropdown-content .option.loading {
  color: #6c757d;
  font-style: italic;
}

/* line 230, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper .ts-dropdown .ts-dropdown-content .no-results {
  padding: 0.5rem 0.75rem;
  color: #6c757d;
  font-style: italic;
}

/* line 237, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper .ts-dropdown .ts-dropdown-content .header {
  padding: 0.5rem 0.75rem;
  background-color: #f8f9fa;
  border-bottom: 1px solid #ced4da;
  font-weight: 600;
  color: #212529;
}

/* line 252, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.plugin-clear_button .ts-control {
  padding-right: 4rem;
  position: relative;
}

/* line 259, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.plugin-clear_button .ts-control .ts-control-clear,
.ts-wrapper.plugin-clear_button .ts-control .clear-button {
  position: absolute;
  right: 1.75rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.25rem;
  height: 1.25rem;
  padding: 0;
  margin: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  color: #6c757d;
  font-size: 1.1rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  opacity: 0.6;
  transition: opacity 0.15s ease-in-out, color 0.15s ease-in-out;
  z-index: 10;
}

/* line 288, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.plugin-clear_button .ts-control .ts-control-clear:hover,
.ts-wrapper.plugin-clear_button .ts-control .clear-button:hover {
  opacity: 1;
  color: #dc3545;
}

/* line 295, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.plugin-clear_button .ts-control .ts-control-clear::before,
.ts-wrapper.plugin-clear_button .ts-control .clear-button::before {
  content: "";
}

/* line 301, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.plugin-clear_button .ts-control .ts-control-clear > *,
.ts-wrapper.plugin-clear_button .ts-control .clear-button > * {
  line-height: 1;
  vertical-align: middle;
  margin: 0;
  padding: 0;
}

/* line 311, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.plugin-clear_button .ts-control .ts-control-clear ~ .clear-button,
.ts-wrapper.plugin-clear_button .ts-control .clear-button ~ .ts-control-clear {
  display: none !important;
}

/* line 320, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.disabled .ts-control {
  background-color: #e9ecef;
  opacity: 1;
  cursor: not-allowed;
}

/* line 330, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.form-control-sm:not(.multi) {
  display: inline-block !important;
  vertical-align: top !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* line 342, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.form-control-sm:not(.multi) .ts-control {
  padding: 6px 10px !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  border: 1px solid #ced4da !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  vertical-align: top !important;
  width: 100% !important;
  min-height: 32px !important;
  height: 32px !important;
  max-height: 32px !important;
  overflow: hidden !important;
}

/* line 363, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.form-control-sm:not(.multi) .ts-control .items {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* line 376, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.form-control-sm:not(.multi) .ts-control .items > * {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* line 382, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.form-control-sm:not(.multi) .ts-control .items .item,
.ts-wrapper.form-control-sm:not(.multi) .ts-control .items .placeholder {
  font-size: 12px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* line 392, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.form-control-sm:not(.multi) .ts-control input {
  font-size: 12px !important;
  line-height: 1.5 !important;
  padding: 0 !important;
  margin: 0 !important;
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
}

/* line 405, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.form-control-sm:not(.multi) .ts-dropdown .ts-dropdown-content .option {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
}

/* line 414, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.form-control-sm.plugin-clear_button:not(.multi) .ts-control {
  padding-right: 3.5rem;
}

/* line 418, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.form-control-sm.plugin-clear_button:not(.multi) .ts-control .ts-control-clear,
.ts-wrapper.form-control-sm.plugin-clear_button:not(.multi) .ts-control .clear-button {
  right: 1.5rem;
  width: 1rem;
  height: 1rem;
  font-size: 0.9rem;
}

/* line 431, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.form-control-sm.multi {
  width: 100% !important;
  height: auto !important;
  min-height: 32px !important;
  max-height: none !important;
}

/* line 437, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.form-control-sm.multi .ts-control {
  padding: 2px 6px !important;
  font-size: 12px !important;
  min-height: 32px !important;
  height: auto !important;
  max-height: none !important;
}

/* line 447, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.form-control-lg:not(.multi) .ts-control {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  min-height: calc(1.5em + 1rem + 2px);
}

/* line 456, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.form-control-lg:not(.multi) .ts-dropdown .ts-dropdown-content .option {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
}

/* line 468, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.is-valid .ts-control {
  border-color: #28a745;
}

/* line 471, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.is-valid .ts-control.focus {
  border-color: #28a745;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

/* line 479, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.is-invalid .ts-control {
  border-color: #dc3545;
}

/* line 482, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.is-invalid .ts-control.focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

/* line 491, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.multi {
  height: auto !important;
  min-height: 32px !important;
  max-height: none !important;
}

/* line 496, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.multi .ts-control {
  padding: 2px 4px !important;
  height: auto !important;
  min-height: 32px !important;
  max-height: none !important;
  overflow: visible !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 4px !important;
}

/* line 507, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.multi .ts-control .items {
  white-space: normal !important;
  overflow: visible !important;
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  flex-wrap: wrap !important;
  display: flex !important;
  gap: 4px !important;
  width: 100% !important;
}

/* line 519, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.multi .ts-control .item {
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 6px !important;
  margin: 0 !important;
  background-color: var(--primary, #007bff) !important;
  color: #fff !important;
  border-radius: 12px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.8 !important;
  max-width: 250px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
}

/* line 536, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.multi .ts-control .item .remove {
  margin-left: 4px !important;
  cursor: pointer !important;
  opacity: 0.8 !important;
  font-size: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 14px !important;
  height: 14px !important;
  background: rgba(255, 255, 255, 0.2) !important;
  border-radius: 50% !important;
  transition: all 0.2s !important;
}

/* line 550, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.multi .ts-control .item .remove:hover {
  opacity: 1 !important;
  background: rgba(255, 255, 255, 0.4) !important;
}

/* line 555, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.multi .ts-control .item .remove::before {
  content: none !important;
}

/* line 561, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.multi .ts-control input {
  display: inline-block !important;
  flex: 1 1 60px !important;
  padding: 0 !important;
  margin: 0 !important;
  height: 24px !important;
  font-size: 12px !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* line 572, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.multi .ts-control input::placeholder {
  font-size: 11px !important;
}

/* line 579, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.multi.has-items .ts-control input {
  margin-left: 2px !important;
}

/* line 589, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.select2-dynamic-form .ts-wrapper,
.select2-service-order-item .ts-wrapper {
  position: relative;
}

/* line 593, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.select2-dynamic-form .ts-wrapper .ts-control,
.select2-service-order-item .ts-wrapper .ts-control {
  border: 1px solid #dee2e6 !important;
  background-color: #fff !important;
}

/* line 600, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.select2-dynamic-form ~ .ts-dropdown,
.select2-dynamic-form body > .ts-dropdown[data-select-id],
.select2-dynamic-form .ts-dropdown,
.select2-service-order-item ~ .ts-dropdown,
.select2-service-order-item body > .ts-dropdown[data-select-id],
.select2-service-order-item .ts-dropdown {
  z-index: 9999 !important;
  position: fixed !important;
  max-height: 400px !important;
  overflow-y: auto !important;
  box-sizing: border-box;
  min-width: inherit !important;
  max-width: inherit !important;
}

/* line 617, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.form-control-sm:not(.multi) .ts-control:not(.service-order-item .ts-control),
.ts-wrapper:not(.multi) .ts-control.form-control-sm:not(.service-order-item .ts-control) {
  border: 1px solid #ced4da !important;
  border-radius: 4px !important;
  padding: 6px 10px !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  min-height: 32px !important;
  height: 32px !important;
  max-height: 32px !important;
  overflow: hidden !important;
  width: 100% !important;
}

/* line 637, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.service-order-item .ts-wrapper {
  height: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  display: inline-flex !important;
  vertical-align: top !important;
  box-sizing: border-box !important;
  line-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  overflow: visible !important;
  align-items: stretch !important;
}

/* line 653, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.service-order-item .ts-wrapper::before, .service-order-item .ts-wrapper::after {
  display: none !important;
  content: none !important;
}

/* line 660, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.service-order-item .ts-wrapper .ts-control {
  height: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  padding: 0.2rem 0.4rem !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  border: 1px solid #dee2e6 !important;
  border-top: 1px solid #dee2e6 !important;
  border-right: 1px solid #dee2e6 !important;
  border-bottom: 1px solid #dee2e6 !important;
  border-left: 1px solid #dee2e6 !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  vertical-align: top !important;
  outline: none !important;
  background-color: #fff !important;
  position: relative !important;
  align-self: stretch !important;
  flex: 1 1 auto !important;
}

/* line 686, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.service-order-item .ts-wrapper .ts-control::before, .service-order-item .ts-wrapper .ts-control::after {
  display: none !important;
  content: none !important;
  border: none !important;
}

/* line 694, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.service-order-item .ts-wrapper .ts-control .items {
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* line 703, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.service-order-item .ts-wrapper .ts-control .items .item,
.service-order-item .ts-wrapper .ts-control .items .placeholder {
  font-size: 11px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* line 716, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.service-order-item .ts-wrapper .ts-control input {
  font-size: 11px !important;
  line-height: 1.2 !important;
  padding: 0 !important;
  margin: 0 !important;
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
}

/* line 727, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.service-order-item .ts-wrapper .ts-control:hover {
  border-color: #80bdff !important;
}

/* line 732, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.service-order-item .ts-wrapper .ts-control.focus {
  border-color: #007bff !important;
  box-shadow: 0 0 0 0.1rem rgba(0, 123, 255, 0.25) !important;
}

/* line 739, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.service-order-item .ts-wrapper.form-control-sm .ts-control, .service-order-item .ts-wrapper.single .ts-control, .service-order-item .ts-wrapper.multi .ts-control {
  height: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  border: 1px solid #dee2e6 !important;
  background-color: #fff !important;
}

/* line 749, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.service-order-item .ts-wrapper.form-control-sm .ts-control:hover, .service-order-item .ts-wrapper.single .ts-control:hover, .service-order-item .ts-wrapper.multi .ts-control:hover {
  border-color: #80bdff !important;
}

/* line 754, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.service-order-item .ts-wrapper.form-control-sm .ts-control.focus, .service-order-item .ts-wrapper.single .ts-control.focus, .service-order-item .ts-wrapper.multi .ts-control.focus {
  border-color: #007bff !important;
  box-shadow: 0 0 0 0.1rem rgba(0, 123, 255, 0.25) !important;
}

/* line 762, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.service-order-item select.select2-service-order-item + .ts-wrapper,
.service-order-item select[class*="select2-service-order-item"] + .ts-wrapper {
  height: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  border: none !important;
  background: transparent !important;
}

/* line 770, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.service-order-item select.select2-service-order-item + .ts-wrapper .ts-control,
.service-order-item select[class*="select2-service-order-item"] + .ts-wrapper .ts-control {
  height: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  border: 1px solid #dee2e6 !important;
  background-color: #fff !important;
}

/* line 780, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.service-order-item .ts-wrapper:has(select.select2-service-order-item),
.service-order-item .ts-wrapper:has(select[class*="select2-service-order-item"]) {
  height: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  border: none !important;
  background: transparent !important;
}

/* line 788, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.service-order-item .ts-wrapper:has(select.select2-service-order-item) .ts-control,
.service-order-item .ts-wrapper:has(select[class*="select2-service-order-item"]) .ts-control {
  height: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  border: 1px solid #dee2e6 !important;
  padding: 0.2rem 0.4rem !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  background-color: #fff !important;
}

/* line 802, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.select2-service-order-item + .ts-wrapper .ts-control,
.ts-wrapper:has(.select2-service-order-item) .ts-control {
  border: none !important;
}

/* line 811, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.single .ts-control .items {
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
  overflow: hidden !important;
}

/* line 817, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.single .ts-control .items .item,
.ts-wrapper.single .ts-control .items .placeholder {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  flex: 1 !important;
  max-width: 100% !important;
}

@media (max-width: 576px) {
  /* line 831, app/assets/stylesheets/components/tom_select_bootstrap.scss */
  .ts-wrapper .ts-dropdown {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* line 848, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.form-control,
.ts-wrapper.form-control-sm,
.ts-wrapper.form-control-lg,
.ts-wrapper.select2,
.ts-wrapper.form-control.select2,
.ts-wrapper.form-control-sm.select2,
.ts-wrapper.form-control-lg.select2,
.form-group .ts-wrapper.form-control,
.form-group .ts-wrapper.form-control-sm,
.form-group .ts-wrapper.form-control-lg,
.form-group .ts-wrapper.select2,
.form-group .ts-wrapper.form-control.select2,
.form-group .ts-wrapper.form-control-sm.select2,
.card .ts-wrapper.form-control,
.card .ts-wrapper.form-control-sm,
.card .ts-wrapper.form-control-lg,
.card .ts-wrapper.select2,
.card .ts-wrapper.form-control.select2,
.card .ts-wrapper.form-control-sm.select2,
.card-body .ts-wrapper.form-control,
.card-body .ts-wrapper.form-control-sm,
.card-body .ts-wrapper.form-control-lg,
.card-body .ts-wrapper.select2,
.card-body .ts-wrapper.form-control.select2,
.card-body .ts-wrapper.form-control-sm.select2,
div .ts-wrapper.form-control,
div .ts-wrapper.form-control-sm,
div .ts-wrapper.form-control-lg,
div .ts-wrapper.select2,
div .ts-wrapper.form-control.select2,
div .ts-wrapper.form-control-sm.select2 {
  border: none !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-left: none !important;
  border-width: 0 !important;
  border-style: none !important;
  border-color: transparent !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 0 !important;
  padding-top: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
}

/* line 907, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.form-control:focus, .ts-wrapper.form-control:hover, .ts-wrapper.form-control:active, .ts-wrapper.form-control.focus, .ts-wrapper.form-control:focus-within,
.ts-wrapper.form-control-sm:focus,
.ts-wrapper.form-control-sm:hover,
.ts-wrapper.form-control-sm:active,
.ts-wrapper.form-control-sm.focus,
.ts-wrapper.form-control-sm:focus-within,
.ts-wrapper.form-control-lg:focus,
.ts-wrapper.form-control-lg:hover,
.ts-wrapper.form-control-lg:active,
.ts-wrapper.form-control-lg.focus,
.ts-wrapper.form-control-lg:focus-within,
.ts-wrapper.select2:focus,
.ts-wrapper.select2:hover,
.ts-wrapper.select2:active,
.ts-wrapper.select2.focus,
.ts-wrapper.select2:focus-within,
.ts-wrapper.form-control.select2:focus,
.ts-wrapper.form-control.select2:hover,
.ts-wrapper.form-control.select2:active,
.ts-wrapper.form-control.select2.focus,
.ts-wrapper.form-control.select2:focus-within,
.ts-wrapper.form-control-sm.select2:focus,
.ts-wrapper.form-control-sm.select2:hover,
.ts-wrapper.form-control-sm.select2:active,
.ts-wrapper.form-control-sm.select2.focus,
.ts-wrapper.form-control-sm.select2:focus-within,
.ts-wrapper.form-control-lg.select2:focus,
.ts-wrapper.form-control-lg.select2:hover,
.ts-wrapper.form-control-lg.select2:active,
.ts-wrapper.form-control-lg.select2.focus,
.ts-wrapper.form-control-lg.select2:focus-within,
.form-group .ts-wrapper.form-control:focus,
.form-group .ts-wrapper.form-control:hover,
.form-group .ts-wrapper.form-control:active,
.form-group .ts-wrapper.form-control.focus,
.form-group .ts-wrapper.form-control:focus-within,
.form-group .ts-wrapper.form-control-sm:focus,
.form-group .ts-wrapper.form-control-sm:hover,
.form-group .ts-wrapper.form-control-sm:active,
.form-group .ts-wrapper.form-control-sm.focus,
.form-group .ts-wrapper.form-control-sm:focus-within,
.form-group .ts-wrapper.form-control-lg:focus,
.form-group .ts-wrapper.form-control-lg:hover,
.form-group .ts-wrapper.form-control-lg:active,
.form-group .ts-wrapper.form-control-lg.focus,
.form-group .ts-wrapper.form-control-lg:focus-within,
.form-group .ts-wrapper.select2:focus,
.form-group .ts-wrapper.select2:hover,
.form-group .ts-wrapper.select2:active,
.form-group .ts-wrapper.select2.focus,
.form-group .ts-wrapper.select2:focus-within,
.form-group .ts-wrapper.form-control.select2:focus,
.form-group .ts-wrapper.form-control.select2:hover,
.form-group .ts-wrapper.form-control.select2:active,
.form-group .ts-wrapper.form-control.select2.focus,
.form-group .ts-wrapper.form-control.select2:focus-within,
.form-group .ts-wrapper.form-control-sm.select2:focus,
.form-group .ts-wrapper.form-control-sm.select2:hover,
.form-group .ts-wrapper.form-control-sm.select2:active,
.form-group .ts-wrapper.form-control-sm.select2.focus,
.form-group .ts-wrapper.form-control-sm.select2:focus-within,
.card .ts-wrapper.form-control:focus,
.card .ts-wrapper.form-control:hover,
.card .ts-wrapper.form-control:active,
.card .ts-wrapper.form-control.focus,
.card .ts-wrapper.form-control:focus-within,
.card .ts-wrapper.form-control-sm:focus,
.card .ts-wrapper.form-control-sm:hover,
.card .ts-wrapper.form-control-sm:active,
.card .ts-wrapper.form-control-sm.focus,
.card .ts-wrapper.form-control-sm:focus-within,
.card .ts-wrapper.form-control-lg:focus,
.card .ts-wrapper.form-control-lg:hover,
.card .ts-wrapper.form-control-lg:active,
.card .ts-wrapper.form-control-lg.focus,
.card .ts-wrapper.form-control-lg:focus-within,
.card .ts-wrapper.select2:focus,
.card .ts-wrapper.select2:hover,
.card .ts-wrapper.select2:active,
.card .ts-wrapper.select2.focus,
.card .ts-wrapper.select2:focus-within,
.card .ts-wrapper.form-control.select2:focus,
.card .ts-wrapper.form-control.select2:hover,
.card .ts-wrapper.form-control.select2:active,
.card .ts-wrapper.form-control.select2.focus,
.card .ts-wrapper.form-control.select2:focus-within,
.card .ts-wrapper.form-control-sm.select2:focus,
.card .ts-wrapper.form-control-sm.select2:hover,
.card .ts-wrapper.form-control-sm.select2:active,
.card .ts-wrapper.form-control-sm.select2.focus,
.card .ts-wrapper.form-control-sm.select2:focus-within,
.card-body .ts-wrapper.form-control:focus,
.card-body .ts-wrapper.form-control:hover,
.card-body .ts-wrapper.form-control:active,
.card-body .ts-wrapper.form-control.focus,
.card-body .ts-wrapper.form-control:focus-within,
.card-body .ts-wrapper.form-control-sm:focus,
.card-body .ts-wrapper.form-control-sm:hover,
.card-body .ts-wrapper.form-control-sm:active,
.card-body .ts-wrapper.form-control-sm.focus,
.card-body .ts-wrapper.form-control-sm:focus-within,
.card-body .ts-wrapper.form-control-lg:focus,
.card-body .ts-wrapper.form-control-lg:hover,
.card-body .ts-wrapper.form-control-lg:active,
.card-body .ts-wrapper.form-control-lg.focus,
.card-body .ts-wrapper.form-control-lg:focus-within,
.card-body .ts-wrapper.select2:focus,
.card-body .ts-wrapper.select2:hover,
.card-body .ts-wrapper.select2:active,
.card-body .ts-wrapper.select2.focus,
.card-body .ts-wrapper.select2:focus-within,
.card-body .ts-wrapper.form-control.select2:focus,
.card-body .ts-wrapper.form-control.select2:hover,
.card-body .ts-wrapper.form-control.select2:active,
.card-body .ts-wrapper.form-control.select2.focus,
.card-body .ts-wrapper.form-control.select2:focus-within,
.card-body .ts-wrapper.form-control-sm.select2:focus,
.card-body .ts-wrapper.form-control-sm.select2:hover,
.card-body .ts-wrapper.form-control-sm.select2:active,
.card-body .ts-wrapper.form-control-sm.select2.focus,
.card-body .ts-wrapper.form-control-sm.select2:focus-within,
div .ts-wrapper.form-control:focus,
div .ts-wrapper.form-control:hover,
div .ts-wrapper.form-control:active,
div .ts-wrapper.form-control.focus,
div .ts-wrapper.form-control:focus-within,
div .ts-wrapper.form-control-sm:focus,
div .ts-wrapper.form-control-sm:hover,
div .ts-wrapper.form-control-sm:active,
div .ts-wrapper.form-control-sm.focus,
div .ts-wrapper.form-control-sm:focus-within,
div .ts-wrapper.form-control-lg:focus,
div .ts-wrapper.form-control-lg:hover,
div .ts-wrapper.form-control-lg:active,
div .ts-wrapper.form-control-lg.focus,
div .ts-wrapper.form-control-lg:focus-within,
div .ts-wrapper.select2:focus,
div .ts-wrapper.select2:hover,
div .ts-wrapper.select2:active,
div .ts-wrapper.select2.focus,
div .ts-wrapper.select2:focus-within,
div .ts-wrapper.form-control.select2:focus,
div .ts-wrapper.form-control.select2:hover,
div .ts-wrapper.form-control.select2:active,
div .ts-wrapper.form-control.select2.focus,
div .ts-wrapper.form-control.select2:focus-within,
div .ts-wrapper.form-control-sm.select2:focus,
div .ts-wrapper.form-control-sm.select2:hover,
div .ts-wrapper.form-control-sm.select2:active,
div .ts-wrapper.form-control-sm.select2.focus,
div .ts-wrapper.form-control-sm.select2:focus-within {
  border: none !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-left: none !important;
  border-width: 0 !important;
  border-style: none !important;
  border-color: transparent !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* line 928, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-wrapper.form-control::before, .ts-wrapper.form-control::after,
.ts-wrapper.form-control-sm::before,
.ts-wrapper.form-control-sm::after,
.ts-wrapper.form-control-lg::before,
.ts-wrapper.form-control-lg::after,
.ts-wrapper.select2::before,
.ts-wrapper.select2::after,
.ts-wrapper.form-control.select2::before,
.ts-wrapper.form-control.select2::after,
.ts-wrapper.form-control-sm.select2::before,
.ts-wrapper.form-control-sm.select2::after,
.ts-wrapper.form-control-lg.select2::before,
.ts-wrapper.form-control-lg.select2::after,
.form-group .ts-wrapper.form-control::before,
.form-group .ts-wrapper.form-control::after,
.form-group .ts-wrapper.form-control-sm::before,
.form-group .ts-wrapper.form-control-sm::after,
.form-group .ts-wrapper.form-control-lg::before,
.form-group .ts-wrapper.form-control-lg::after,
.form-group .ts-wrapper.select2::before,
.form-group .ts-wrapper.select2::after,
.form-group .ts-wrapper.form-control.select2::before,
.form-group .ts-wrapper.form-control.select2::after,
.form-group .ts-wrapper.form-control-sm.select2::before,
.form-group .ts-wrapper.form-control-sm.select2::after,
.card .ts-wrapper.form-control::before,
.card .ts-wrapper.form-control::after,
.card .ts-wrapper.form-control-sm::before,
.card .ts-wrapper.form-control-sm::after,
.card .ts-wrapper.form-control-lg::before,
.card .ts-wrapper.form-control-lg::after,
.card .ts-wrapper.select2::before,
.card .ts-wrapper.select2::after,
.card .ts-wrapper.form-control.select2::before,
.card .ts-wrapper.form-control.select2::after,
.card .ts-wrapper.form-control-sm.select2::before,
.card .ts-wrapper.form-control-sm.select2::after,
.card-body .ts-wrapper.form-control::before,
.card-body .ts-wrapper.form-control::after,
.card-body .ts-wrapper.form-control-sm::before,
.card-body .ts-wrapper.form-control-sm::after,
.card-body .ts-wrapper.form-control-lg::before,
.card-body .ts-wrapper.form-control-lg::after,
.card-body .ts-wrapper.select2::before,
.card-body .ts-wrapper.select2::after,
.card-body .ts-wrapper.form-control.select2::before,
.card-body .ts-wrapper.form-control.select2::after,
.card-body .ts-wrapper.form-control-sm.select2::before,
.card-body .ts-wrapper.form-control-sm.select2::after,
div .ts-wrapper.form-control::before,
div .ts-wrapper.form-control::after,
div .ts-wrapper.form-control-sm::before,
div .ts-wrapper.form-control-sm::after,
div .ts-wrapper.form-control-lg::before,
div .ts-wrapper.form-control-lg::after,
div .ts-wrapper.select2::before,
div .ts-wrapper.select2::after,
div .ts-wrapper.form-control.select2::before,
div .ts-wrapper.form-control.select2::after,
div .ts-wrapper.form-control-sm.select2::before,
div .ts-wrapper.form-control-sm.select2::after {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* line 943, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-dropdown .option.natureza-opcao.natureza-nivel-1 {
  padding-left: 1.5rem;
}

/* line 944, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-dropdown .option.natureza-opcao.natureza-nivel-2 {
  padding-left: 2.5rem;
}

/* line 945, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-dropdown .option.natureza-opcao.natureza-nivel-3 {
  padding-left: 3.5rem;
}

/* line 946, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-dropdown .option.natureza-opcao.natureza-nivel-4 {
  padding-left: 4.5rem;
}

/* line 947, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-dropdown .option.natureza-opcao.natureza-nivel-5, .ts-dropdown .option.natureza-opcao.natureza-nivel-6 {
  padding-left: 5.5rem;
}

/* line 952, app/assets/stylesheets/components/tom_select_bootstrap.scss */
.ts-dropdown .option.natureza-opcao.natureza-grupo {
  font-weight: 600;
  color: var(--erp-ui-ink-2);
  opacity: 1;
  cursor: default;
}
/* ================================================
   COMPATIBILIDADE VISUAL: TOM SELECT = SELECT2
   ================================================
   Garante que Tom Select tenha aparência idêntica ao Select2
   usado anteriormente no sistema (AdminLTE style)
================================================ */

/* ================================================
   NEUTRALIZAR .form-control NO WRAPPER
   Tom Select copia a classe form-control do <select>
   para o wrapper, causando estilos duplicados
================================================ */
.ts-wrapper {
  position: relative !important;
}

.ts-wrapper.form-control,
.ts-wrapper.form-control:focus,
.ts-wrapper.form-control:hover,
.ts-wrapper.form-control:active,
.ts-wrapper.form-control-sm,
.ts-wrapper.form-control-sm:focus,
.ts-wrapper.form-control-sm:hover,
.ts-wrapper.form-control-sm:active,
.people-module .ts-wrapper.form-control,
.people-module .ts-wrapper.form-control:focus {
  padding: 0 !important;
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  border: none !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-left: none !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

/* ================================================
   CONTROLE PRINCIPAL - SINGLE SELECT
================================================ */
.ts-wrapper.single .ts-control {
  min-height: 34px !important;
  height: 34px !important;
  max-height: 34px !important;
  background-color: #fff !important;
  border: 1px solid #d2d6de !important;
  border-radius: 0.375rem !important;
  padding: 6px 10px !important;
  font-size: 14px !important;
  line-height: 1.42857143 !important;
  color: #555 !important;
  transition: border-color 0.15s, box-shadow 0.15s !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

/* ================================================
   CONTROLE PRINCIPAL - MULTI SELECT
================================================ */
.ts-wrapper.multi .ts-control {
  min-height: 34px !important;
  background-color: #fff !important;
  border: 1px solid #d2d6de !important;
  border-radius: 0.375rem !important;
  padding: 4px 10px !important;
  font-size: 14px !important;
  color: #555 !important;
  transition: border-color 0.15s, box-shadow 0.15s !important;
  box-sizing: border-box !important;
}

/* ================================================
   ITEMS CONTAINER
================================================ */
.ts-wrapper .ts-control .items {
  display: flex !important;
  align-items: center !important;
  flex: 1 !important;
  overflow: hidden !important;
}

/* Item Selecionado (Single) */
.ts-wrapper.single .ts-control .item {
  color: #555 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: normal !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Placeholder */
.ts-wrapper .ts-control .placeholder {
  color: #999 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: normal !important;
}

/* ================================================
   INPUT DE BUSCA
================================================ */
.ts-wrapper .ts-control input {
  font-size: 14px !important;
  color: #555 !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: normal !important;
  height: auto !important;
}

.ts-wrapper .ts-control input::placeholder {
  color: #999 !important;
}

/* ================================================
   SETA DROPDOWN
================================================ */
.ts-wrapper .ts-control:after {
  border-color: #888 transparent transparent transparent !important;
  border-width: 5px 4px 0 4px !important;
  margin-top: -2px !important;
  right: 12px !important;
}

/* ================================================
   ESTADO FOCUS
================================================ */
.ts-wrapper .ts-control.focus {
  border-color: #3c8dbc !important;
  outline: 0 !important;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.075), 0 0 8px rgba(102,175,233,0.6) !important;
}

/* ================================================
   ESTADO DISABLED
================================================ */
.ts-wrapper .ts-control.disabled,
.ts-wrapper .ts-control:disabled {
  background-color: #eee !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
}

/* ================================================
   MULTI SELECT - TAGS
================================================ */
.ts-wrapper.multi .ts-control .item {
  background-color: #3c8dbc !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0.375rem !important;
  padding: 2px 8px !important;
  margin: 2px 4px 2px 0 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  display: inline-flex !important;
  align-items: center !important;
}

.ts-wrapper.multi .ts-control .item .remove {
  color: rgba(255,255,255,0.8) !important;
  margin-left: 4px !important;
  font-weight: bold !important;
}

.ts-wrapper.multi .ts-control .item .remove:hover {
  color: #fff !important;
  background-color: rgba(0,0,0,0.1) !important;
}

/* ================================================
   DROPDOWN
================================================ */
.ts-wrapper .ts-dropdown {
  background-color: #fff !important;
  border: 1px solid #aaa !important;
  border-top: none !important;
  border-radius: 0 0 0.375rem 0.375rem !important;
  box-shadow: 0 4px 5px rgba(0,0,0,0.15) !important;
  margin-top: -1px !important;
  z-index: 99999 !important;
  position: absolute !important;
}

.ts-wrapper .ts-dropdown .ts-dropdown-content {
  max-height: 400px !important;
  overflow-y: auto !important;
  background-color: #fff !important;
  position: relative !important;
  z-index: 99999 !important;
}

/* ================================================
   OPÇÕES DO DROPDOWN
================================================ */
.ts-wrapper .ts-dropdown .option {
  padding: 6px 12px !important;
  font-size: 14px !important;
  color: #555 !important;
  cursor: pointer !important;
}

.ts-wrapper .ts-dropdown .option:hover,
.ts-wrapper .ts-dropdown .option.active {
  background-color: #3c8dbc !important;
  color: #fff !important;
}

.ts-wrapper .ts-dropdown .option.selected {
  background-color: #f5f5f5 !important;
  color: #555 !important;
}

.ts-wrapper .ts-dropdown .option.selected:hover,
.ts-wrapper .ts-dropdown .option.selected.active {
  background-color: #3c8dbc !important;
  color: #fff !important;
}

.ts-wrapper .ts-dropdown .option.disabled {
  color: #999 !important;
  cursor: not-allowed !important;
  background-color: transparent !important;
}

.ts-wrapper .ts-dropdown .no-results {
  padding: 6px 12px !important;
  color: #999 !important;
  font-style: italic !important;
}

/* ================================================
   OPTGROUP
================================================ */
.ts-wrapper .ts-dropdown .optgroup-header {
  padding: 6px 12px !important;
  font-weight: bold !important;
  color: #666 !important;
  background-color: #f9f9f9 !important;
  cursor: default !important;
}

.ts-wrapper .ts-dropdown .optgroup .option {
  padding-left: 24px !important;
}

/* ================================================
   FORM CONTROL SMALL
================================================ */
.form-control-sm.select2 + .ts-wrapper .ts-control,
.form-control-sm.tom-select + .ts-wrapper .ts-control {
  min-height: 30px !important;
  height: 30px !important;
  max-height: 30px !important;
  padding: 2px 8px !important;
  font-size: 12px !important;
}

.form-control-sm.select2 + .ts-wrapper .ts-control:after,
.form-control-sm.tom-select + .ts-wrapper .ts-control:after {
  right: 8px !important;
}

/* ================================================
   INTEGRAÇÃO COM ADMINLTE
================================================ */
.card .ts-wrapper,
.box .ts-wrapper,
.content-wrapper .ts-wrapper,
.form-group .ts-wrapper,
.form-field .ts-wrapper {
  width: 100% !important;
}

.card .ts-wrapper .ts-control,
.box .ts-wrapper .ts-control,
.content-wrapper .ts-wrapper .ts-control,
.form-group .ts-wrapper .ts-control,
.form-field .ts-wrapper .ts-control {
  box-shadow: none !important;
}

/* ================================================
   ESTADOS DE VALIDAÇÃO - ERRO
================================================ */
.is-invalid .ts-wrapper .ts-control,
.has-error .ts-wrapper .ts-control {
  border-color: #dd4b39 !important;
}

.is-invalid .ts-wrapper .ts-control.focus,
.has-error .ts-wrapper .ts-control.focus {
  border-color: #dd4b39 !important;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.075), 0 0 8px rgba(221,75,57,0.6) !important;
}

/* ================================================
   ESTADOS DE VALIDAÇÃO - SUCESSO
================================================ */
.is-valid .ts-wrapper .ts-control,
.has-success .ts-wrapper .ts-control {
  border-color: #00a65a !important;
}

.is-valid .ts-wrapper .ts-control.focus,
.has-success .ts-wrapper .ts-control.focus {
  border-color: #00a65a !important;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.075), 0 0 8px rgba(0,166,90,0.6) !important;
}

/* ================================================
   FORMULÁRIOS DINÂMICOS
================================================ */
.quotation-item-row .ts-wrapper .ts-control,
.dynamic-form-row .ts-wrapper .ts-control,
.nested-fields .ts-wrapper .ts-control {
  min-height: 34px !important;
  height: 34px !important;
}

.quotation-item-row .ts-wrapper .ts-dropdown,
.dynamic-form-row .ts-wrapper .ts-dropdown,
.nested-fields .ts-wrapper .ts-dropdown {
  z-index: 100000 !important;
  position: absolute !important;
}

/* ================================================
   CLEAR BUTTON
================================================ */
.ts-wrapper .clear-button {
  color: #999 !important;
  font-size: 18px !important;
  padding: 0 8px !important;
  margin: 0 !important;
}

.ts-wrapper .clear-button:hover {
  color: #333 !important;
}

/* ================================================
   LOADING STATE
================================================ */
.ts-wrapper.loading .ts-control:after {
  border-color: transparent !important;
  border-top-color: #3c8dbc !important;
  animation: tom-select-spin 0.6s linear infinite !important;
}

@keyframes tom-select-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* ================================================
   RESPONSIVIDADE
================================================ */
@media (max-width: 768px) {
  .ts-wrapper .ts-control {
    font-size: 16px !important;
  }
  
  .ts-wrapper .ts-dropdown {
    max-height: 300px !important;
  }
}

/* ================================================
   PRINT
================================================ */
@media print {
  .ts-wrapper .ts-control:after {
    display: none !important;
  }
  
  .ts-wrapper .ts-dropdown {
    display: none !important;
  }
}
/* line 12, app/assets/stylesheets/components/transactions.scss */
.receivables-module .main-container,
.payables-module .main-container,
.financial-transactions-module .main-container {
  padding: 1.5rem;
  max-width: 1600px;
  margin: 0 auto;
}

/* line 19, app/assets/stylesheets/components/transactions.scss */
.receivables-module .stats-row,
.payables-module .stats-row,
.financial-transactions-module .stats-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  padding: 1rem;
  background: #f8f9fc;
  border-bottom: 1px solid #e3e6f0;
}

/* line 28, app/assets/stylesheets/components/transactions.scss */
.receivables-module .erp-stat-card,
.payables-module .erp-stat-card,
.financial-transactions-module .erp-stat-card {
  background: white;
  border-radius: 8px;
  padding: 1rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* line 35, app/assets/stylesheets/components/transactions.scss */
.receivables-module .erp-stat-card:hover,
.payables-module .erp-stat-card:hover,
.financial-transactions-module .erp-stat-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* line 42, app/assets/stylesheets/components/transactions.scss */
.receivables-module .filters-section,
.payables-module .filters-section,
.financial-transactions-module .filters-section {
  padding: 1rem;
  background: white;
  border-bottom: 1px solid #e3e6f0;
  overflow: visible !important;
}

/* line 48, app/assets/stylesheets/components/transactions.scss */
.receivables-module .filters-section .filters-row,
.payables-module .filters-section .filters-row,
.financial-transactions-module .filters-section .filters-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem;
  align-items: end;
}

/* line 55, app/assets/stylesheets/components/transactions.scss */
.receivables-module .filters-section .filters-row .filter-group label,
.payables-module .filters-section .filters-row .filter-group label,
.financial-transactions-module .filters-section .filters-row .filter-group label {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  color: #495057;
  margin-bottom: 0.25rem;
}

/* line 63, app/assets/stylesheets/components/transactions.scss */
.receivables-module .filters-section .filters-row .filter-group .form-control,
.payables-module .filters-section .filters-row .filter-group .form-control,
.financial-transactions-module .filters-section .filters-row .filter-group .form-control {
  font-size: 0.875rem;
}

/* line 68, app/assets/stylesheets/components/transactions.scss */
.receivables-module .filters-section .filters-row .filter-actions,
.payables-module .filters-section .filters-row .filter-actions,
.financial-transactions-module .filters-section .filters-row .filter-actions {
  display: flex;
  gap: 0.5rem;
  align-items: end;
}

/* line 77, app/assets/stylesheets/components/transactions.scss */
.receivables-module .table-responsive,
.payables-module .table-responsive,
.financial-transactions-module .table-responsive {
  border-radius: 0;
  overflow: visible !important;
}

/* line 81, app/assets/stylesheets/components/transactions.scss */
.receivables-module .table-responsive .table,
.payables-module .table-responsive .table,
.financial-transactions-module .table-responsive .table {
  margin-bottom: 0;
}

/* line 84, app/assets/stylesheets/components/transactions.scss */
.receivables-module .table-responsive .table thead,
.payables-module .table-responsive .table thead,
.financial-transactions-module .table-responsive .table thead {
  background: #f8f9fc;
}

/* line 87, app/assets/stylesheets/components/transactions.scss */
.receivables-module .table-responsive .table thead th,
.payables-module .table-responsive .table thead th,
.financial-transactions-module .table-responsive .table thead th {
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #5a5c69;
  padding: 0.75rem;
  border-bottom: 2px solid #e3e6f0;
}

/* line 99, app/assets/stylesheets/components/transactions.scss */
.receivables-module .table-responsive .table tbody tr,
.payables-module .table-responsive .table tbody tr,
.financial-transactions-module .table-responsive .table tbody tr {
  transition: background-color 0.2s ease;
}

/* line 102, app/assets/stylesheets/components/transactions.scss */
.receivables-module .table-responsive .table tbody tr:hover,
.payables-module .table-responsive .table tbody tr:hover,
.financial-transactions-module .table-responsive .table tbody tr:hover {
  background-color: #f8f9fc;
}

/* line 107, app/assets/stylesheets/components/transactions.scss */
.receivables-module .table-responsive .table tbody td,
.payables-module .table-responsive .table tbody td,
.financial-transactions-module .table-responsive .table tbody td {
  padding: 0.75rem;
  vertical-align: middle;
  font-size: 0.875rem;
}

/* line 118, app/assets/stylesheets/components/transactions.scss */
.receivables-module .financial-tx-table td,
.payables-module .financial-tx-table td,
.financial-transactions-module .financial-tx-table td {
  vertical-align: top;
}

/* line 120, app/assets/stylesheets/components/transactions.scss */
.receivables-module .financial-tx-table .financial-tx-cell-date,
.payables-module .financial-tx-table .financial-tx-cell-date,
.financial-transactions-module .financial-tx-table .financial-tx-cell-date {
  min-width: 90px;
}

/* line 122, app/assets/stylesheets/components/transactions.scss */
.receivables-module .financial-tx-table .financial-tx-cell-description,
.payables-module .financial-tx-table .financial-tx-cell-description,
.financial-transactions-module .financial-tx-table .financial-tx-cell-description {
  min-width: 260px;
  max-width: 420px;
}

/* line 127, app/assets/stylesheets/components/transactions.scss */
.receivables-module .financial-tx-table .financial-tx-date,
.payables-module .financial-tx-table .financial-tx-date,
.financial-transactions-module .financial-tx-table .financial-tx-date {
  font-weight: 600;
  color: #343a40;
}

/* line 132, app/assets/stylesheets/components/transactions.scss */
.receivables-module .financial-tx-table .financial-tx-description,
.payables-module .financial-tx-table .financial-tx-description,
.financial-transactions-module .financial-tx-table .financial-tx-description {
  font-weight: 500;
  color: #212529;
  word-break: break-word;
}

/* line 138, app/assets/stylesheets/components/transactions.scss */
.receivables-module .financial-tx-table .financial-tx-bank,
.payables-module .financial-tx-table .financial-tx-bank,
.financial-transactions-module .financial-tx-table .financial-tx-bank {
  font-weight: 500;
  color: #343a40;
}

/* line 142, app/assets/stylesheets/components/transactions.scss */
.receivables-module .financial-tx-table .financial-tx-bank i,
.payables-module .financial-tx-table .financial-tx-bank i,
.financial-transactions-module .financial-tx-table .financial-tx-bank i {
  margin-right: 4px;
  color: #6c757d;
}

/* line 145, app/assets/stylesheets/components/transactions.scss */
.receivables-module .financial-tx-table .financial-tx-subline,
.payables-module .financial-tx-table .financial-tx-subline,
.financial-transactions-module .financial-tx-table .financial-tx-subline {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 2px;
  font-size: 0.75rem;
  color: #6c757d;
}

/* line 153, app/assets/stylesheets/components/transactions.scss */
.receivables-module .financial-tx-table .financial-tx-subline a,
.payables-module .financial-tx-table .financial-tx-subline a,
.financial-transactions-module .financial-tx-table .financial-tx-subline a {
  color: #17a2b8;
  text-decoration: none;
}

/* line 157, app/assets/stylesheets/components/transactions.scss */
.receivables-module .financial-tx-table .financial-tx-subline a:hover,
.payables-module .financial-tx-table .financial-tx-subline a:hover,
.financial-transactions-module .financial-tx-table .financial-tx-subline a:hover {
  text-decoration: underline;
}

/* line 161, app/assets/stylesheets/components/transactions.scss */
.receivables-module .financial-tx-table .financial-tx-counterparty,
.payables-module .financial-tx-table .financial-tx-counterparty,
.financial-transactions-module .financial-tx-table .financial-tx-counterparty {
  font-weight: 500;
  color: #495057;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 168, app/assets/stylesheets/components/transactions.scss */
.receivables-module .financial-tx-table .financial-tx-origin i,
.payables-module .financial-tx-table .financial-tx-origin i,
.financial-transactions-module .financial-tx-table .financial-tx-origin i {
  color: #17a2b8;
}

/* line 170, app/assets/stylesheets/components/transactions.scss */
.receivables-module .financial-tx-table .financial-tx-tag,
.payables-module .financial-tx-table .financial-tx-tag,
.financial-transactions-module .financial-tx-table .financial-tx-tag {
  display: inline-block;
  padding: 1px 6px;
  border-radius: 3px;
  background: #e9ecef;
  color: #495057;
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 184, app/assets/stylesheets/components/transactions.scss */
.receivables-module table tbody td.actions-cell,
.payables-module table tbody td.actions-cell,
.financial-transactions-module table tbody td.actions-cell {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.75rem !important;
  gap: 0.25rem !important;
  flex-wrap: nowrap;
  white-space: nowrap;
}

/* line 193, app/assets/stylesheets/components/transactions.scss */
.receivables-module table tbody td.actions-cell .action-btn,
.payables-module table tbody td.actions-cell .action-btn,
.financial-transactions-module table tbody td.actions-cell .action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 4px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.2s ease;
  background: transparent;
  font-size: 0.875rem;
  text-decoration: none;
  flex-shrink: 0;
}

/* line 208, app/assets/stylesheets/components/transactions.scss */
.receivables-module table tbody td.actions-cell .action-btn.view,
.payables-module table tbody td.actions-cell .action-btn.view,
.financial-transactions-module table tbody td.actions-cell .action-btn.view {
  color: #17a2b8;
  border-color: #17a2b8;
}

/* line 212, app/assets/stylesheets/components/transactions.scss */
.receivables-module table tbody td.actions-cell .action-btn.view:hover,
.payables-module table tbody td.actions-cell .action-btn.view:hover,
.financial-transactions-module table tbody td.actions-cell .action-btn.view:hover {
  background-color: #17a2b8;
  color: white;
}

/* line 218, app/assets/stylesheets/components/transactions.scss */
.receivables-module table tbody td.actions-cell .action-btn.edit,
.payables-module table tbody td.actions-cell .action-btn.edit,
.financial-transactions-module table tbody td.actions-cell .action-btn.edit {
  color: #ffc107;
  border-color: #ffc107;
}

/* line 222, app/assets/stylesheets/components/transactions.scss */
.receivables-module table tbody td.actions-cell .action-btn.edit:hover,
.payables-module table tbody td.actions-cell .action-btn.edit:hover,
.financial-transactions-module table tbody td.actions-cell .action-btn.edit:hover {
  background-color: #ffc107;
  color: #212529;
}

/* line 228, app/assets/stylesheets/components/transactions.scss */
.receivables-module table tbody td.actions-cell .action-btn.delete,
.payables-module table tbody td.actions-cell .action-btn.delete,
.financial-transactions-module table tbody td.actions-cell .action-btn.delete {
  color: #dc3545;
  border-color: #dc3545;
}

/* line 232, app/assets/stylesheets/components/transactions.scss */
.receivables-module table tbody td.actions-cell .action-btn.delete:hover,
.payables-module table tbody td.actions-cell .action-btn.delete:hover,
.financial-transactions-module table tbody td.actions-cell .action-btn.delete:hover {
  background-color: #dc3545;
  color: white;
}

/* line 238, app/assets/stylesheets/components/transactions.scss */
.receivables-module table tbody td.actions-cell .action-btn.reconcile,
.payables-module table tbody td.actions-cell .action-btn.reconcile,
.financial-transactions-module table tbody td.actions-cell .action-btn.reconcile {
  color: #28a745;
  border-color: #28a745;
}

/* line 242, app/assets/stylesheets/components/transactions.scss */
.receivables-module table tbody td.actions-cell .action-btn.reconcile:hover,
.payables-module table tbody td.actions-cell .action-btn.reconcile:hover,
.financial-transactions-module table tbody td.actions-cell .action-btn.reconcile:hover {
  background-color: #28a745;
  color: white;
}

/* line 251, app/assets/stylesheets/components/transactions.scss */
.receivables-module .actions-cell:not(td),
.payables-module .actions-cell:not(td),
.financial-transactions-module .actions-cell:not(td) {
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  flex-wrap: nowrap;
}

/* line 260, app/assets/stylesheets/components/transactions.scss */
.receivables-module .actions-cell:not(td) .action-btn,
.payables-module .actions-cell:not(td) .action-btn,
.financial-transactions-module .actions-cell:not(td) .action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 4px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.2s ease;
  background: transparent;
  font-size: 0.875rem;
  text-decoration: none;
  flex-shrink: 0;
}

/* line 275, app/assets/stylesheets/components/transactions.scss */
.receivables-module .actions-cell:not(td) .action-btn.view,
.payables-module .actions-cell:not(td) .action-btn.view,
.financial-transactions-module .actions-cell:not(td) .action-btn.view {
  color: #17a2b8;
  border-color: #17a2b8;
}

/* line 279, app/assets/stylesheets/components/transactions.scss */
.receivables-module .actions-cell:not(td) .action-btn.view:hover,
.payables-module .actions-cell:not(td) .action-btn.view:hover,
.financial-transactions-module .actions-cell:not(td) .action-btn.view:hover {
  background-color: #17a2b8;
  color: white;
}

/* line 285, app/assets/stylesheets/components/transactions.scss */
.receivables-module .actions-cell:not(td) .action-btn.edit,
.payables-module .actions-cell:not(td) .action-btn.edit,
.financial-transactions-module .actions-cell:not(td) .action-btn.edit {
  color: #ffc107;
  border-color: #ffc107;
}

/* line 289, app/assets/stylesheets/components/transactions.scss */
.receivables-module .actions-cell:not(td) .action-btn.edit:hover,
.payables-module .actions-cell:not(td) .action-btn.edit:hover,
.financial-transactions-module .actions-cell:not(td) .action-btn.edit:hover {
  background-color: #ffc107;
  color: #212529;
}

/* line 295, app/assets/stylesheets/components/transactions.scss */
.receivables-module .actions-cell:not(td) .action-btn.delete,
.payables-module .actions-cell:not(td) .action-btn.delete,
.financial-transactions-module .actions-cell:not(td) .action-btn.delete {
  color: #dc3545;
  border-color: #dc3545;
}

/* line 299, app/assets/stylesheets/components/transactions.scss */
.receivables-module .actions-cell:not(td) .action-btn.delete:hover,
.payables-module .actions-cell:not(td) .action-btn.delete:hover,
.financial-transactions-module .actions-cell:not(td) .action-btn.delete:hover {
  background-color: #dc3545;
  color: white;
}

/* line 305, app/assets/stylesheets/components/transactions.scss */
.receivables-module .actions-cell:not(td) .action-btn.reconcile,
.payables-module .actions-cell:not(td) .action-btn.reconcile,
.financial-transactions-module .actions-cell:not(td) .action-btn.reconcile {
  color: #28a745;
  border-color: #28a745;
}

/* line 309, app/assets/stylesheets/components/transactions.scss */
.receivables-module .actions-cell:not(td) .action-btn.reconcile:hover,
.payables-module .actions-cell:not(td) .action-btn.reconcile:hover,
.financial-transactions-module .actions-cell:not(td) .action-btn.reconcile:hover {
  background-color: #28a745;
  color: white;
}

/* line 318, app/assets/stylesheets/components/transactions.scss */
.receivables-module .card,
.payables-module .card,
.financial-transactions-module .card {
  border: none;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  margin-bottom: 1.5rem;
}

/* line 324, app/assets/stylesheets/components/transactions.scss */
.receivables-module .card .card-header,
.payables-module .card .card-header,
.financial-transactions-module .card .card-header {
  background: linear-gradient(135deg, #f8f9fc 0%, #eaecf4 100%);
  border-bottom: 1px solid #e3e6f0;
  padding: 1rem 1.5rem;
}

/* line 329, app/assets/stylesheets/components/transactions.scss */
.receivables-module .card .card-header .card-title,
.payables-module .card .card-header .card-title,
.financial-transactions-module .card .card-header .card-title {
  color: #5a5c69;
  font-weight: 600;
  font-size: 1rem;
  margin: 0;
}

/* line 335, app/assets/stylesheets/components/transactions.scss */
.receivables-module .card .card-header .card-title i,
.payables-module .card .card-header .card-title i,
.financial-transactions-module .card .card-header .card-title i {
  margin-right: 0.5rem;
  color: #5a5c69;
}

/* line 342, app/assets/stylesheets/components/transactions.scss */
.receivables-module .card .card-body,
.payables-module .card .card-body,
.financial-transactions-module .card .card-body {
  padding: 0.75rem;
}

/* line 348, app/assets/stylesheets/components/transactions.scss */
.receivables-module .form-section,
.payables-module .form-section,
.financial-transactions-module .form-section {
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #e3e6f0;
}

/* line 353, app/assets/stylesheets/components/transactions.scss */
.receivables-module .form-section:last-child,
.payables-module .form-section:last-child,
.financial-transactions-module .form-section:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

/* line 359, app/assets/stylesheets/components/transactions.scss */
.receivables-module .form-section .section-header,
.payables-module .form-section .section-header,
.financial-transactions-module .form-section .section-header {
  padding-bottom: 0.25rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #e3e6f0;
}

/* line 364, app/assets/stylesheets/components/transactions.scss */
.receivables-module .form-section .section-header h6,
.payables-module .form-section .section-header h6,
.financial-transactions-module .form-section .section-header h6 {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #5a5c69;
  margin: 0;
  line-height: 1.2;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 374, app/assets/stylesheets/components/transactions.scss */
.receivables-module .form-section .section-header h6 i,
.payables-module .form-section .section-header h6 i,
.financial-transactions-module .form-section .section-header h6 i {
  font-size: 0.75rem;
  color: #007bff;
}

/* line 380, app/assets/stylesheets/components/transactions.scss */
.receivables-module .form-section .section-header small,
.payables-module .form-section .section-header small,
.financial-transactions-module .form-section .section-header small {
  display: none;
}

/* line 385, app/assets/stylesheets/components/transactions.scss */
.receivables-module .form-section .form-field,
.payables-module .form-section .form-field,
.financial-transactions-module .form-section .form-field {
  margin-bottom: 0.25rem;
}

/* line 388, app/assets/stylesheets/components/transactions.scss */
.receivables-module .form-section .form-field label,
.payables-module .form-section .form-field label,
.financial-transactions-module .form-section .form-field label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #495057;
  margin-bottom: 0.15rem;
  line-height: 1.2;
}

/* line 395, app/assets/stylesheets/components/transactions.scss */
.receivables-module .form-section .form-field label .required,
.payables-module .form-section .form-field label .required,
.financial-transactions-module .form-section .form-field label .required {
  color: #dc3545;
  font-size: 0.7rem;
}

/* line 401, app/assets/stylesheets/components/transactions.scss */
.receivables-module .form-section .form-field .form-control,
.payables-module .form-section .form-field .form-control,
.financial-transactions-module .form-section .form-field .form-control {
  font-size: 0.8125rem;
  padding: 0.3rem 0.5rem;
  border-color: #ced4da;
  line-height: 1.3;
}

/* line 407, app/assets/stylesheets/components/transactions.scss */
.receivables-module .form-section .form-field .form-control:focus,
.payables-module .form-section .form-field .form-control:focus,
.financial-transactions-module .form-section .form-field .form-control:focus {
  border-color: #007bff;
  box-shadow: 0 0 0 0.15rem rgba(0, 123, 255, 0.2);
}

/* line 413, app/assets/stylesheets/components/transactions.scss */
.receivables-module .form-section .form-field .form-text,
.payables-module .form-section .form-field .form-text,
.financial-transactions-module .form-section .form-field .form-text {
  font-size: 0.7rem;
  color: #6c757d;
  margin-top: 0.1rem;
  line-height: 1.2;
}

/* line 420, app/assets/stylesheets/components/transactions.scss */
.receivables-module .form-section .form-field .invalid-feedback,
.payables-module .form-section .form-field .invalid-feedback,
.financial-transactions-module .form-section .form-field .invalid-feedback {
  font-size: 0.7rem;
  margin-top: 0.1rem;
}

/* line 427, app/assets/stylesheets/components/transactions.scss */
.receivables-module .form-section .form-grid,
.payables-module .form-section .form-grid,
.financial-transactions-module .form-section .form-grid {
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}

/* line 431, app/assets/stylesheets/components/transactions.scss */
.receivables-module .form-section .form-grid.one-column,
.payables-module .form-section .form-grid.one-column,
.financial-transactions-module .form-section .form-grid.one-column {
  grid-template-columns: 1fr;
}

/* line 435, app/assets/stylesheets/components/transactions.scss */
.receivables-module .form-section .form-grid.two-columns,
.payables-module .form-section .form-grid.two-columns,
.financial-transactions-module .form-section .form-grid.two-columns {
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
}

/* line 440, app/assets/stylesheets/components/transactions.scss */
.receivables-module .form-section .form-grid.three-columns,
.payables-module .form-section .form-grid.three-columns,
.financial-transactions-module .form-section .form-grid.three-columns {
  grid-template-columns: repeat(3, 1fr);
}

/* line 444, app/assets/stylesheets/components/transactions.scss */
.receivables-module .form-section .form-grid.four-columns,
.payables-module .form-section .form-grid.four-columns,
.financial-transactions-module .form-section .form-grid.four-columns {
  gap: 0.35rem;
}

/* line 448, app/assets/stylesheets/components/transactions.scss */
.receivables-module .form-section .form-grid .form-field,
.payables-module .form-section .form-grid .form-field,
.financial-transactions-module .form-section .form-grid .form-field {
  display: flex;
  flex-direction: column;
}

/* line 452, app/assets/stylesheets/components/transactions.scss */
.receivables-module .form-section .form-grid .form-field.span-2,
.payables-module .form-section .form-grid .form-field.span-2,
.financial-transactions-module .form-section .form-grid .form-field.span-2 {
  grid-column: span 2;
}

/* line 456, app/assets/stylesheets/components/transactions.scss */
.receivables-module .form-section .form-grid .form-field.span-3,
.payables-module .form-section .form-grid .form-field.span-3,
.financial-transactions-module .form-section .form-grid .form-field.span-3 {
  grid-column: span 3;
}

/* line 464, app/assets/stylesheets/components/transactions.scss */
.receivables-module .form-label-sm,
.payables-module .form-label-sm,
.financial-transactions-module .form-label-sm {
  font-size: 0.75rem;
  font-weight: 500;
  color: #495057;
  margin-bottom: 0.15rem;
}

/* line 472, app/assets/stylesheets/components/transactions.scss */
.receivables-module .form-control:disabled,
.receivables-module .form-control[disabled],
.payables-module .form-control:disabled,
.payables-module .form-control[disabled],
.financial-transactions-module .form-control:disabled,
.financial-transactions-module .form-control[disabled] {
  background-color: #f8f9fa;
  opacity: 1;
  cursor: not-allowed;
}

/* line 481, app/assets/stylesheets/components/transactions.scss */
.receivables-module .input-group-sm .input-group-text,
.payables-module .input-group-sm .input-group-text,
.financial-transactions-module .input-group-sm .input-group-text {
  font-size: 0.75rem;
  padding: 0.375rem 0.5rem;
}

/* line 486, app/assets/stylesheets/components/transactions.scss */
.receivables-module .input-group-sm .form-control,
.payables-module .input-group-sm .form-control,
.financial-transactions-module .input-group-sm .form-control {
  font-size: 0.875rem;
  padding: 0.375rem 0.5rem;
}

/* line 493, app/assets/stylesheets/components/transactions.scss */
.receivables-module .table-footer,
.payables-module .table-footer,
.financial-transactions-module .table-footer {
  padding: 1rem;
  background: #f8f9fc;
  border-top: 1px solid #e3e6f0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.875rem;
  color: #6c757d;
}

@media (max-width: 768px) {
  /* line 506, app/assets/stylesheets/components/transactions.scss */
  .receivables-module .main-container,
.payables-module .main-container,
.financial-transactions-module .main-container {
    padding: 1rem;
  }
  /* line 510, app/assets/stylesheets/components/transactions.scss */
  .receivables-module .stats-row,
.payables-module .stats-row,
.financial-transactions-module .stats-row {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
    padding: 0.75rem;
  }
  /* line 517, app/assets/stylesheets/components/transactions.scss */
  .receivables-module .filters-section .filters-row,
.payables-module .filters-section .filters-row,
.financial-transactions-module .filters-section .filters-row {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  /* line 524, app/assets/stylesheets/components/transactions.scss */
  .receivables-module .form-grid.two-columns, .receivables-module .form-grid.three-columns,
.payables-module .form-grid.two-columns,
.payables-module .form-grid.three-columns,
.financial-transactions-module .form-grid.two-columns,
.financial-transactions-module .form-grid.three-columns {
    grid-template-columns: 1fr;
  }
  /* line 530, app/assets/stylesheets/components/transactions.scss */
  .receivables-module .form-grid .form-field.span-2, .receivables-module .form-grid .form-field.span-3,
.payables-module .form-grid .form-field.span-2,
.payables-module .form-grid .form-field.span-3,
.financial-transactions-module .form-grid .form-field.span-2,
.financial-transactions-module .form-grid .form-field.span-3 {
    grid-column: span 1;
  }
}
/* line 6, app/assets/stylesheets/crm_dashboard.scss */
.crm-period-label {
  font-size: 0.82rem;
  color: #6c757d;
  margin-top: 2px;
}

/* line 13, app/assets/stylesheets/crm_dashboard.scss */
.crm-kpi-card {
  background: #fff;
  border-radius: 8px;
  border-left: 4px solid #dee2e6;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: 100%;
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

/* line 24, app/assets/stylesheets/crm_dashboard.scss */
.crm-kpi-card.kpi-primary {
  border-color: #4364f7;
}

/* line 25, app/assets/stylesheets/crm_dashboard.scss */
.crm-kpi-card.kpi-success {
  border-color: #28a745;
}

/* line 26, app/assets/stylesheets/crm_dashboard.scss */
.crm-kpi-card.kpi-warning {
  border-color: #ffc107;
}

/* line 27, app/assets/stylesheets/crm_dashboard.scss */
.crm-kpi-card.kpi-info {
  border-color: #17a2b8;
}

/* line 28, app/assets/stylesheets/crm_dashboard.scss */
.crm-kpi-card.kpi-danger {
  border-color: #dc3545;
}

/* line 29, app/assets/stylesheets/crm_dashboard.scss */
.crm-kpi-card.kpi-secondary {
  border-color: #6c757d;
}

/* line 31, app/assets/stylesheets/crm_dashboard.scss */
.crm-kpi-card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

/* line 36, app/assets/stylesheets/crm_dashboard.scss */
.crm-kpi-header {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* line 42, app/assets/stylesheets/crm_dashboard.scss */
.crm-kpi-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #fff;
  font-size: 0.9rem;
}

/* line 53, app/assets/stylesheets/crm_dashboard.scss */
.kpi-primary .crm-kpi-icon {
  background: #4364f7;
}

/* line 54, app/assets/stylesheets/crm_dashboard.scss */
.kpi-success .crm-kpi-icon {
  background: #28a745;
}

/* line 55, app/assets/stylesheets/crm_dashboard.scss */
.kpi-warning .crm-kpi-icon {
  background: #ffc107;
  color: #212529;
}

/* line 56, app/assets/stylesheets/crm_dashboard.scss */
.kpi-info .crm-kpi-icon {
  background: #17a2b8;
}

/* line 57, app/assets/stylesheets/crm_dashboard.scss */
.kpi-danger .crm-kpi-icon {
  background: #dc3545;
}

/* line 58, app/assets/stylesheets/crm_dashboard.scss */
.kpi-secondary .crm-kpi-icon {
  background: #6c757d;
}

/* line 61, app/assets/stylesheets/crm_dashboard.scss */
.crm-kpi-text {
  flex: 1;
  min-width: 0;
}

/* line 66, app/assets/stylesheets/crm_dashboard.scss */
.crm-kpi-label {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6c757d;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 78, app/assets/stylesheets/crm_dashboard.scss */
.crm-kpi-value {
  font-size: 1.6rem;
  font-weight: 700;
  color: #212529;
  line-height: 1.1;
}

/* line 85, app/assets/stylesheets/crm_dashboard.scss */
.crm-kpi-footer {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* line 91, app/assets/stylesheets/crm_dashboard.scss */
.crm-kpi-sub {
  font-size: 0.8rem;
  color: #6c757d;
}

/* line 96, app/assets/stylesheets/crm_dashboard.scss */
.crm-kpi-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 4px;
}

/* line 102, app/assets/stylesheets/crm_dashboard.scss */
.crm-kpi-link {
  font-size: 0.78rem;
  color: #4364f7;
  text-decoration: none;
}

/* line 107, app/assets/stylesheets/crm_dashboard.scss */
.crm-kpi-link:hover {
  text-decoration: underline;
}

/* line 111, app/assets/stylesheets/crm_dashboard.scss */
.crm-result-icon {
  font-size: 1.1rem;
  margin-bottom: 2px;
}

/* line 116, app/assets/stylesheets/crm_dashboard.scss */
.crm-result-value {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.1;
}

/* line 122, app/assets/stylesheets/crm_dashboard.scss */
.crm-result-label {
  font-size: 0.75rem;
  color: #6c757d;
}

/* line 128, app/assets/stylesheets/crm_dashboard.scss */
.crm-rates-row {
  display: flex;
  align-items: center;
  gap: 0;
  margin: 8px 0 4px;
}

/* line 135, app/assets/stylesheets/crm_dashboard.scss */
.crm-rate-item {
  flex: 1;
  text-align: center;
}

/* line 140, app/assets/stylesheets/crm_dashboard.scss */
.crm-rate-label {
  font-size: 0.72rem;
  color: #6c757d;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* line 147, app/assets/stylesheets/crm_dashboard.scss */
.crm-rate-value {
  font-size: 1.2rem;
  font-weight: 700;
  color: #212529;
}

/* line 153, app/assets/stylesheets/crm_dashboard.scss */
.crm-rate-divider {
  width: 1px;
  height: 32px;
  background: #dee2e6;
  flex-shrink: 0;
}

/* line 161, app/assets/stylesheets/crm_dashboard.scss */
.crm-metrics-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* line 167, app/assets/stylesheets/crm_dashboard.scss */
.crm-metric-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* line 173, app/assets/stylesheets/crm_dashboard.scss */
.crm-metric-icon {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: #f1f3f7;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6c757d;
  font-size: 0.8rem;
  flex-shrink: 0;
}

/* line 186, app/assets/stylesheets/crm_dashboard.scss */
.crm-metric-info {
  flex: 1;
  min-width: 0;
}

/* line 191, app/assets/stylesheets/crm_dashboard.scss */
.crm-metric-label {
  font-size: 0.78rem;
  color: #6c757d;
  line-height: 1.2;
}

/* line 197, app/assets/stylesheets/crm_dashboard.scss */
.crm-metric-value {
  font-size: 0.95rem;
  font-weight: 700;
  color: #212529;
  line-height: 1.2;
}

/* line 205, app/assets/stylesheets/crm_dashboard.scss */
.crm-pipeline-stages {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
}

/* line 211, app/assets/stylesheets/crm_dashboard.scss */
.crm-pipeline-stage {
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  padding: 14px 16px;
  cursor: pointer;
  transition: background 0.15s ease, box-shadow 0.15s ease;
}

/* line 219, app/assets/stylesheets/crm_dashboard.scss */
.crm-pipeline-stage:hover {
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* line 225, app/assets/stylesheets/crm_dashboard.scss */
.crm-stage-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

/* line 232, app/assets/stylesheets/crm_dashboard.scss */
.crm-stage-icon {
  font-size: 0.9rem;
}

/* line 236, app/assets/stylesheets/crm_dashboard.scss */
.crm-stage-label {
  font-size: 0.8rem;
  font-weight: 600;
  color: #495057;
  flex: 1;
}

/* line 243, app/assets/stylesheets/crm_dashboard.scss */
.crm-stage-count {
  font-size: 1.1rem;
  font-weight: 700;
  color: #212529;
}

/* line 249, app/assets/stylesheets/crm_dashboard.scss */
.crm-stage-bar-wrap {
  height: 6px;
  background: #dee2e6;
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 6px;
}

/* line 257, app/assets/stylesheets/crm_dashboard.scss */
.crm-stage-progress {
  height: 100%;
  border-radius: 3px;
  transition: width 0.4s ease;
}

/* line 262, app/assets/stylesheets/crm_dashboard.scss */
.crm-stage-progress.bg-secondary {
  background-color: #6c757d !important;
}

/* line 263, app/assets/stylesheets/crm_dashboard.scss */
.crm-stage-progress.bg-warning {
  background-color: #ffc107 !important;
}

/* line 264, app/assets/stylesheets/crm_dashboard.scss */
.crm-stage-progress.bg-success {
  background-color: #28a745 !important;
}

/* line 265, app/assets/stylesheets/crm_dashboard.scss */
.crm-stage-progress.bg-danger {
  background-color: #dc3545 !important;
}

/* line 268, app/assets/stylesheets/crm_dashboard.scss */
.crm-stage-pct {
  font-size: 0.72rem;
  color: #6c757d;
  text-align: right;
}

/* line 275, app/assets/stylesheets/crm_dashboard.scss */
.crm-funnel {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}

/* line 282, app/assets/stylesheets/crm_dashboard.scss */
.crm-funnel-step {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* line 288, app/assets/stylesheets/crm_dashboard.scss */
.crm-funnel-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 16px;
  min-height: 44px;
  color: #fff;
  border-radius: 4px;
  font-weight: 600;
  font-size: 0.85rem;
  width: 100%;
  transition: opacity 0.15s;
  cursor: default;
}

/* line 302, app/assets/stylesheets/crm_dashboard.scss */
.crm-funnel-bar:hover {
  opacity: 0.88;
}

/* line 304, app/assets/stylesheets/crm_dashboard.scss */
.crm-funnel-bar.funnel-initial {
  background: #6c757d;
}

/* line 305, app/assets/stylesheets/crm_dashboard.scss */
.crm-funnel-bar.funnel-negotiation {
  background: #ffc107;
  color: #212529;
}

/* line 306, app/assets/stylesheets/crm_dashboard.scss */
.crm-funnel-bar.funnel-won {
  background: #28a745;
}

/* line 307, app/assets/stylesheets/crm_dashboard.scss */
.crm-funnel-bar.funnel-lost {
  background: #dc3545;
}

/* line 310, app/assets/stylesheets/crm_dashboard.scss */
.crm-funnel-arrow {
  font-size: 0.85rem;
  color: #adb5bd;
  margin: 4px 0;
  line-height: 1;
}

/* line 318, app/assets/stylesheets/crm_dashboard.scss */
.crm-stage-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 20px;
  font-size: 0.72rem;
  font-weight: 600;
}

/* line 327, app/assets/stylesheets/crm_dashboard.scss */
.crm-stage-pill.stage-initial {
  background: #e9ecef;
  color: #495057;
}

/* line 328, app/assets/stylesheets/crm_dashboard.scss */
.crm-stage-pill.stage-negotiation {
  background: #fff3cd;
  color: #856404;
}

/* line 329, app/assets/stylesheets/crm_dashboard.scss */
.crm-stage-pill.stage-closed_won {
  background: #d4edda;
  color: #155724;
}

/* line 330, app/assets/stylesheets/crm_dashboard.scss */
.crm-stage-pill.stage-closed_lost {
  background: #f8d7da;
  color: #721c24;
}

/* line 334, app/assets/stylesheets/crm_dashboard.scss */
.crm-interaction-type {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.8rem;
  color: #495057;
}

/* line 343, app/assets/stylesheets/crm_dashboard.scss */
.crm-empty-state {
  padding: 40px 20px;
  text-align: center;
  color: #adb5bd;
}

/* line 348, app/assets/stylesheets/crm_dashboard.scss */
.crm-empty-state i {
  font-size: 2.5rem;
  margin-bottom: 12px;
}

/* line 353, app/assets/stylesheets/crm_dashboard.scss */
.crm-empty-state p {
  font-size: 0.9rem;
  margin: 0;
}

/* line 360, app/assets/stylesheets/crm_dashboard.scss */
.crm-mini-table {
  font-size: 0.83rem;
  margin: 0;
}

/* line 364, app/assets/stylesheets/crm_dashboard.scss */
.crm-mini-table th {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6c757d;
  border-top: none;
  padding: 8px 12px;
  font-weight: 600;
  background: #f8f9fa;
}

/* line 375, app/assets/stylesheets/crm_dashboard.scss */
.crm-mini-table td {
  padding: 8px 12px;
  vertical-align: middle;
  border-color: #f1f3f5;
}

/* line 382, app/assets/stylesheets/crm_dashboard.scss */
.crm-mini-table tbody tr:hover {
  background: #f8f9fa;
}

/* line 383, app/assets/stylesheets/crm_dashboard.scss */
.crm-mini-table tbody tr:last-child td {
  border-bottom: none;
}
/* line 17, app/assets/stylesheets/dashboard_loading.scss */
.dashboard-loading-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.9);
  z-index: 9999;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(2px);
  transition: opacity 0.3s ease;
}

/* line 31, app/assets/stylesheets/dashboard_loading.scss */
.dashboard-loading-overlay.is-visible {
  display: flex;
}

/* line 35, app/assets/stylesheets/dashboard_loading.scss */
.dashboard-loading-overlay .loading-spinner {
  text-align: center;
}

/* line 38, app/assets/stylesheets/dashboard_loading.scss */
.dashboard-loading-overlay .loading-spinner .spinner-border {
  width: 3rem;
  height: 3rem;
  border-width: 0.3rem;
}

/* line 44, app/assets/stylesheets/dashboard_loading.scss */
.dashboard-loading-overlay .loading-spinner p {
  margin-top: 1rem;
  color: #6c757d;
  font-size: 0.9rem;
}

/* line 53, app/assets/stylesheets/dashboard_loading.scss */
.erp-dashboard-module.is-loading {
  opacity: 0.6;
  pointer-events: none;
}

/* line 59, app/assets/stylesheets/dashboard_loading.scss */
.dashboard-skeleton, .skeleton-text, .skeleton-table, .skeleton-chart, .skeleton-kpi-card, .skeleton-card {
  animation: skeleton-pulse 1.5s ease-in-out infinite;
  background: linear-gradient(90deg, #f8f9fa 25%, #e9ecef 50%, #f8f9fa 75%);
  background-size: 200% 100%;
  border-radius: 4px;
}

@keyframes skeleton-pulse {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

/* line 76, app/assets/stylesheets/dashboard_loading.scss */
.skeleton-card {
  height: 200px;
  margin-bottom: 1rem;
}

/* line 83, app/assets/stylesheets/dashboard_loading.scss */
.skeleton-kpi-card {
  height: 120px;
  border-radius: 8px;
  margin-bottom: 1rem;
}

/* line 91, app/assets/stylesheets/dashboard_loading.scss */
.skeleton-chart {
  height: 300px;
  border-radius: 8px;
  margin-bottom: 1rem;
}

/* line 99, app/assets/stylesheets/dashboard_loading.scss */
.skeleton-table {
  height: 400px;
  border-radius: 8px;
  margin-bottom: 1rem;
}

/* line 107, app/assets/stylesheets/dashboard_loading.scss */
.skeleton-text {
  height: 16px;
  margin-bottom: 8px;
}

/* line 112, app/assets/stylesheets/dashboard_loading.scss */
.skeleton-text.large {
  height: 24px;
}

/* line 116, app/assets/stylesheets/dashboard_loading.scss */
.skeleton-text.small {
  height: 12px;
}

/* line 120, app/assets/stylesheets/dashboard_loading.scss */
.skeleton-text.half {
  width: 50%;
}

/* line 124, app/assets/stylesheets/dashboard_loading.scss */
.skeleton-text.quarter {
  width: 25%;
}

/* line 130, app/assets/stylesheets/dashboard_loading.scss */
.chart-loading {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 100;
  background: rgba(255, 255, 255, 0.95);
  padding: 1rem;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #6c757d;
  font-size: 0.9rem;
}

/* line 146, app/assets/stylesheets/dashboard_loading.scss */
.chart-loading i {
  animation: spin 1s linear infinite;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* line 161, app/assets/stylesheets/dashboard_loading.scss */
.card-loading {
  position: relative;
  min-height: 200px;
}

/* line 165, app/assets/stylesheets/dashboard_loading.scss */
.card-loading::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
}

/* line 181, app/assets/stylesheets/dashboard_loading.scss */
.dashboard-content-loaded {
  animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 768px) {
  /* line 200, app/assets/stylesheets/dashboard_loading.scss */
  .dashboard-loading-overlay .loading-spinner .spinner-border {
    width: 2rem;
    height: 2rem;
  }
  /* line 205, app/assets/stylesheets/dashboard_loading.scss */
  .dashboard-loading-overlay .loading-spinner p {
    font-size: 0.8rem;
  }
  /* line 211, app/assets/stylesheets/dashboard_loading.scss */
  .skeleton-kpi-card {
    height: 100px;
  }
  /* line 215, app/assets/stylesheets/dashboard_loading.scss */
  .skeleton-chart {
    height: 250px;
  }
}
/* line 4, app/assets/stylesheets/dashboard_period_filter.scss */
.dashboard-period-filters {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px;
  width: 100%;
}

/* line 12, app/assets/stylesheets/dashboard_period_filter.scss */
.dashboard-period-filters .filter-group-date {
  flex: 0 0 auto;
  width: auto;
  min-width: 140px;
  max-width: 160px;
}

/* line 18, app/assets/stylesheets/dashboard_period_filter.scss */
.dashboard-period-filters .filter-group-date .form-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  color: #495057;
  margin-bottom: 0.25rem;
  white-space: nowrap;
}

/* line 27, app/assets/stylesheets/dashboard_period_filter.scss */
.dashboard-period-filters .filter-group-date .form-control-sm {
  font-size: 0.875rem;
  padding: 0.375rem 0.5rem;
  height: calc(1.5em + 0.75rem + 2px);
  width: 100%;
  min-width: 140px;
}

/* line 36, app/assets/stylesheets/dashboard_period_filter.scss */
.dashboard-period-filters .filter-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  gap: 6px;
  align-items: flex-end;
  flex: 1 1 auto;
  min-width: 0;
}

/* line 45, app/assets/stylesheets/dashboard_period_filter.scss */
.dashboard-period-filters .filter-actions .btn-panel {
  font-size: 0.75rem;
  padding: 0.375rem 0.75rem;
  white-space: nowrap;
  flex-shrink: 0;
  height: calc(1.5em + 0.75rem + 2px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1.5;
  margin-bottom: 0;
}

/* line 57, app/assets/stylesheets/dashboard_period_filter.scss */
.dashboard-period-filters .filter-actions .btn-panel i {
  font-size: 0.7rem;
  margin-right: 4px;
}

@media (max-width: 1400px) {
  /* line 68, app/assets/stylesheets/dashboard_period_filter.scss */
  .dashboard-period-filters .filter-group-date {
    min-width: 130px;
    max-width: 150px;
  }
  /* line 74, app/assets/stylesheets/dashboard_period_filter.scss */
  .dashboard-period-filters .filter-actions .btn-panel {
    font-size: 0.7rem;
    padding: 0.3rem 0.6rem;
  }
  /* line 78, app/assets/stylesheets/dashboard_period_filter.scss */
  .dashboard-period-filters .filter-actions .btn-panel i {
    margin-right: 3px;
  }
}

@media (max-width: 1200px) {
  /* line 87, app/assets/stylesheets/dashboard_period_filter.scss */
  .dashboard-period-filters {
    flex-wrap: wrap;
  }
  /* line 90, app/assets/stylesheets/dashboard_period_filter.scss */
  .dashboard-period-filters .filter-group-date {
    min-width: 120px;
    max-width: 140px;
  }
  /* line 95, app/assets/stylesheets/dashboard_period_filter.scss */
  .dashboard-period-filters .filter-actions {
    flex: 1 1 100%;
    margin-top: 0;
  }
  /* line 99, app/assets/stylesheets/dashboard_period_filter.scss */
  .dashboard-period-filters .filter-actions .btn-panel {
    font-size: 0.7rem;
    padding: 0.3rem 0.5rem;
  }
  /* line 103, app/assets/stylesheets/dashboard_period_filter.scss */
  .dashboard-period-filters .filter-actions .btn-panel i {
    margin-right: 3px;
  }
}

@media (max-width: 992px) {
  /* line 112, app/assets/stylesheets/dashboard_period_filter.scss */
  .dashboard-period-filters {
    flex-direction: column !important;
    align-items: stretch;
  }
  /* line 116, app/assets/stylesheets/dashboard_period_filter.scss */
  .dashboard-period-filters .filter-group-date {
    min-width: 100%;
    max-width: 100%;
  }
  /* line 121, app/assets/stylesheets/dashboard_period_filter.scss */
  .dashboard-period-filters .filter-actions {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  /* line 126, app/assets/stylesheets/dashboard_period_filter.scss */
  .dashboard-period-filters .filter-actions .btn-panel {
    flex: 1 1 auto;
    min-width: calc(50% - 3px);
  }
}

@media (max-width: 576px) {
  /* line 137, app/assets/stylesheets/dashboard_period_filter.scss */
  .dashboard-period-filters .filter-actions .btn-panel {
    flex: 1 1 100%;
    min-width: 100%;
  }
  /* line 141, app/assets/stylesheets/dashboard_period_filter.scss */
  .dashboard-period-filters .filter-actions .btn-panel i {
    display: none;
  }
}
@charset "UTF-8";
/* line 26, app/assets/stylesheets/erp-saas-system.scss */
:root {
  --erp-primary: #2c3e50;
  --erp-primary-light: #34495e;
  --erp-primary-dark: #1a252f;
  --erp-secondary: #7f8c8d;
  --erp-success: #27ae60;
  --erp-warning: #f39c12;
  --erp-danger: #e74c3c;
  --erp-info: #3498db;
  --erp-gray-900: #212529;
  --erp-gray-800: #343a40;
  --erp-gray-700: #495057;
  --erp-gray-600: #6c757d;
  --erp-gray-500: #adb5bd;
  --erp-gray-400: #ced4da;
  --erp-gray-300: #dee2e6;
  --erp-gray-200: #e9ecef;
  --erp-gray-100: #f8f9fa;
  --erp-gray-50: #ffffff;
  --erp-shadow-light: 0 1px 3px rgba(0, 0, 0, 0.05);
  --erp-shadow-medium: 0 2px 6px rgba(0, 0, 0, 0.08);
  --erp-shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
  --erp-shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.15);
  --erp-border-radius: 4px;
  --erp-border-radius-lg: 8px;
  --erp-border-radius-xl: 12px;
  --erp-border-color: #dee2e6;
  --erp-spacing-xs: 0.25rem;
  --erp-spacing-sm: 0.5rem;
  --erp-spacing-md: 1rem;
  --erp-spacing-lg: 1.5rem;
  --erp-spacing-xl: 2rem;
}

/* line 74, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card {
  background: white;
  border-radius: var(--erp-border-radius);
  padding: 10px 12px;
  box-shadow: var(--erp-shadow-light);
  border: 1px solid var(--erp-border-color);
  border-left: 3px solid var(--erp-primary);
  display: flex;
  align-items: center;
  gap: 10px;
  transition: all 0.2s ease;
  width: 100%;
  flex: 1;
  min-height: 56px;
  box-sizing: border-box;
}

/* line 90, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card:hover {
  transform: translateY(-1px);
  box-shadow: var(--erp-shadow-medium);
}

/* line 95, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card.success {
  border-left-color: var(--erp-success);
}

/* line 98, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card.success .stat-icon {
  background: rgba(39, 174, 96, 0.1);
  color: var(--erp-success);
}

/* line 104, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card.warning {
  border-left-color: var(--erp-warning);
}

/* line 107, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card.warning .stat-icon {
  background: rgba(243, 156, 18, 0.1);
  color: var(--erp-warning);
}

/* line 113, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card.danger {
  border-left-color: var(--erp-danger);
}

/* line 116, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card.danger .stat-icon {
  background: rgba(231, 76, 60, 0.1);
  color: var(--erp-danger);
}

/* line 122, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card.info {
  border-left-color: var(--erp-info);
}

/* line 125, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card.info .stat-icon {
  background: rgba(52, 152, 219, 0.1);
  color: var(--erp-info);
}

/* line 131, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card.orange {
  border-left-color: #fd7e14;
}

/* line 134, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card.orange .stat-icon {
  background: rgba(253, 126, 20, 0.1);
  color: #fd7e14;
}

/* line 140, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card.dark {
  border-left-color: var(--erp-gray-800);
}

/* line 143, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card.dark .stat-icon {
  background: rgba(52, 58, 64, 0.1);
  color: var(--erp-gray-800);
}

/* line 150, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card.filled {
  background: var(--erp-primary) !important;
  border-left-color: var(--erp-primary) !important;
  border-color: var(--erp-primary) !important;
}

/* line 157, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card.filled .stat-content h3,
.erp-stat-card.filled .stat-content .erp-stat-value {
  color: var(--gray-50) !important;
}

/* line 162, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card.filled .stat-content p,
.erp-stat-card.filled .stat-content .erp-stat-label {
  color: rgba(255, 255, 255, 0.9) !important;
}

/* line 168, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card.filled .stat-icon {
  background: rgba(255, 255, 255, 0.2) !important;
  color: var(--gray-50) !important;
}

/* line 173, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card.filled.info {
  background: var(--erp-info) !important;
  border-left-color: var(--erp-info) !important;
  border-color: var(--erp-info) !important;
}

/* line 179, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card.filled.success {
  background: var(--erp-success) !important;
  border-left-color: var(--erp-success) !important;
  border-color: var(--erp-success) !important;
}

/* line 185, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card.filled.danger {
  background: var(--erp-danger) !important;
  border-left-color: var(--erp-danger) !important;
  border-color: var(--erp-danger) !important;
}

/* line 191, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card.filled.warning {
  background: var(--erp-warning) !important;
  border-left-color: var(--erp-warning) !important;
  border-color: var(--erp-warning) !important;
}

/* line 197, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card.filled.orange {
  background: #fd7e14 !important;
  border-left-color: #fd7e14 !important;
  border-color: #fd7e14 !important;
}

/* line 203, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card.filled.dark {
  background: var(--erp-gray-800) !important;
  border-left-color: var(--erp-gray-800) !important;
  border-color: var(--erp-gray-800) !important;
}

/* line 210, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card .stat-icon,
.erp-stat-card .erp-stat-icon {
  width: 34px;
  height: 34px;
  border-radius: var(--erp-border-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  flex-shrink: 0;
  background: rgba(44, 62, 80, 0.08);
  color: var(--erp-primary);
}

/* line 224, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card .stat-content,
.erp-stat-card .erp-stat-content {
  flex: 1;
  min-width: 0;
}

/* line 229, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card .stat-content h3,
.erp-stat-card .stat-content .erp-stat-value,
.erp-stat-card .erp-stat-content h3,
.erp-stat-card .erp-stat-content .erp-stat-value {
  font-size: 18px;
  font-weight: 700;
  margin: 0;
  color: var(--gray-900);
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 241, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card .stat-content p,
.erp-stat-card .stat-content .erp-stat-label,
.erp-stat-card .erp-stat-content p,
.erp-stat-card .erp-stat-content .erp-stat-label {
  font-size: 10px;
  color: var(--gray-600);
  margin: 2px 0 0;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 252, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card .stat-content .stat-subtitle,
.erp-stat-card .erp-stat-content .stat-subtitle {
  color: var(--gray-500);
  margin-top: 1px;
}

/* line 258, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card .stat-trend {
  font-size: 12px;
  margin-top: 5px;
}

/* line 262, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card .stat-trend.up {
  color: var(--erp-success);
}

/* line 266, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card .stat-trend.down {
  color: var(--erp-danger);
}

/* line 270, app/assets/stylesheets/erp-saas-system.scss */
.erp-stat-card .stat-trend.flat {
  color: var(--gray-600);
}

/* line 277, app/assets/stylesheets/erp-saas-system.scss */
.mini-stat-card {
  background: var(--gray-50);
  border-radius: var(--erp-border-radius);
  padding: 15px;
  box-shadow: var(--erp-shadow-light);
  text-align: center;
  transition: all 0.3s ease;
}

/* line 285, app/assets/stylesheets/erp-saas-system.scss */
.mini-stat-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--erp-shadow-medium);
}

/* line 290, app/assets/stylesheets/erp-saas-system.scss */
.mini-stat-card .icon {
  font-size: 32px;
  color: var(--erp-primary);
  margin-bottom: 10px;
}

/* line 296, app/assets/stylesheets/erp-saas-system.scss */
.mini-stat-card h4 {
  font-size: 24px;
  font-weight: 700;
  margin: 0;
}

/* line 302, app/assets/stylesheets/erp-saas-system.scss */
.mini-stat-card p {
  font-size: 12px;
  color: var(--gray-600);
  margin: 5px 0 0;
}

/* line 322, app/assets/stylesheets/erp-saas-system.scss */
.billing-dashboard-page .row > [class*="col-"] {
  min-width: 0;
}

/* line 326, app/assets/stylesheets/erp-saas-system.scss */
.billing-dashboard-page .row > .col-12 {
  flex: 0 0 100%;
  max-width: 100%;
}

@media (min-width: 576px) {
  /* line 331, app/assets/stylesheets/erp-saas-system.scss */
  .billing-dashboard-page .row > .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (min-width: 768px) {
  /* line 338, app/assets/stylesheets/erp-saas-system.scss */
  .billing-dashboard-page .row > .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
}

@media (min-width: 768px) {
  /* line 345, app/assets/stylesheets/erp-saas-system.scss */
  .billing-dashboard-page .row > .col-md-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
}

@media (min-width: 768px) {
  /* line 352, app/assets/stylesheets/erp-saas-system.scss */
  .billing-dashboard-page .row > .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (min-width: 768px) {
  /* line 359, app/assets/stylesheets/erp-saas-system.scss */
  .billing-dashboard-page .row > .col-md-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
}

@media (min-width: 992px) {
  /* line 366, app/assets/stylesheets/erp-saas-system.scss */
  .billing-dashboard-page .row > .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
}

/* line 376, app/assets/stylesheets/erp-saas-system.scss */
.chart-card {
  background: var(--gray-50);
  border-radius: var(--erp-border-radius);
  padding: 20px;
  box-shadow: var(--erp-shadow-light);
}

/* line 382, app/assets/stylesheets/erp-saas-system.scss */
.chart-card .chart-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--gray-200);
}

/* line 391, app/assets/stylesheets/erp-saas-system.scss */
.chart-card .chart-card-title {
  font-size: 16px;
  font-weight: 600;
  margin: 0;
}

/* line 397, app/assets/stylesheets/erp-saas-system.scss */
.chart-card .chart-card-body {
  position: relative;
  min-height: 300px;
}

/* line 408, app/assets/stylesheets/erp-saas-system.scss */
.form-grid {
  display: grid;
  gap: 16px;
  margin-bottom: 24px;
}

/* line 413, app/assets/stylesheets/erp-saas-system.scss */
.form-grid.one-column {
  grid-template-columns: 1fr;
}

/* line 417, app/assets/stylesheets/erp-saas-system.scss */
.form-grid.two-columns {
  grid-template-columns: 1fr 1fr;
}

/* line 421, app/assets/stylesheets/erp-saas-system.scss */
.form-grid.three-columns {
  grid-template-columns: 1fr 1fr 1fr;
}

/* line 425, app/assets/stylesheets/erp-saas-system.scss */
.form-grid.four-columns {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

@media (max-width: 768px) {
  /* line 432, app/assets/stylesheets/erp-saas-system.scss */
  .form-grid.two-columns, .form-grid.three-columns, .form-grid.four-columns {
    grid-template-columns: 1fr;
  }
}

/* line 441, app/assets/stylesheets/erp-saas-system.scss */
.form-field {
  display: flex;
  flex-direction: column;
}

/* line 445, app/assets/stylesheets/erp-saas-system.scss */
.form-field.span-2 {
  grid-column: span 2;
}

/* line 449, app/assets/stylesheets/erp-saas-system.scss */
.form-field.span-3 {
  grid-column: span 3;
}

/* line 453, app/assets/stylesheets/erp-saas-system.scss */
.form-field.span-4 {
  grid-column: span 4;
}

@media (max-width: 768px) {
  /* line 460, app/assets/stylesheets/erp-saas-system.scss */
  .form-field.span-2, .form-field.span-3, .form-field.span-4 {
    grid-column: span 1;
  }
}

/* line 469, app/assets/stylesheets/erp-saas-system.scss */
.form-label {
  font-size: 12px;
  font-weight: 500;
  color: var(--gray-700);
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 4px;
}

/* line 478, app/assets/stylesheets/erp-saas-system.scss */
.form-label .required {
  color: var(--erp-danger);
}

/* line 484, app/assets/stylesheets/erp-saas-system.scss */
.form-value {
  font-size: 14px;
  color: var(--gray-800);
  line-height: 1.5;
  word-wrap: break-word;
}

/* line 490, app/assets/stylesheets/erp-saas-system.scss */
.form-value strong {
  font-weight: 600;
  color: var(--gray-900);
}

/* line 497, app/assets/stylesheets/erp-saas-system.scss */
.form-control,
.form-select {
  border: 1px solid #d2d6de;
  border-radius: var(--erp-border-radius);
  padding: 8px 12px;
  font-size: 13px;
  background: #fff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* line 506, app/assets/stylesheets/erp-saas-system.scss */
.form-control:focus,
.form-select:focus {
  outline: none;
  border-color: #3c8dbc;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
}

/* line 512, app/assets/stylesheets/erp-saas-system.scss */
.form-control:disabled,
.form-select:disabled {
  background: var(--gray-100);
  color: var(--gray-600);
  cursor: not-allowed;
}

/* line 520, app/assets/stylesheets/erp-saas-system.scss */
.form-control-sm {
  padding: 6px 10px;
  font-size: 12px;
}

/* line 526, app/assets/stylesheets/erp-saas-system.scss */
.form-help {
  font-size: 11px;
  color: var(--gray-500);
  margin-top: 4px;
}

/* line 534, app/assets/stylesheets/erp-saas-system.scss */
.form-field.has-error .form-control {
  border-color: var(--erp-danger);
}

/* line 538, app/assets/stylesheets/erp-saas-system.scss */
.form-field.has-error .form-label {
  color: var(--erp-danger);
}

/* line 542, app/assets/stylesheets/erp-saas-system.scss */
.form-field.has-error .form-error {
  font-size: 11px;
  color: var(--erp-danger);
  margin-top: 4px;
}

/* line 550, app/assets/stylesheets/erp-saas-system.scss */
.form-field.has-success .form-control {
  border-color: var(--erp-success);
}

/* line 556, app/assets/stylesheets/erp-saas-system.scss */
.file-upload-area {
  border: 2px dashed var(--gray-300);
  border-radius: var(--erp-border-radius);
  padding: 30px;
  text-align: center;
  background: var(--gray-50);
  cursor: pointer;
  transition: all 0.2s ease;
}

/* line 565, app/assets/stylesheets/erp-saas-system.scss */
.file-upload-area:hover {
  border-color: var(--erp-primary);
  background: rgba(44, 62, 80, 0.02);
}

/* line 570, app/assets/stylesheets/erp-saas-system.scss */
.file-upload-area i {
  font-size: 48px;
  color: var(--gray-400);
  margin-bottom: 15px;
  display: block;
}

/* line 577, app/assets/stylesheets/erp-saas-system.scss */
.file-upload-area p {
  margin: 10px 0;
  color: var(--gray-700);
}

/* line 582, app/assets/stylesheets/erp-saas-system.scss */
.file-upload-area small {
  color: var(--gray-500);
}

/* line 592, app/assets/stylesheets/erp-saas-system.scss */
.erp-table {
  width: 100%;
  background: var(--gray-50);
  border-collapse: collapse;
  font-size: 13px;
}

/* line 598, app/assets/stylesheets/erp-saas-system.scss */
.erp-table thead th {
  background: var(--gray-200);
  color: var(--gray-800);
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 12px 10px;
  border-bottom: 2px solid var(--border-color, #dee2e6);
  text-align: left;
  white-space: nowrap;
}

/* line 611, app/assets/stylesheets/erp-saas-system.scss */
.erp-table tbody td {
  padding: 10px;
  border-bottom: 1px solid var(--gray-200);
  vertical-align: middle;
}

/* line 617, app/assets/stylesheets/erp-saas-system.scss */
.erp-table tbody tr {
  transition: background-color 0.2s ease;
}

/* line 620, app/assets/stylesheets/erp-saas-system.scss */
.erp-table tbody tr:hover {
  background: var(--gray-50);
}

/* line 624, app/assets/stylesheets/erp-saas-system.scss */
.erp-table tbody tr.selected {
  background: rgba(44, 62, 80, 0.05);
}

/* line 631, app/assets/stylesheets/erp-saas-system.scss */
tr.table-success-soft,
.table-success-soft {
  background-color: rgba(39, 174, 96, 0.1) !important;
}

/* line 635, app/assets/stylesheets/erp-saas-system.scss */
tr.table-success-soft:hover,
.table-success-soft:hover {
  background-color: rgba(39, 174, 96, 0.15) !important;
}

/* line 639, app/assets/stylesheets/erp-saas-system.scss */
tr.table-success-soft > td,
tr.table-success-soft > th,
.table-success-soft > td,
.table-success-soft > th {
  background-color: transparent !important;
}

/* line 650, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp {
  padding: 8px 16px;
  border: 1px solid transparent;
  border-radius: var(--erp-border-radius);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
}

/* line 663, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp:hover {
  text-decoration: none;
}

/* line 667, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* line 674, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-primary {
  background: var(--erp-primary);
  border-color: var(--erp-primary);
  color: var(--gray-50);
}

/* line 679, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-primary:hover {
  background: var(--erp-primary-light);
  border-color: var(--erp-primary-light);
  color: var(--gray-50);
}

/* line 686, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-success {
  background: var(--erp-success);
  border-color: var(--erp-success);
  color: var(--gray-50);
}

/* line 691, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-success:hover {
  background: #219a52;
  color: var(--gray-50);
}

/* line 697, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-danger {
  background: var(--erp-danger);
  border-color: var(--erp-danger);
  color: var(--gray-50);
}

/* line 702, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-danger:hover {
  background: #c0392b;
  color: var(--gray-50);
}

/* line 708, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-warning {
  background: var(--erp-warning);
  border-color: var(--erp-warning);
  color: var(--gray-50);
}

/* line 713, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-warning:hover {
  background: #e67e22;
  color: var(--gray-50);
}

/* line 719, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-info {
  background: var(--erp-info);
  border-color: var(--erp-info);
  color: var(--gray-50);
}

/* line 724, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-info:hover {
  background: #2980b9;
  color: var(--gray-50);
}

/* line 730, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-secondary {
  background: var(--gray-50);
  border-color: var(--gray-300);
  color: var(--gray-700);
}

/* line 735, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-secondary:hover {
  background: var(--gray-50);
  border-color: var(--gray-400);
  color: var(--gray-800);
}

/* line 743, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-sm {
  padding: 8px 14px;
  font-size: 14px;
}

/* line 748, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-lg {
  padding: 12px 24px;
  font-size: 14px;
}

/* line 754, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-outline-primary {
  background: transparent;
  border-color: var(--erp-primary);
  color: var(--erp-primary);
}

/* line 759, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-outline-primary:hover {
  background: var(--erp-primary);
  color: var(--gray-50);
}

/* line 765, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-outline-success {
  background: transparent;
  border-color: var(--erp-success);
  color: var(--erp-success);
}

/* line 770, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-outline-success:hover {
  background: var(--erp-success);
  color: var(--gray-50);
}

/* line 776, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-outline-danger {
  background: transparent;
  border-color: var(--erp-danger);
  color: var(--erp-danger);
}

/* line 781, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-outline-danger:hover {
  background: var(--erp-danger);
  color: var(--gray-50);
}

/* line 787, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-outline-secondary {
  background: transparent;
  border-color: var(--erp-secondary);
  color: var(--erp-secondary);
}

/* line 792, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-outline-secondary:hover {
  background: var(--erp-secondary);
  color: var(--gray-50);
}

/* line 808, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-outline-info {
  background: transparent;
  border-color: var(--erp-info);
  color: var(--erp-info);
}

/* line 813, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-outline-info:hover {
  background: var(--erp-info);
  color: var(--gray-50);
  text-decoration: none;
}

/* line 820, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-outline-warning {
  background: transparent;
  border-color: var(--erp-warning);
  color: var(--erp-warning);
}

/* line 825, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp-outline-warning:hover {
  background: var(--erp-warning);
  color: var(--gray-50);
  text-decoration: none;
}

/* line 833, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp.loading {
  opacity: 0.7;
  cursor: wait;
}

/* line 837, app/assets/stylesheets/erp-saas-system.scss */
.btn-erp.loading i.spinner {
  animation: erp-spin 1s linear infinite;
}

@keyframes erp-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* line 857, app/assets/stylesheets/erp-saas-system.scss */
.erp-badge {
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  line-height: 1;
}

/* line 868, app/assets/stylesheets/erp-saas-system.scss */
.erp-badge i {
  font-size: 10px;
}

/* line 874, app/assets/stylesheets/erp-saas-system.scss */
.erp-badge.active,
.erp-badge.success {
  background: #d4edda;
  color: #155724;
}

/* line 880, app/assets/stylesheets/erp-saas-system.scss */
.erp-badge.inactive,
.erp-badge.danger {
  background: #f8d7da;
  color: #721c24;
}

/* line 886, app/assets/stylesheets/erp-saas-system.scss */
.erp-badge.pending,
.erp-badge.warning {
  background: #fff3cd;
  color: #856404;
}

/* line 892, app/assets/stylesheets/erp-saas-system.scss */
.erp-badge.info {
  background: #d1ecf1;
  color: #0c5460;
}

/* line 897, app/assets/stylesheets/erp-saas-system.scss */
.erp-badge.secondary {
  background: var(--gray-200);
  color: var(--gray-700);
}

/* line 902, app/assets/stylesheets/erp-saas-system.scss */
.erp-badge.primary {
  background: rgba(44, 62, 80, 0.1);
  color: var(--erp-primary);
}

/* line 908, app/assets/stylesheets/erp-saas-system.scss */
.priority-badge {
  padding: 3px 8px;
  border-radius: 3px;
  font-size: 10px;
  font-weight: 600;
  text-align: center;
  text-transform: uppercase;
  min-width: 60px;
  display: inline-block;
}

/* line 918, app/assets/stylesheets/erp-saas-system.scss */
.priority-badge.low {
  background: #d4edda;
  color: #155724;
}

/* line 923, app/assets/stylesheets/erp-saas-system.scss */
.priority-badge.medium {
  background: #fff3cd;
  color: #856404;
}

/* line 928, app/assets/stylesheets/erp-saas-system.scss */
.priority-badge.high {
  background: #f8d7da;
  color: #721c24;
}

/* line 933, app/assets/stylesheets/erp-saas-system.scss */
.priority-badge.urgent {
  background: #721c24;
  color: var(--gray-50);
}

/* line 944, app/assets/stylesheets/erp-saas-system.scss */
.erp-card {
  background: var(--gray-50);
  border: 1px solid var(--border-color, #dee2e6);
  border-radius: var(--erp-border-radius);
  box-shadow: var(--erp-shadow-light);
}

/* line 950, app/assets/stylesheets/erp-saas-system.scss */
.erp-card .erp-card-header {
  background: var(--gray-100);
  padding: 15px 20px;
  border-bottom: 1px solid var(--border-color, #dee2e6);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 959, app/assets/stylesheets/erp-saas-system.scss */
.erp-card .erp-card-title {
  font-size: 16px;
  font-weight: 600;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 967, app/assets/stylesheets/erp-saas-system.scss */
.erp-card .erp-card-title i {
  font-size: 18px;
  color: var(--erp-primary);
}

/* line 973, app/assets/stylesheets/erp-saas-system.scss */
.erp-card .erp-card-body {
  padding: 20px;
}

/* line 977, app/assets/stylesheets/erp-saas-system.scss */
.erp-card .erp-card-footer {
  background: var(--gray-50);
  padding: 15px 20px;
  border-top: 1px solid var(--border-color, #dee2e6);
}

/* line 984, app/assets/stylesheets/erp-saas-system.scss */
.erp-card.outline-primary {
  border-top: 3px solid var(--erp-primary);
}

/* line 988, app/assets/stylesheets/erp-saas-system.scss */
.erp-card.outline-success {
  border-top: 3px solid var(--erp-success);
}

/* line 992, app/assets/stylesheets/erp-saas-system.scss */
.erp-card.outline-warning {
  border-top: 3px solid var(--erp-warning);
}

/* line 996, app/assets/stylesheets/erp-saas-system.scss */
.erp-card.outline-danger {
  border-top: 3px solid var(--erp-danger);
}

/* line 1000, app/assets/stylesheets/erp-saas-system.scss */
.erp-card.outline-info {
  border-top: 3px solid var(--erp-info);
}

/* line 1004, app/assets/stylesheets/erp-saas-system.scss */
.erp-card.outline-secondary {
  border-top: 3px solid var(--erp-secondary);
}

/* line 1009, app/assets/stylesheets/erp-saas-system.scss */
.erp-card.collapsible .erp-card-header {
  cursor: pointer;
}

/* line 1012, app/assets/stylesheets/erp-saas-system.scss */
.erp-card.collapsible .erp-card-header:hover {
  background: var(--gray-200);
}

/* line 1023, app/assets/stylesheets/erp-saas-system.scss */
.erp-tabs {
  border-bottom: 2px solid var(--gray-200);
  display: flex;
  gap: 0;
  margin-bottom: 20px;
}

/* line 1029, app/assets/stylesheets/erp-saas-system.scss */
.erp-tabs .erp-tab {
  padding: 12px 20px;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  color: var(--gray-600);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 1044, app/assets/stylesheets/erp-saas-system.scss */
.erp-tabs .erp-tab:hover {
  background: var(--gray-50);
  color: var(--gray-800);
  text-decoration: none;
}

/* line 1050, app/assets/stylesheets/erp-saas-system.scss */
.erp-tabs .erp-tab.active {
  color: var(--erp-primary);
  border-bottom-color: var(--erp-primary);
}

/* line 1055, app/assets/stylesheets/erp-saas-system.scss */
.erp-tabs .erp-tab i {
  font-size: 14px;
}

/* line 1061, app/assets/stylesheets/erp-saas-system.scss */
.erp-tab-content {
  padding: 20px 0;
}

/* line 1065, app/assets/stylesheets/erp-saas-system.scss */
.erp-tab-pane {
  display: none;
}

/* line 1068, app/assets/stylesheets/erp-saas-system.scss */
.erp-tab-pane.active {
  display: block;
}

/* line 1078, app/assets/stylesheets/erp-saas-system.scss */
.erp-alert {
  padding: 12px 16px;
  border-radius: var(--erp-border-radius);
  border-left: 4px solid;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 15px;
}

/* line 1087, app/assets/stylesheets/erp-saas-system.scss */
.erp-alert i {
  font-size: 18px;
  margin-top: 2px;
  flex-shrink: 0;
}

/* line 1093, app/assets/stylesheets/erp-saas-system.scss */
.erp-alert.success {
  background: #d4edda;
  border-left-color: var(--erp-success);
  color: #155724;
}

/* line 1099, app/assets/stylesheets/erp-saas-system.scss */
.erp-alert.danger {
  background: #f8d7da;
  border-left-color: var(--erp-danger);
  color: #721c24;
}

/* line 1105, app/assets/stylesheets/erp-saas-system.scss */
.erp-alert.warning {
  background: #fff3cd;
  border-left-color: var(--erp-warning);
  color: #856404;
}

/* line 1111, app/assets/stylesheets/erp-saas-system.scss */
.erp-alert.info {
  background: #d1ecf1;
  border-left-color: var(--erp-info);
  color: #0c5460;
}

/* line 1123, app/assets/stylesheets/erp-saas-system.scss */
.erp-breadcrumb {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 10px 0;
  font-size: 13px;
}

/* line 1130, app/assets/stylesheets/erp-saas-system.scss */
.erp-breadcrumb .erp-breadcrumb-item {
  color: var(--gray-600);
}

/* line 1133, app/assets/stylesheets/erp-saas-system.scss */
.erp-breadcrumb .erp-breadcrumb-item a {
  color: var(--erp-primary);
  text-decoration: none;
}

/* line 1137, app/assets/stylesheets/erp-saas-system.scss */
.erp-breadcrumb .erp-breadcrumb-item a:hover {
  text-decoration: underline;
}

/* line 1142, app/assets/stylesheets/erp-saas-system.scss */
.erp-breadcrumb .erp-breadcrumb-item:not(:last-child)::after {
  content: "›";
  margin-left: 8px;
  color: var(--gray-400);
}

/* line 1151, app/assets/stylesheets/erp-saas-system.scss */
.erp-pagination {
  display: flex;
  gap: 4px;
  align-items: center;
}

/* line 1156, app/assets/stylesheets/erp-saas-system.scss */
.erp-pagination .erp-pagination-btn {
  padding: 6px 12px;
  border: 1px solid var(--gray-300);
  background: var(--gray-50);
  color: var(--gray-700);
  border-radius: var(--erp-border-radius);
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
}

/* line 1166, app/assets/stylesheets/erp-saas-system.scss */
.erp-pagination .erp-pagination-btn:hover:not(:disabled) {
  background: var(--gray-50);
  border-color: var(--gray-400);
}

/* line 1171, app/assets/stylesheets/erp-saas-system.scss */
.erp-pagination .erp-pagination-btn.active {
  background: var(--erp-primary);
  border-color: var(--erp-primary);
  color: var(--gray-50);
}

/* line 1177, app/assets/stylesheets/erp-saas-system.scss */
.erp-pagination .erp-pagination-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* line 1189, app/assets/stylesheets/erp-saas-system.scss */
.erp-spinner {
  width: 40px;
  height: 40px;
  border: 4px solid var(--gray-200);
  border-top-color: var(--erp-primary);
  border-radius: 50%;
  animation: erp-spin 1s linear infinite;
}

/* line 1197, app/assets/stylesheets/erp-saas-system.scss */
.erp-spinner.erp-spinner-sm {
  width: 20px;
  height: 20px;
  border-width: 2px;
}

/* line 1205, app/assets/stylesheets/erp-saas-system.scss */
.erp-progress {
  height: 20px;
  background: var(--gray-200);
  border-radius: 10px;
  overflow: hidden;
}

/* line 1211, app/assets/stylesheets/erp-saas-system.scss */
.erp-progress .erp-progress-bar {
  height: 100%;
  background: var(--erp-primary);
  transition: width 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gray-50);
  font-size: 11px;
  font-weight: 600;
}

/* line 1222, app/assets/stylesheets/erp-saas-system.scss */
.erp-progress .erp-progress-bar.success {
  background: var(--erp-success);
}

/* line 1226, app/assets/stylesheets/erp-saas-system.scss */
.erp-progress .erp-progress-bar.warning {
  background: var(--erp-warning);
}

/* line 1230, app/assets/stylesheets/erp-saas-system.scss */
.erp-progress .erp-progress-bar.danger {
  background: var(--erp-danger);
}

/* line 1237, app/assets/stylesheets/erp-saas-system.scss */
.erp-accordion-item {
  background: var(--gray-50);
  border: 1px solid var(--border-color, #dee2e6);
  border-radius: var(--erp-border-radius);
  margin-bottom: 10px;
}

/* line 1243, app/assets/stylesheets/erp-saas-system.scss */
.erp-accordion-item .erp-accordion-header {
  padding: 15px 20px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 500;
  transition: background-color 0.2s ease;
}

/* line 1252, app/assets/stylesheets/erp-saas-system.scss */
.erp-accordion-item .erp-accordion-header:hover {
  background: var(--gray-50);
}

/* line 1256, app/assets/stylesheets/erp-saas-system.scss */
.erp-accordion-item .erp-accordion-header i {
  transition: transform 0.3s ease;
}

/* line 1261, app/assets/stylesheets/erp-saas-system.scss */
.erp-accordion-item .erp-accordion-body {
  padding: 0 20px 20px;
  display: none;
}

/* line 1267, app/assets/stylesheets/erp-saas-system.scss */
.erp-accordion-item.active .erp-accordion-body {
  display: block;
}

/* line 1271, app/assets/stylesheets/erp-saas-system.scss */
.erp-accordion-item.active .erp-accordion-header i {
  transform: rotate(180deg);
}

/* line 1282, app/assets/stylesheets/erp-saas-system.scss */
.text-erp-primary {
  color: var(--erp-primary) !important;
}

/* line 1286, app/assets/stylesheets/erp-saas-system.scss */
.text-erp-success {
  color: var(--erp-success) !important;
}

/* line 1290, app/assets/stylesheets/erp-saas-system.scss */
.text-erp-danger {
  color: var(--erp-danger) !important;
}

/* line 1294, app/assets/stylesheets/erp-saas-system.scss */
.text-erp-warning {
  color: var(--erp-warning) !important;
}

/* line 1298, app/assets/stylesheets/erp-saas-system.scss */
.text-erp-info {
  color: var(--erp-info) !important;
}

/* line 1303, app/assets/stylesheets/erp-saas-system.scss */
.bg-erp-primary {
  background-color: var(--erp-primary) !important;
}

/* line 1307, app/assets/stylesheets/erp-saas-system.scss */
.bg-erp-success {
  background-color: var(--erp-success) !important;
}

/* line 1311, app/assets/stylesheets/erp-saas-system.scss */
.bg-erp-danger {
  background-color: var(--erp-danger) !important;
}

/* line 1315, app/assets/stylesheets/erp-saas-system.scss */
.bg-erp-warning {
  background-color: var(--erp-warning) !important;
}

/* line 1319, app/assets/stylesheets/erp-saas-system.scss */
.bg-erp-info {
  background-color: var(--erp-info) !important;
}

/* line 1324, app/assets/stylesheets/erp-saas-system.scss */
.border-erp-primary {
  border-color: var(--erp-primary) !important;
}

/* line 1328, app/assets/stylesheets/erp-saas-system.scss */
.border-erp-success {
  border-color: var(--erp-success) !important;
}

/* line 1332, app/assets/stylesheets/erp-saas-system.scss */
.border-erp-danger {
  border-color: var(--erp-danger) !important;
}

/* line 1337, app/assets/stylesheets/erp-saas-system.scss */
.shadow-erp-light {
  box-shadow: var(--erp-shadow-light) !important;
}

/* line 1341, app/assets/stylesheets/erp-saas-system.scss */
.shadow-erp-medium {
  box-shadow: var(--erp-shadow-medium) !important;
}

/* line 1345, app/assets/stylesheets/erp-saas-system.scss */
.shadow-erp-lg {
  box-shadow: var(--erp-shadow-lg) !important;
}

/* line 1350, app/assets/stylesheets/erp-saas-system.scss */
.rounded-erp {
  border-radius: var(--erp-border-radius) !important;
}

/* line 1354, app/assets/stylesheets/erp-saas-system.scss */
.rounded-erp-lg {
  border-radius: var(--erp-border-radius-lg) !important;
}

/* line 1363, app/assets/stylesheets/erp-saas-system.scss */
.stats-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 6px;
  padding: 6px;
  background: var(--gray-50);
  border-bottom: 1px solid var(--border-color, #dee2e6);
  width: 100%;
  overflow: visible;
  box-sizing: border-box;
}

/* line 1375, app/assets/stylesheets/erp-saas-system.scss */
.stats-row .erp-stat-card {
  flex: 1;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
}

/* line 1386, app/assets/stylesheets/erp-saas-system.scss */
.main-container.payables-module,
.main-container.receivables-module,
.main-container.financial-module,
.main-container.works-module,
.main-container.categories-module,
.main-container.services-module,
.main-container.equipments-module,
.main-container.people-module,
.main-container.users-module,
.main-container.admin-users-module,
.main-container.roles-module,
.main-container.tenants-module,
.main-container.admin-tenants-module,
.main-container.admin-system-health-module,
.main-container.admin-analytics-module,
.main-container.admin-logs-module,
.main-container.admin-impersonation-dashboard-module,
.main-container.admin-performance-monitor-module,
.main-container.admin-security-management-module,
.main-container.admin-saas-plan-adjustments-module,
.main-container.admin-saas-plan-adjustments-weekly-report-module,
.main-container.admin-saas-notification-configs-module,
.main-container.admin-saas-commercial-analytics-module,
.main-container.admin-i18n-monitoring-module,
.main-container.admin-saas-payments-module,
.main-container.rentals-module,
.main-container.departments-module,
.main-container.financials-module,
.main-container.cost-centers-module,
.main-container.price-tables-module,
.main-container.rental-items-module,
.main-container.rental-services-module,
.main-container.rental-movements-module,
.main-container.bank-accounts-module,
.main-container.rental-prebilling-templates-module,
.main-container.financial-transactions-module,
.main-container.bank-reconciliations-module,
.main-container.financial-reports-dashboard-module {
  padding: 12px;
  overflow: visible !important;
}

/* line 1427, app/assets/stylesheets/erp-saas-system.scss */
.main-container.payables-module .control-panel,
.main-container.receivables-module .control-panel,
.main-container.financial-module .control-panel,
.main-container.works-module .control-panel,
.main-container.categories-module .control-panel,
.main-container.services-module .control-panel,
.main-container.equipments-module .control-panel,
.main-container.people-module .control-panel,
.main-container.users-module .control-panel,
.main-container.admin-users-module .control-panel,
.main-container.roles-module .control-panel,
.main-container.tenants-module .control-panel,
.main-container.admin-tenants-module .control-panel,
.main-container.admin-system-health-module .control-panel,
.main-container.admin-analytics-module .control-panel,
.main-container.admin-logs-module .control-panel,
.main-container.admin-impersonation-dashboard-module .control-panel,
.main-container.admin-performance-monitor-module .control-panel,
.main-container.admin-security-management-module .control-panel,
.main-container.admin-saas-plan-adjustments-module .control-panel,
.main-container.admin-saas-plan-adjustments-weekly-report-module .control-panel,
.main-container.admin-saas-notification-configs-module .control-panel,
.main-container.admin-saas-commercial-analytics-module .control-panel,
.main-container.admin-i18n-monitoring-module .control-panel,
.main-container.admin-saas-payments-module .control-panel,
.main-container.rentals-module .control-panel,
.main-container.departments-module .control-panel,
.main-container.financials-module .control-panel,
.main-container.cost-centers-module .control-panel,
.main-container.price-tables-module .control-panel,
.main-container.rental-items-module .control-panel,
.main-container.rental-services-module .control-panel,
.main-container.rental-movements-module .control-panel,
.main-container.bank-accounts-module .control-panel,
.main-container.rental-prebilling-templates-module .control-panel,
.main-container.financial-transactions-module .control-panel,
.main-container.bank-reconciliations-module .control-panel,
.main-container.financial-reports-dashboard-module .control-panel {
  margin-bottom: 12px;
  overflow: visible !important;
}

/* line 1432, app/assets/stylesheets/erp-saas-system.scss */
.main-container.payables-module .panel-header,
.main-container.receivables-module .panel-header,
.main-container.financial-module .panel-header,
.main-container.works-module .panel-header,
.main-container.categories-module .panel-header,
.main-container.services-module .panel-header,
.main-container.equipments-module .panel-header,
.main-container.people-module .panel-header,
.main-container.users-module .panel-header,
.main-container.admin-users-module .panel-header,
.main-container.roles-module .panel-header,
.main-container.tenants-module .panel-header,
.main-container.admin-tenants-module .panel-header,
.main-container.admin-system-health-module .panel-header,
.main-container.admin-analytics-module .panel-header,
.main-container.admin-logs-module .panel-header,
.main-container.admin-impersonation-dashboard-module .panel-header,
.main-container.admin-performance-monitor-module .panel-header,
.main-container.admin-security-management-module .panel-header,
.main-container.admin-saas-plan-adjustments-module .panel-header,
.main-container.admin-saas-plan-adjustments-weekly-report-module .panel-header,
.main-container.admin-saas-notification-configs-module .panel-header,
.main-container.admin-saas-commercial-analytics-module .panel-header,
.main-container.admin-i18n-monitoring-module .panel-header,
.main-container.admin-saas-payments-module .panel-header,
.main-container.rentals-module .panel-header,
.main-container.departments-module .panel-header,
.main-container.financials-module .panel-header,
.main-container.cost-centers-module .panel-header,
.main-container.price-tables-module .panel-header,
.main-container.rental-items-module .panel-header,
.main-container.rental-services-module .panel-header,
.main-container.rental-movements-module .panel-header,
.main-container.bank-accounts-module .panel-header,
.main-container.rental-prebilling-templates-module .panel-header,
.main-container.financial-transactions-module .panel-header,
.main-container.bank-reconciliations-module .panel-header,
.main-container.financial-reports-dashboard-module .panel-header {
  padding: 12px 16px;
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 1439, app/assets/stylesheets/erp-saas-system.scss */
.main-container.payables-module .panel-header .panel-title,
.main-container.receivables-module .panel-header .panel-title,
.main-container.financial-module .panel-header .panel-title,
.main-container.works-module .panel-header .panel-title,
.main-container.categories-module .panel-header .panel-title,
.main-container.services-module .panel-header .panel-title,
.main-container.equipments-module .panel-header .panel-title,
.main-container.people-module .panel-header .panel-title,
.main-container.users-module .panel-header .panel-title,
.main-container.admin-users-module .panel-header .panel-title,
.main-container.roles-module .panel-header .panel-title,
.main-container.tenants-module .panel-header .panel-title,
.main-container.admin-tenants-module .panel-header .panel-title,
.main-container.admin-system-health-module .panel-header .panel-title,
.main-container.admin-analytics-module .panel-header .panel-title,
.main-container.admin-logs-module .panel-header .panel-title,
.main-container.admin-impersonation-dashboard-module .panel-header .panel-title,
.main-container.admin-performance-monitor-module .panel-header .panel-title,
.main-container.admin-security-management-module .panel-header .panel-title,
.main-container.admin-saas-plan-adjustments-module .panel-header .panel-title,
.main-container.admin-saas-plan-adjustments-weekly-report-module .panel-header .panel-title,
.main-container.admin-saas-notification-configs-module .panel-header .panel-title,
.main-container.admin-saas-commercial-analytics-module .panel-header .panel-title,
.main-container.admin-i18n-monitoring-module .panel-header .panel-title,
.main-container.admin-saas-payments-module .panel-header .panel-title,
.main-container.rentals-module .panel-header .panel-title,
.main-container.departments-module .panel-header .panel-title,
.main-container.financials-module .panel-header .panel-title,
.main-container.cost-centers-module .panel-header .panel-title,
.main-container.price-tables-module .panel-header .panel-title,
.main-container.rental-items-module .panel-header .panel-title,
.main-container.rental-services-module .panel-header .panel-title,
.main-container.rental-movements-module .panel-header .panel-title,
.main-container.bank-accounts-module .panel-header .panel-title,
.main-container.rental-prebilling-templates-module .panel-header .panel-title,
.main-container.financial-transactions-module .panel-header .panel-title,
.main-container.bank-reconciliations-module .panel-header .panel-title,
.main-container.financial-reports-dashboard-module .panel-header .panel-title {
  margin: 0;
  line-height: 1.2;
  font-size: 1.1rem;
  font-weight: 600;
}

/* line 1446, app/assets/stylesheets/erp-saas-system.scss */
.main-container.payables-module .panel-header .panel-actions,
.main-container.receivables-module .panel-header .panel-actions,
.main-container.financial-module .panel-header .panel-actions,
.main-container.works-module .panel-header .panel-actions,
.main-container.categories-module .panel-header .panel-actions,
.main-container.services-module .panel-header .panel-actions,
.main-container.equipments-module .panel-header .panel-actions,
.main-container.people-module .panel-header .panel-actions,
.main-container.users-module .panel-header .panel-actions,
.main-container.admin-users-module .panel-header .panel-actions,
.main-container.roles-module .panel-header .panel-actions,
.main-container.tenants-module .panel-header .panel-actions,
.main-container.admin-tenants-module .panel-header .panel-actions,
.main-container.admin-system-health-module .panel-header .panel-actions,
.main-container.admin-analytics-module .panel-header .panel-actions,
.main-container.admin-logs-module .panel-header .panel-actions,
.main-container.admin-impersonation-dashboard-module .panel-header .panel-actions,
.main-container.admin-performance-monitor-module .panel-header .panel-actions,
.main-container.admin-security-management-module .panel-header .panel-actions,
.main-container.admin-saas-plan-adjustments-module .panel-header .panel-actions,
.main-container.admin-saas-plan-adjustments-weekly-report-module .panel-header .panel-actions,
.main-container.admin-saas-notification-configs-module .panel-header .panel-actions,
.main-container.admin-saas-commercial-analytics-module .panel-header .panel-actions,
.main-container.admin-i18n-monitoring-module .panel-header .panel-actions,
.main-container.admin-saas-payments-module .panel-header .panel-actions,
.main-container.rentals-module .panel-header .panel-actions,
.main-container.departments-module .panel-header .panel-actions,
.main-container.financials-module .panel-header .panel-actions,
.main-container.cost-centers-module .panel-header .panel-actions,
.main-container.price-tables-module .panel-header .panel-actions,
.main-container.rental-items-module .panel-header .panel-actions,
.main-container.rental-services-module .panel-header .panel-actions,
.main-container.rental-movements-module .panel-header .panel-actions,
.main-container.bank-accounts-module .panel-header .panel-actions,
.main-container.rental-prebilling-templates-module .panel-header .panel-actions,
.main-container.financial-transactions-module .panel-header .panel-actions,
.main-container.bank-reconciliations-module .panel-header .panel-actions,
.main-container.financial-reports-dashboard-module .panel-header .panel-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 1454, app/assets/stylesheets/erp-saas-system.scss */
.main-container.payables-module .stats-row,
.main-container.receivables-module .stats-row,
.main-container.financial-module .stats-row,
.main-container.works-module .stats-row,
.main-container.categories-module .stats-row,
.main-container.services-module .stats-row,
.main-container.equipments-module .stats-row,
.main-container.people-module .stats-row,
.main-container.users-module .stats-row,
.main-container.admin-users-module .stats-row,
.main-container.roles-module .stats-row,
.main-container.tenants-module .stats-row,
.main-container.admin-tenants-module .stats-row,
.main-container.admin-system-health-module .stats-row,
.main-container.admin-analytics-module .stats-row,
.main-container.admin-logs-module .stats-row,
.main-container.admin-impersonation-dashboard-module .stats-row,
.main-container.admin-performance-monitor-module .stats-row,
.main-container.admin-security-management-module .stats-row,
.main-container.admin-saas-plan-adjustments-module .stats-row,
.main-container.admin-saas-plan-adjustments-weekly-report-module .stats-row,
.main-container.admin-saas-notification-configs-module .stats-row,
.main-container.admin-saas-commercial-analytics-module .stats-row,
.main-container.admin-i18n-monitoring-module .stats-row,
.main-container.admin-saas-payments-module .stats-row,
.main-container.rentals-module .stats-row,
.main-container.departments-module .stats-row,
.main-container.financials-module .stats-row,
.main-container.cost-centers-module .stats-row,
.main-container.price-tables-module .stats-row,
.main-container.rental-items-module .stats-row,
.main-container.rental-services-module .stats-row,
.main-container.rental-movements-module .stats-row,
.main-container.bank-accounts-module .stats-row,
.main-container.rental-prebilling-templates-module .stats-row,
.main-container.financial-transactions-module .stats-row,
.main-container.bank-reconciliations-module .stats-row,
.main-container.financial-reports-dashboard-module .stats-row {
  margin: 0;
  width: 100%;
  max-width: 100%;
}

/* line 1461, app/assets/stylesheets/erp-saas-system.scss */
.main-container.payables-module .filters-section,
.main-container.receivables-module .filters-section,
.main-container.financial-module .filters-section,
.main-container.works-module .filters-section,
.main-container.categories-module .filters-section,
.main-container.services-module .filters-section,
.main-container.equipments-module .filters-section,
.main-container.people-module .filters-section,
.main-container.users-module .filters-section,
.main-container.admin-users-module .filters-section,
.main-container.roles-module .filters-section,
.main-container.tenants-module .filters-section,
.main-container.admin-tenants-module .filters-section,
.main-container.admin-system-health-module .filters-section,
.main-container.admin-analytics-module .filters-section,
.main-container.admin-logs-module .filters-section,
.main-container.admin-impersonation-dashboard-module .filters-section,
.main-container.admin-performance-monitor-module .filters-section,
.main-container.admin-security-management-module .filters-section,
.main-container.admin-saas-plan-adjustments-module .filters-section,
.main-container.admin-saas-plan-adjustments-weekly-report-module .filters-section,
.main-container.admin-saas-notification-configs-module .filters-section,
.main-container.admin-saas-commercial-analytics-module .filters-section,
.main-container.admin-i18n-monitoring-module .filters-section,
.main-container.admin-saas-payments-module .filters-section,
.main-container.rentals-module .filters-section,
.main-container.departments-module .filters-section,
.main-container.financials-module .filters-section,
.main-container.cost-centers-module .filters-section,
.main-container.price-tables-module .filters-section,
.main-container.rental-items-module .filters-section,
.main-container.rental-services-module .filters-section,
.main-container.rental-movements-module .filters-section,
.main-container.bank-accounts-module .filters-section,
.main-container.rental-prebilling-templates-module .filters-section,
.main-container.financial-transactions-module .filters-section,
.main-container.bank-reconciliations-module .filters-section,
.main-container.financial-reports-dashboard-module .filters-section {
  padding: 12px 16px;
  overflow: visible !important;
  width: 100%;
  box-sizing: border-box;
  max-width: 100%;
}

/* line 1468, app/assets/stylesheets/erp-saas-system.scss */
.main-container.payables-module .filters-section .filters-row,
.main-container.receivables-module .filters-section .filters-row,
.main-container.financial-module .filters-section .filters-row,
.main-container.works-module .filters-section .filters-row,
.main-container.categories-module .filters-section .filters-row,
.main-container.services-module .filters-section .filters-row,
.main-container.equipments-module .filters-section .filters-row,
.main-container.people-module .filters-section .filters-row,
.main-container.users-module .filters-section .filters-row,
.main-container.admin-users-module .filters-section .filters-row,
.main-container.roles-module .filters-section .filters-row,
.main-container.tenants-module .filters-section .filters-row,
.main-container.admin-tenants-module .filters-section .filters-row,
.main-container.admin-system-health-module .filters-section .filters-row,
.main-container.admin-analytics-module .filters-section .filters-row,
.main-container.admin-logs-module .filters-section .filters-row,
.main-container.admin-impersonation-dashboard-module .filters-section .filters-row,
.main-container.admin-performance-monitor-module .filters-section .filters-row,
.main-container.admin-security-management-module .filters-section .filters-row,
.main-container.admin-saas-plan-adjustments-module .filters-section .filters-row,
.main-container.admin-saas-plan-adjustments-weekly-report-module .filters-section .filters-row,
.main-container.admin-saas-notification-configs-module .filters-section .filters-row,
.main-container.admin-saas-commercial-analytics-module .filters-section .filters-row,
.main-container.admin-i18n-monitoring-module .filters-section .filters-row,
.main-container.admin-saas-payments-module .filters-section .filters-row,
.main-container.rentals-module .filters-section .filters-row,
.main-container.departments-module .filters-section .filters-row,
.main-container.financials-module .filters-section .filters-row,
.main-container.cost-centers-module .filters-section .filters-row,
.main-container.price-tables-module .filters-section .filters-row,
.main-container.rental-items-module .filters-section .filters-row,
.main-container.rental-services-module .filters-section .filters-row,
.main-container.rental-movements-module .filters-section .filters-row,
.main-container.bank-accounts-module .filters-section .filters-row,
.main-container.rental-prebilling-templates-module .filters-section .filters-row,
.main-container.financial-transactions-module .filters-section .filters-row,
.main-container.bank-reconciliations-module .filters-section .filters-row,
.main-container.financial-reports-dashboard-module .filters-section .filters-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 8px;
  align-items: end;
  min-width: 0;
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
  overflow: visible;
}

@media (min-width: 1400px) {
  /* line 1468, app/assets/stylesheets/erp-saas-system.scss */
  .main-container.payables-module .filters-section .filters-row,
.main-container.receivables-module .filters-section .filters-row,
.main-container.financial-module .filters-section .filters-row,
.main-container.works-module .filters-section .filters-row,
.main-container.categories-module .filters-section .filters-row,
.main-container.services-module .filters-section .filters-row,
.main-container.equipments-module .filters-section .filters-row,
.main-container.people-module .filters-section .filters-row,
.main-container.users-module .filters-section .filters-row,
.main-container.admin-users-module .filters-section .filters-row,
.main-container.roles-module .filters-section .filters-row,
.main-container.tenants-module .filters-section .filters-row,
.main-container.admin-tenants-module .filters-section .filters-row,
.main-container.admin-system-health-module .filters-section .filters-row,
.main-container.admin-analytics-module .filters-section .filters-row,
.main-container.admin-logs-module .filters-section .filters-row,
.main-container.admin-impersonation-dashboard-module .filters-section .filters-row,
.main-container.admin-performance-monitor-module .filters-section .filters-row,
.main-container.admin-security-management-module .filters-section .filters-row,
.main-container.admin-saas-plan-adjustments-module .filters-section .filters-row,
.main-container.admin-saas-plan-adjustments-weekly-report-module .filters-section .filters-row,
.main-container.admin-saas-notification-configs-module .filters-section .filters-row,
.main-container.admin-saas-commercial-analytics-module .filters-section .filters-row,
.main-container.admin-i18n-monitoring-module .filters-section .filters-row,
.main-container.admin-saas-payments-module .filters-section .filters-row,
.main-container.rentals-module .filters-section .filters-row,
.main-container.departments-module .filters-section .filters-row,
.main-container.financials-module .filters-section .filters-row,
.main-container.cost-centers-module .filters-section .filters-row,
.main-container.price-tables-module .filters-section .filters-row,
.main-container.rental-items-module .filters-section .filters-row,
.main-container.rental-services-module .filters-section .filters-row,
.main-container.rental-movements-module .filters-section .filters-row,
.main-container.bank-accounts-module .filters-section .filters-row,
.main-container.rental-prebilling-templates-module .filters-section .filters-row,
.main-container.financial-transactions-module .filters-section .filters-row,
.main-container.bank-reconciliations-module .filters-section .filters-row,
.main-container.financial-reports-dashboard-module .filters-section .filters-row {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  }
}

@media (max-width: 1400px) and (min-width: 1200px) {
  /* line 1468, app/assets/stylesheets/erp-saas-system.scss */
  .main-container.payables-module .filters-section .filters-row,
.main-container.receivables-module .filters-section .filters-row,
.main-container.financial-module .filters-section .filters-row,
.main-container.works-module .filters-section .filters-row,
.main-container.categories-module .filters-section .filters-row,
.main-container.services-module .filters-section .filters-row,
.main-container.equipments-module .filters-section .filters-row,
.main-container.people-module .filters-section .filters-row,
.main-container.users-module .filters-section .filters-row,
.main-container.admin-users-module .filters-section .filters-row,
.main-container.roles-module .filters-section .filters-row,
.main-container.tenants-module .filters-section .filters-row,
.main-container.admin-tenants-module .filters-section .filters-row,
.main-container.admin-system-health-module .filters-section .filters-row,
.main-container.admin-analytics-module .filters-section .filters-row,
.main-container.admin-logs-module .filters-section .filters-row,
.main-container.admin-impersonation-dashboard-module .filters-section .filters-row,
.main-container.admin-performance-monitor-module .filters-section .filters-row,
.main-container.admin-security-management-module .filters-section .filters-row,
.main-container.admin-saas-plan-adjustments-module .filters-section .filters-row,
.main-container.admin-saas-plan-adjustments-weekly-report-module .filters-section .filters-row,
.main-container.admin-saas-notification-configs-module .filters-section .filters-row,
.main-container.admin-saas-commercial-analytics-module .filters-section .filters-row,
.main-container.admin-i18n-monitoring-module .filters-section .filters-row,
.main-container.admin-saas-payments-module .filters-section .filters-row,
.main-container.rentals-module .filters-section .filters-row,
.main-container.departments-module .filters-section .filters-row,
.main-container.financials-module .filters-section .filters-row,
.main-container.cost-centers-module .filters-section .filters-row,
.main-container.price-tables-module .filters-section .filters-row,
.main-container.rental-items-module .filters-section .filters-row,
.main-container.rental-services-module .filters-section .filters-row,
.main-container.rental-movements-module .filters-section .filters-row,
.main-container.bank-accounts-module .filters-section .filters-row,
.main-container.rental-prebilling-templates-module .filters-section .filters-row,
.main-container.financial-transactions-module .filters-section .filters-row,
.main-container.bank-reconciliations-module .filters-section .filters-row,
.main-container.financial-reports-dashboard-module .filters-section .filters-row {
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 6px;
  }
}

@media (max-width: 1200px) {
  /* line 1468, app/assets/stylesheets/erp-saas-system.scss */
  .main-container.payables-module .filters-section .filters-row,
.main-container.receivables-module .filters-section .filters-row,
.main-container.financial-module .filters-section .filters-row,
.main-container.works-module .filters-section .filters-row,
.main-container.categories-module .filters-section .filters-row,
.main-container.services-module .filters-section .filters-row,
.main-container.equipments-module .filters-section .filters-row,
.main-container.people-module .filters-section .filters-row,
.main-container.users-module .filters-section .filters-row,
.main-container.admin-users-module .filters-section .filters-row,
.main-container.roles-module .filters-section .filters-row,
.main-container.tenants-module .filters-section .filters-row,
.main-container.admin-tenants-module .filters-section .filters-row,
.main-container.admin-system-health-module .filters-section .filters-row,
.main-container.admin-analytics-module .filters-section .filters-row,
.main-container.admin-logs-module .filters-section .filters-row,
.main-container.admin-impersonation-dashboard-module .filters-section .filters-row,
.main-container.admin-performance-monitor-module .filters-section .filters-row,
.main-container.admin-security-management-module .filters-section .filters-row,
.main-container.admin-saas-plan-adjustments-module .filters-section .filters-row,
.main-container.admin-saas-plan-adjustments-weekly-report-module .filters-section .filters-row,
.main-container.admin-saas-notification-configs-module .filters-section .filters-row,
.main-container.admin-saas-commercial-analytics-module .filters-section .filters-row,
.main-container.admin-i18n-monitoring-module .filters-section .filters-row,
.main-container.admin-saas-payments-module .filters-section .filters-row,
.main-container.rentals-module .filters-section .filters-row,
.main-container.departments-module .filters-section .filters-row,
.main-container.financials-module .filters-section .filters-row,
.main-container.cost-centers-module .filters-section .filters-row,
.main-container.price-tables-module .filters-section .filters-row,
.main-container.rental-items-module .filters-section .filters-row,
.main-container.rental-services-module .filters-section .filters-row,
.main-container.rental-movements-module .filters-section .filters-row,
.main-container.bank-accounts-module .filters-section .filters-row,
.main-container.rental-prebilling-templates-module .filters-section .filters-row,
.main-container.financial-transactions-module .filters-section .filters-row,
.main-container.bank-reconciliations-module .filters-section .filters-row,
.main-container.financial-reports-dashboard-module .filters-section .filters-row {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 6px;
  }
  /* line 1496, app/assets/stylesheets/erp-saas-system.scss */
  .main-container.payables-module .filters-section .filters-row .filter-actions,
.main-container.receivables-module .filters-section .filters-row .filter-actions,
.main-container.financial-module .filters-section .filters-row .filter-actions,
.main-container.works-module .filters-section .filters-row .filter-actions,
.main-container.categories-module .filters-section .filters-row .filter-actions,
.main-container.services-module .filters-section .filters-row .filter-actions,
.main-container.equipments-module .filters-section .filters-row .filter-actions,
.main-container.people-module .filters-section .filters-row .filter-actions,
.main-container.users-module .filters-section .filters-row .filter-actions,
.main-container.admin-users-module .filters-section .filters-row .filter-actions,
.main-container.roles-module .filters-section .filters-row .filter-actions,
.main-container.tenants-module .filters-section .filters-row .filter-actions,
.main-container.admin-tenants-module .filters-section .filters-row .filter-actions,
.main-container.admin-system-health-module .filters-section .filters-row .filter-actions,
.main-container.admin-analytics-module .filters-section .filters-row .filter-actions,
.main-container.admin-logs-module .filters-section .filters-row .filter-actions,
.main-container.admin-impersonation-dashboard-module .filters-section .filters-row .filter-actions,
.main-container.admin-performance-monitor-module .filters-section .filters-row .filter-actions,
.main-container.admin-security-management-module .filters-section .filters-row .filter-actions,
.main-container.admin-saas-plan-adjustments-module .filters-section .filters-row .filter-actions,
.main-container.admin-saas-plan-adjustments-weekly-report-module .filters-section .filters-row .filter-actions,
.main-container.admin-saas-notification-configs-module .filters-section .filters-row .filter-actions,
.main-container.admin-saas-commercial-analytics-module .filters-section .filters-row .filter-actions,
.main-container.admin-i18n-monitoring-module .filters-section .filters-row .filter-actions,
.main-container.admin-saas-payments-module .filters-section .filters-row .filter-actions,
.main-container.rentals-module .filters-section .filters-row .filter-actions,
.main-container.departments-module .filters-section .filters-row .filter-actions,
.main-container.financials-module .filters-section .filters-row .filter-actions,
.main-container.cost-centers-module .filters-section .filters-row .filter-actions,
.main-container.price-tables-module .filters-section .filters-row .filter-actions,
.main-container.rental-items-module .filters-section .filters-row .filter-actions,
.main-container.rental-services-module .filters-section .filters-row .filter-actions,
.main-container.rental-movements-module .filters-section .filters-row .filter-actions,
.main-container.bank-accounts-module .filters-section .filters-row .filter-actions,
.main-container.rental-prebilling-templates-module .filters-section .filters-row .filter-actions,
.main-container.financial-transactions-module .filters-section .filters-row .filter-actions,
.main-container.bank-reconciliations-module .filters-section .filters-row .filter-actions,
.main-container.financial-reports-dashboard-module .filters-section .filters-row .filter-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
    margin-top: 8px;
    width: 100%;
  }
}

@media (max-width: 768px) {
  /* line 1468, app/assets/stylesheets/erp-saas-system.scss */
  .main-container.payables-module .filters-section .filters-row,
.main-container.receivables-module .filters-section .filters-row,
.main-container.financial-module .filters-section .filters-row,
.main-container.works-module .filters-section .filters-row,
.main-container.categories-module .filters-section .filters-row,
.main-container.services-module .filters-section .filters-row,
.main-container.equipments-module .filters-section .filters-row,
.main-container.people-module .filters-section .filters-row,
.main-container.users-module .filters-section .filters-row,
.main-container.admin-users-module .filters-section .filters-row,
.main-container.roles-module .filters-section .filters-row,
.main-container.tenants-module .filters-section .filters-row,
.main-container.admin-tenants-module .filters-section .filters-row,
.main-container.admin-system-health-module .filters-section .filters-row,
.main-container.admin-analytics-module .filters-section .filters-row,
.main-container.admin-logs-module .filters-section .filters-row,
.main-container.admin-impersonation-dashboard-module .filters-section .filters-row,
.main-container.admin-performance-monitor-module .filters-section .filters-row,
.main-container.admin-security-management-module .filters-section .filters-row,
.main-container.admin-saas-plan-adjustments-module .filters-section .filters-row,
.main-container.admin-saas-plan-adjustments-weekly-report-module .filters-section .filters-row,
.main-container.admin-saas-notification-configs-module .filters-section .filters-row,
.main-container.admin-saas-commercial-analytics-module .filters-section .filters-row,
.main-container.admin-i18n-monitoring-module .filters-section .filters-row,
.main-container.admin-saas-payments-module .filters-section .filters-row,
.main-container.rentals-module .filters-section .filters-row,
.main-container.departments-module .filters-section .filters-row,
.main-container.financials-module .filters-section .filters-row,
.main-container.cost-centers-module .filters-section .filters-row,
.main-container.price-tables-module .filters-section .filters-row,
.main-container.rental-items-module .filters-section .filters-row,
.main-container.rental-services-module .filters-section .filters-row,
.main-container.rental-movements-module .filters-section .filters-row,
.main-container.bank-accounts-module .filters-section .filters-row,
.main-container.rental-prebilling-templates-module .filters-section .filters-row,
.main-container.financial-transactions-module .filters-section .filters-row,
.main-container.bank-reconciliations-module .filters-section .filters-row,
.main-container.financial-reports-dashboard-module .filters-section .filters-row {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* line 1510, app/assets/stylesheets/erp-saas-system.scss */
.main-container.payables-module .filters-section .filter-group,
.main-container.receivables-module .filters-section .filter-group,
.main-container.financial-module .filters-section .filter-group,
.main-container.works-module .filters-section .filter-group,
.main-container.categories-module .filters-section .filter-group,
.main-container.services-module .filters-section .filter-group,
.main-container.equipments-module .filters-section .filter-group,
.main-container.people-module .filters-section .filter-group,
.main-container.users-module .filters-section .filter-group,
.main-container.admin-users-module .filters-section .filter-group,
.main-container.roles-module .filters-section .filter-group,
.main-container.tenants-module .filters-section .filter-group,
.main-container.admin-tenants-module .filters-section .filter-group,
.main-container.admin-system-health-module .filters-section .filter-group,
.main-container.admin-analytics-module .filters-section .filter-group,
.main-container.admin-logs-module .filters-section .filter-group,
.main-container.admin-impersonation-dashboard-module .filters-section .filter-group,
.main-container.admin-performance-monitor-module .filters-section .filter-group,
.main-container.admin-security-management-module .filters-section .filter-group,
.main-container.admin-saas-plan-adjustments-module .filters-section .filter-group,
.main-container.admin-saas-plan-adjustments-weekly-report-module .filters-section .filter-group,
.main-container.admin-saas-notification-configs-module .filters-section .filter-group,
.main-container.admin-saas-commercial-analytics-module .filters-section .filter-group,
.main-container.admin-i18n-monitoring-module .filters-section .filter-group,
.main-container.admin-saas-payments-module .filters-section .filter-group,
.main-container.rentals-module .filters-section .filter-group,
.main-container.departments-module .filters-section .filter-group,
.main-container.financials-module .filters-section .filter-group,
.main-container.cost-centers-module .filters-section .filter-group,
.main-container.price-tables-module .filters-section .filter-group,
.main-container.rental-items-module .filters-section .filter-group,
.main-container.rental-services-module .filters-section .filter-group,
.main-container.rental-movements-module .filters-section .filter-group,
.main-container.bank-accounts-module .filters-section .filter-group,
.main-container.rental-prebilling-templates-module .filters-section .filter-group,
.main-container.financial-transactions-module .filters-section .filter-group,
.main-container.bank-reconciliations-module .filters-section .filter-group,
.main-container.financial-reports-dashboard-module .filters-section .filter-group {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

/* line 1515, app/assets/stylesheets/erp-saas-system.scss */
.main-container.payables-module .filters-section .filter-group label,
.main-container.receivables-module .filters-section .filter-group label,
.main-container.financial-module .filters-section .filter-group label,
.main-container.works-module .filters-section .filter-group label,
.main-container.categories-module .filters-section .filter-group label,
.main-container.services-module .filters-section .filter-group label,
.main-container.equipments-module .filters-section .filter-group label,
.main-container.people-module .filters-section .filter-group label,
.main-container.users-module .filters-section .filter-group label,
.main-container.admin-users-module .filters-section .filter-group label,
.main-container.roles-module .filters-section .filter-group label,
.main-container.tenants-module .filters-section .filter-group label,
.main-container.admin-tenants-module .filters-section .filter-group label,
.main-container.admin-system-health-module .filters-section .filter-group label,
.main-container.admin-analytics-module .filters-section .filter-group label,
.main-container.admin-logs-module .filters-section .filter-group label,
.main-container.admin-impersonation-dashboard-module .filters-section .filter-group label,
.main-container.admin-performance-monitor-module .filters-section .filter-group label,
.main-container.admin-security-management-module .filters-section .filter-group label,
.main-container.admin-saas-plan-adjustments-module .filters-section .filter-group label,
.main-container.admin-saas-plan-adjustments-weekly-report-module .filters-section .filter-group label,
.main-container.admin-saas-notification-configs-module .filters-section .filter-group label,
.main-container.admin-saas-commercial-analytics-module .filters-section .filter-group label,
.main-container.admin-i18n-monitoring-module .filters-section .filter-group label,
.main-container.admin-saas-payments-module .filters-section .filter-group label,
.main-container.rentals-module .filters-section .filter-group label,
.main-container.departments-module .filters-section .filter-group label,
.main-container.financials-module .filters-section .filter-group label,
.main-container.cost-centers-module .filters-section .filter-group label,
.main-container.price-tables-module .filters-section .filter-group label,
.main-container.rental-items-module .filters-section .filter-group label,
.main-container.rental-services-module .filters-section .filter-group label,
.main-container.rental-movements-module .filters-section .filter-group label,
.main-container.bank-accounts-module .filters-section .filter-group label,
.main-container.rental-prebilling-templates-module .filters-section .filter-group label,
.main-container.financial-transactions-module .filters-section .filter-group label,
.main-container.bank-reconciliations-module .filters-section .filter-group label,
.main-container.financial-reports-dashboard-module .filters-section .filter-group label {
  margin-bottom: 4px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
}

/* line 1522, app/assets/stylesheets/erp-saas-system.scss */
.main-container.payables-module .filters-section .filter-group .form-control,
.main-container.payables-module .filters-section .filter-group .form-control-sm,
.main-container.receivables-module .filters-section .filter-group .form-control,
.main-container.receivables-module .filters-section .filter-group .form-control-sm,
.main-container.financial-module .filters-section .filter-group .form-control,
.main-container.financial-module .filters-section .filter-group .form-control-sm,
.main-container.works-module .filters-section .filter-group .form-control,
.main-container.works-module .filters-section .filter-group .form-control-sm,
.main-container.categories-module .filters-section .filter-group .form-control,
.main-container.categories-module .filters-section .filter-group .form-control-sm,
.main-container.services-module .filters-section .filter-group .form-control,
.main-container.services-module .filters-section .filter-group .form-control-sm,
.main-container.equipments-module .filters-section .filter-group .form-control,
.main-container.equipments-module .filters-section .filter-group .form-control-sm,
.main-container.people-module .filters-section .filter-group .form-control,
.main-container.people-module .filters-section .filter-group .form-control-sm,
.main-container.users-module .filters-section .filter-group .form-control,
.main-container.users-module .filters-section .filter-group .form-control-sm,
.main-container.admin-users-module .filters-section .filter-group .form-control,
.main-container.admin-users-module .filters-section .filter-group .form-control-sm,
.main-container.roles-module .filters-section .filter-group .form-control,
.main-container.roles-module .filters-section .filter-group .form-control-sm,
.main-container.tenants-module .filters-section .filter-group .form-control,
.main-container.tenants-module .filters-section .filter-group .form-control-sm,
.main-container.admin-tenants-module .filters-section .filter-group .form-control,
.main-container.admin-tenants-module .filters-section .filter-group .form-control-sm,
.main-container.admin-system-health-module .filters-section .filter-group .form-control,
.main-container.admin-system-health-module .filters-section .filter-group .form-control-sm,
.main-container.admin-analytics-module .filters-section .filter-group .form-control,
.main-container.admin-analytics-module .filters-section .filter-group .form-control-sm,
.main-container.admin-logs-module .filters-section .filter-group .form-control,
.main-container.admin-logs-module .filters-section .filter-group .form-control-sm,
.main-container.admin-impersonation-dashboard-module .filters-section .filter-group .form-control,
.main-container.admin-impersonation-dashboard-module .filters-section .filter-group .form-control-sm,
.main-container.admin-performance-monitor-module .filters-section .filter-group .form-control,
.main-container.admin-performance-monitor-module .filters-section .filter-group .form-control-sm,
.main-container.admin-security-management-module .filters-section .filter-group .form-control,
.main-container.admin-security-management-module .filters-section .filter-group .form-control-sm,
.main-container.admin-saas-plan-adjustments-module .filters-section .filter-group .form-control,
.main-container.admin-saas-plan-adjustments-module .filters-section .filter-group .form-control-sm,
.main-container.admin-saas-plan-adjustments-weekly-report-module .filters-section .filter-group .form-control,
.main-container.admin-saas-plan-adjustments-weekly-report-module .filters-section .filter-group .form-control-sm,
.main-container.admin-saas-notification-configs-module .filters-section .filter-group .form-control,
.main-container.admin-saas-notification-configs-module .filters-section .filter-group .form-control-sm,
.main-container.admin-saas-commercial-analytics-module .filters-section .filter-group .form-control,
.main-container.admin-saas-commercial-analytics-module .filters-section .filter-group .form-control-sm,
.main-container.admin-i18n-monitoring-module .filters-section .filter-group .form-control,
.main-container.admin-i18n-monitoring-module .filters-section .filter-group .form-control-sm,
.main-container.admin-saas-payments-module .filters-section .filter-group .form-control,
.main-container.admin-saas-payments-module .filters-section .filter-group .form-control-sm,
.main-container.rentals-module .filters-section .filter-group .form-control,
.main-container.rentals-module .filters-section .filter-group .form-control-sm,
.main-container.departments-module .filters-section .filter-group .form-control,
.main-container.departments-module .filters-section .filter-group .form-control-sm,
.main-container.financials-module .filters-section .filter-group .form-control,
.main-container.financials-module .filters-section .filter-group .form-control-sm,
.main-container.cost-centers-module .filters-section .filter-group .form-control,
.main-container.cost-centers-module .filters-section .filter-group .form-control-sm,
.main-container.price-tables-module .filters-section .filter-group .form-control,
.main-container.price-tables-module .filters-section .filter-group .form-control-sm,
.main-container.rental-items-module .filters-section .filter-group .form-control,
.main-container.rental-items-module .filters-section .filter-group .form-control-sm,
.main-container.rental-services-module .filters-section .filter-group .form-control,
.main-container.rental-services-module .filters-section .filter-group .form-control-sm,
.main-container.rental-movements-module .filters-section .filter-group .form-control,
.main-container.rental-movements-module .filters-section .filter-group .form-control-sm,
.main-container.bank-accounts-module .filters-section .filter-group .form-control,
.main-container.bank-accounts-module .filters-section .filter-group .form-control-sm,
.main-container.rental-prebilling-templates-module .filters-section .filter-group .form-control,
.main-container.rental-prebilling-templates-module .filters-section .filter-group .form-control-sm,
.main-container.financial-transactions-module .filters-section .filter-group .form-control,
.main-container.financial-transactions-module .filters-section .filter-group .form-control-sm,
.main-container.bank-reconciliations-module .filters-section .filter-group .form-control,
.main-container.bank-reconciliations-module .filters-section .filter-group .form-control-sm,
.main-container.financial-reports-dashboard-module .filters-section .filter-group .form-control,
.main-container.financial-reports-dashboard-module .filters-section .filter-group .form-control-sm {
  width: 100%;
  height: 34px;
  min-height: 34px;
  max-height: 34px;
}

/* line 1531, app/assets/stylesheets/erp-saas-system.scss */
.main-container.payables-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.receivables-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.financial-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.works-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.categories-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.services-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.equipments-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.people-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.users-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.admin-users-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.roles-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.tenants-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.admin-tenants-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.admin-system-health-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.admin-analytics-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.admin-logs-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.admin-impersonation-dashboard-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.admin-performance-monitor-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.admin-security-management-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.admin-saas-plan-adjustments-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.admin-saas-plan-adjustments-weekly-report-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.admin-saas-notification-configs-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.admin-saas-commercial-analytics-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.admin-i18n-monitoring-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.admin-saas-payments-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.rentals-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.departments-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.financials-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.cost-centers-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.price-tables-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.rental-items-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.rental-services-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.rental-movements-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.bank-accounts-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.rental-prebilling-templates-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.financial-transactions-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.bank-reconciliations-module .filters-section .filter-group .ts-wrapper.form-control-sm,
.main-container.financial-reports-dashboard-module .filters-section .filter-group .ts-wrapper.form-control-sm {
  width: 100% !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  display: inline-block !important;
  vertical-align: top !important;
}

/* line 1539, app/assets/stylesheets/erp-saas-system.scss */
.main-container.payables-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.receivables-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.financial-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.works-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.categories-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.services-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.equipments-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.people-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.users-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.admin-users-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.roles-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.tenants-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.admin-tenants-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.admin-system-health-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.admin-analytics-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.admin-logs-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.admin-impersonation-dashboard-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.admin-performance-monitor-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.admin-security-management-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.admin-saas-plan-adjustments-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.admin-saas-plan-adjustments-weekly-report-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.admin-saas-notification-configs-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.admin-saas-commercial-analytics-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.admin-i18n-monitoring-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.admin-saas-payments-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.rentals-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.departments-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.financials-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.cost-centers-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.price-tables-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.rental-items-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.rental-services-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.rental-movements-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.bank-accounts-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.rental-prebilling-templates-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.financial-transactions-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.bank-reconciliations-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control,
.main-container.financial-reports-dashboard-module .filters-section .filter-group .ts-wrapper.form-control-sm .ts-control {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 6px 10px !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

/* line 1550, app/assets/stylesheets/erp-saas-system.scss */
.main-container.payables-module .filters-section .filter-group .ts-wrapper,
.main-container.receivables-module .filters-section .filter-group .ts-wrapper,
.main-container.financial-module .filters-section .filter-group .ts-wrapper,
.main-container.works-module .filters-section .filter-group .ts-wrapper,
.main-container.categories-module .filters-section .filter-group .ts-wrapper,
.main-container.services-module .filters-section .filter-group .ts-wrapper,
.main-container.equipments-module .filters-section .filter-group .ts-wrapper,
.main-container.people-module .filters-section .filter-group .ts-wrapper,
.main-container.users-module .filters-section .filter-group .ts-wrapper,
.main-container.admin-users-module .filters-section .filter-group .ts-wrapper,
.main-container.roles-module .filters-section .filter-group .ts-wrapper,
.main-container.tenants-module .filters-section .filter-group .ts-wrapper,
.main-container.admin-tenants-module .filters-section .filter-group .ts-wrapper,
.main-container.admin-system-health-module .filters-section .filter-group .ts-wrapper,
.main-container.admin-analytics-module .filters-section .filter-group .ts-wrapper,
.main-container.admin-logs-module .filters-section .filter-group .ts-wrapper,
.main-container.admin-impersonation-dashboard-module .filters-section .filter-group .ts-wrapper,
.main-container.admin-performance-monitor-module .filters-section .filter-group .ts-wrapper,
.main-container.admin-security-management-module .filters-section .filter-group .ts-wrapper,
.main-container.admin-saas-plan-adjustments-module .filters-section .filter-group .ts-wrapper,
.main-container.admin-saas-plan-adjustments-weekly-report-module .filters-section .filter-group .ts-wrapper,
.main-container.admin-saas-notification-configs-module .filters-section .filter-group .ts-wrapper,
.main-container.admin-saas-commercial-analytics-module .filters-section .filter-group .ts-wrapper,
.main-container.admin-i18n-monitoring-module .filters-section .filter-group .ts-wrapper,
.main-container.admin-saas-payments-module .filters-section .filter-group .ts-wrapper,
.main-container.rentals-module .filters-section .filter-group .ts-wrapper,
.main-container.departments-module .filters-section .filter-group .ts-wrapper,
.main-container.financials-module .filters-section .filter-group .ts-wrapper,
.main-container.cost-centers-module .filters-section .filter-group .ts-wrapper,
.main-container.price-tables-module .filters-section .filter-group .ts-wrapper,
.main-container.rental-items-module .filters-section .filter-group .ts-wrapper,
.main-container.rental-services-module .filters-section .filter-group .ts-wrapper,
.main-container.rental-movements-module .filters-section .filter-group .ts-wrapper,
.main-container.bank-accounts-module .filters-section .filter-group .ts-wrapper,
.main-container.rental-prebilling-templates-module .filters-section .filter-group .ts-wrapper,
.main-container.financial-transactions-module .filters-section .filter-group .ts-wrapper,
.main-container.bank-reconciliations-module .filters-section .filter-group .ts-wrapper,
.main-container.financial-reports-dashboard-module .filters-section .filter-group .ts-wrapper {
  position: relative;
  z-index: 1000;
}

/* line 1555, app/assets/stylesheets/erp-saas-system.scss */
.main-container.payables-module .filters-section .filter-group .ts-dropdown,
.main-container.receivables-module .filters-section .filter-group .ts-dropdown,
.main-container.financial-module .filters-section .filter-group .ts-dropdown,
.main-container.works-module .filters-section .filter-group .ts-dropdown,
.main-container.categories-module .filters-section .filter-group .ts-dropdown,
.main-container.services-module .filters-section .filter-group .ts-dropdown,
.main-container.equipments-module .filters-section .filter-group .ts-dropdown,
.main-container.people-module .filters-section .filter-group .ts-dropdown,
.main-container.users-module .filters-section .filter-group .ts-dropdown,
.main-container.admin-users-module .filters-section .filter-group .ts-dropdown,
.main-container.roles-module .filters-section .filter-group .ts-dropdown,
.main-container.tenants-module .filters-section .filter-group .ts-dropdown,
.main-container.admin-tenants-module .filters-section .filter-group .ts-dropdown,
.main-container.admin-system-health-module .filters-section .filter-group .ts-dropdown,
.main-container.admin-analytics-module .filters-section .filter-group .ts-dropdown,
.main-container.admin-logs-module .filters-section .filter-group .ts-dropdown,
.main-container.admin-impersonation-dashboard-module .filters-section .filter-group .ts-dropdown,
.main-container.admin-performance-monitor-module .filters-section .filter-group .ts-dropdown,
.main-container.admin-security-management-module .filters-section .filter-group .ts-dropdown,
.main-container.admin-saas-plan-adjustments-module .filters-section .filter-group .ts-dropdown,
.main-container.admin-saas-plan-adjustments-weekly-report-module .filters-section .filter-group .ts-dropdown,
.main-container.admin-saas-notification-configs-module .filters-section .filter-group .ts-dropdown,
.main-container.admin-saas-commercial-analytics-module .filters-section .filter-group .ts-dropdown,
.main-container.admin-i18n-monitoring-module .filters-section .filter-group .ts-dropdown,
.main-container.admin-saas-payments-module .filters-section .filter-group .ts-dropdown,
.main-container.rentals-module .filters-section .filter-group .ts-dropdown,
.main-container.departments-module .filters-section .filter-group .ts-dropdown,
.main-container.financials-module .filters-section .filter-group .ts-dropdown,
.main-container.cost-centers-module .filters-section .filter-group .ts-dropdown,
.main-container.price-tables-module .filters-section .filter-group .ts-dropdown,
.main-container.rental-items-module .filters-section .filter-group .ts-dropdown,
.main-container.rental-services-module .filters-section .filter-group .ts-dropdown,
.main-container.rental-movements-module .filters-section .filter-group .ts-dropdown,
.main-container.bank-accounts-module .filters-section .filter-group .ts-dropdown,
.main-container.rental-prebilling-templates-module .filters-section .filter-group .ts-dropdown,
.main-container.financial-transactions-module .filters-section .filter-group .ts-dropdown,
.main-container.bank-reconciliations-module .filters-section .filter-group .ts-dropdown,
.main-container.financial-reports-dashboard-module .filters-section .filter-group .ts-dropdown {
  z-index: 99999 !important;
}

/* line 1560, app/assets/stylesheets/erp-saas-system.scss */
.main-container.payables-module .filters-section .filter-actions,
.main-container.receivables-module .filters-section .filter-actions,
.main-container.financial-module .filters-section .filter-actions,
.main-container.works-module .filters-section .filter-actions,
.main-container.categories-module .filters-section .filter-actions,
.main-container.services-module .filters-section .filter-actions,
.main-container.equipments-module .filters-section .filter-actions,
.main-container.people-module .filters-section .filter-actions,
.main-container.users-module .filters-section .filter-actions,
.main-container.admin-users-module .filters-section .filter-actions,
.main-container.roles-module .filters-section .filter-actions,
.main-container.tenants-module .filters-section .filter-actions,
.main-container.admin-tenants-module .filters-section .filter-actions,
.main-container.admin-system-health-module .filters-section .filter-actions,
.main-container.admin-analytics-module .filters-section .filter-actions,
.main-container.admin-logs-module .filters-section .filter-actions,
.main-container.admin-impersonation-dashboard-module .filters-section .filter-actions,
.main-container.admin-performance-monitor-module .filters-section .filter-actions,
.main-container.admin-security-management-module .filters-section .filter-actions,
.main-container.admin-saas-plan-adjustments-module .filters-section .filter-actions,
.main-container.admin-saas-plan-adjustments-weekly-report-module .filters-section .filter-actions,
.main-container.admin-saas-notification-configs-module .filters-section .filter-actions,
.main-container.admin-saas-commercial-analytics-module .filters-section .filter-actions,
.main-container.admin-i18n-monitoring-module .filters-section .filter-actions,
.main-container.admin-saas-payments-module .filters-section .filter-actions,
.main-container.rentals-module .filters-section .filter-actions,
.main-container.departments-module .filters-section .filter-actions,
.main-container.financials-module .filters-section .filter-actions,
.main-container.cost-centers-module .filters-section .filter-actions,
.main-container.price-tables-module .filters-section .filter-actions,
.main-container.rental-items-module .filters-section .filter-actions,
.main-container.rental-services-module .filters-section .filter-actions,
.main-container.rental-movements-module .filters-section .filter-actions,
.main-container.bank-accounts-module .filters-section .filter-actions,
.main-container.rental-prebilling-templates-module .filters-section .filter-actions,
.main-container.financial-transactions-module .filters-section .filter-actions,
.main-container.bank-reconciliations-module .filters-section .filter-actions,
.main-container.financial-reports-dashboard-module .filters-section .filter-actions {
  display: flex;
  gap: 6px;
  flex-wrap: nowrap;
  min-width: fit-content;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: end;
}

/* line 1567, app/assets/stylesheets/erp-saas-system.scss */
.main-container.payables-module .filters-section .filter-actions .btn,
.main-container.receivables-module .filters-section .filter-actions .btn,
.main-container.financial-module .filters-section .filter-actions .btn,
.main-container.works-module .filters-section .filter-actions .btn,
.main-container.categories-module .filters-section .filter-actions .btn,
.main-container.services-module .filters-section .filter-actions .btn,
.main-container.equipments-module .filters-section .filter-actions .btn,
.main-container.people-module .filters-section .filter-actions .btn,
.main-container.users-module .filters-section .filter-actions .btn,
.main-container.admin-users-module .filters-section .filter-actions .btn,
.main-container.roles-module .filters-section .filter-actions .btn,
.main-container.tenants-module .filters-section .filter-actions .btn,
.main-container.admin-tenants-module .filters-section .filter-actions .btn,
.main-container.admin-system-health-module .filters-section .filter-actions .btn,
.main-container.admin-analytics-module .filters-section .filter-actions .btn,
.main-container.admin-logs-module .filters-section .filter-actions .btn,
.main-container.admin-impersonation-dashboard-module .filters-section .filter-actions .btn,
.main-container.admin-performance-monitor-module .filters-section .filter-actions .btn,
.main-container.admin-security-management-module .filters-section .filter-actions .btn,
.main-container.admin-saas-plan-adjustments-module .filters-section .filter-actions .btn,
.main-container.admin-saas-plan-adjustments-weekly-report-module .filters-section .filter-actions .btn,
.main-container.admin-saas-notification-configs-module .filters-section .filter-actions .btn,
.main-container.admin-saas-commercial-analytics-module .filters-section .filter-actions .btn,
.main-container.admin-i18n-monitoring-module .filters-section .filter-actions .btn,
.main-container.admin-saas-payments-module .filters-section .filter-actions .btn,
.main-container.rentals-module .filters-section .filter-actions .btn,
.main-container.departments-module .filters-section .filter-actions .btn,
.main-container.financials-module .filters-section .filter-actions .btn,
.main-container.cost-centers-module .filters-section .filter-actions .btn,
.main-container.price-tables-module .filters-section .filter-actions .btn,
.main-container.rental-items-module .filters-section .filter-actions .btn,
.main-container.rental-services-module .filters-section .filter-actions .btn,
.main-container.rental-movements-module .filters-section .filter-actions .btn,
.main-container.bank-accounts-module .filters-section .filter-actions .btn,
.main-container.rental-prebilling-templates-module .filters-section .filter-actions .btn,
.main-container.financial-transactions-module .filters-section .filter-actions .btn,
.main-container.bank-reconciliations-module .filters-section .filter-actions .btn,
.main-container.financial-reports-dashboard-module .filters-section .filter-actions .btn {
  white-space: nowrap;
  flex-shrink: 0;
}

/* line 1576, app/assets/stylesheets/erp-saas-system.scss */
.main-container.payables-module .filters-section .filter-actions .btn-panel,
.main-container.payables-module .filters-section .filter-actions .erp-button,
.main-container.receivables-module .filters-section .filter-actions .btn-panel,
.main-container.receivables-module .filters-section .filter-actions .erp-button,
.main-container.financial-module .filters-section .filter-actions .btn-panel,
.main-container.financial-module .filters-section .filter-actions .erp-button,
.main-container.works-module .filters-section .filter-actions .btn-panel,
.main-container.works-module .filters-section .filter-actions .erp-button,
.main-container.categories-module .filters-section .filter-actions .btn-panel,
.main-container.categories-module .filters-section .filter-actions .erp-button,
.main-container.services-module .filters-section .filter-actions .btn-panel,
.main-container.services-module .filters-section .filter-actions .erp-button,
.main-container.equipments-module .filters-section .filter-actions .btn-panel,
.main-container.equipments-module .filters-section .filter-actions .erp-button,
.main-container.people-module .filters-section .filter-actions .btn-panel,
.main-container.people-module .filters-section .filter-actions .erp-button,
.main-container.users-module .filters-section .filter-actions .btn-panel,
.main-container.users-module .filters-section .filter-actions .erp-button,
.main-container.admin-users-module .filters-section .filter-actions .btn-panel,
.main-container.admin-users-module .filters-section .filter-actions .erp-button,
.main-container.roles-module .filters-section .filter-actions .btn-panel,
.main-container.roles-module .filters-section .filter-actions .erp-button,
.main-container.tenants-module .filters-section .filter-actions .btn-panel,
.main-container.tenants-module .filters-section .filter-actions .erp-button,
.main-container.admin-tenants-module .filters-section .filter-actions .btn-panel,
.main-container.admin-tenants-module .filters-section .filter-actions .erp-button,
.main-container.admin-system-health-module .filters-section .filter-actions .btn-panel,
.main-container.admin-system-health-module .filters-section .filter-actions .erp-button,
.main-container.admin-analytics-module .filters-section .filter-actions .btn-panel,
.main-container.admin-analytics-module .filters-section .filter-actions .erp-button,
.main-container.admin-logs-module .filters-section .filter-actions .btn-panel,
.main-container.admin-logs-module .filters-section .filter-actions .erp-button,
.main-container.admin-impersonation-dashboard-module .filters-section .filter-actions .btn-panel,
.main-container.admin-impersonation-dashboard-module .filters-section .filter-actions .erp-button,
.main-container.admin-performance-monitor-module .filters-section .filter-actions .btn-panel,
.main-container.admin-performance-monitor-module .filters-section .filter-actions .erp-button,
.main-container.admin-security-management-module .filters-section .filter-actions .btn-panel,
.main-container.admin-security-management-module .filters-section .filter-actions .erp-button,
.main-container.admin-saas-plan-adjustments-module .filters-section .filter-actions .btn-panel,
.main-container.admin-saas-plan-adjustments-module .filters-section .filter-actions .erp-button,
.main-container.admin-saas-plan-adjustments-weekly-report-module .filters-section .filter-actions .btn-panel,
.main-container.admin-saas-plan-adjustments-weekly-report-module .filters-section .filter-actions .erp-button,
.main-container.admin-saas-notification-configs-module .filters-section .filter-actions .btn-panel,
.main-container.admin-saas-notification-configs-module .filters-section .filter-actions .erp-button,
.main-container.admin-saas-commercial-analytics-module .filters-section .filter-actions .btn-panel,
.main-container.admin-saas-commercial-analytics-module .filters-section .filter-actions .erp-button,
.main-container.admin-i18n-monitoring-module .filters-section .filter-actions .btn-panel,
.main-container.admin-i18n-monitoring-module .filters-section .filter-actions .erp-button,
.main-container.admin-saas-payments-module .filters-section .filter-actions .btn-panel,
.main-container.admin-saas-payments-module .filters-section .filter-actions .erp-button,
.main-container.rentals-module .filters-section .filter-actions .btn-panel,
.main-container.rentals-module .filters-section .filter-actions .erp-button,
.main-container.departments-module .filters-section .filter-actions .btn-panel,
.main-container.departments-module .filters-section .filter-actions .erp-button,
.main-container.financials-module .filters-section .filter-actions .btn-panel,
.main-container.financials-module .filters-section .filter-actions .erp-button,
.main-container.cost-centers-module .filters-section .filter-actions .btn-panel,
.main-container.cost-centers-module .filters-section .filter-actions .erp-button,
.main-container.price-tables-module .filters-section .filter-actions .btn-panel,
.main-container.price-tables-module .filters-section .filter-actions .erp-button,
.main-container.rental-items-module .filters-section .filter-actions .btn-panel,
.main-container.rental-items-module .filters-section .filter-actions .erp-button,
.main-container.rental-services-module .filters-section .filter-actions .btn-panel,
.main-container.rental-services-module .filters-section .filter-actions .erp-button,
.main-container.rental-movements-module .filters-section .filter-actions .btn-panel,
.main-container.rental-movements-module .filters-section .filter-actions .erp-button,
.main-container.bank-accounts-module .filters-section .filter-actions .btn-panel,
.main-container.bank-accounts-module .filters-section .filter-actions .erp-button,
.main-container.rental-prebilling-templates-module .filters-section .filter-actions .btn-panel,
.main-container.rental-prebilling-templates-module .filters-section .filter-actions .erp-button,
.main-container.financial-transactions-module .filters-section .filter-actions .btn-panel,
.main-container.financial-transactions-module .filters-section .filter-actions .erp-button,
.main-container.bank-reconciliations-module .filters-section .filter-actions .btn-panel,
.main-container.bank-reconciliations-module .filters-section .filter-actions .erp-button,
.main-container.financial-reports-dashboard-module .filters-section .filter-actions .btn-panel,
.main-container.financial-reports-dashboard-module .filters-section .filter-actions .erp-button {
  flex-shrink: 0;
  white-space: nowrap;
  font-size: 12px;
  padding: 6px 10px;
}

@media (max-width: 768px) {
  /* line 1590, app/assets/stylesheets/erp-saas-system.scss */
  .erp-stat-card,
.erp-card-body,
.chart-card {
    padding: 15px;
  }
  /* line 1597, app/assets/stylesheets/erp-saas-system.scss */
  .erp-stat-card .stat-content h3,
.erp-stat-card .stat-content .erp-stat-value {
    font-size: 24px;
  }
  /* line 1603, app/assets/stylesheets/erp-saas-system.scss */
  .btn-group-erp {
    flex-direction: column;
  }
  /* line 1606, app/assets/stylesheets/erp-saas-system.scss */
  .btn-group-erp .btn-erp {
    width: 100%;
    margin-bottom: 8px;
  }
  /* line 1613, app/assets/stylesheets/erp-saas-system.scss */
  .stats-row {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    padding: 12px;
  }
}

@media (max-width: 768px) and (max-width: 480px) {
  /* line 1620, app/assets/stylesheets/erp-saas-system.scss */
  .stats-row {
    grid-template-columns: 1fr;
  }
}

/* line 1630, app/assets/stylesheets/erp-saas-system.scss */
.actions-cell {
  white-space: nowrap;
}

/* line 1634, app/assets/stylesheets/erp-saas-system.scss */
.action-btn {
  padding: 4px 8px;
  margin: 0 2px;
  border: 1px solid transparent;
  border-radius: var(--erp-border-radius);
  background: transparent;
  color: var(--gray-600);
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* line 1649, app/assets/stylesheets/erp-saas-system.scss */
.action-btn:hover {
  background: var(--gray-100);
  color: var(--gray-800);
  border-color: var(--gray-300);
  text-decoration: none;
}

/* line 1656, app/assets/stylesheets/erp-saas-system.scss */
.action-btn.view:hover {
  background: rgba(52, 152, 219, 0.1);
  color: var(--erp-info);
  border-color: var(--erp-info);
}

/* line 1662, app/assets/stylesheets/erp-saas-system.scss */
.action-btn.edit:hover {
  background: rgba(243, 156, 18, 0.1);
  color: var(--erp-warning);
  border-color: var(--erp-warning);
}

/* line 1668, app/assets/stylesheets/erp-saas-system.scss */
.action-btn.delete:hover {
  background: rgba(231, 76, 60, 0.1);
  color: var(--erp-danger);
  border-color: var(--erp-danger);
}

/* line 1676, app/assets/stylesheets/erp-saas-system.scss */
.action-btn.payment {
  color: var(--erp-success);
  background: rgba(39, 174, 96, 0.08);
}

/* line 1680, app/assets/stylesheets/erp-saas-system.scss */
.action-btn.payment:hover {
  background: rgba(39, 174, 96, 0.1);
  color: var(--erp-success);
  border-color: var(--erp-success);
}
/* ERP Form Visual Styles - extracted from the HTML model */
:root {
  --primary: #2c3e50;
  --primary-light: #34495e;
  --secondary: #7f8c8d;
  --success: #27ae60;
  --warning: #f39c12;
  --danger: #e74c3c;
  --info: #3498db;
  --gray-900: #212529;
  --gray-800: #343a40;
  --gray-700: #495057;
  --gray-600: #6c757d;
  --gray-500: #adb5bd;
  --gray-400: #ced4da;
  --gray-300: #dee2e6;
  --gray-200: #e9ecef;
  --gray-100: #f8f9fa;
  --gray-50: #ffffff;
  --shadow-light: 0 1px 3px rgba(0,0,0,0.05);
  --shadow-medium: 0 2px 6px rgba(0,0,0,0.08);
  --border-radius: 4px;
  --border-color: #dee2e6;
}

body {
  background-color: var(--gray-100);
  color: var(--gray-800);
  font-size: 14px;
  line-height: 1.5;
}

.form-container {
  background: white;
  border: 1px solid var(--border-color);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-light);
  margin: 20px 0;
}

.form-header {
  background: var(--gray-100);
  padding: 16px 20px;
  border-bottom: 1px solid var(--border-color);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.form-title {
  font-weight: 600;
  font-size: 16px;
  color: var(--gray-800);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.form-number {
  background: var(--primary);
  color: white;
  padding: 4px 12px;
  border-radius: var(--border-radius);
  font-size: 12px;
  font-weight: 600;
}

.form-status {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}

.status-indicator {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--warning);
}

.form-tabs {
  border-bottom: 1px solid var(--border-color);
  background: var(--gray-50);
}

.nav-tabs {
  border-bottom: none;
  padding: 0 20px;
}

.nav-tabs .nav-link {
  border: none;
  border-radius: 0;
  color: var(--gray-600);
  font-size: 13px;
  font-weight: 500;
  padding: 12px 16px;
  background: transparent;
  border-bottom: 2px solid transparent;
}

.nav-tabs .nav-link.active {
  color: var(--primary);
  background: white;
  border-bottom-color: var(--primary);
}

.nav-tabs .nav-link:hover:not(.active) {
  background: rgba(44, 62, 80, 0.05);
  color: var(--gray-800);
}

.form-content {
  padding: 24px;
}

.form-actions {
  background: var(--gray-50);
  padding: 16px 24px;
  border-top: 1px solid var(--border-color);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.actions-left, .actions-right {
  display: flex;
  gap: 8px;
}

.btn-action {
  padding: 8px 16px;
  border: 1px solid var(--gray-300);
  border-radius: var(--border-radius);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
}

.btn-action.primary {
  background: var(--primary);
  border-color: var(--primary);
  color: white;
  box-shadow: none !important;
  background-image: none !important;
}

.btn-action.primary:hover {
  background: #1e2a38;
  border-color: #1e2a38;
  color: white;
  text-decoration: none;
  box-shadow: none !important;
  background-image: none !important;
}

.btn-action.success {
  background: var(--success);
  border-color: var(--success);
  color: white;
}

.btn-action.success:hover {
  background: #219a52;
  border-color: #219a52;
  color: white;
  text-decoration: none;
}

.btn-action.secondary {
  background: white;
  color: var(--gray-700);
}

.btn-action.secondary:hover {
  background: var(--gray-50);
  border-color: var(--gray-400);
  color: var(--gray-800);
  text-decoration: none;
}

.person-card-header {
  background: var(--gray-100);
  padding: 10px 20px;
  border-bottom: 1px solid var(--border-color);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* PAINEL DE CONTROLE E LISTAGEM */
.control-panel {
  background: white;
  border: 1px solid var(--border-color);
  border-radius: var(--border-radius);
  margin-bottom: 20px;
  box-shadow: var(--shadow-light);
}

.panel-header {
  background: var(--gray-100);
  padding: 12px 16px;
  border-bottom: 1px solid var(--border-color);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.panel-title {
  font-weight: 600;
  font-size: 14px;
  color: var(--gray-800);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.panel-actions {
  display: flex;
  gap: 8px;
}

.btn-panel {
  padding: 6px 12px;
  font-size: 12px;
  border-radius: var(--border-radius);
  border: 1px solid var(--gray-300);
  background: white;
  color: var(--gray-700);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
  cursor: pointer;
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

.btn-panel:hover {
  background: var(--gray-50);
  border-color: var(--gray-400);
  text-decoration: none;
  color: var(--gray-800);
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

.btn-panel.btn-primary {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: white !important;
  box-shadow: none !important;
  background-image: none !important;
  text-shadow: none !important;
  filter: none !important;
  transform: none !important;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}

.btn-panel.btn-primary:hover,
.btn-panel.btn-primary:focus,
.btn-panel.btn-primary:active {
  background: #1e2a38 !important;
  border-color: #1e2a38 !important;
  color: white !important;
  box-shadow: none !important;
  background-image: none !important;
  text-shadow: none !important;
  filter: none !important;
  transform: none !important;
  outline: none !important;
}

/* Botão Success - Nova OS */
.btn-panel.btn-success,
.btn.btn-success,
.btn-success {
  background: #28a745 !important;
  background-color: #28a745 !important;
  background-image: none !important;
  border-color: #28a745 !important;
  color: white !important;
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
  transform: none !important;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}

.btn-panel.btn-success:hover,
.btn-panel.btn-success:focus,
.btn-panel.btn-success:active,
.btn.btn-success:hover,
.btn.btn-success:focus,
.btn.btn-success:active,
.btn-success:hover,
.btn-success:focus,
.btn-success:active {
  background: #218838 !important;
  background-color: #218838 !important;
  background-image: none !important;
  border-color: #1e7e34 !important;
  color: white !important;
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
  transform: none !important;
  outline: none !important;
}

/* Força remoção do gradiente linear do trial.css */
.btn-success,
a.btn-success,
button.btn-success {
  background: #28a745 !important;
  background-color: #28a745 !important;
  background-image: none !important;
  border-color: #28a745 !important;
  color: white !important;
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

/* FILTROS */
.filters-section {
  padding: 16px;
  border-bottom: 1px solid var(--border-color);
  background: white;
}

.filters-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  align-items: end;
}

.filter-group label {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: var(--gray-700);
  margin-bottom: 4px;
}

.filter-group input,
.filter-group select {
  width: 100%;
  height: 34px;
  padding: 6px 10px;
  border: 1px solid #d2d6de;
  border-radius: 0.375rem;
  font-size: 14px;
  background: white;
}

.filter-group input:focus,
.filter-group select:focus {
  outline: none;
  border-color: #3c8dbc;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.075), 0 0 8px rgba(102,175,233,0.6);
}

.filter-group .ts-wrapper {
  position: relative;
  z-index: 10;
}

/* O `z-index: 10` acima faz de cada campo de filtro um CONTEXTO DE
   EMPILHAMENTO próprio — e dentro dele o 1051 do dropdown não vale nada para
   fora. Entre os campos, empatados em 10, quem pinta por cima é o ÚLTIMO do
   DOM: a lista aberta do campo de cima sumia atrás do campo de baixo, cortada
   no meio pelo seletor seguinte.

   Quem sobe é o WRAPPER, não o dropdown: é o wrapper que aprisiona. E só
   enquanto aberto (`dropdown-active`, que o Tom Select liga e desliga), para
   um campo fechado nunca cobrir o vizinho. 70 pela escala do kit: acima do
   popover (20) e do dropdown próprio (60), abaixo do tooltip (90) e do modal
   (1030). */
.filter-group .ts-wrapper.dropdown-active {
  z-index: 70;
}

.filter-group .ts-dropdown {
  z-index: 1051 !important;
}

.filter-actions {
  display: flex;
  gap: 8px;
  align-items: end;
}



/* TABELA CORPORATIVA */
.data-table {
  background: white;
  border: 1px solid var(--border-color);
  border-radius: 0;
  margin: 0;
  font-size: 13px;
  border-collapse: separate;
  border-spacing: 0;
}

.data-table th {
  background: var(--gray-200);
  color: var(--gray-800);
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 10px 8px;
  border-bottom: 2px solid var(--border-color);
  white-space: nowrap;
}

.data-table td {
  padding: 8px;
  border-bottom: 1px solid var(--gray-200);
  vertical-align: middle;
}

.data-table tr {
  border-bottom: 1px solid var(--border-color);
}

.data-table tr:hover {
  background-color: var(--gray-50);
}

/* Remove espaçamento desnecessário */
.data-table td,
.data-table th {
  border: none;
  border-right: 1px solid var(--border-color);
}

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

/* Melhora a legibilidade com altura reduzida */
.data-table tbody tr:nth-child(even) {
  background-color: rgba(0, 0, 0, 0.02);
}

.data-table tbody tr:nth-child(even):hover {
  background-color: var(--gray-50);
}

/* Garante alinhamento vertical consistente */
.data-table .text-nowrap {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 120px;
}

/* Ajuste para colunas de ID */
.data-table td:first-child strong {
  color: var(--primary);
  font-weight: 600;
}

/* =================================================
   TABELAS INDEX - ALTURA REDUZIDA
   ================================================= */

/* Altura reduzida para cabeçalho da tabela */
.data-table thead th {
  padding: 8px 12px !important;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  vertical-align: middle;
}

/* Altura reduzida para células da tabela */
.data-table tbody td {
  padding: 6px 12px !important;
  font-size: 13px;
  line-height: 1.3;
  vertical-align: middle;
}

/* Altura reduzida para células de ações */
.data-table .actions-cell {
  padding: 4px 8px !important;
  white-space: nowrap !important;
}

/* Botões de ação menores */
.data-table .action-btn {
  padding: 4px 6px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  min-width: 24px !important;
  width: 24px !important;
  height: 24px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 1px !important;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 3px;
  background: transparent;
  color: #6c757d;
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
}

.data-table .action-btn:hover {
  background: #f8f9fa;
  text-decoration: none;
}

.data-table .action-btn.view:hover {
  color: #17a2b8;
  border-color: #17a2b8;
}

.data-table .action-btn.edit:hover {
  color: #28a745;
  border-color: #28a745;
}

.data-table .action-btn.delete:hover {
  color: #dc3545;
  border-color: #dc3545;
}

.data-table .action-btn.warning:hover {
  color: #ffc107;
  border-color: #ffc107;
}

.data-table .action-btn.success:hover {
  color: #28a745;
  border-color: #28a745;
}

/* Badges menores nas tabelas */
.data-table .status-badge,
.data-table .priority-badge,
.data-table .badge {
  font-size: 11px !important;
  padding: 2px 6px !important;
  line-height: 1.2 !important;
}

/* Ícones menores nos badges */
.data-table .status-badge i,
.data-table .priority-badge i,
.data-table .badge i {
  font-size: 10px !important;
  margin-right: 3px !important;
}

/* Texto pequeno ainda menor */
.data-table small {
  font-size: 11px !important;
  line-height: 1.2;
}

/* Ajuste para texto forte */
.data-table strong {
  font-weight: 600;
}

/* Altura máxima para células com múltiplas informações */
.data-table td > div {
  line-height: 1.3;
}

/* Espaçamento reduzido para informações secundárias */
.data-table td small {
  margin-top: 1px;
  display: block;
}

/* =================================================
   RESPONSIVIDADE DAS TABELAS COMPACTAS
   ================================================= */

@media (max-width: 768px) {
  .data-table thead th {
    padding: 6px 8px !important;
    font-size: 12px;
  }
  
  .data-table tbody td {
    padding: 5px 8px !important;
    font-size: 12px;
  }
  
  .action-btn {
    padding: 3px 5px !important;
    font-size: 11px !important;
    min-width: 26px;
    height: 26px;
  }
}

/* STATUS BADGES */
.status-badge {
  padding: 3px 8px;
  border-radius: 0;
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  display: inline-block;
  width: auto;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
}

.status-badge i {
  margin-right: 4px;
  font-size: 10px !important;
  line-height: 1;
}

.status-badge.draft {
  background: var(--gray-200);
  color: var(--gray-700);
}

.status-badge.pending {
  background: #fff3cd;
  color: #856404;
}

.status-badge.progress {
  background: #d1ecf1;
  color: #0c5460;
  display: inline-block !important;
  width: auto !important;
  font-size: 10px !important;
  font-weight: 500 !important;
}

.status-badge.completed {
  background: #d4edda;
  color: #155724;
}

.status-badge.canceled {
  background: #f8d7da;
  color: #721c24;
}

.status-badge.lost {
  background: #f8d7da;
  color: #721c24;
}

.priority-badge {
  padding: 2px 6px;
  border-radius: 0;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  display: inline-block;
  min-width: 50px;
  text-align: center;
}

.priority-badge.low {
  background: #d4edda;
  color: #155724;
}

.priority-badge.medium {
  background: #fff3cd;
  color: #856404;
}

.priority-badge.high {
  background: #f8d7da;
  color: #721c24;
}

.priority-badge.urgent {
  background: #721c24;
  color: white;
}

/* SUBSCRIPTION BADGES */
.subscription-badge {
  padding: 2px 6px;
  border-radius: 0;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  display: inline-block;
  min-width: 50px;
  text-align: center;
}

.subscription-badge.active {
  background: #d4edda;
  color: #155724;
}

.subscription-badge.trial {
  background: #d1ecf1;
  color: #0c5460;
}

.subscription-badge.expired {
  background: #f8d7da;
  color: #721c24;
}

.subscription-badge.none {
  background: var(--gray-200);
  color: var(--gray-700);
}

/* STATUS BADGES ESPECÍFICOS PARA TENANTS */
.status-badge.active {
  background: #d4edda;
  color: #155724;
}

.status-badge.inactive {
  background: var(--gray-200);
  color: var(--gray-700);
}

.status-badge.suspended {
  background: #fff3cd;
  color: #856404;
}

/* AÇÕES */
.actions-cell {
  white-space: nowrap !important;
  padding: 4px 8px !important;
}

/* Regra legada dos botões de ação: sem escopo e com !important, alcança
   qualquer `.action-btn` do sistema (chega em toda página via o
   `*= require_tree .` do legacy_application.css). O `:not()` abaixo poupa o
   componente do design system novo, que define tamanho e cor por classe de
   consequência — ver components/erp_ui.scss e
   .claude/skills/ui-padroes/references/acoes.md. Remover na F4, junto com
   este arquivo. */
.action-btn:not(.neutra):not(.altera):not(.avanca):not(.desfaz) {
  padding: 4px 6px !important;
  margin: 0 1px !important;
  border: 1px solid transparent;
  border-radius: var(--border-radius);
  background: transparent;
  color: var(--gray-600);
  font-size: 12px !important;
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 24px !important;
  height: 24px !important;
  vertical-align: middle;
}

.action-btn:hover {
  background: var(--gray-100);
  color: var(--gray-800);
  border-color: var(--gray-300);
  text-decoration: none;
}

.action-btn.view:hover {
  color: var(--info);
  border-color: var(--info);
}

.action-btn.edit:hover {
  color: var(--success);
  border-color: var(--success);
}

.action-btn.delete:hover {
  color: var(--danger);
  border-color: var(--danger);
}

.action-btn.print {
  color: var(--gray-600);
  border-color: var(--gray-300);
}

.action-btn.print:hover {
  background: rgba(108, 117, 125, 0.1);
  color: var(--gray-800);
  border-color: var(--gray-500);
}

/* FOOTER */
.table-footer {
  padding: 12px 16px;
  background: var(--gray-100);
  border-top: 1px solid var(--border-color);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: var(--gray-600);
}

.pagination-simple {
  display: flex;
  gap: 4px;
  align-items: center;
}

/* UTILITÁRIOS */
.text-nowrap {
  white-space: nowrap;
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 200px;
}

.main-container {
  padding: 20px;
  max-width: 1600px;
  margin: 0 auto;
}

/* RESUMO ESTATÍSTICO */
.stats-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 24px;
  padding: 24px;
  background: var(--gray-50);
  margin: 10px;
}

.stat-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
}

.stat-icon {
  width: 40px;
  height: 40px;
  border-radius: var(--border-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: white;
  flex-shrink: 0;
}

.stat-icon.completed { 
  background: var(--success); 
}

.stat-icon.pending { 
  background: var(--warning); 
}

.stat-icon.progress { 
  background: var(--info);
  width: 32px;
  height: 32px;
}

.stat-icon.total { 
  background: var(--secondary); 
}

.stat-icon.info { 
  background: var(--info); 
}

.stat-icon.balance {
  background: var(--success);
}

.stat-icon.limit {
  background: var(--info);
}

.stat-icon.urgent {
  background: var(--danger);
}

.stat-icon.cancelled {
  background: var(--secondary);
}

/* Estatísticas de Estoque - Cores específicas */
.stat-icon.active {
  background: var(--success);
}

.stat-icon.inactive {
  background: var(--secondary);
}

.stat-icon.labor {
  background: var(--warning);
}

.stat-icon.material {
  background: var(--info);
}

.stat-icon.equipment {
  background: var(--primary);
}

.stat-icon.total {
  background: var(--dark);
}

.stat-icon.urgent {
  background: var(--danger);
}

.stat-content h4 {
  font-size: 20px;
  font-weight: 700;
  margin: 0;
  color: var(--gray-900);
}

.stat-content p {
  font-size: 12px;
  color: var(--gray-600);
  margin: 0;
}

.status-badge.progress i {
  font-size: 10px !important;
  margin-right: 4px;
  line-height: 1;
  vertical-align: baseline;
}

/* Força o tamanho da fonte para todo o conteúdo do badge progress */
.status-badge.progress * {
  font-size: 11px !important;
}

/* =================================================
   LEGENDAS INLINE NO FOOTER DAS PÁGINAS INDEX
   ================================================= */

.table-legends {
  background: var(--gray-100);
  border: 1px solid var(--border-color);
  border-radius: var(--border-radius);
  padding: 12px 16px;
  margin-top: 12px;
  font-size: 13px;
}

.legend-section {
  display: inline-block;
  margin-right: 24px;
  margin-bottom: 8px;
  vertical-align: top;
}

.legend-section:last-child {
  margin-right: 0;
}

.legend-title {
  font-weight: 600;
  color: var(--gray-700);
  margin-right: 8px;
  display: inline;
}

.legend-items {
  display: inline;
}

.legend-items .status-badge,
.legend-items .priority-badge {
  margin-right: 8px;
  margin-left: 4px;
}

.legend-items .status-badge:last-child,
.legend-items .priority-badge:last-child {
  margin-right: 0;
}

/* Responsividade para legendas */
@media (max-width: 768px) {
  .legend-section {
    display: block;
    margin-right: 0;
    margin-bottom: 12px;
  }
  
  .legend-section:last-child {
    margin-bottom: 0;
  }
  
  .legend-title {
    display: block;
    margin-bottom: 4px;
  }
  
  .legend-items {
    display: block;
  }
}

/* Ajuste específico para mobile muito pequeno */
@media (max-width: 480px) {
  .legend-items .status-badge,
  .legend-items .priority-badge {
    display: inline-block;
    margin-bottom: 4px;
  }
}

/* =================================================
   ÍCONES ADICIONAIS PARA SERVICE REQUESTS
   ================================================= */

/* Botão de ação atender */
.action-btn.attend {
  background: var(--success);
  color: white;
}

.action-btn.attend:hover {
  background: #229954;
  color: white;
}

/* Badge de status in_progress para service requests */
.status-badge.in_progress {
  background: var(--info);
  color: white;
}

.status-badge.in_progress i {
  margin-right: 4px;
}

/* Badge de status cancelled para service requests */
.status-badge.cancelled {
  background: var(--secondary);
  color: white;
}

/* Segmented Control */
.segmented-control {
  display: inline-flex;
  border: 1px solid var(--gray-300);
  border-radius: var(--border-radius);
  background: white;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.segment-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  background: white;
  color: var(--gray-700);
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
  border: none;
  border-right: 1px solid var(--gray-300);
  transition: all 0.2s ease;
  cursor: pointer;
  min-width: 120px;
  position: relative;
}

.segment-btn:last-child {
  border-right: none;
}

.segment-btn:hover {
  background: var(--gray-50);
  color: var(--gray-800);
  text-decoration: none;
}

.segment-btn.segment-btn-active {
  background: var(--primary);
  color: white;
  font-weight: 600;
}

.segment-btn span {
  white-space: nowrap;
}

/* Responsividade para segmented control */
@media (max-width: 768px) {
  .segmented-control {
    width: 100%;
  }
  
  .segment-btn {
    flex: 1;
    min-width: auto;
    padding: 10px 8px;
    font-size: 12px;
  }
}
@charset "UTF-8";
/* ============================================
   EXPEDIÇÃO PWA - ESTILOS
   ============================================ */
/* Stats Row - Cards de estatísticas */
/* line 6, app/assets/stylesheets/expedition-pwa.scss */
.stats-row {
  display: flex !important;
  flex-direction: row !important;
  gap: 2px;
  margin-top: 24px;
  /* Espaçamento maior do título */
  margin-bottom: 10px;
  padding: 0 4px;
  width: 100%;
}

/* line 16, app/assets/stylesheets/expedition-pwa.scss */
.stat-card {
  background: white;
  border-radius: 6px;
  padding: 4px 2px;
  text-align: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  border: 1px solid #e9ecef;
  min-width: 0;
  flex: 1;
  overflow: hidden;
}

/* line 28, app/assets/stylesheets/expedition-pwa.scss */
.stat-card.stat-pending .stat-value {
  color: #8a5a00;
}

/* line 32, app/assets/stylesheets/expedition-pwa.scss */
.stat-card.stat-in-transit .stat-value {
  color: #21618c;
}

/* line 36, app/assets/stylesheets/expedition-pwa.scss */
.stat-card.stat-completed .stat-value {
  color: #1e7e34;
}

/* line 40, app/assets/stylesheets/expedition-pwa.scss */
.stat-value {
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 2px;
  color: #2c3e50;
}

/* line 48, app/assets/stylesheets/expedition-pwa.scss */
.stat-label {
  font-size: 11px;
  font-weight: 500;
  color: #6c757d;
  text-transform: uppercase;
  letter-spacing: 0px;
  line-height: 1;
  word-wrap: break-word;
}

/* Filter Section */
/* line 59, app/assets/stylesheets/expedition-pwa.scss */
.filter-section {
  padding: 0 12px;
  margin-bottom: 8px;
}

/* line 64, app/assets/stylesheets/expedition-pwa.scss */
.filter-chips {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding-bottom: 6px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

/* line 73, app/assets/stylesheets/expedition-pwa.scss */
.filter-chips::-webkit-scrollbar {
  display: none;
}

/* line 77, app/assets/stylesheets/expedition-pwa.scss */
.filter-chips .chip {
  flex-shrink: 0;
  /* Alvo de toque mínimo de 44px (WCAG / Apple HIG) */
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 22px;
  border: 1px solid #dee2e6;
  background: white;
  color: #6c757d;
  font-size: 11px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}

/* line 93, app/assets/stylesheets/expedition-pwa.scss */
.filter-chips .chip:hover {
  border-color: #3498db;
  color: #21618c;
}

/* line 98, app/assets/stylesheets/expedition-pwa.scss */
.filter-chips .chip.active {
  background: #2c3e50;
  border-color: #2c3e50;
  color: white;
}

/* line 104, app/assets/stylesheets/expedition-pwa.scss */
.filter-chips .chip i {
  margin-right: 3px;
  font-size: 10px;
}

/* Movements List */
/* line 110, app/assets/stylesheets/expedition-pwa.scss */
.movements-list {
  padding: 0 16px 80px 16px;
}

/* O link fica DENTRO do card e cobre apenas o conteúdo informativo;
   os botões de ação rápida vivem fora dele (sem <a> aninhado) */
/* line 116, app/assets/stylesheets/expedition-pwa.scss */
.movement-card-link {
  text-decoration: none;
  color: inherit;
  display: block;
}

/* line 122, app/assets/stylesheets/expedition-pwa.scss */
.movement-card-link:hover,
.movement-card-link:focus {
  text-decoration: none;
  color: inherit;
}

/* line 128, app/assets/stylesheets/expedition-pwa.scss */
.movement-card {
  background: white;
  border-radius: 14px;
  padding: 16px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
  border: 1px solid #e9ecef;
  transition: all 0.2s;
  margin-bottom: 16px;
}

/* line 138, app/assets/stylesheets/expedition-pwa.scss */
.movement-card:active {
  transform: scale(0.98);
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1);
}

/* Tipo do card sinalizado pelo rótulo textual (REMESSA/DEVOLUÇÃO); stripes laterais removidos */
/* Movement Header */
/* line 146, app/assets/stylesheets/expedition-pwa.scss */
.movement-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

/* line 153, app/assets/stylesheets/expedition-pwa.scss */
.movement-type {
  font-size: 12px;
  font-weight: 700;
  color: #495057;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* line 162, app/assets/stylesheets/expedition-pwa.scss */
.movement-type i {
  font-size: 14px;
}

/* line 166, app/assets/stylesheets/expedition-pwa.scss */
.status-badge {
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 175, app/assets/stylesheets/expedition-pwa.scss */
.status-badge.badge-draft {
  background: var(--fx-tint-neutral-bg);
  color: #6c757d;
}

/* line 180, app/assets/stylesheets/expedition-pwa.scss */
.status-badge.badge-pending {
  background: var(--fx-tint-warning-bg);
  color: var(--fx-tint-warning-text);
}

/* line 185, app/assets/stylesheets/expedition-pwa.scss */
.status-badge.badge-approved {
  background: var(--fx-tint-info-bg);
  color: var(--fx-tint-info-text);
}

/* line 190, app/assets/stylesheets/expedition-pwa.scss */
.status-badge.badge-dispatched {
  background: var(--fx-tint-blue-bg);
  color: var(--fx-tint-blue-text);
}

/* line 195, app/assets/stylesheets/expedition-pwa.scss */
.status-badge.badge-in_transit {
  background: var(--fx-tint-info-bg);
  color: var(--fx-tint-info-text);
}

/* line 200, app/assets/stylesheets/expedition-pwa.scss */
.status-badge.badge-delivered,
.status-badge.badge-returned {
  background: var(--fx-tint-success-bg);
  color: var(--fx-tint-success-text);
}

/* line 206, app/assets/stylesheets/expedition-pwa.scss */
.status-badge.badge-cancelled {
  background: var(--fx-tint-danger-bg);
  color: var(--fx-tint-danger-text);
}

/* Contract Info */
/* line 212, app/assets/stylesheets/expedition-pwa.scss */
.contract-info {
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e9ecef;
}

/* line 218, app/assets/stylesheets/expedition-pwa.scss */
.contract-info strong {
  display: block;
  font-size: 15px;
  color: #2c3e50;
  margin-bottom: 4px;
}

/* line 225, app/assets/stylesheets/expedition-pwa.scss */
.customer-name {
  font-size: 13px;
  color: #6c757d;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* line 233, app/assets/stylesheets/expedition-pwa.scss */
.customer-name i {
  font-size: 12px;
  color: #adb5bd;
}

/* Equipment Summary */
/* line 239, app/assets/stylesheets/expedition-pwa.scss */
.equipment-summary {
  font-size: 13px;
  color: #495057;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* line 248, app/assets/stylesheets/expedition-pwa.scss */
.equipment-summary i {
  color: #6c757d;
  font-size: 14px;
}

/* Movement Date */
/* line 254, app/assets/stylesheets/expedition-pwa.scss */
.movement-date {
  font-size: 12px;
  color: #6c757d;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

/* line 263, app/assets/stylesheets/expedition-pwa.scss */
.movement-date i {
  font-size: 11px;
}

/* line 267, app/assets/stylesheets/expedition-pwa.scss */
.completion-date {
  margin-left: 12px;
  padding-left: 12px;
  border-left: 1px solid #dee2e6;
  color: #28a745;
  font-weight: 500;
}

/* line 275, app/assets/stylesheets/expedition-pwa.scss */
.completion-date i {
  color: #28a745;
}

/* Quick Actions */
/* line 280, app/assets/stylesheets/expedition-pwa.scss */
.quick-actions {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #e9ecef;
  display: flex;
  gap: 8px;
}

/* line 288, app/assets/stylesheets/expedition-pwa.scss */
.quick-actions .btn {
  flex: 1;
  font-size: 13px;
  /* Alvo de toque mínimo de 44px (WCAG / Apple HIG) */
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 8px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

/* line 302, app/assets/stylesheets/expedition-pwa.scss */
.quick-actions .btn i {
  font-size: 11px;
}

/* Empty State */
/* line 307, app/assets/stylesheets/expedition-pwa.scss */
.empty-state {
  text-align: center;
  padding: 60px 20px;
  color: #6c757d;
}

/* line 313, app/assets/stylesheets/expedition-pwa.scss */
.empty-state i {
  color: #dee2e6;
  margin-bottom: 20px;
}

/* line 318, app/assets/stylesheets/expedition-pwa.scss */
.empty-state h3 {
  font-size: 18px;
  color: #495057;
  margin-bottom: 12px;
  font-weight: 600;
}

/* line 325, app/assets/stylesheets/expedition-pwa.scss */
.empty-state p {
  font-size: 14px;
  color: #6c757d;
  line-height: 1.5;
}

/* Pagination */
/* line 332, app/assets/stylesheets/expedition-pwa.scss */
.pagination-wrapper {
  margin-top: 24px;
  display: flex;
  justify-content: center;
}

/* line 338, app/assets/stylesheets/expedition-pwa.scss */
.pagination-wrapper .pagination {
  margin: 0;
}

/* line 342, app/assets/stylesheets/expedition-pwa.scss */
.pagination-wrapper .page-link {
  border-radius: 8px;
  margin: 0 4px;
  border: 1px solid #dee2e6;
  color: #21618c;
}

/* line 349, app/assets/stylesheets/expedition-pwa.scss */
.pagination-wrapper .page-item.active .page-link {
  background: #2c3e50;
  border-color: #2c3e50;
}

/* Expedition Badge (for navigation) */
/* line 355, app/assets/stylesheets/expedition-pwa.scss */
.expedition-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  background: #dc3545;
  color: white;
  border-radius: 10px;
  padding: 2px 6px;
  font-size: 10px;
  font-weight: 700;
  min-width: 18px;
  text-align: center;
}

/* Responsive adjustments */
@media (max-width: 576px) {
  /* line 371, app/assets/stylesheets/expedition-pwa.scss */
  .stats-row {
    gap: 8px;
    padding: 0 12px;
    margin-top: 20px;
    /* Espaçamento responsivo */
  }
  /* line 377, app/assets/stylesheets/expedition-pwa.scss */
  .stat-card {
    padding: 12px 8px;
  }
  /* line 381, app/assets/stylesheets/expedition-pwa.scss */
  .stat-value {
    font-size: 24px;
  }
  /* line 385, app/assets/stylesheets/expedition-pwa.scss */
  .stat-label {
    font-size: 11px;
  }
  /* line 389, app/assets/stylesheets/expedition-pwa.scss */
  .movements-list {
    padding: 0 12px 80px 12px;
  }
  /* line 393, app/assets/stylesheets/expedition-pwa.scss */
  .movement-card {
    padding: 12px;
  }
}

/* PWA Safe Area - Compatibilidade com SassC */
/* line 399, app/assets/stylesheets/expedition-pwa.scss */
.movements-list {
  /* Usar apenas o valor fixo para evitar problemas com SassC processando env() dentro de max() */
  /* Navegadores modernos com suporte a safe-area-inset-bottom podem usar CSS customizado se necessário */
  padding-bottom: 80px;
}

/* ============================================
   PWA BASE - ESTILOS FUNDAMENTAIS
   ============================================ */
/* line 409, app/assets/stylesheets/expedition-pwa.scss */
.pwa-container {
  max-width: 600px;
  margin: 0 auto;
  padding-bottom: 80px;
  background: #f8f9fa;
  min-height: 100vh;
}

/* Headers próprios das telas de movimentação foram removidos: todas as telas
   usam o header do layout pwa.html.erb via content_for :title/:back_button.
   As regras .pwa-header/.btn-back/.pwa-title que viviam aqui conflitavam com
   o header global do layout e foram eliminadas. */
/* ============================================================================
   Fotos de comprovação (complete_pwa / show_pwa)
   Migrado dos <style> inline das views para respeitar o CSP de produção
   ============================================================================ */
/* line 426, app/assets/stylesheets/expedition-pwa.scss */
.photo-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 12px;
}

/* line 433, app/assets/stylesheets/expedition-pwa.scss */
.photo-preview-item {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  background: #f8f9fa;
  aspect-ratio: 1;
}

/* line 441, app/assets/stylesheets/expedition-pwa.scss */
.photo-preview-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 447, app/assets/stylesheets/expedition-pwa.scss */
.btn-remove-photo {
  position: absolute;
  top: 4px;
  right: 4px;
  background: rgba(220, 53, 69, 0.9);
  color: white;
  border: none;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s;
}

/* line 464, app/assets/stylesheets/expedition-pwa.scss */
.btn-remove-photo:hover,
.btn-remove-photo:focus {
  background: #dc3545;
}

/* line 469, app/assets/stylesheets/expedition-pwa.scss */
.photo-info {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 4px 8px;
  font-size: 0.75rem;
}

/* line 480, app/assets/stylesheets/expedition-pwa.scss */
.photo-upload-buttons .btn {
  min-height: 48px;
  font-size: 1rem;
}

/* line 485, app/assets/stylesheets/expedition-pwa.scss */
.form-hint {
  font-size: 0.875rem;
  color: #6c757d;
  margin-bottom: 12px;
}

/* ============================================================================
   Formulário de exclusão (delete_pwa)
   ============================================================================ */
/* line 494, app/assets/stylesheets/expedition-pwa.scss */
.pwa-form-label.required::after {
  content: ' *';
  color: #dc3545;
}

/* line 499, app/assets/stylesheets/expedition-pwa.scss */
.char-counter {
  text-align: right;
  font-size: 0.875rem;
  color: #6c757d;
  margin-top: 4px;
}

/* line 506, app/assets/stylesheets/expedition-pwa.scss */
.char-counter-invalid {
  color: #dc3545;
  font-weight: 600;
}

/* line 511, app/assets/stylesheets/expedition-pwa.scss */
.char-counter-valid {
  color: #1e7e34;
  font-weight: 600;
}

/* line 516, app/assets/stylesheets/expedition-pwa.scss */
.pwa-container .custom-control-label {
  cursor: pointer;
  user-select: none;
}

/* line 521, app/assets/stylesheets/expedition-pwa.scss */
.pwa-container .alert {
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 20px;
}

/* line 527, app/assets/stylesheets/expedition-pwa.scss */
.pwa-container .alert i {
  margin-right: 8px;
}

/* ============================================================================
   Formulários do fluxo de expedição (new_pwa / complete_pwa / delete_pwa)
   Estas classes eram "estilizadas" por expedition-creation-pwa.css, que nunca
   foi linkado (design antigo, morto). Definições novas no vocabulário atual.
   ============================================================================ */
/* line 537, app/assets/stylesheets/expedition-pwa.scss */
.info-banner {
  background: var(--fx-surface);
  border: 1px solid var(--fx-border-soft);
  border-radius: 10px;
  padding: 12px 16px;
  margin-bottom: 16px;
}

/* line 545, app/assets/stylesheets/expedition-pwa.scss */
.info-banner-header {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8rem;
  color: var(--fx-text-muted);
  margin-bottom: 4px;
}

/* line 554, app/assets/stylesheets/expedition-pwa.scss */
.info-banner-content {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--fx-text);
}

/* line 560, app/assets/stylesheets/expedition-pwa.scss */
.form-section {
  background: var(--fx-surface);
  border: 1px solid var(--fx-border-soft);
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 16px;
}

/* line 568, app/assets/stylesheets/expedition-pwa.scss */
.form-section .section-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1rem;
  font-weight: 600;
  color: var(--fx-text-secondary);
  margin: 0 0 12px 0;
}

/* line 578, app/assets/stylesheets/expedition-pwa.scss */
.form-section .section-subtitle {
  font-size: 0.8rem;
  font-weight: 400;
  color: var(--fx-text-muted);
  margin-left: 4px;
}

/* line 585, app/assets/stylesheets/expedition-pwa.scss */
.form-section .form-group {
  margin-bottom: 14px;
}

/* line 589, app/assets/stylesheets/expedition-pwa.scss */
.form-section label {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--fx-text-secondary);
}

/* line 595, app/assets/stylesheets/expedition-pwa.scss */
.form-actions {
  margin-top: 8px;
}

/* Cartões de informação (mesmo visual do detalhe de movimentação) */
/* line 600, app/assets/stylesheets/expedition-pwa.scss */
.info-card {
  background: var(--fx-surface);
  border: 1px solid var(--fx-border-soft);
  border-radius: 10px;
  padding: 10px 14px;
  margin-bottom: 12px;
}

/* line 608, app/assets/stylesheets/expedition-pwa.scss */
.info-card .info-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 6px 0;
  border-bottom: 1px solid var(--fx-canvas);
}

/* line 617, app/assets/stylesheets/expedition-pwa.scss */
.info-card .info-row:last-child {
  border-bottom: none;
}

/* line 621, app/assets/stylesheets/expedition-pwa.scss */
.info-card .info-label {
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--fx-text-muted);
  flex-shrink: 0;
}

/* line 628, app/assets/stylesheets/expedition-pwa.scss */
.info-card .info-value {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--fx-text);
  text-align: right;
  word-break: break-word;
}

/* Preview is deliberately separate from the selected original until accepted. */
/* line 637, app/assets/stylesheets/expedition-pwa.scss */
.pw-photo-reduction {
  max-width: min(92vw, 48rem);
  max-height: 90vh;
  overflow: auto;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
  padding: 1rem;
}

/* line 645, app/assets/stylesheets/expedition-pwa.scss */
.pw-photo-reduction-previews {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

/* line 646, app/assets/stylesheets/expedition-pwa.scss */
.pw-photo-reduction-previews figure {
  margin: 0;
}

/* line 647, app/assets/stylesheets/expedition-pwa.scss */
.pw-photo-reduction-previews img {
  width: 100%;
  max-height: 45vh;
  object-fit: contain;
}

/* line 648, app/assets/stylesheets/expedition-pwa.scss */
.pw-photo-reduction .pw-btn {
  margin: .5rem .5rem 0 0;
}

/* line 649, app/assets/stylesheets/expedition-pwa.scss */
.pw-conflict-comparison {
  width: 100%;
  border-collapse: collapse;
  overflow-wrap: anywhere;
}

/* line 650, app/assets/stylesheets/expedition-pwa.scss */
.pw-conflict-comparison th, .pw-conflict-comparison td {
  text-align: left;
  vertical-align: top;
  padding: .5rem;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 651, app/assets/stylesheets/expedition-pwa.scss */
.pw-offline-progress {
  width: 100%;
}

/* line 653, app/assets/stylesheets/expedition-pwa.scss */
[data-offline-refresh], [data-pwa-expedition-target="prepareButton"], [data-pwa-field-target="prepare"] {
  white-space: nowrap;
}
/* line 6, app/assets/stylesheets/financial_dashboard_modern.scss */
:root {
  --primary-color: #007bff;
  --secondary-color: #6c757d;
  --success-color: #28a745;
  --danger-color: #dc3545;
  --warning-color: #ffc107;
  --info-color: #17a2b8;
  --light-color: #f8f9fa;
  --dark-color: #343a40;
  --white: #ffffff;
  --primary-light: rgba(0, 123, 255, 0.1);
  --success-light: rgba(40, 167, 69, 0.1);
  --danger-light: rgba(220, 53, 69, 0.1);
  --warning-light: rgba(255, 193, 7, 0.1);
  --info-light: rgba(23, 162, 184, 0.1);
  --shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --transition-fast: all 0.15s ease-in-out;
  --transition-normal: all 0.3s ease-in-out;
  --transition-slow: all 0.5s ease-in-out;
  --border-radius: 0.375rem;
  --border-radius-lg: 0.5rem;
  --border-radius-xl: 1rem;
}

/* line 46, app/assets/stylesheets/financial_dashboard_modern.scss */
.financial-dashboard * {
  box-sizing: border-box;
}

/* line 51, app/assets/stylesheets/financial_dashboard_modern.scss */
.financial-dashboard .card {
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius-lg);
  box-shadow: var(--shadow-sm);
}

/* line 57, app/assets/stylesheets/financial_dashboard_modern.scss */
.financial-dashboard .row {
  margin-left: -15px;
  margin-right: -15px;
}

/* line 62, app/assets/stylesheets/financial_dashboard_modern.scss */
.financial-dashboard .col-lg-3, .financial-dashboard .col-lg-4, .financial-dashboard .col-lg-6, .financial-dashboard .col-lg-8, .financial-dashboard .col-md-6, .financial-dashboard .col-12 {
  padding-left: 15px;
  padding-right: 15px;
}

/* line 72, app/assets/stylesheets/financial_dashboard_modern.scss */
.financial-dashboard {
  background-color: #f5f7fa;
  min-height: 100vh;
}

/* line 76, app/assets/stylesheets/financial_dashboard_modern.scss */
.financial-dashboard .dashboard-header-modern {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fb 100%);
  padding: 2rem 0;
  margin-bottom: 2rem;
  border-radius: 0 0 var(--border-radius-lg) var(--border-radius-lg);
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);
  border-bottom: 1px solid #e3e6f0;
  position: relative;
}

/* line 85, app/assets/stylesheets/financial_dashboard_modern.scss */
.financial-dashboard .dashboard-header-modern::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--success-color), var(--info-color));
}

/* line 96, app/assets/stylesheets/financial_dashboard_modern.scss */
.financial-dashboard .dashboard-title-section {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

/* line 102, app/assets/stylesheets/financial_dashboard_modern.scss */
.financial-dashboard .dashboard-icon {
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, var(--success-color), var(--info-color));
  border-radius: var(--border-radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1.5rem;
  box-shadow: 0 4px 20px rgba(40, 167, 69, 0.3);
  flex-shrink: 0;
}

/* line 116, app/assets/stylesheets/financial_dashboard_modern.scss */
.financial-dashboard .dashboard-text {
  flex: 1;
}

/* line 120, app/assets/stylesheets/financial_dashboard_modern.scss */
.financial-dashboard .dashboard-title {
  font-size: 2.25rem;
  font-weight: 700;
  color: var(--dark-color);
  margin-bottom: 0.5rem;
  line-height: 1.2;
}

/* line 128, app/assets/stylesheets/financial_dashboard_modern.scss */
.financial-dashboard .dashboard-subtitle {
  font-size: 1rem;
  color: var(--secondary-color);
  margin-bottom: 0;
  font-weight: 500;
}

/* line 135, app/assets/stylesheets/financial_dashboard_modern.scss */
.financial-dashboard .dashboard-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 141, app/assets/stylesheets/financial_dashboard_modern.scss */
.financial-dashboard .dashboard-content {
  padding: 0 15px;
}

/* line 150, app/assets/stylesheets/financial_dashboard_modern.scss */
.kpi-section {
  background: var(--white);
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius-lg);
  box-shadow: var(--shadow-sm);
  margin-bottom: 2rem;
}

/* line 157, app/assets/stylesheets/financial_dashboard_modern.scss */
.kpi-section .kpi-section-header {
  padding: 1.5rem 1.5rem 0;
  border-bottom: 1px solid #e9ecef;
  margin-bottom: 1.5rem;
}

/* line 162, app/assets/stylesheets/financial_dashboard_modern.scss */
.kpi-section .kpi-section-header h5 {
  color: var(--dark-color);
  font-weight: 600;
  margin-bottom: 1rem;
}

/* line 169, app/assets/stylesheets/financial_dashboard_modern.scss */
.kpi-section .kpi-section-body {
  padding: 0 1.5rem 1.5rem;
}

/* line 174, app/assets/stylesheets/financial_dashboard_modern.scss */
.kpi-card {
  background: var(--white);
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius-lg);
  transition: var(--transition-normal);
  overflow: hidden;
}

/* line 181, app/assets/stylesheets/financial_dashboard_modern.scss */
.kpi-card:hover {
  box-shadow: var(--shadow);
  transform: translateY(-2px);
}

/* line 186, app/assets/stylesheets/financial_dashboard_modern.scss */
.kpi-card .kpi-card-body {
  padding: 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 193, app/assets/stylesheets/financial_dashboard_modern.scss */
.kpi-card .kpi-icon {
  width: 60px;
  height: 60px;
  border-radius: var(--border-radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
}

/* line 204, app/assets/stylesheets/financial_dashboard_modern.scss */
.kpi-card .kpi-content {
  flex: 1;
}

/* line 208, app/assets/stylesheets/financial_dashboard_modern.scss */
.kpi-card .kpi-value {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  line-height: 1;
}

/* line 215, app/assets/stylesheets/financial_dashboard_modern.scss */
.kpi-card .kpi-label {
  font-size: 0.9rem;
  color: var(--secondary-color);
  font-weight: 500;
  margin-bottom: 0.75rem;
}

/* line 222, app/assets/stylesheets/financial_dashboard_modern.scss */
.kpi-card .kpi-trend {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  font-weight: 500;
}

/* line 231, app/assets/stylesheets/financial_dashboard_modern.scss */
.kpi-card .kpi-progress .progress {
  height: 6px;
  border-radius: 3px;
  background: #e9ecef;
  margin-bottom: 0.5rem;
}

/* line 238, app/assets/stylesheets/financial_dashboard_modern.scss */
.kpi-card .kpi-progress small {
  font-size: 0.75rem;
  color: var(--secondary-color);
}

/* line 249, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-stat-card {
  background: var(--white);
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius);
  padding: 1rem;
  transition: var(--transition-fast);
}

/* line 256, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-stat-card:hover {
  box-shadow: var(--shadow-sm);
  transform: translateY(-1px);
}

/* line 261, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-stat-card .quick-stat-content {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 267, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-stat-card .quick-stat-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--primary-light);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 278, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-stat-card .quick-stat-info {
  flex: 1;
}

/* line 282, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-stat-card .quick-stat-value {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--dark-color);
  margin-bottom: 0.25rem;
}

/* line 289, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-stat-card .quick-stat-label {
  font-size: 0.8rem;
  color: var(--secondary-color);
  margin-bottom: 0;
}

/* line 300, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-action-btn {
  display: block;
  width: 100%;
  padding: 1.5rem;
  background: var(--white);
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius-lg);
  text-decoration: none;
  color: var(--dark-color);
  transition: var(--transition-normal);
  position: relative;
  overflow: hidden;
}

/* line 313, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-action-btn:hover {
  text-decoration: none;
  color: var(--dark-color);
  box-shadow: var(--shadow);
  transform: translateY(-2px);
}

/* line 320, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-action-btn.primary {
  border-left: 4px solid var(--primary-color);
}

/* line 324, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-action-btn.success {
  border-left: 4px solid var(--success-color);
}

/* line 328, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-action-btn .quick-action-content {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 334, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-action-btn .quick-action-icon {
  width: 50px;
  height: 50px;
  border-radius: var(--border-radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
}

/* line 345, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-action-btn .primary .quick-action-icon {
  background: var(--primary-light);
  color: var(--primary-color);
}

/* line 350, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-action-btn .success .quick-action-icon {
  background: var(--success-light);
  color: var(--success-color);
}

/* line 355, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-action-btn .quick-action-info {
  flex: 1;
}

/* line 359, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-action-btn .quick-action-title {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.25rem;
}

/* line 365, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-action-btn .quick-action-desc {
  font-size: 0.8rem;
  color: var(--secondary-color);
  margin-bottom: 0;
}

/* line 371, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-action-btn .quick-action-arrow {
  color: var(--secondary-color);
  transition: var(--transition-fast);
}

/* line 376, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-action-btn:hover .quick-action-arrow {
  transform: translateX(3px);
}

/* line 380, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-action-btn .badge-notification {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  font-size: 0.7rem;
}

/* line 388, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-action-card {
  display: block;
  width: 100%;
  padding: 1rem;
  background: var(--white);
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius);
  text-decoration: none;
  color: var(--dark-color);
  text-align: center;
  transition: var(--transition-fast);
}

/* line 400, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-action-card:hover {
  text-decoration: none;
  color: var(--dark-color);
  box-shadow: var(--shadow-sm);
  transform: translateY(-1px);
}

/* line 407, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-action-card .quick-action-card-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.75rem;
  font-size: 1.2rem;
}

/* line 418, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-action-card .quick-action-card-title {
  font-size: 0.9rem;
  font-weight: 500;
  margin-bottom: 0;
}

/* line 429, app/assets/stylesheets/financial_dashboard_modern.scss */
.chart-container {
  position: relative;
  height: 300px;
  margin: 0 auto;
}

/* line 436, app/assets/stylesheets/financial_dashboard_modern.scss */
.chart-stats .chart-stat-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  background: var(--white);
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius);
  margin-bottom: 0.75rem;
}

/* line 446, app/assets/stylesheets/financial_dashboard_modern.scss */
.chart-stats .chart-stat-item:last-child {
  margin-bottom: 0;
}

/* line 451, app/assets/stylesheets/financial_dashboard_modern.scss */
.chart-stats .chart-stat-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 461, app/assets/stylesheets/financial_dashboard_modern.scss */
.chart-stats .chart-stat-content {
  flex: 1;
}

/* line 465, app/assets/stylesheets/financial_dashboard_modern.scss */
.chart-stats .chart-stat-value {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

/* line 471, app/assets/stylesheets/financial_dashboard_modern.scss */
.chart-stats .chart-stat-label {
  font-size: 0.8rem;
  color: var(--secondary-color);
  margin-bottom: 0;
}

/* line 482, app/assets/stylesheets/financial_dashboard_modern.scss */
.bg-primary-light {
  background-color: var(--primary-light) !important;
}

/* line 483, app/assets/stylesheets/financial_dashboard_modern.scss */
.bg-success-light {
  background-color: var(--success-light) !important;
}

/* line 484, app/assets/stylesheets/financial_dashboard_modern.scss */
.bg-danger-light {
  background-color: var(--danger-light) !important;
}

/* line 485, app/assets/stylesheets/financial_dashboard_modern.scss */
.bg-warning-light {
  background-color: var(--warning-light) !important;
}

/* line 486, app/assets/stylesheets/financial_dashboard_modern.scss */
.bg-info-light {
  background-color: var(--info-light) !important;
}

/* line 488, app/assets/stylesheets/financial_dashboard_modern.scss */
.bg-gradient-light {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%) !important;
}

/* line 492, app/assets/stylesheets/financial_dashboard_modern.scss */
.bg-gradient-primary {
  background: linear-gradient(135deg, var(--primary-color) 0%, #0056b3 100%) !important;
}

/* line 497, app/assets/stylesheets/financial_dashboard_modern.scss */
.badge-soft-primary {
  color: var(--primary-color);
  background-color: var(--primary-light);
}

/* line 502, app/assets/stylesheets/financial_dashboard_modern.scss */
.badge-soft-success {
  color: var(--success-color);
  background-color: var(--success-light);
}

/* line 507, app/assets/stylesheets/financial_dashboard_modern.scss */
.badge-soft-danger {
  color: var(--danger-color);
  background-color: var(--danger-light);
}

/* line 512, app/assets/stylesheets/financial_dashboard_modern.scss */
.badge-soft-warning {
  color: var(--warning-color);
  background-color: var(--warning-light);
}

/* line 517, app/assets/stylesheets/financial_dashboard_modern.scss */
.badge-soft-info {
  color: var(--info-color);
  background-color: var(--info-light);
}

/* line 522, app/assets/stylesheets/financial_dashboard_modern.scss */
.badge-soft-secondary {
  color: var(--secondary-color);
  background-color: rgba(108, 117, 125, 0.1);
}

@media (max-width: 768px) {
  /* line 533, app/assets/stylesheets/financial_dashboard_modern.scss */
  .financial-dashboard .dashboard-header-modern {
    padding: 1.5rem 0;
  }
  /* line 536, app/assets/stylesheets/financial_dashboard_modern.scss */
  .financial-dashboard .dashboard-header-modern .dashboard-title-section {
    flex-direction: column;
    text-align: center;
    gap: 1rem;
  }
  /* line 542, app/assets/stylesheets/financial_dashboard_modern.scss */
  .financial-dashboard .dashboard-header-modern .dashboard-actions {
    justify-content: center;
    margin-top: 1rem;
  }
  /* line 548, app/assets/stylesheets/financial_dashboard_modern.scss */
  .financial-dashboard .dashboard-title {
    font-size: 1.75rem;
  }
  /* line 553, app/assets/stylesheets/financial_dashboard_modern.scss */
  .kpi-card .kpi-card-body {
    flex-direction: column;
    text-align: center;
    gap: 1rem;
  }
  /* line 559, app/assets/stylesheets/financial_dashboard_modern.scss */
  .quick-action-btn .quick-action-content {
    flex-direction: column;
    text-align: center;
    gap: 1rem;
  }
  /* line 565, app/assets/stylesheets/financial_dashboard_modern.scss */
  .chart-stats .chart-stat-item {
    flex-direction: column;
    text-align: center;
    gap: 0.75rem;
  }
}

@media (max-width: 576px) {
  /* line 574, app/assets/stylesheets/financial_dashboard_modern.scss */
  .financial-dashboard .dashboard-content {
    padding: 0 10px;
  }
  /* line 579, app/assets/stylesheets/financial_dashboard_modern.scss */
  .kpi-card {
    margin-bottom: 1rem;
  }
  /* line 583, app/assets/stylesheets/financial_dashboard_modern.scss */
  .quick-action-btn {
    padding: 1rem;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* line 614, app/assets/stylesheets/financial_dashboard_modern.scss */
.kpi-card {
  animation: fadeInUp 0.6s ease-out;
}

/* line 618, app/assets/stylesheets/financial_dashboard_modern.scss */
.quick-action-btn {
  animation: slideInRight 0.6s ease-out;
}

/* line 626, app/assets/stylesheets/financial_dashboard_modern.scss */
.text-primary {
  color: var(--primary-color) !important;
}

/* line 627, app/assets/stylesheets/financial_dashboard_modern.scss */
.text-success {
  color: var(--success-color) !important;
}

/* line 628, app/assets/stylesheets/financial_dashboard_modern.scss */
.text-danger {
  color: var(--danger-color) !important;
}

/* line 629, app/assets/stylesheets/financial_dashboard_modern.scss */
.text-warning {
  color: var(--warning-color) !important;
}

/* line 630, app/assets/stylesheets/financial_dashboard_modern.scss */
.text-info {
  color: var(--info-color) !important;
}

/* line 631, app/assets/stylesheets/financial_dashboard_modern.scss */
.text-secondary {
  color: var(--secondary-color) !important;
}

/* line 632, app/assets/stylesheets/financial_dashboard_modern.scss */
.text-dark {
  color: var(--dark-color) !important;
}

/* line 634, app/assets/stylesheets/financial_dashboard_modern.scss */
.bg-primary {
  background-color: var(--primary-color) !important;
}

/* line 635, app/assets/stylesheets/financial_dashboard_modern.scss */
.bg-success {
  background-color: var(--success-color) !important;
}

/* line 636, app/assets/stylesheets/financial_dashboard_modern.scss */
.bg-danger {
  background-color: var(--danger-color) !important;
}

/* line 637, app/assets/stylesheets/financial_dashboard_modern.scss */
.bg-warning {
  background-color: var(--warning-color) !important;
}

/* line 638, app/assets/stylesheets/financial_dashboard_modern.scss */
.bg-info {
  background-color: var(--info-color) !important;
}

/* line 640, app/assets/stylesheets/financial_dashboard_modern.scss */
.border-primary {
  border-color: var(--primary-color) !important;
}

/* line 641, app/assets/stylesheets/financial_dashboard_modern.scss */
.border-success {
  border-color: var(--success-color) !important;
}

/* line 642, app/assets/stylesheets/financial_dashboard_modern.scss */
.border-danger {
  border-color: var(--danger-color) !important;
}

/* line 643, app/assets/stylesheets/financial_dashboard_modern.scss */
.border-warning {
  border-color: var(--warning-color) !important;
}

/* line 644, app/assets/stylesheets/financial_dashboard_modern.scss */
.border-info {
  border-color: var(--info-color) !important;
}
/* line 1, app/assets/stylesheets/help_center.scss */
.help-center-page {
  padding: 1.25rem 0 1.5rem;
}

/* line 5, app/assets/stylesheets/help_center.scss */
.help-center-layout,
.help-center-chat-layout,
.help-center-article-layout {
  display: grid;
  gap: 1rem;
  align-items: start;
}

/* line 13, app/assets/stylesheets/help_center.scss */
.help-center-layout,
.help-center-chat-layout {
  grid-template-columns: 320px minmax(0, 1fr);
}

/* line 18, app/assets/stylesheets/help_center.scss */
.help-center-article-layout {
  grid-template-columns: minmax(0, 1fr) 280px;
}

/* line 22, app/assets/stylesheets/help_center.scss */
.help-center-header-card,
.help-center-side-card,
.help-center-chat-panel,
.help-center-result-card,
.help-center-article-card {
  background: #fff;
  border: 1px solid rgba(206, 212, 218, 0.9);
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(44, 62, 80, 0.06);
}

/* line 33, app/assets/stylesheets/help_center.scss */
.help-center-header-card {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  padding: 1.25rem 1.35rem;
  margin-bottom: 1rem;
  background: radial-gradient(circle at top right, rgba(52, 152, 219, 0.08), transparent 22%), linear-gradient(180deg, #ffffff 0%, #f8fbfe 100%);
}

/* line 45, app/assets/stylesheets/help_center.scss */
.help-center-header-card.article-header {
  margin-bottom: 1rem;
}

/* line 49, app/assets/stylesheets/help_center.scss */
.help-center-kicker {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--erp-info);
  font-weight: 700;
  margin-bottom: 0.35rem;
}

/* line 58, app/assets/stylesheets/help_center.scss */
.help-center-title {
  color: var(--erp-primary);
  font-size: 2rem;
  line-height: 1.08;
  margin-bottom: 0.4rem;
  font-weight: 700;
}

/* line 66, app/assets/stylesheets/help_center.scss */
.help-center-title.article-title {
  font-size: 1.8rem;
}

/* line 70, app/assets/stylesheets/help_center.scss */
.help-center-subtitle {
  color: var(--gray-600);
  font-size: 0.95rem;
  margin: 0;
  max-width: 900px;
}

/* line 77, app/assets/stylesheets/help_center.scss */
.help-center-sidebar {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: sticky;
  top: 1rem;
}

/* line 85, app/assets/stylesheets/help_center.scss */
.help-center-side-card {
  padding: 1rem;
}

/* line 89, app/assets/stylesheets/help_center.scss */
.help-center-side-card-primary {
  background: linear-gradient(180deg, rgba(44, 62, 80, 0.98) 0%, rgba(52, 73, 94, 0.97) 100%);
  color: #fff;
}

/* line 94, app/assets/stylesheets/help_center.scss */
.help-center-side-title {
  font-size: 0.86rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.8rem;
  color: inherit;
}

/* line 104, app/assets/stylesheets/help_center.scss */
.help-center-search-form .form-control {
  border-radius: 0.4rem 0 0 0.4rem;
}

/* line 108, app/assets/stylesheets/help_center.scss */
.help-center-search-form .btn {
  border-radius: 0 0.4rem 0.4rem 0;
}

/* line 112, app/assets/stylesheets/help_center.scss */
.help-center-nav-list {
  display: grid;
  gap: 0.35rem;
}

/* line 117, app/assets/stylesheets/help_center.scss */
.help-center-nav-link {
  display: block;
  padding: 0.5rem 0.65rem;
  border-radius: 0.6rem;
  color: #495057;
  text-decoration: none;
  font-size: 0.82rem;
  transition: all 0.2s ease;
}

/* line 127, app/assets/stylesheets/help_center.scss */
.help-center-nav-link:hover,
.help-center-nav-link.is-active {
  background: rgba(52, 152, 219, 0.1);
  color: #1d4f91;
}

/* line 133, app/assets/stylesheets/help_center.scss */
.help-center-result-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

/* line 139, app/assets/stylesheets/help_center.scss */
.help-center-result-grid.compact {
  grid-template-columns: 1fr;
}

/* line 143, app/assets/stylesheets/help_center.scss */
.help-center-result-card {
  padding: 1rem;
}

/* line 147, app/assets/stylesheets/help_center.scss */
.help-center-result-card h3 {
  font-size: 1rem;
  margin-bottom: 0.35rem;
}

/* line 152, app/assets/stylesheets/help_center.scss */
.help-center-result-card h3 a {
  color: var(--erp-primary);
}

/* line 156, app/assets/stylesheets/help_center.scss */
.help-center-result-card p {
  margin: 0;
  color: var(--gray-600);
  font-size: 0.84rem;
}

/* line 162, app/assets/stylesheets/help_center.scss */
.help-center-section-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.55rem;
  border-radius: 999px;
  background: #eef7ff;
  color: #1d4f91;
  font-size: 0.72rem;
  font-weight: 700;
}

/* line 173, app/assets/stylesheets/help_center.scss */
.help-center-tips {
  display: grid;
  gap: 0.6rem;
  padding-left: 1rem;
  font-size: 0.84rem;
}

/* line 180, app/assets/stylesheets/help_center.scss */
.help-center-breadcrumbs {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.4rem;
  font-size: 0.8rem;
}

/* line 188, app/assets/stylesheets/help_center.scss */
.help-center-breadcrumbs a {
  color: var(--erp-info);
}

/* line 192, app/assets/stylesheets/help_center.scss */
.help-center-article-body {
  color: #343a40;
  line-height: 1.7;
}

/* line 197, app/assets/stylesheets/help_center.scss */
.help-center-article-body h2,
.help-center-article-body h3,
.help-center-article-body h4 {
  color: var(--erp-primary);
  margin-top: 1.5rem;
  margin-bottom: 0.6rem;
}

/* line 205, app/assets/stylesheets/help_center.scss */
.help-center-article-body p,
.help-center-article-body li {
  font-size: 0.92rem;
}

/* line 210, app/assets/stylesheets/help_center.scss */
.help-center-article-body ul,
.help-center-article-body ol {
  padding-left: 1.25rem;
}

/* line 215, app/assets/stylesheets/help_center.scss */
.help-center-article-image {
  border-radius: 0.85rem;
  border: 1px solid rgba(206, 212, 218, 0.9);
  margin: 0.75rem 0;
}

/* line 221, app/assets/stylesheets/help_center.scss */
.help-center-article-rail {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: sticky;
  top: 1rem;
}

/* line 229, app/assets/stylesheets/help_center.scss */
.help-center-toc {
  display: grid;
  gap: 0.45rem;
}

/* line 234, app/assets/stylesheets/help_center.scss */
.help-center-toc li.is-subitem {
  padding-left: 0.85rem;
}

/* line 238, app/assets/stylesheets/help_center.scss */
.help-center-toc a {
  color: #495057;
  font-size: 0.82rem;
  text-decoration: none;
}

/* line 244, app/assets/stylesheets/help_center.scss */
.help-center-chat-panel {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 260px);
  overflow: hidden;
}

/* line 251, app/assets/stylesheets/help_center.scss */
.help-center-chat-messages {
  flex: 1;
  padding: 1rem;
  background: linear-gradient(180deg, #f8fafc 0%, #eef3f7 100%);
  overflow: auto;
}

/* line 258, app/assets/stylesheets/help_center.scss */
.help-center-chat-message {
  display: flex;
  margin-bottom: 0.85rem;
}

/* line 263, app/assets/stylesheets/help_center.scss */
.help-center-chat-message.user {
  justify-content: flex-end;
}

/* line 267, app/assets/stylesheets/help_center.scss */
.help-center-chat-bubble {
  max-width: 78%;
  padding: 0.9rem 1rem;
  border-radius: 1rem;
  background: #fff;
  border: 1px solid rgba(206, 212, 218, 0.9);
  box-shadow: 0 8px 24px rgba(44, 62, 80, 0.06);
  font-size: 0.9rem;
}

/* line 277, app/assets/stylesheets/help_center.scss */
.help-center-chat-message.user .help-center-chat-bubble {
  background: var(--erp-primary);
  border-color: var(--erp-primary);
  color: #fff;
}

/* line 283, app/assets/stylesheets/help_center.scss */
.help-center-chat-bubble.is-error {
  border-color: rgba(231, 76, 60, 0.35);
  background: #fff7f7;
}

/* line 288, app/assets/stylesheets/help_center.scss */
.help-center-chat-bubble p:last-child {
  margin-bottom: 0;
}

/* line 292, app/assets/stylesheets/help_center.scss */
.help-center-chat-form {
  border-top: 1px solid rgba(206, 212, 218, 0.9);
  padding: 1rem;
  background: #fff;
}

/* line 298, app/assets/stylesheets/help_center.scss */
.help-center-chat-form textarea {
  resize: vertical;
  min-height: 96px;
}

/* line 303, app/assets/stylesheets/help_center.scss */
.help-center-chat-form-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-top: 0.75rem;
}

/* line 311, app/assets/stylesheets/help_center.scss */
.help-center-quick-actions {
  display: grid;
  gap: 0.55rem;
}

/* line 316, app/assets/stylesheets/help_center.scss */
.help-center-quick-actions .btn {
  white-space: normal;
}

/* line 320, app/assets/stylesheets/help_center.scss */
.help-center-context-banner {
  border-radius: 0.85rem;
}

@media (max-width: 991.98px) {
  /* line 325, app/assets/stylesheets/help_center.scss */
  .help-center-layout,
.help-center-chat-layout,
.help-center-article-layout,
.help-center-result-grid {
    grid-template-columns: 1fr;
  }
  /* line 332, app/assets/stylesheets/help_center.scss */
  .help-center-sidebar,
.help-center-article-rail {
    position: static;
  }
  /* line 337, app/assets/stylesheets/help_center.scss */
  .help-center-chat-bubble {
    max-width: 100%;
  }
}
/* Inline Edit Utilities */
.hidden {
    display: none !important;
}

.group:hover .group-hover\:visible {
    visibility: visible !important;
}

.group-hover\:visible {
    visibility: hidden;
}

.cursor-pointer {
    cursor: pointer;
}

.hover-bg-light:hover {
    background-color: #f8f9fa;
}
/*
 * Banners dos layouts: consentimento de analytics (layouts/_analytics_consent_banner,
 * desktop e PWA) e impersonação (layouts/application).
 *
 * Moravam em <style nonce> no <body>. O CSP de produção exige nonce em
 * style-src-elem, e o Turbo recria o bloco do body com o nonce da resposta
 * nova, que o header da primeira carga não aceita: depois da primeira visita
 * os banners entravam sem estilo. A folha é ligada pelos próprios parciais
 * (stylesheet_link_tag), só quando o banner aparece.
 */

/* === Consentimento de analytics === */
.analytics-consent-banner {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 1055;
  max-width: 420px;
  padding: 16px;
  border-radius: 12px;
  background: rgba(33, 37, 41, 0.96);
  color: #fff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.analytics-consent-banner[hidden] {
  display: none;
}

.analytics-consent-banner p {
  margin-bottom: 12px;
  font-size: 0.95rem;
}

.analytics-consent-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.analytics-consent-actions .btn {
  min-width: 132px;
}

/* No PWA o banner sobe acima da barra de navegação inferior e ocupa a largura. */
.pwa-mode .analytics-consent-banner {
  left: 16px;
  right: 16px;
  bottom: calc(80px + env(safe-area-inset-bottom, 0px));
  max-width: none;
  z-index: 1250;
}

.pwa-mode .analytics-consent-actions .btn {
  min-height: 44px;
}

/* === Impersonação === */
.main-header:has(.impersonation-center-banner) {
  position: relative;
}

.impersonation-center-banner {
  position: absolute;
  left: 50%;
  z-index: 1000;
  top: 50%;
  transform: translate(-50%, -50%);
}

.impersonation-navbar-banner {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  padding: 8px 15px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 400px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  position: relative;
  overflow: hidden;
}

.impersonation-navbar-banner::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  animation: impersonation-shimmer 3s infinite;
}

/* Nomes próprios: "shimmer"/"pulse" globais colidiriam com outras folhas. */
@keyframes impersonation-shimmer {
  0% { left: -100%; }
  100% { left: 100%; }
}

.impersonation-info {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
}

.impersonation-icon {
  font-size: 16px;
  animation: impersonation-pulse 2s infinite;
}

@keyframes impersonation-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

@media (prefers-reduced-motion: reduce) {
  .impersonation-navbar-banner::before,
  .impersonation-icon {
    animation: none;
  }
}

.impersonation-text {
  font-size: 13px;
  line-height: 1.3;
}

.impersonation-text strong {
  font-weight: 600;
}

.impersonation-text .tenant-name {
  color: #ffd700;
  font-weight: 500;
}

.impersonation-text .user-name {
  color: #e0e0e0;
  font-size: 12px;
}

.impersonation-timer {
  font-size: 12px;
  background: rgba(255, 255, 255, 0.2);
  padding: 4px 8px;
  border-radius: 4px;
  margin-left: 10px;
}

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

.impersonation-actions .btn {
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 4px;
}

.impersonation-actions .btn-outline-light:hover {
  background-color: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.5);
}

/* Responsivo */
@media (max-width: 768px) {
  .impersonation-center-banner {
    position: static;
    transform: none;
    margin: 5px auto;
    width: 100%;
    max-width: 90%;
  }

  .impersonation-navbar-banner {
    min-width: 300px;
    padding: 6px 10px;
    width: 100%;
  }

  .impersonation-text {
    font-size: 12px;
  }

  .impersonation-timer {
    font-size: 11px;
    padding: 3px 6px;
  }

  .impersonation-actions .btn {
    font-size: 11px;
    padding: 3px 6px;
  }
}

@media (max-width: 576px) {
  .impersonation-center-banner {
    max-width: 95%;
  }

  .impersonation-navbar-banner {
    min-width: 250px;
    flex-direction: column;
    gap: 8px;
  }

  .impersonation-info {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
  }

  .impersonation-timer {
    margin-left: 0;
  }
}
/* `--border-color` era declarada no `:root` de
   `app/assets/stylesheets/notifications.css` — a folha do módulo de
   NOTIFICAÇÕES, apagada em 28/08/2026. Nenhum arquivo do bundle a declara
   hoje (`erp_form.css` declara, mas não é importado em
   application.bootstrap.scss). Sem o valor de reserva abaixo, estas bordas
   perderiam a cor sem erro nenhum. */
/* =============================================================================
   CORREÇÕES DE LAYOUT - SIDEBAR E FOOTER
   ============================================================================= */

:root {
  --header-height: 57px;
  /* Valor padrao AdminLTE */
  --footer-height: 57px;
  /* Valor padrao AdminLTE */
  --sidebar-width: 250px;
}

/* Força o wrapper a ocupar toda a altura da tela e crescer com conteúdo */
html,
body {
  min-height: 100% !important;
  height: auto !important;
  margin: 0;
  padding: 0;
}

body:not(.layout-fixed) {
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

/* Fix specific user reported padding issue - NUCLEAR OPTION */
/* Specificity war: The ghost rule has 3 classes (:not loops). We need to beat that. */
html body.hold-transition.sidebar-mini.layout-fixed,
html body.hold-transition.layout-fixed,
html body.sidebar-mini.layout-fixed,
html body.layout-fixed,
/* Override direto na regra fantasma se ela persistir via cache */
html body:not(.pwa-mode):not(.pwa-standalone-active) {
  padding-bottom: 0 !important;
}

body.layout-fixed .wrapper,
body.sidebar-mini.layout-fixed .wrapper {
  padding-bottom: 0 !important;
}

.wrapper {
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  height: auto !important;
  /* Garante que não fique travado em 100vh */
}

/* Sidebar principal - garante que vá até o final */
.wrapper .main-sidebar,
body:not(.sidebar-mini) .wrapper .main-sidebar {
  position: fixed !important;
  /* Force fixed */
  top: 0;
  bottom: 0;
  left: 0;
  width: var(--sidebar-width);
  height: 100vh !important;
  min-height: 100vh !important;
  z-index: 1037;
  overflow-y: auto;
  /* Allow internal scrolling if menu is tall */
  scrollbar-width: none;
  -ms-overflow-style: none;
  background-color: #343a40 !important;
  /* Ensure dark background covers gaps */
}

/* Remove qualquer scrollbar da sidebar */
.wrapper .main-sidebar::-webkit-scrollbar,
body:not(.sidebar-mini) .wrapper .main-sidebar::-webkit-scrollbar {
  display: none;
  /* Chrome, Safari, Opera */
}

/* Ajustes do brand-link dentro da sidebar */
.wrapper .main-sidebar .brand-link {
  display: block;
  position: relative;
  padding: 0.8125rem 1rem;
  transition: width var(--transition-base) ease-in-out;
}

/* Container da sidebar - ajustado para não precisar de scroll */
.wrapper .main-sidebar .sidebar {
  position: relative;
  height: 100vh;
  overflow-y: visible;
  padding-bottom: 0;
  scrollbar-width: none;
  /* Firefox */
  -ms-overflow-style: none;
  /* IE */
}

/* Remove scrollbar completamente */
.wrapper .main-sidebar .sidebar::-webkit-scrollbar {
  display: none;
  /* Chrome, Safari, Opera */
}

/* Ajusta o menu para otimizar espaço */
.wrapper .main-sidebar .nav-sidebar {
  padding-bottom: 0;
}

.wrapper .main-sidebar .nav-sidebar .nav-item {
  margin-bottom: 0;
}

/* Content wrapper - ajusta margem e altura mínima */
.wrapper .content-wrapper {
  margin-left: var(--sidebar-width);
  min-height: calc(100vh - var(--header-height) - var(--footer-height)) !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 0 auto !important;
  /* Permite crescer mas não encolher abaixo do conteúdo */
  position: relative !important;
  z-index: 1000;
  height: auto !important;
  overflow: visible !important;
}

/* Garante que o body não interfira no layout */
body:not(.sidebar-collapse):not(.sidebar-mini) .content-wrapper {
  margin-left: 250px !important;
}

/* Para modo normal do AdminLTE */
.wrapper .content-wrapper {
  margin-left: 250px !important;
}

/* Regras ultra-específicas para forçar layout correto */
body.layout-fixed .wrapper .content-wrapper,
body:not(.sidebar-mini):not(.sidebar-collapse) .wrapper .content-wrapper,
html body .wrapper .content-wrapper {
  margin-left: 250px !important;
}

/* Garante que em desktop a sidebar não sobreponha o conteúdo */
@media (min-width: 992px) {
  .content-wrapper {
    margin-left: 250px !important;
    left: 0 !important;
    position: relative !important;
  }

  .sidebar-collapse .content-wrapper {
    margin-left: 4.6rem !important;
  }
}

/* Força o posicionamento correto em qualquer situação */
body .wrapper .content-wrapper,
.layout-fixed .wrapper .content-wrapper,
.layout-navbar-fixed .wrapper .content-wrapper {
  margin-left: 250px !important;
  left: 0 !important;
  position: relative !important;
  width: calc(100% - 250px) !important;
}

/* Para sidebar colapsada */
body.sidebar-collapse .wrapper .content-wrapper,
.sidebar-collapse.layout-fixed .wrapper .content-wrapper {
  margin-left: 4.6rem !important;
  width: calc(100% - 4.6rem) !important;
}

/* Header principal */
.wrapper .main-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1030;
  margin-left: var(--sidebar-width);
}

/* Conteúdo principal - flex para empurrar footer para baixo */
.wrapper .content-wrapper .content {
  flex: 1;
  padding: 1rem;
}

/* Content header com margem top para compensar header fixo */
.wrapper .content-wrapper .content-header {
  margin-top: var(--header-height) !important;
  padding: 0;
}

/* Footer - sempre no final da página */
.wrapper .main-footer {
  margin-top: auto !important;
  margin-left: var(--sidebar-width) !important;
  background: var(--gray-50) !important;
  border-top: 1px solid var(--border-color, #dee2e6) !important;
  padding: 1rem 1.5rem !important;
  position: relative !important;
  z-index: 1020 !important;
  height: auto !important;
  min-height: 50px !important;
  display: flex !important;
  align-items: center !important;
  width: auto !important;
  flex-shrink: 0 !important;
}

@media (max-width: 991.98px) {
  .wrapper .main-footer {
    margin-left: 4.6rem !important;
  }
}

/* Modo sidebar colapsada */
.sidebar-collapse .main-sidebar {
  width: 4.6rem !important;
}

.sidebar-collapse .content-wrapper,
.sidebar-collapse .main-header,
.sidebar-collapse .main-footer {
  margin-left: 4.6rem !important;
}

/* Garantir que ícones sempre apareçam quando sidebar está colapsada (apenas em telas pequenas/médias) */
@media (max-width: 991.98px) {

  /* Forçar visibilidade dos ícones quando sidebar colapsa */
  .sidebar-collapse .main-sidebar .nav-link .nav-icon,
  .sidebar-mini .main-sidebar .nav-link .nav-icon,
  body.sidebar-collapse .main-sidebar .nav-link .nav-icon,
  body.sidebar-mini .main-sidebar .nav-link .nav-icon {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Garantir que submenus também mostrem ícones */
  .sidebar-collapse .main-sidebar .nav-treeview .nav-link .nav-icon,
  .sidebar-mini .main-sidebar .nav-treeview .nav-link .nav-icon,
  body.sidebar-collapse .main-sidebar .nav-treeview .nav-link .nav-icon,
  body.sidebar-mini .main-sidebar .nav-treeview .nav-link .nav-icon {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* Responsividade para tablets */
@media (max-width: 991.98px) {

  /* Em tablets, sidebar aparece colapsada (apenas ícones) ao invés de esconder completamente */
  .main-sidebar {
    width: 4.6rem !important;
    min-width: 4.6rem !important;
    margin-left: 0 !important;
    transition: width 0.3s ease-in-out !important;
  }

  /* Quando clicar no botão hamburger, expande a sidebar */
  .sidebar-open .main-sidebar {
    width: 250px !important;
    min-width: 250px !important;
  }

  /* Conteúdo ajustado para sidebar colapsada */
  .content-wrapper,
  .main-header,
  .main-footer {
    margin-left: 4.6rem !important;
  }

  /* Quando sidebar está expandida, ajusta margem */
  .sidebar-open .content-wrapper,
  .sidebar-open .main-header,
  .sidebar-open .main-footer {
    margin-left: 250px !important;
  }

  .content-header {
    margin-top: 3.5rem !important;
  }

  /* Garantir que ícones apareçam quando sidebar colapsa em tablets */
  .sidebar-collapse .main-sidebar .nav-icon,
  .sidebar-mini .main-sidebar .nav-icon,
  body.sidebar-collapse .main-sidebar .nav-icon,
  body.sidebar-mini .main-sidebar .nav-icon {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 1.2rem !important;
    margin-right: 0.5rem !important;
  }

  /* Garantir que ícones dos submenus também apareçam */
  .sidebar-collapse .main-sidebar .nav-treeview .nav-icon,
  .sidebar-mini .main-sidebar .nav-treeview .nav-icon,
  body.sidebar-collapse .main-sidebar .nav-treeview .nav-icon,
  body.sidebar-mini .main-sidebar .nav-treeview .nav-icon {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Em tablets, quando sidebar não está expandida (body não tem sidebar-open), mostrar apenas ícones */
  body:not(.sidebar-open) .main-sidebar .nav-link>p {
    display: none !important;
  }

  /* Centralizar ícones quando sidebar está colapsada em tablet */
  body:not(.sidebar-open) .main-sidebar .nav-link {
    justify-content: center !important;
    text-align: center !important;
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }

  /* Garantir que ícones fiquem centralizados */
  body:not(.sidebar-open) .main-sidebar .nav-link .nav-icon {
    margin-right: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Esconder setas de submenu quando colapsada */
  body:not(.sidebar-open) .main-sidebar .nav-link .right {
    display: none !important;
  }
}

/* Responsividade para mobile */
@media (max-width: 767.98px) {

  /* Em mobile, sidebar aparece colapsada (apenas ícones) por padrão */
  .main-sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 4.6rem !important;
    min-width: 4.6rem !important;
    height: 100vh !important;
    z-index: 1038 !important;
    transition: width 0.3s ease-in-out, left 0.3s ease-in-out !important;
  }

  /* Quando clicar no botão hamburger, expande a sidebar */
  .sidebar-open .main-sidebar {
    width: 250px !important;
    min-width: 250px !important;
    left: 0 !important;
  }

  /* Conteúdo ajustado para sidebar colapsada */
  .content-wrapper,
  .main-header,
  .main-footer {
    margin-left: 4.6rem !important;
  }

  /* Quando sidebar está expandida, ajusta margem */
  .sidebar-open .content-wrapper,
  .sidebar-open .main-header,
  .sidebar-open .main-footer {
    margin-left: 250px !important;
  }

  /* Overlay quando sidebar está expandida em mobile */
  .sidebar-open::before {
    content: '' !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(0, 0, 0, 0.5) !important;
    z-index: 1037 !important;
  }

  /* Footer em mobile */
  .main-footer {
    padding: 0.75rem 1rem !important;
    min-height: 50px !important;
  }

  /* Garantir que ícones apareçam quando sidebar colapsa em telas pequenas */
  .sidebar-collapse .main-sidebar .nav-icon,
  .sidebar-mini .main-sidebar .nav-icon,
  body.sidebar-collapse .main-sidebar .nav-icon,
  body.sidebar-mini .main-sidebar .nav-icon {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 1.2rem !important;
    margin-right: 0.5rem !important;
  }

  /* Garantir que ícones dos submenus também apareçam */
  .sidebar-collapse .main-sidebar .nav-treeview .nav-icon,
  .sidebar-mini .main-sidebar .nav-treeview .nav-icon,
  body.sidebar-collapse .main-sidebar .nav-treeview .nav-icon,
  body.sidebar-mini .main-sidebar .nav-treeview .nav-icon {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Em mobile, quando sidebar não está expandida (body não tem sidebar-open), mostrar apenas ícones */
  body:not(.sidebar-open) .main-sidebar .nav-link>p {
    display: none !important;
  }

  /* Centralizar ícones quando sidebar está colapsada em mobile */
  body:not(.sidebar-open) .main-sidebar .nav-link {
    justify-content: center !important;
    text-align: center !important;
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }

  /* Garantir que ícones fiquem centralizados */
  body:not(.sidebar-open) .main-sidebar .nav-link .nav-icon {
    margin-right: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Esconder setas de submenu quando colapsada */
  body:not(.sidebar-open) .main-sidebar .nav-link .right {
    display: none !important;
  }
}

/* Ajustes específicos para modo PWA (preservando funcionalidade existente) */
.pwa-mode .main-sidebar,
.pwa-standalone .main-sidebar,
.pwa-standalone-active .main-sidebar,
body[data-pwa-mode="true"] .main-sidebar {
  display: none !important;
}

.pwa-mode .content-wrapper,
.pwa-standalone .content-wrapper,
.pwa-standalone-active .content-wrapper,
body[data-pwa-mode="true"] .content-wrapper {
  margin-left: 0 !important;
}

.pwa-mode .main-header,
.pwa-standalone .main-header,
.pwa-standalone-active .main-header,
body[data-pwa-mode="true"] .main-header {
  margin-left: 0 !important;
}

.pwa-mode .main-footer,
.pwa-standalone .main-footer,
.pwa-standalone-active .main-footer,
body[data-pwa-mode="true"] .main-footer {
  margin-left: 0 !important;
}

/* Ajustes para telas muito pequenas */
@media (max-width: 575.98px) {
  .content {
    padding: 0.5rem !important;
  }

  .content-header {
    padding: 0 0.5rem !important;
  }

  .main-footer {
    padding: 0.75rem 1rem !important;
  }
}

/* Garante que elementos dentro do conteúdo ocupem toda largura */
.content-wrapper .container-fluid {
  max-width: none !important;
  width: 100% !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

/* Flex layout para dashboards que precisam preencher a tela */
.content-wrapper .container-fluid.flex-layout {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Remove limitações de largura nos containers */
.content .container-fluid,
.content-wrapper .container-fluid {
  max-width: none !important;
  width: 100% !important;
}

/* Ajusta o conteúdo para ocupar toda largura */
.content {
  width: 100% !important;
  max-width: none !important;
}

/* Remove centralização e força largura completa nos elementos principais */
.main-container,
.container,
.container-fluid {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

/* Sobrescreve especificamente a regra do erp_form.css que centraliza */
.main-container {
  max-width: none !important;
  margin: 0 !important;
  padding: 20px 1rem !important;
  width: 100% !important;
}

/* Garante que cards e tabelas ocupem toda largura */
.card,
.table-responsive,
.data-table {
  width: 100% !important;
  max-width: none !important;
}

/* Remove centralizações específicas que podem estar interferindo */
.row {
  width: 100% !important;
  margin-left: -15px !important;
  margin-right: -15px !important;
}

/* Ajusta colunas para ocupar espaço correto */
.col-12,
.col-md-12,
.col-lg-12 {
  width: 100% !important;
  max-width: 100% !important;
}

/* Força containers específicos da aplicação a ocupar largura total */
.content-wrapper .container-fluid,
.content .container-fluid,
body .wrapper .content-wrapper .container-fluid {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

/* Remove qualquer centralização automática do Bootstrap/AdminLTE */
.content-wrapper,
.content-wrapper>*,
.content>*,
.content .container-fluid>* {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Scrollbar completamente removida */
.main-sidebar .sidebar {
  scrollbar-width: none !important;
  /* Firefox */
  -ms-overflow-style: none !important;
  /* IE */
  overflow-y: visible !important;
  height: auto !important;
  min-height: 100vh !important;
}

.main-sidebar .sidebar::-webkit-scrollbar {
  display: none !important;
  /* Chrome, Safari, Opera */
}

/* Garante que todos os menus sejam visíveis */
.main-sidebar .nav-sidebar {
  overflow: visible !important;
  height: auto !important;
  min-height: 100vh !important;
}

/* Ajusta os itens do menu para não serem cortados */
.main-sidebar .nav-sidebar .nav-item {
  overflow: visible !important;
}

/* Garante que submenus sejam visíveis */
.main-sidebar .nav-sidebar .nav-treeview {
  overflow: visible !important;
}

/* Força atualização do layout quando necessário */
.layout-fixed .wrapper {
  height: 100vh !important;
  overflow: hidden !important;
}

.layout-fixed .content-wrapper {
  overflow-y: auto !important;
}

.layout-fixed .main-sidebar {
  height: 100vh !important;
}


/* Melhora a transição quando a sidebar é aberta/fechada */
.main-sidebar,
.content-wrapper,
.main-header,
.main-footer {
  transition: margin-left 0.3s ease-in-out !important;
}

/* Melhorias específicas para visualização de OS */
.service-orders-show {
  min-height: calc(100vh - 200px) !important;
}

.service-orders-show .content {
  padding-bottom: 2rem !important;
}

.service-orders-show .card {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
  border: 1px solid rgba(0, 0, 0, 0.125) !important;
}

.service-orders-show .card-header {
  background-color: #f8f9fa !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.125) !important;
  padding: 0.75rem 1.25rem !important;
}

.service-orders-show .card-body {
  padding: 1.25rem !important;
}

/* Melhorias para tabelas em OS */
.service-orders-show .table {
  margin-bottom: 0 !important;
}

.service-orders-show .table th {
  border-top: none !important;
  font-weight: 600 !important;
  color: #495057 !important;
}

.service-orders-show .table td {
  vertical-align: middle !important;
}

/* Melhorias para badges e status */
.service-orders-show .badge {
  font-size: 0.75rem !important;
  padding: 0.375rem 0.75rem !important;
}

/* Melhorias para botões de ação */
.service-orders-show .btn-sm {
  padding: 0.25rem 0.5rem !important;
  font-size: 0.875rem !important;
}

/* Melhorias para responsividade */
@media (max-width: 767.98px) {
  .service-orders-show .content {
    padding: 0.5rem !important;
  }

  .service-orders-show .card-body {
    padding: 1rem !important;
  }

  .service-orders-show .btn-sm {
    padding: 0.375rem 0.75rem !important;
    font-size: 0.875rem !important;
  }
}


.content {
  flex: 0 1 auto !important;
  /* Não força crescer, apenas ocupa o necessário */
}

/* Submenu usa recuo padrão do AdminLTE via classe nav-child-indent */

/* =============================================================================
   ESTILOS COMPACTOS PARA SIDEBAR - Reduz fonte e espaçamentos
   ============================================================================= */

/* Links principais do menu lateral */
.main-sidebar .nav-sidebar>.nav-item>.nav-link,
.wrapper .main-sidebar .nav-sidebar>.nav-item>.nav-link {
  padding: 0.5rem 0.75rem !important;
  /* Reduzido de 0.75rem 1rem padrão */
  line-height: 1.4 !important;
  /* Compacto */
  margin-bottom: 0 !important;
}

/* Texto dos links - reduz 1px do padrão */
.main-sidebar .nav-sidebar .nav-link>p,
.wrapper .main-sidebar .nav-sidebar .nav-link>p {
  margin: 0 !important;
  font-size: 0.8125rem !important;
  /* ~13px - reduzido 1px do padrão ~14px */
  line-height: 1.4 !important;
}

/* Ícones do menu - reduz 1px do padrão */
.main-sidebar .nav-sidebar .nav-link .nav-icon,
.wrapper .main-sidebar .nav-sidebar .nav-link .nav-icon {
  font-size: 0.9375rem !important;
  /* ~15px - reduzido 1px do padrão ~16px */
  width: 1.2rem !important;
  /* Reduzido */
  margin-right: 0.5rem !important;
  /* Reduzido de 0.75rem */
}

/* Itens do menu (reduz espaçamento vertical) */
.main-sidebar .nav-sidebar .nav-item,
.wrapper .main-sidebar .nav-sidebar .nav-item {
  margin-bottom: 0 !important;
}

/* Submenu - links filhos */
.main-sidebar .nav-sidebar .nav-treeview .nav-link,
.wrapper .main-sidebar .nav-sidebar .nav-treeview .nav-link {
  padding: 0.4rem 0.75rem 0.4rem 1.5rem !important;
  /* Recuo reduzido de 2.5rem para 1.5rem */
  line-height: 1.4 !important;
}

/* Container do submenu - reduz margem esquerda */
.main-sidebar .nav-sidebar .nav-treeview,
.wrapper .main-sidebar .nav-sidebar .nav-treeview {
  margin-left: 0 !important;
  /* Remove margem padrão */
  padding-left: 0 !important;
}

/* Itens do submenu - reduz margem */
.main-sidebar .nav-sidebar .nav-treeview .nav-item,
.wrapper .main-sidebar .nav-sidebar .nav-treeview .nav-item {
  margin-left: 0 !important;
  /* Remove margem de 20px padrão */
}

/* Sub-submenus (terceiro nível) - aumenta recuo */
.main-sidebar .nav-sidebar .nav-treeview .nav-treeview .nav-link,
.wrapper .main-sidebar .nav-sidebar .nav-treeview .nav-treeview .nav-link {
  padding-left: 2rem !important;
  /* Recuo maior para sub-submenus (32px) */
}

/* Texto dos sub-submenus - reduz 1px do padrão */
.main-sidebar .nav-sidebar .nav-treeview .nav-treeview .nav-link>p,
.wrapper .main-sidebar .nav-sidebar .nav-treeview .nav-treeview .nav-link>p {
  font-size: 0.8125rem !important;
  /* ~13px - reduzido 1px do padrão ~14px */
}

/* Ícones dos sub-submenus - reduz 1px do padrão */
.main-sidebar .nav-sidebar .nav-treeview .nav-treeview .nav-icon,
.wrapper .main-sidebar .nav-sidebar .nav-treeview .nav-treeview .nav-icon {
  font-size: 0.875rem !important;
  /* ~14px - reduzido 1px do padrão ~15px */
}

/* Container do sub-submenu */
.main-sidebar .nav-sidebar .nav-treeview .nav-treeview,
.wrapper .main-sidebar .nav-sidebar .nav-treeview .nav-treeview {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* Itens do sub-submenu */
.main-sidebar .nav-sidebar .nav-treeview .nav-treeview .nav-item,
.wrapper .main-sidebar .nav-sidebar .nav-treeview .nav-treeview .nav-item {
  margin-left: 0 !important;
}

/* Ícones dos subitens - reduz 1px do padrão */
.main-sidebar .nav-sidebar .nav-treeview .nav-icon,
.wrapper .main-sidebar .nav-sidebar .nav-treeview .nav-icon {
  font-size: 0.875rem !important;
  /* ~14px - reduzido 1px do padrão ~15px */
  width: 1rem !important;
}

/* Texto dos subitens - reduz 1px do padrão */
.main-sidebar .nav-sidebar .nav-treeview .nav-link>p,
.wrapper .main-sidebar .nav-sidebar .nav-treeview .nav-link>p {
  font-size: 0.8125rem !important;
  /* ~13px - reduzido 1px do padrão ~14px */
}

/* Reduz espaçamento no container do menu */
.main-sidebar .sidebar .nav-sidebar,
.wrapper .main-sidebar .sidebar .nav-sidebar {
  padding-top: 0.5rem !important;
  /* Reduzido */
  padding-bottom: 0.5rem !important;
}

/* Brand link mais compacto - mantém padding reduzido mas volta fonte ao normal */
.main-sidebar .brand-link,
.wrapper .main-sidebar .brand-link {
  padding: 0.625rem 0.75rem !important;
  /* Reduzido de 0.8125rem 1rem */
}

/* Brand text usa tamanho padrão do AdminLTE */
@charset "UTF-8";
/* =============================================================================
   PAINEL CLÁSSICO (LEGADO) — .control-panel, .panel-header, .btn-panel,
   .stats-row, .erp-stat-card, .filters-section, .erp-table, .erp-badge,
   .action-btn, .empty-state, e o `:root` que decide o `--border-radius` do
   sistema (4px: é o último a defini-lo no bundle; sem ele, valeria o
   0.375rem de financial_dashboard.scss).

   Até set/2026 este arquivo se chamava `lgpd_logs.scss`: nasceu como a folha
   da tela /lgpd/logs, e os seletores sem escopo viraram o estilo de um
   punhado de telas que nunca migraram. /lgpd/logs foi para o kit .erp-ui e
   não usa mais nada daqui (DECISAO-LGPD-LOGS.md, D347/D350).

   QUEM DEPENDE, MEDIDO (18/09/2026): 135 páginas reais da cópia de produção,
   renderizadas no Chrome com e sem este arquivo, estilos computados de cada
   elemento comparados. 25 telas legadas mudam sem ele:

     admin: dashboard_financeiro, lgpd_compliance, saas_payments,
            saas_plan_adjustments, system_alert_configs/edit
     faturamento/dashboard e faturamento/dashboard/executivo, rental_dashboard,
     quotations (index), rental_movements/pwa,
     settings: service_order_templates,
               quotation_templates, rental_templates,
               rental_prebilling_templates, rental_movement_templates,
               billing_templates
     financial: reconciliations (index e show), reconciliation_rules e
                suggestions, budgets (index, new, annual/new, reports),
                payables/:id/new_renegotiation

   (settings/ai_knowledge_bases e admin/email_dashboard pareciam depender e
   não dependem: a única diferença era um ícone girando, medido em momentos
   diferentes da animação. A primeira migrou para o kit em 18/09/2026.)

   Nas 59 telas do KIT que mudavam, a única dependência era o
   `margin-bottom: 4px` de `.filter-group label` — agora declarado no próprio
   kit (erp_ui.scss, D350). Este arquivo some quando essas 25 telas migrarem;
   ao migrar uma delas, tire-a da lista acima.
   ============================================================================= */
/* ERP Variables */
/* line 40, app/assets/stylesheets/legacy_control_panel.scss */
:root {
  --erp-primary: #2c3e50;
  --erp-primary-light: #34495e;
  --erp-secondary: #7f8c8d;
  --erp-success: #27ae60;
  --erp-warning: #f39c12;
  --erp-danger: #e74c3c;
  --erp-info: #3498db;
  --gray-900: #212529;
  --gray-800: #343a40;
  --gray-700: #495057;
  --gray-600: #6c757d;
  --gray-500: #adb5bd;
  --gray-400: #ced4da;
  --gray-300: #dee2e6;
  --gray-200: #e9ecef;
  --gray-100: #f8f9fa;
  --gray-50: #ffffff;
  --shadow-light: 0 1px 3px rgba(0,0,0,0.05);
  --shadow-medium: 0 2px 6px rgba(0,0,0,0.08);
  --border-radius: 4px;
}

/* Main Container */
/* Control Panel */
/* line 68, app/assets/stylesheets/legacy_control_panel.scss */
.control-panel {
  background: white;
  border: 1px solid var(--gray-300);
  border-radius: var(--border-radius);
  margin-bottom: 20px;
  box-shadow: var(--shadow-light);
}

/* line 76, app/assets/stylesheets/legacy_control_panel.scss */
.panel-header {
  background: var(--gray-100);
  padding: 15px 20px;
  border-bottom: 1px solid var(--gray-300);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 85, app/assets/stylesheets/legacy_control_panel.scss */
.panel-title {
  font-size: 18px;
  font-weight: 600;
  color: var(--gray-900);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* line 95, app/assets/stylesheets/legacy_control_panel.scss */
.panel-actions {
  display: flex;
  gap: 8px;
}

/* line 100, app/assets/stylesheets/legacy_control_panel.scss */
.btn-panel {
  padding: 8px 16px;
  border: 1px solid var(--gray-300);
  border-radius: var(--border-radius);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  background: white;
  color: var(--gray-700);
}

/* line 116, app/assets/stylesheets/legacy_control_panel.scss */
.btn-panel:hover {
  background: var(--gray-50);
  border-color: var(--gray-400);
  text-decoration: none;
  color: var(--gray-800);
}

/* line 123, app/assets/stylesheets/legacy_control_panel.scss */
.btn-panel.btn-success {
  background: var(--erp-success);
  border-color: var(--erp-success);
  color: white;
}

/* line 129, app/assets/stylesheets/legacy_control_panel.scss */
.btn-panel.btn-success:hover {
  background: #219a52;
  border-color: #219a52;
  color: white;
}

/* line 135, app/assets/stylesheets/legacy_control_panel.scss */
.btn-panel.btn-warning {
  background: var(--erp-warning);
  border-color: var(--erp-warning);
  color: white;
}

/* line 141, app/assets/stylesheets/legacy_control_panel.scss */
.btn-panel.btn-warning:hover {
  background: #e08e0b;
  border-color: #e08e0b;
  color: white;
}

/* line 147, app/assets/stylesheets/legacy_control_panel.scss */
.btn-panel.btn-info {
  background: var(--erp-info);
  border-color: var(--erp-info);
  color: white;
}

/* line 153, app/assets/stylesheets/legacy_control_panel.scss */
.btn-panel.btn-info:hover {
  background: #2980b9;
  border-color: #2980b9;
  color: white;
}

/* Info Alert */
/* Stats Row */
/* line 161, app/assets/stylesheets/legacy_control_panel.scss */
.stats-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  padding: 20px;
  border-bottom: 1px solid var(--gray-200);
}

/* ERP Stat Card */
/* line 170, app/assets/stylesheets/legacy_control_panel.scss */
.erp-stat-card {
  background: white;
  border-radius: var(--border-radius);
  padding: 20px;
  box-shadow: var(--shadow-light);
  border-left: 4px solid var(--erp-primary);
  display: flex;
  align-items: center;
  gap: 15px;
  transition: all 0.3s;
}

/* line 182, app/assets/stylesheets/legacy_control_panel.scss */
.erp-stat-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-medium);
}

/* line 187, app/assets/stylesheets/legacy_control_panel.scss */
.erp-stat-card.primary {
  border-left-color: var(--erp-primary);
}

/* line 191, app/assets/stylesheets/legacy_control_panel.scss */
.erp-stat-card.success {
  border-left-color: var(--erp-success);
}

/* line 195, app/assets/stylesheets/legacy_control_panel.scss */
.erp-stat-card.warning {
  border-left-color: var(--erp-warning);
}

/* line 199, app/assets/stylesheets/legacy_control_panel.scss */
.erp-stat-card.danger {
  border-left-color: var(--erp-danger);
}

/* line 203, app/assets/stylesheets/legacy_control_panel.scss */
.erp-stat-card.info {
  border-left-color: var(--erp-info);
}

/* line 207, app/assets/stylesheets/legacy_control_panel.scss */
.stat-icon {
  width: 50px;
  height: 50px;
  border-radius: var(--border-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  flex-shrink: 0;
}

/* line 218, app/assets/stylesheets/legacy_control_panel.scss */
.erp-stat-card .stat-icon {
  background: rgba(44, 62, 80, 0.1);
  color: var(--erp-primary);
}

/* line 223, app/assets/stylesheets/legacy_control_panel.scss */
.erp-stat-card.success .stat-icon {
  background: rgba(39, 174, 96, 0.1);
  color: var(--erp-success);
}

/* line 228, app/assets/stylesheets/legacy_control_panel.scss */
.erp-stat-card.warning .stat-icon {
  background: rgba(243, 156, 18, 0.1);
  color: var(--erp-warning);
}

/* line 233, app/assets/stylesheets/legacy_control_panel.scss */
.erp-stat-card.danger .stat-icon {
  background: rgba(231, 76, 60, 0.1);
  color: var(--erp-danger);
}

/* line 238, app/assets/stylesheets/legacy_control_panel.scss */
.erp-stat-card.info .stat-icon {
  background: rgba(52, 152, 219, 0.1);
  color: var(--erp-info);
}

/* line 243, app/assets/stylesheets/legacy_control_panel.scss */
.stat-content h3,
.stat-content .erp-stat-value {
  font-size: 28px;
  font-weight: 700;
  margin: 0;
  color: var(--gray-900);
}

/* line 251, app/assets/stylesheets/legacy_control_panel.scss */
.stat-content p {
  font-size: 13px;
  color: var(--gray-600);
  margin: 5px 0 0;
}

/* Filters Section */
/* line 258, app/assets/stylesheets/legacy_control_panel.scss */
.filters-section {
  padding: 20px;
  border-bottom: 1px solid var(--gray-200);
  background: white;
}

/* line 264, app/assets/stylesheets/legacy_control_panel.scss */
.filters-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  align-items: end;
}

/* line 271, app/assets/stylesheets/legacy_control_panel.scss */
.filter-group label {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: var(--gray-700);
  margin-bottom: 4px;
}

/* line 279, app/assets/stylesheets/legacy_control_panel.scss */
.filter-group .form-control,
.filter-group .form-control-sm {
  border: 1px solid var(--gray-300);
  border-radius: var(--border-radius);
  padding: 6px 10px;
  font-size: 13px;
  background: white;
  width: 100%;
}

/* line 289, app/assets/stylesheets/legacy_control_panel.scss */
.filter-group .form-control:focus,
.filter-group .form-control-sm:focus {
  outline: none;
  border-color: var(--erp-primary);
  box-shadow: 0 0 0 2px rgba(44, 62, 80, 0.1);
}

/* line 296, app/assets/stylesheets/legacy_control_panel.scss */
.filter-actions {
  display: flex;
  gap: 8px;
}

/* Table */
/* line 302, app/assets/stylesheets/legacy_control_panel.scss */
.erp-table {
  width: 100%;
  background: white;
  border-collapse: collapse;
  font-size: 13px;
}

/* line 309, app/assets/stylesheets/legacy_control_panel.scss */
.erp-table thead th {
  background: var(--gray-200);
  color: var(--gray-800);
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 12px 10px;
  border-bottom: 2px solid var(--gray-300);
  text-align: left;
}

/* line 321, app/assets/stylesheets/legacy_control_panel.scss */
.erp-table tbody td {
  padding: 10px;
  border-bottom: 1px solid var(--gray-200);
  vertical-align: middle;
}

/* line 327, app/assets/stylesheets/legacy_control_panel.scss */
.erp-table tbody tr:hover {
  background: var(--gray-50);
}

/* Log Specific Styles */
/* ERP Badge */
/* line 333, app/assets/stylesheets/legacy_control_panel.scss */
.erp-badge {
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* line 344, app/assets/stylesheets/legacy_control_panel.scss */
.erp-badge.success {
  background: #d4edda;
  color: #155724;
}

/* line 349, app/assets/stylesheets/legacy_control_panel.scss */
.erp-badge.danger {
  background: #f8d7da;
  color: #721c24;
}

/* line 354, app/assets/stylesheets/legacy_control_panel.scss */
.erp-badge.warning {
  background: #fff3cd;
  color: #856404;
}

/* line 359, app/assets/stylesheets/legacy_control_panel.scss */
.erp-badge.info {
  background: #d1ecf1;
  color: #0c5460;
}

/* line 364, app/assets/stylesheets/legacy_control_panel.scss */
.erp-badge.secondary {
  background: var(--gray-200);
  color: var(--gray-700);
}

/* Action Buttons */
/* line 370, app/assets/stylesheets/legacy_control_panel.scss */
.action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--border-radius);
  border: 1px solid transparent;
  margin-right: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  background: none;
  font-size: 14px;
  text-decoration: none;
}

/* line 386, app/assets/stylesheets/legacy_control_panel.scss */
.action-btn.view {
  color: var(--erp-info);
  border-color: var(--erp-info);
}

/* line 391, app/assets/stylesheets/legacy_control_panel.scss */
.action-btn.view:hover {
  background: var(--erp-info);
  color: white;
}

/* Empty State */
/* line 397, app/assets/stylesheets/legacy_control_panel.scss */
.empty-state {
  text-align: center;
  padding: 60px 20px;
  color: var(--gray-600);
}

/* line 403, app/assets/stylesheets/legacy_control_panel.scss */
.empty-state i {
  font-size: 64px;
  color: var(--gray-400);
  margin-bottom: 20px;
}

/* line 409, app/assets/stylesheets/legacy_control_panel.scss */
.empty-state h4 {
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 10px;
  color: var(--gray-800);
}

/* line 416, app/assets/stylesheets/legacy_control_panel.scss */
.empty-state p {
  margin: 0;
  font-size: 14px;
}

/* Retention Info Card */
/* Responsive */
@media (max-width: 768px) {
  /* line 424, app/assets/stylesheets/legacy_control_panel.scss */
  .stats-row {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  /* line 429, app/assets/stylesheets/legacy_control_panel.scss */
  .filters-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  /* line 434, app/assets/stylesheets/legacy_control_panel.scss */
  .panel-header {
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
  }
  /* line 440, app/assets/stylesheets/legacy_control_panel.scss */
  .panel-actions {
    width: 100%;
    flex-wrap: wrap;
  }
  /* line 445, app/assets/stylesheets/legacy_control_panel.scss */
  .btn-panel {
    flex: 1;
    justify-content: center;
  }
}
/* Estilos para emails de alerta do Analytics DW */

.analytics-alert-email {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  line-height: 1.6;
  color: #333;
  max-width: 600px;
  margin: 0 auto;
  padding: 20px;
}

/* Headers */
.analytics-alert-email .header {
  padding: 20px;
  border-radius: 8px 8px 0 0;
  text-align: center;
  color: white;
}

.analytics-alert-email .header.warning {
  background: #f39c12;
}

.analytics-alert-email .header.error {
  background: #dc3545;
}

.analytics-alert-email .header h1 {
  margin: 0;
  font-size: 24px;
}

/* Content */
.analytics-alert-email .content {
  background: #fff;
  border: 1px solid #dee2e6;
  border-top: none;
  padding: 30px;
  border-radius: 0 0 8px 8px;
}

/* Alert boxes */
.analytics-alert-email .alert-box {
  padding: 15px;
  margin: 20px 0;
  border-radius: 4px;
}

.analytics-alert-email .alert-box.warning {
  background: #fff3cd;
  border-left: 4px solid #f39c12;
  color: #856404;
}

.analytics-alert-email .alert-box.error {
  background: #f8d7da;
  border-left: 4px solid #dc3545;
  color: #721c24;
}

.analytics-alert-email .alert-box.info {
  background: #fff3cd;
  border-left: 4px solid #f39c12;
  color: #856404;
}

/* Metrics */
.analytics-alert-email .metric {
  background: #f8f9fa;
  padding: 15px;
  margin: 10px 0;
  border-radius: 4px;
  border-left: 3px solid #6c757d;
}

.analytics-alert-email .metric.error {
  border-left-color: #dc3545;
  background: #f8d7da;
}

.analytics-alert-email .metric.warning {
  border-left-color: #f39c12;
  background: #fff3cd;
}

.analytics-alert-email .metric h3 {
  margin: 0 0 10px 0;
  font-size: 16px;
  color: #495057;
}

.analytics-alert-email .metric-value {
  font-size: 24px;
  font-weight: bold;
  color: #212529;
  margin: 5px 0;
}

.analytics-alert-email .metric-value.danger {
  color: #dc3545;
}

.analytics-alert-email .metric-value.warning {
  color: #f39c12;
}

.analytics-alert-email .metric-value.success {
  color: #28a745;
}

.analytics-alert-email .metric-label {
  font-size: 14px;
  color: #6c757d;
}

/* Tables */
.analytics-alert-email table {
  width: 100%;
  border-collapse: collapse;
  margin: 15px 0;
}

.analytics-alert-email table th {
  background: #f8f9fa;
  padding: 10px;
  text-align: left;
  font-weight: 600;
  border-bottom: 2px solid #dee2e6;
}

.analytics-alert-email table td {
  padding: 10px;
  border-bottom: 1px solid #dee2e6;
}

/* Error details */
.analytics-alert-email .error-details {
  background: #f8f9fa;
  padding: 15px;
  margin: 15px 0;
  border-radius: 4px;
  border-left: 3px solid #dc3545;
}

.analytics-alert-email .error-details h3 {
  margin: 0 0 10px 0;
  font-size: 16px;
  color: #495057;
}

.analytics-alert-email .error-message {
  font-family: 'Courier New', monospace;
  background: #fff;
  padding: 10px;
  border-radius: 4px;
  border: 1px solid #dee2e6;
  color: #dc3545;
  font-weight: bold;
  margin: 10px 0;
}

.analytics-alert-email .backtrace {
  font-family: 'Courier New', monospace;
  font-size: 12px;
  background: #fff;
  padding: 10px;
  border-radius: 4px;
  border: 1px solid #dee2e6;
  color: #6c757d;
  overflow-x: auto;
  margin: 10px 0;
}

/* Badges */
.analytics-alert-email .critical-badge {
  display: inline-block;
  background: #dc3545;
  color: white;
  padding: 5px 10px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  margin: 10px 0;
}

/* Footer */
.analytics-alert-email .footer {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid #dee2e6;
  font-size: 12px;
  color: #6c757d;
  text-align: center;
}

/* Buttons */
.analytics-alert-email .btn {
  display: inline-block;
  padding: 12px 24px;
  background: #007bff;
  color: white;
  text-decoration: none;
  border-radius: 4px;
  margin: 20px 0;
  font-weight: 500;
}

@charset "UTF-8";
/* Correções específicas para modals de patrimônios */
/* Garantir que todos os modais de patrimônios apareçam sempre acima de outros elementos */
/* line 4, app/assets/stylesheets/modals_fix.scss */
#patrimonyModal,
#viewPatrimonyModal,
#editPatrimonyModal,
#trackPatrimonyModal {
  z-index: 10060 !important;
  position: fixed !important;
}

/* line 12, app/assets/stylesheets/modals_fix.scss */
#patrimonyModal .modal-dialog,
#viewPatrimonyModal .modal-dialog,
#editPatrimonyModal .modal-dialog,
#trackPatrimonyModal .modal-dialog {
  z-index: 10061 !important;
  position: relative !important;
}

/* line 20, app/assets/stylesheets/modals_fix.scss */
#patrimonyModal .modal-content,
#viewPatrimonyModal .modal-content,
#editPatrimonyModal .modal-content,
#trackPatrimonyModal .modal-content {
  z-index: 10062 !important;
  position: relative !important;
}

/* Backdrop específico para modals de patrimônios - REMOVIDO para evitar conflito com modal de preferências */
/* Garantir que tabs não interfiram com modals */
/* line 31, app/assets/stylesheets/modals_fix.scss */
.tab-pane {
  position: relative;
  z-index: 1;
}

/* Correções para cards dentro de tabs */
/* line 37, app/assets/stylesheets/modals_fix.scss */
.tab-pane .card {
  position: relative;
  z-index: 2;
}

/* Override específico para Bootstrap */
/* line 43, app/assets/stylesheets/modals_fix.scss */
.modal.fade.show {
  z-index: 10060 !important;
}

/* Regras específicas para modais de patrimônio quando estão abertos */
/* line 48, app/assets/stylesheets/modals_fix.scss */
#patrimonyModal.modal.show,
#viewPatrimonyModal.modal.show,
#editPatrimonyModal.modal.show,
#trackPatrimonyModal.modal.show {
  z-index: 10060 !important;
  display: block !important;
}

/* Garantir que o backdrop não cubra os modais - REMOVIDO para evitar conflito com modal de preferências */
/* Garantir que o body modal-open funcione corretamente */
/* line 59, app/assets/stylesheets/modals_fix.scss */
body.modal-open {
  overflow: hidden !important;
}

/* Correção para person-card quando modal está aberto */
/* line 64, app/assets/stylesheets/modals_fix.scss */
body.modal-open .person-card {
  z-index: 1 !important;
}

/* Garantir que o modal seja sempre visível */
/* line 69, app/assets/stylesheets/modals_fix.scss */
.modal.show {
  display: block !important;
  z-index: 10060 !important;
}

/* Correção específica para quando modal está dentro de tabs */
/* line 75, app/assets/stylesheets/modals_fix.scss */
.tab-content .modal {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 10060 !important;
}
/* line 4, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-projection-module {
  animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* line 23, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-header-compact {
  background: #ffffff;
  padding: 0.875rem 0;
  margin-bottom: 1.25rem;
  border-bottom: 2px solid #e9ecef;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

/* line 31, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 39, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-header-title-section {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: 1;
  min-width: 0;
}

/* line 47, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-icon-compact {
  width: 38px;
  height: 38px;
  background: linear-gradient(135deg, #007bff, #17a2b8);
  border-radius: 0.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1rem;
  box-shadow: 0 2px 6px rgba(0, 123, 255, 0.2);
  flex-shrink: 0;
}

/* line 61, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-text-compact {
  flex: 1;
  min-width: 0;
}

/* line 66, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-title-compact {
  font-size: 1.375rem;
  font-weight: 700;
  color: #212529;
  margin-bottom: 0.125rem;
  line-height: 1.3;
}

/* line 74, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-subtitle-compact {
  font-size: 0.8rem;
  color: #6c757d;
  margin-bottom: 0;
  font-weight: 400;
  line-height: 1.3;
}

/* line 82, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-header-actions {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-wrap: wrap;
  flex-shrink: 0;
}

/* line 90, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.btn-compact {
  padding: 0.35rem 0.65rem;
  font-size: 0.8rem;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border-radius: 0.375rem;
}

/* line 99, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.btn-compact i {
  font-size: 0.8rem;
}

/* line 103, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.btn-compact .btn-text {
  white-space: nowrap;
}

/* line 112, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-filters-card {
  background: #ffffff;
  border: 1px solid #e9ecef;
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  padding: 1rem 1.25rem;
  margin-bottom: 1.5rem;
}

/* line 121, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-filters-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 127, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-filters-row {
  display: flex;
  align-items: flex-end;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 134, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-filter-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1;
  min-width: 200px;
}

/* line 142, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-filter-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #495057;
  margin-bottom: 0;
  display: flex;
  align-items: center;
}

/* line 151, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-period-buttons {
  display: inline-flex;
  background: #f8f9fa;
  border-radius: 0.375rem;
  padding: 0.25rem;
  gap: 0.25rem;
}

/* line 159, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-period-radio {
  display: none;
}

/* line 162, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-period-radio:checked + .cash-flow-period-btn {
  background: #007bff;
  color: #ffffff;
  box-shadow: 0 2px 4px rgba(0, 123, 255, 0.2);
}

/* line 169, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-period-btn {
  padding: 0.375rem 0.75rem;
  border: none;
  background: transparent;
  color: #6c757d;
  font-size: 0.8rem;
  font-weight: 500;
  border-radius: calc(0.375rem - 1px);
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
  user-select: none;
}

/* line 182, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-period-btn:hover {
  background: #e9ecef;
  color: #495057;
}

/* line 187, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-period-btn.active {
  background: #007bff;
  color: #ffffff;
  box-shadow: 0 2px 4px rgba(0, 123, 255, 0.2);
}

/* line 194, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-scenario-select {
  font-size: 0.875rem;
  padding: 0.5rem;
}

/* line 199, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-filter-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* line 206, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-apply-btn {
  padding: 0.5rem 1rem;
  font-weight: 500;
}

/* line 211, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-filters-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 0.75rem;
  border-top: 1px solid #e9ecef;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 221, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-footer-info,
.cash-flow-footer-cache {
  display: flex;
  align-items: center;
  font-size: 0.8rem;
  color: #6c757d;
}

@media (max-width: 992px) {
  /* line 231, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-filters-row {
    flex-direction: column;
    align-items: stretch;
  }
  /* line 236, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-filter-group {
    min-width: 100%;
  }
  /* line 240, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-filter-actions {
    width: 100%;
    justify-content: stretch;
  }
  /* line 245, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-apply-btn,
.cash-flow-filter-actions .btn {
    flex: 1;
  }
  /* line 250, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-filters-footer {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* line 257, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.fa-info-circle[data-toggle="tooltip"] {
  cursor: help;
  opacity: 0.6;
  transition: opacity 0.2s ease;
  font-size: 0.875rem;
}

/* line 263, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.fa-info-circle[data-toggle="tooltip"]:hover {
  opacity: 1;
}

/* line 272, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alerts-card {
  border: 1px solid #e9ecef;
  border-radius: 0.5rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* line 280, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alerts-header {
  background: #ffffff;
  padding: 0.875rem 1rem;
  border-bottom: 1px solid #e9ecef;
}

/* line 286, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alerts-header-content {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 292, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alerts-icon-header {
  width: 32px;
  height: 32px;
  background: linear-gradient(135deg, #ffc107, #ff9800);
  border-radius: 0.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 0.9rem;
  flex-shrink: 0;
}

/* line 305, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alerts-title {
  font-size: 1rem;
  font-weight: 600;
  color: #212529;
  margin: 0;
  flex: 1;
}

/* line 313, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alerts-body {
  flex: 1;
  padding: 0.75rem;
  background: #ffffff;
  overflow-y: auto;
  max-height: 500px;
}

/* line 321, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alerts-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 327, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alerts-loading {
  text-align: center;
  padding: 2rem 1rem;
  color: #6c757d;
}

/* line 332, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alerts-loading i {
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
  display: block;
}

/* line 338, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alerts-loading p {
  margin: 0;
  font-size: 0.875rem;
}

/* line 345, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-item {
  position: relative;
  background: #ffffff;
  border: 1px solid #e9ecef;
  border-radius: 0.5rem;
  overflow: hidden;
  transition: all 0.2s ease;
  cursor: pointer;
}

/* line 354, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-item:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transform: translateY(-1px);
}

/* line 360, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-border {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: #6c757d;
  transition: width 0.2s ease;
}

/* line 370, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-item:hover .cash-flow-alert-border {
  width: 5px;
}

/* line 374, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-item[data-severity="critical"] {
  background: linear-gradient(to right, #fff5f5 0%, #ffffff 4%);
}

/* line 375, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-item[data-severity="critical"] .cash-flow-alert-border {
  background: #dc3545;
}

/* line 381, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-item[data-severity="critical"] .cash-flow-alert-icon-wrapper {
  background: rgba(220, 53, 69, 0.1);
  color: #dc3545;
}

/* line 387, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-item[data-severity="warning"] {
  background: linear-gradient(to right, #fffbf0 0%, #ffffff 4%);
}

/* line 388, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-item[data-severity="warning"] .cash-flow-alert-border {
  background: #ffc107;
}

/* line 394, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-item[data-severity="warning"] .cash-flow-alert-icon-wrapper {
  background: rgba(255, 193, 7, 0.1);
  color: #ffc107;
}

/* line 400, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-item[data-severity="info"] {
  background: linear-gradient(to right, #f0fbff 0%, #ffffff 4%);
}

/* line 401, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-item[data-severity="info"] .cash-flow-alert-border {
  background: #17a2b8;
}

/* line 407, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-item[data-severity="info"] .cash-flow-alert-icon-wrapper {
  background: rgba(23, 162, 184, 0.1);
  color: #17a2b8;
}

/* line 413, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-content {
  padding: 0.875rem 1rem 0.875rem 1.25rem;
}

/* line 417, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-header {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}

/* line 424, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-icon-wrapper {
  width: 32px;
  height: 32px;
  border-radius: 0.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 0.125rem;
}

/* line 434, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-icon-wrapper .alert-icon {
  font-size: 1rem;
}

/* line 439, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-title-section {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  min-width: 0;
}

/* line 448, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-title-text {
  font-size: 0.875rem;
  font-weight: 600;
  color: #212529;
  margin: 0;
  line-height: 1.4;
  flex: 1;
  min-width: 0;
}

/* line 457, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-title-text i {
  margin-left: 0.375rem;
  font-size: 0.75rem;
  opacity: 0.6;
}

/* line 464, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-badge {
  font-size: 0.7rem;
  font-weight: 600;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
  flex-shrink: 0;
}

/* line 475, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-item[data-severity="critical"] .cash-flow-alert-badge {
  background: #dc3545;
  color: #ffffff;
}

/* line 480, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-item[data-severity="warning"] .cash-flow-alert-badge {
  background: #ffc107;
  color: #212529;
}

/* line 485, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-item[data-severity="info"] .cash-flow-alert-badge {
  background: #17a2b8;
  color: #ffffff;
}

/* line 490, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-body {
  padding-left: 2.75rem;
}

/* line 494, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-message {
  font-size: 0.8125rem;
  color: #495057;
  margin: 0 0 0.5rem 0;
  line-height: 1.5;
}

/* line 501, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-meta {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 508, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-date {
  font-size: 0.75rem;
  color: #6c757d;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 515, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alert-date i {
  font-size: 0.7rem;
  opacity: 0.7;
}

/* line 521, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alerts-footer {
  background: #f8f9fa;
  padding: 0.625rem 1rem;
  border-top: 1px solid #e9ecef;
  text-align: center;
  font-size: 0.75rem;
  color: #6c757d;
}

/* line 529, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alerts-footer i {
  font-size: 0.7rem;
  opacity: 0.7;
}

/* line 534, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-alerts-footer strong {
  color: #495057;
  font-weight: 600;
}

@media (max-width: 992px) {
  /* line 542, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-alerts-body {
    max-height: 400px;
  }
  /* line 546, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-alert-header {
    flex-wrap: wrap;
  }
  /* line 550, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-alert-title-section {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 555, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-alert-body {
    padding-left: 0;
    margin-top: 0.5rem;
  }
}

/* line 565, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendations-card {
  border: 1px solid #e9ecef;
  border-radius: 0.5rem;
  overflow: hidden;
  background: #ffffff;
}

/* line 572, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendations-header {
  background: #ffffff;
  padding: 0.875rem 1rem;
  border-bottom: 1px solid #e9ecef;
}

/* line 578, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendations-header-content {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 584, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendations-icon-header {
  width: 32px;
  height: 32px;
  background: linear-gradient(135deg, #ffc107, #ff9800);
  border-radius: 0.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 0.9rem;
  flex-shrink: 0;
}

/* line 597, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendations-title {
  font-size: 1rem;
  font-weight: 600;
  color: #212529;
  margin: 0;
  flex: 1;
}

/* line 605, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendations-body {
  padding: 1rem;
}

/* line 609, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendations-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1rem;
}

/* line 615, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendations-loading {
  grid-column: 1 / -1;
  text-align: center;
  padding: 3rem 1rem;
  color: #6c757d;
}

/* line 621, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendations-loading i {
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
  display: block;
}

/* line 627, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendations-loading p {
  margin: 0;
  font-size: 0.875rem;
}

/* line 634, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-item {
  position: relative;
  background: #ffffff;
  border: 1px solid #e9ecef;
  border-radius: 0.5rem;
  overflow: hidden;
  transition: all 0.2s ease;
  display: flex;
  flex-direction: column;
}

/* line 644, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-item:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}

/* line 650, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-border {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: #6c757d;
  transition: width 0.2s ease;
}

/* line 660, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-item:hover .cash-flow-recommendation-border {
  width: 5px;
}

/* line 664, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-item[data-type="urgent"] {
  background: linear-gradient(to right, #fff5f5 0%, #ffffff 4%);
}

/* line 665, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-item[data-type="urgent"] .cash-flow-recommendation-border {
  background: #dc3545;
}

/* line 671, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-item[data-type="urgent"] .cash-flow-recommendation-icon-wrapper {
  background: rgba(220, 53, 69, 0.1);
  color: #dc3545;
}

/* line 677, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-item[data-type="opportunity"] {
  background: linear-gradient(to right, #f0fff4 0%, #ffffff 4%);
}

/* line 678, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-item[data-type="opportunity"] .cash-flow-recommendation-border {
  background: #28a745;
}

/* line 684, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-item[data-type="opportunity"] .cash-flow-recommendation-icon-wrapper {
  background: rgba(40, 167, 69, 0.1);
  color: #28a745;
}

/* line 690, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-item[data-type="warning"] {
  background: linear-gradient(to right, #fffbf0 0%, #ffffff 4%);
}

/* line 691, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-item[data-type="warning"] .cash-flow-recommendation-border {
  background: #ffc107;
}

/* line 697, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-item[data-type="warning"] .cash-flow-recommendation-icon-wrapper {
  background: rgba(255, 193, 7, 0.1);
  color: #ffc107;
}

/* line 703, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-item[data-type="info"] {
  background: linear-gradient(to right, #f0fbff 0%, #ffffff 4%);
}

/* line 704, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-item[data-type="info"] .cash-flow-recommendation-border {
  background: #17a2b8;
}

/* line 710, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-item[data-type="info"] .cash-flow-recommendation-icon-wrapper {
  background: rgba(23, 162, 184, 0.1);
  color: #17a2b8;
}

/* line 716, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-content {
  padding: 1rem 1rem 0.875rem 1.25rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* line 723, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-header {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

/* line 730, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-icon-wrapper {
  width: 40px;
  height: 40px;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 739, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-icon-wrapper i {
  font-size: 1.25rem;
}

/* line 744, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-title-section {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  min-width: 0;
}

/* line 753, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-title-text {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #212529;
  margin: 0;
  line-height: 1.4;
  flex: 1;
  min-width: 0;
}

/* line 763, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-badge {
  font-size: 0.7rem;
  font-weight: 600;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
  flex-shrink: 0;
}

/* line 774, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-item[data-type="urgent"] .cash-flow-recommendation-badge {
  background: #dc3545;
  color: #ffffff;
}

/* line 779, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-item[data-type="opportunity"] .cash-flow-recommendation-badge {
  background: #28a745;
  color: #ffffff;
}

/* line 784, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-item[data-type="warning"] .cash-flow-recommendation-badge {
  background: #ffc107;
  color: #212529;
}

/* line 789, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-item[data-type="info"] .cash-flow-recommendation-badge {
  background: #17a2b8;
  color: #ffffff;
}

/* line 794, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-body {
  flex: 1;
  padding-left: 3.25rem;
}

/* line 799, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-message {
  font-size: 0.8125rem;
  color: #495057;
  margin: 0 0 0.75rem 0;
  line-height: 1.6;
}

/* line 806, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 811, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-actions .btn {
  font-size: 0.8rem;
  padding: 0.375rem 0.75rem;
  border-radius: 0.375rem;
  font-weight: 500;
}

/* line 819, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-footer {
  padding: 0.75rem 1rem;
  background: #f8f9fa;
  border-top: 1px solid #e9ecef;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: #6c757d;
  margin-top: auto;
}

/* line 830, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-footer i {
  font-size: 0.75rem;
  opacity: 0.7;
}

/* line 835, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
.cash-flow-recommendation-footer strong {
  color: #495057;
  font-weight: 600;
}

@media (max-width: 992px) {
  /* line 843, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-recommendations-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 0.875rem;
  }
}

@media (max-width: 768px) {
  /* line 850, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-recommendations-grid {
    grid-template-columns: 1fr;
    gap: 0.875rem;
  }
  /* line 855, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-recommendation-header {
    flex-wrap: wrap;
  }
  /* line 859, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-recommendation-title-section {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }
  /* line 865, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-recommendation-body {
    padding-left: 0;
    margin-top: 0.5rem;
  }
}

@media (max-width: 768px) {
  /* line 872, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-header-compact {
    padding: 0.875rem 0;
  }
  /* line 876, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-header-row {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }
  /* line 882, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-header-title-section {
    gap: 0.75rem;
  }
  /* line 886, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-icon-compact {
    width: 36px;
    height: 36px;
    font-size: 0.9rem;
  }
  /* line 892, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-title-compact {
    font-size: 1.25rem;
  }
  /* line 896, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-subtitle-compact {
    font-size: 0.75rem;
  }
  /* line 900, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-header-actions {
    justify-content: flex-start;
    width: 100%;
  }
  /* line 905, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .btn-compact {
    flex: 1;
    justify-content: center;
    min-width: 0;
  }
  /* line 911, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-filters-card {
    padding: 0.875rem 1rem;
  }
  /* line 915, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-period-buttons {
    flex-wrap: wrap;
  }
  /* line 919, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-period-btn {
    flex: 1;
    min-width: 0;
    text-align: center;
  }
}

@media print {
  /* line 929, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-projection-module .btn,
.cash-flow-projection-module .card-header button,
.cash-flow-projection-module .panel-actions {
    display: none !important;
  }
  /* line 935, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-projection-module .card {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  /* line 940, app/assets/stylesheets/modules/financial/cash_flow_projection.scss */
  .cash-flow-projection-module .filters-section {
    display: none !important;
  }
}
/* line 4, app/assets/stylesheets/modules/financial/dashboard.scss */
.financial-dashboard-module .hover-shadow {
  transition: box-shadow 0.3s ease-in-out;
}

/* line 7, app/assets/stylesheets/modules/financial/dashboard.scss */
.financial-dashboard-module .hover-shadow:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}

/* line 15, app/assets/stylesheets/modules/financial/dashboard.scss */
.financial-dashboard-module .card.text-center .card-body {
  padding: 2rem 1rem;
}

/* line 19, app/assets/stylesheets/modules/financial/dashboard.scss */
.financial-dashboard-module .card.text-center i.fa-3x {
  opacity: 0.8;
}
/* NCM Search Component Styles */
.ncm-search-results {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 1px solid #ced4da;
  border-top: none;
  border-radius: 0 0 0.25rem 0.25rem;
  max-height: 300px;
  overflow-y: auto;
  z-index: 1050;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  margin-top: -1px;
}

.ncm-result-item {
  padding: 0.75rem;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.15s ease;
}

.ncm-result-item:last-child {
  border-bottom: none;
}

.ncm-result-item:hover {
  background-color: #f8f9fa;
}

.ncm-result-item strong {
  display: block;
  color: #212529;
  font-size: 0.9rem;
  margin-bottom: 0.25rem;
}

.ncm-result-item .text-muted {
  font-size: 0.8rem;
  line-height: 1.3;
}

/* Selected NCM Display */
.alert-sm {
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
}

.alert-info {
  background-color: #e7f3ff;
  border-color: #b6d4fe;
  color: #004085;
}

/* Focus state for search input */
[data-ncm-select-target="searchInput"]:focus {
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
}

/* Loading state (optional) */
.ncm-search-loading {
  padding: 0.75rem;
  text-align: center;
  color: #6c757d;
}

.ncm-search-loading::after {
  content: "...";
  animation: dots 1.5s steps(4, end) infinite;
}

@keyframes dots {
  0%, 20% { content: "."; }
  40% { content: ".."; }
  60%, 100% { content: "..."; }
}

/* Linha do NCM selecionado, montada por ncm_select_controller.js.
   Substitui as utilitárias do Bootstrap (`d-flex justify-content-between
   align-items-center`) que o controller injetava: markup gerado em JS
   obedece as mesmas regras da view (regra 11 do spec de conformidade), e o
   botão ao lado passou a usar `.action-btn desfaz` do kit — o dicionário de
   consequência de references/acoes.md, já que limpar a seleção é "desfaz". */
.ncm-selected {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
/* line 17, app/assets/stylesheets/opportunities.scss */
.erp-ui.opportunities-module .kanban-column[data-stage="initial"] .kanban-column-title {
  color: var(--erp-ui-accent);
}

/* line 18, app/assets/stylesheets/opportunities.scss */
.erp-ui.opportunities-module .kanban-column[data-stage="negotiation"] .kanban-column-title {
  color: var(--erp-ui-warning-text);
}

/* line 19, app/assets/stylesheets/opportunities.scss */
.erp-ui.opportunities-module .kanban-column[data-stage="closed_won"] .kanban-column-title {
  color: var(--erp-ui-good-text);
}

/* line 20, app/assets/stylesheets/opportunities.scss */
.erp-ui.opportunities-module .kanban-column[data-stage="closed_lost"] .kanban-column-title {
  color: var(--erp-ui-critical-text);
}

/* line 23, app/assets/stylesheets/opportunities.scss */
.erp-ui.opportunities-module .opp-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

/* line 30, app/assets/stylesheets/opportunities.scss */
.erp-ui.opportunities-module .opp-card-number {
  font-size: 13px;
  font-weight: 700;
  color: var(--erp-ui-ink);
}

/* line 36, app/assets/stylesheets/opportunities.scss */
.erp-ui.opportunities-module .opp-card-title {
  margin: 0;
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
}

/* line 42, app/assets/stylesheets/opportunities.scss */
.erp-ui.opportunities-module .opp-card-person,
.erp-ui.opportunities-module .opp-card-work {
  margin: 0;
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
}

/* line 49, app/assets/stylesheets/opportunities.scss */
.erp-ui.opportunities-module .opp-card-value {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-top: 6px;
  border-top: 1px solid var(--erp-ui-hairline);
}

/* line 58, app/assets/stylesheets/opportunities.scss */
.erp-ui.opportunities-module .opp-card-amount {
  font-size: 13px;
  font-weight: 700;
  color: var(--erp-ui-good-text);
}

/* line 64, app/assets/stylesheets/opportunities.scss */
.erp-ui.opportunities-module .opp-card-probability {
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
}

/* line 69, app/assets/stylesheets/opportunities.scss */
.erp-ui.opportunities-module .opp-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
}

/* line 78, app/assets/stylesheets/opportunities.scss */
.erp-ui.opportunities-module .opp-card-foot {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* line 84, app/assets/stylesheets/opportunities.scss */
.erp-ui.opportunities-module .opp-card-actions {
  display: flex;
  gap: 2px;
}

/* line 94, app/assets/stylesheets/opportunities.scss */
.erp-ui.opportunities-module .opp-activity-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* line 100, app/assets/stylesheets/opportunities.scss */
.erp-ui.opportunities-module .opp-activity-item {
  padding: 12px 0;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 104, app/assets/stylesheets/opportunities.scss */
.erp-ui.opportunities-module .opp-activity-item:last-child {
  border-bottom: 0;
}

/* line 109, app/assets/stylesheets/opportunities.scss */
.erp-ui.opportunities-module .opp-activity-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

/* line 116, app/assets/stylesheets/opportunities.scss */
.erp-ui.opportunities-module .opp-activity-actions {
  display: flex;
  gap: 2px;
}

/* line 121, app/assets/stylesheets/opportunities.scss */
.erp-ui.opportunities-module .opp-activity-desc {
  margin: 4px 0 0;
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
}

/* line 127, app/assets/stylesheets/opportunities.scss */
.erp-ui.opportunities-module .opp-activity-meta {
  margin: 4px 0 0;
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
  display: flex;
  align-items: center;
  gap: 6px;
}
/* Estilos específicos para PDF - Compatível com wkhtmltopdf */
/* Baseado no projeto mobileloc que funciona corretamente */

/* Reset básico */
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Tipografia */
body {
  font-family: 'Helvetica', 'Arial', sans-serif;
  font-size: 12px;
  line-height: 1.4;
  color: #333;
  margin: 0;
  padding: 0;
  background: white;
}

/* Container principal */
.container {
  padding: 20px;
  width: 100%;
}

.container-fluid {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

/* Grid System com prefixes webkit para wkhtmltopdf */
.row {
  display: -webkit-box; /* wkhtmltopdf usa este */
  display: -webkit-flex; /* suporte webkit */
  display: flex;
  -webkit-box-orient: horizontal; /* wkhtmltopdf */
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.row > * {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

.row > div {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
}

.row > div:last-child {
  margin-right: 0;
}

/* Colunas */
.col-md-2 { 
  -webkit-flex: 0 0 auto; 
  flex: 0 0 auto; 
  width: 16.66666667%; 
}
.col-md-4 { 
  -webkit-flex: 0 0 auto; 
  flex: 0 0 auto; 
  width: 33.33333333%; 
}
.col-md-6 { 
  -webkit-flex: 0 0 auto; 
  flex: 0 0 auto; 
  width: 50%; 
}
.col-md-8 { 
  -webkit-flex: 0 0 auto; 
  flex: 0 0 auto; 
  width: 66.66666667%; 
}
.col-md-9 { 
  -webkit-flex: 0 0 auto; 
  flex: 0 0 auto; 
  width: 75%; 
}
.col-md-10 { 
  -webkit-flex: 0 0 auto; 
  flex: 0 0 auto; 
  width: 83.33333333%; 
}
.col-md-12 { 
  -webkit-flex: 0 0 auto; 
  flex: 0 0 auto; 
  width: 100%; 
}

/* Títulos */
h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: #2c3e50;
}

h1 { font-size: 24px; }
h2 { font-size: 18px; }
h3 { font-size: 16px; }
h4 { font-size: 14px; }
h5 { font-size: 12px; }
h6 { font-size: 11px; }

/* Parágrafos */
p {
  margin-top: 0;
  margin-bottom: 1rem;
}

/* Cabeçalho */
.header {
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: 1px solid #ddd;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.logo {
  max-width: 150px;
  margin-bottom: 10px;
  margin-right: 20px;
}

.title {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
}

.title h1 {
  font-size: 24px;
  margin: 0;
  color: #007bff;
}

/* Tabelas */
table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
  color: #212529;
  background-color: white;
}

th, td {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: left;
  background-color: white;
}

th {
  background-color: #f8f9fa;
  font-weight: bold;
  color: #495057;
}

tr:nth-child(even) {
  background-color: #f9f9f9;
}

tfoot {
  font-weight: bold;
}

tfoot td {
  background-color: #f5f5f5;
}

/* Cards */


.card-body {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  flex: 1 1 auto;
  padding: 1rem;
}

/* Badges de status */
.status-badge {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 0;
  font-size: 10px;
  font-weight: bold;
}

.status-badge.active {
  background-color: #d4edda;
  color: #155724;
}

.status-badge.inactive {
  background-color: #f8d7da;
  color: #721c24;
}

.status-badge.maintenance {
  background-color: #fff3cd;
  color: #856404;
}

.status-badge.scheduled {
  background-color: #d1ecf1;
  color: #0c5460;
}

/* Utilitários de texto */
.text-center { text-align: center; }
.text-end, .text-right { text-align: right; }
.text-left { text-align: left; }
.text-muted { color: #6c757d; }
.text-bold, .fw-bold, .font-weight-bold { font-weight: bold; }

/* Espaçamento */
.mb-0 { margin-bottom: 0; }
.mb-1 { margin-bottom: 0.25rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 1rem; }
.mb-4 { margin-bottom: 1.5rem; }
.mb-n1 { margin-bottom: -0.25rem; }

.mt-1 { margin-top: 0.25rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-3 { margin-top: 1rem; }
.mt-4 { margin-top: 1.5rem; }

.p-3 { padding: 1rem; }
.p-4 { padding: 1.5rem; }

/* Background */
.bg-light { background-color: #f8f9fa; }

/* Bordas */
.border-top { border-top: 1px solid #dee2e6; }

/* Seções específicas da OS */
.header-section {
  background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
  color: white;
  padding: 20px;
  margin-bottom: 20px;
}

.company-logo {
  width: 80px;
  height: 80px;
  background: white;
  border-radius: 10px;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  font-weight: bold;
  color: #2c3e50;
  font-size: 18px;
}

.os-number-badge {
  background: #e74c3c;
  color: white;
  padding: 10px 20px;
  border-radius: 25px;
  font-size: 18px;
  font-weight: bold;
}

.section-title {
  background: #34495e;
  color: white;
  padding: 8px 15px;
  margin: 0 -15px 15px -15px;
  font-weight: 600;
  font-size: 14px;
}

.form-control-plaintext {
  border-bottom: 1px solid #dee2e6;
  border-radius: 0;
  padding-left: 0;
  min-height: 25px;
  background: transparent;
  border-top: none;
  border-left: none;
  border-right: none;
  display: block;
  width: 100%;
  color: #212529;
}

.form-label {
  font-weight: bold;
  margin-bottom: 0.25rem;
  display: inline-block;
}

.textarea-field {
  border: 1px solid #dee2e6;
  min-height: 100px;
  padding: 10px;
  border-radius: 4px;
  white-space: pre-wrap;
  background: white;
  width: 100%;
  display: block;
}

.signature-box {
  border: 1px solid #dee2e6;
  height: 80px;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  padding: 10px;
  background: #f8f9fa;
}

/* Status específicos */
.status-pendente { background: #fff3cd; color: #856404; }
.status-andamento { background: #d1ecf1; color: #0c5460; }
.status-concluido { background: #d4edda; color: #155724; }

.priority-high { color: #e74c3c; font-weight: bold; }
.priority-medium { color: #f39c12; font-weight: bold; }
.priority-low { color: #27ae60; font-weight: bold; }

/* Anexos */
.attachments-section {
  page-break-before: auto;
  margin-top: 30px;
}

.attachments-section h2 {
  color: #007bff;
  border-bottom: 2px solid #007bff;
  padding-bottom: 10px;
}

.attachments-section h3 {
  color: #28a745;
  margin-bottom: 15px;
}

.attachments-section img {
  max-width: 400px;
  max-height: 300px;
  border: 1px solid #ddd;
  border-radius: 4px;
  display: block;
  margin: 10px auto;
}

/* Rodapé */
.footer {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid #ddd;
  text-align: center;
  font-size: 10px;
  color: #666;
}

/* Quebras de página */
.page-break {
  page-break-before: always;
}

/* Imagens */
img {
  max-width: 100%;
  height: auto;
}

/* Listas */
ul, ol {
  margin: 10px 0;
  padding-left: 20px;
}

li {
  margin-bottom: 5px;
}

/* Notas */
.notes {
  margin: 20px 0;
  padding: 10px;
  background-color: #f8f9fa;
  border-left: 4px solid #6c757d;
}

.notes p {
  margin: 0;
}

/* Configuração de página */
@page {
  size: A4;
  margin: 15mm;
}

@media print {
  body { 
    background: white; 
  }
  .container, .container-fluid { 
    max-width: none; 
  }
}

/* Classes específicas do mobileloc que funcionam */
.corpo {
  margin-left: 50px;
  margin-right: 40px;
  padding-top: 50px;
}

p.pdf_obs {
  display: block;
  white-space: pre-wrap;
}

/* Flex utilities com webkit prefixes */
.d-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
}

.align-items-center {
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.justify-content-center {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.justify-content-between {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

        @page {
            size: A4;
            margin: 10mm;
        }
        
        @media print {
            body { background: white !important; }
            .os-container { box-shadow: none !important; margin: 0 !important; }
        }
        
        * {
            box-sizing: border-box;
        }
        
        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            font-size: 9px;
            line-height: 1.2;
            background-color: #f8f9fa;
            margin: 0;
            padding: 0;
        }
        
        .os-container {
            background: white;
            box-shadow: 0 0 20px rgba(0,0,0,0.1);
            margin: 10px auto;
            max-width: 210mm;
        }
        
        .header-section {
            background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
            color: white;
            padding: 10px;
        }
        
        .row {
            display: flex;
            flex-wrap: wrap;
            margin: 0 -8px;
        }
        
        .col-md-2 { flex: 0 0 16.666667%; max-width: 16.666667%; padding: 0 8px; }
        .col-md-3 { flex: 0 0 25%; max-width: 25%; padding: 0 8px; }
        .col-md-4 { flex: 0 0 33.333333%; max-width: 33.333333%; padding: 0 8px; }
        .col-md-6 { flex: 0 0 50%; max-width: 50%; padding: 0 8px; }
        .col-md-8 { flex: 0 0 66.666667%; max-width: 66.666667%; padding: 0 8px; }
        .col-md-12 { flex: 0 0 100%; max-width: 100%; padding: 0 8px; }

/* Estilos específicos para PDFs do módulo de compras */
.rejection-section {
  margin-bottom: 20px;
  padding: 10px;
  background-color: #fdf2f2;
  border-left: 3px solid #e74c3c;
}

.rejection-section h4 {
  color: #2c3e50;
  font-size: 11px;
  margin-bottom: 8px;
  font-weight: bold;
}

.rejection-section p {
  font-size: 9px;
  margin: 0;
}

.quality-section {
  margin-bottom: 15px;
  padding: 10px;
  background-color: #f8f9fa;
  border-left: 3px solid #2c3e50;
}

.quality-section h4 {
  color: #2c3e50;
  font-size: 11px;
  margin-bottom: 8px;
  font-weight: bold;
}

.quality-section p {
  font-size: 9px;
  margin: 0;
}
        
        .align-items-center { align-items: center; }
        .text-right { text-align: right; }
        .text-center { text-align: center; }
        
        .company-logo {
            width: 45px;
            height: 45px;
            background: white;
            border-radius: 6px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: bold;
            color: #2c3e50;
            font-size: 10px;
        }
        
        .os-number-badge {
            background: #e74c3c;
            color: white;
            padding: 5px 10px;
            border-radius: 15px;
            font-size: 11px;
            font-weight: bold;
            display: inline-block;
        }
        
        .status-badge {
            padding: 3px 8px;
            border-radius: 10px;
            font-size: 9px;
            font-weight: bold;
            display: inline-block;
            margin-top: 5px;
        }
        
        .status-pendente { background: #fff3cd; color: #856404; }
        .status-andamento { background: #d1ecf1; color: #0c5460; }
        .status-concluido { background: #d4edda; color: #155724; }
        
        .p-3 { padding: 0.6rem; }
        
        .card {
            background: white;
            border: 1px solid #dee2e6;
            border-radius: 0.25rem;
            margin-bottom: 0.5rem;
        }
        
        .card-body {
            padding: 0.5rem;
        }
        
        .section-title {
            background: #34495e;
            color: white;
            padding: 4px 8px;
            margin: -8px -8px 6px -8px;
            font-weight: 600;
            font-size: 9px;
        }
        
        .form-label {
            font-weight: bold;
            margin-bottom: 0.1rem;
            display: block;
            font-size: 8px;
        }
        
        .form-control-plaintext {
            border-bottom: 1px solid #dee2e6;
            border-radius: 0;
            padding: 2px 0;
            min-height: 16px;
            background: transparent;
            border-top: none;
            border-left: none;
            border-right: none;
            display: block;
            width: 100%;
            font-size: 9px;
        }
        
        .textarea-field {
            border: 1px solid #dee2e6;
            min-height: 40px;
            padding: 4px;
            border-radius: 3px;
            white-space: pre-wrap;
            background: white;
            width: 100%;
            font-size: 9px;
        }
        
        .table {
            width: 100%;
            border-collapse: collapse;
            margin-bottom: 0.5rem;
            font-size: 8px;
        }
        
        .table th,
        .table td {
            padding: 0.2rem;
            border: 1px solid #dee2e6;
            text-align: left;
        }
        
        .table-responsive {
            overflow-x: auto;
        }
        
        .thead-light th {
            background-color: #f8f9fa;
            font-weight: bold;
        }
        
        .table-secondary {
            background-color: #e9ecef;
        }
        
        .item-row {
            border-bottom: 1px solid #dee2e6;
        }
        
        .signature-box {
            border: 1px solid #dee2e6;
            height: 40px;
            display: flex;
            align-items: flex-end;
            justify-content: center;
            padding: 5px;
            background: #f8f9fa;
            margin-bottom: 5px;
        }
        
        .priority-high { color: #e74c3c; font-weight: bold; }
        .priority-medium { color: #f39c12; font-weight: bold; }
        .priority-low { color: #27ae60; font-weight: bold; }
        
        .alert {
            padding: 0.3rem 0.5rem;
            margin-bottom: 0.5rem;
            border: 1px solid transparent;
            border-radius: 0.25rem;
        }
        
        .alert-info {
            color: #0c5460;
            background-color: #d1ecf1;
            border-color: #bee5eb;
        }
        
        .bg-light {
            background-color: #f8f9fa !important;
        }
        
        .border-top {
            border-top: 1px solid #dee2e6 !important;
        }
        
        .text-muted {
            color: #6c757d !important;
        }
        
        /* Margin utilities */
        .mb-0 { margin-bottom: 0 !important; }
        .mb-1 { margin-bottom: 0.1rem !important; }
        .mb-2 { margin-bottom: 0.2rem !important; }
        .mb-3 { margin-bottom: 0.4rem !important; }
        .mt-1 { margin-top: 0.1rem !important; }
        .mt-2 { margin-top: 0.2rem !important; }
        
        .font-weight-bold { font-weight: bold !important; }
        .d-block { display: block !important; }
        
        h2 {
            margin: 0;
            font-size: 1.1rem;
        }
        
        p {
            margin: 0 0 0.2rem;
        }
        
        small {
            font-size: 0.75em;
        }
        
        strong {
            font-weight: bold;
        }
        
        /* Otimizações específicas para A4 */
        .compact-row {
            margin-bottom: 0.3rem;
        }
        
        .two-column-layout {
            display: flex;
            gap: 0.5rem;
        }
        
        .two-column-layout .col-half {
            flex: 1;
        }
/* Estilos para PDFs de Fatura de Locação e Nota Fiscal de Serviços */

/* Reset e Base */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Arial', 'Helvetica', sans-serif;
  font-size: 11pt;
  line-height: 1.5;
  color: #333;
  background: white;
}

/* Container Principal */
.billing-container {
  padding: 20px;
  max-width: 100%;
}

/* Cabeçalho */
.billing-header {
  text-align: center;
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: 3px solid #007bff;
}

.billing-header h1 {
  color: #007bff;
  font-size: 24pt;
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.billing-header .document-number {
  font-size: 16pt;
  color: #666;
  font-weight: bold;
}

/* Informações da Empresa */
.company-info {
  margin-bottom: 25px;
  padding: 15px;
  background-color: #f8f9fa;
  border-radius: 5px;
}

.company-info h2 {
  color: #007bff;
  font-size: 14pt;
  margin-bottom: 10px;
}

.company-info p {
  margin: 5px 0;
  font-size: 10pt;
  color: #666;
}

/* Seções do Documento */
.billing-section {
  margin-bottom: 25px;
  page-break-inside: avoid;
}

.billing-section h3 {
  color: #007bff;
  font-size: 12pt;
  margin-bottom: 12px;
  padding-bottom: 5px;
  border-bottom: 2px solid #dee2e6;
}

/* Grid de Informações */
.info-grid {
  display: table;
  width: 100%;
  margin-bottom: 15px;
}

.info-row {
  display: table-row;
}

.info-label {
  display: table-cell;
  font-weight: bold;
  padding: 6px 15px 6px 0;
  width: 180px;
  color: #495057;
  font-size: 10pt;
}

.info-value {
  display: table-cell;
  padding: 6px 0;
  color: #333;
  font-size: 10pt;
}

/* Tabela de Itens */
.items-table {
  width: 100%;
  border-collapse: collapse;
  margin: 15px 0;
}

.items-table thead th {
  background-color: #007bff;
  color: white;
  padding: 10px 8px;
  text-align: left;
  font-size: 10pt;
  font-weight: bold;
  border: 1px solid #0056b3;
}

.items-table tbody td {
  padding: 8px;
  border: 1px solid #dee2e6;
  font-size: 9pt;
  vertical-align: top;
}

.items-table tbody tr:nth-child(even) {
  background-color: #f8f9fa;
}

.items-table tfoot td {
  padding: 10px 8px;
  font-weight: bold;
  background-color: #e9ecef;
  border: 1px solid #dee2e6;
  font-size: 11pt;
}

.items-table .text-right {
  text-align: right;
}

.items-table .text-center {
  text-align: center;
}

/* Box de Destaque */
.highlight-box {
  background-color: #e7f3ff;
  border-left: 5px solid #007bff;
  padding: 15px 20px;
  margin: 20px 0;
}

.highlight-box .total-label {
  font-size: 12pt;
  color: #495057;
  margin-bottom: 5px;
}

.highlight-box .total-value {
  font-size: 20pt;
  color: #007bff;
  font-weight: bold;
}

/* Box de Pagamento */
.payment-box {
  background-color: #fff3cd;
  border-left: 5px solid #ffc107;
  padding: 15px 20px;
  margin: 20px 0;
}

.payment-box h4 {
  color: #856404;
  font-size: 12pt;
  margin-bottom: 10px;
}

/* Observações */
.notes-box {
  background-color: #f8f9fa;
  padding: 15px;
  border-radius: 5px;
  border: 1px solid #dee2e6;
}

.notes-box p {
  margin: 0;
  font-size: 9pt;
  color: #666;
  line-height: 1.6;
}

/* Assinaturas */
.signatures {
  margin-top: 60px;
  display: table;
  width: 100%;
}

.signature-block {
  display: table-cell;
  text-align: center;
  padding: 0 20px;
  width: 50%;
}

.signature-line {
  border-top: 1px solid #333;
  margin-top: 50px;
  padding-top: 10px;
}

.signature-label {
  font-size: 9pt;
  color: #666;
}

/* Rodapé */
.billing-footer {
  margin-top: 40px;
  padding-top: 20px;
  border-top: 2px solid #dee2e6;
  text-align: center;
  font-size: 9pt;
  color: #6c757d;
}

/* Cores específicas para NF */
.nf-header {
  border-bottom-color: #28a745;
}

.nf-header h1 {
  color: #28a745;
}

.nf-section h3 {
  color: #28a745;
  border-bottom-color: #28a745;
}

.nf-highlight {
  background-color: #d4edda;
  border-left-color: #28a745;
}

.nf-highlight .total-value {
  color: #28a745;
}

/* Utilitários */
.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-bold {
  font-weight: bold;
}

.text-muted {
  color: #6c757d;
}

.mb-0 {
  margin-bottom: 0;
}

.mb-1 {
  margin-bottom: 10px;
}

.mb-2 {
  margin-bottom: 20px;
}

.mb-3 {
  margin-bottom: 30px;
}

.mt-0 {
  margin-top: 0;
}

.mt-1 {
  margin-top: 10px;
}

.mt-2 {
  margin-top: 20px;
}

.mt-3 {
  margin-top: 30px;
}

/* Quebra de página */
.page-break {
  page-break-after: always;
}

.no-page-break {
  page-break-inside: avoid;
}

@charset "UTF-8";
/* Estilos para a página de listagem de pessoas */
/* Melhorias na tabela */
/* line 23, app/assets/stylesheets/people.scss */
.table th.text-center:first-child,
.table td.text-center:first-child {
  width: 60px;
  /* Aumentada a largura para melhor espaçamento */
  min-width: 60px;
  /* Garantir largura mínima */
  padding-left: 0.75rem !important;
  /* Adicionar padding para o checkbox não ficar colado na borda */
  padding-right: 0.5rem !important;
  /* Espaço antes da próxima coluna */
  box-sizing: border-box;
  vertical-align: middle;
}

/* line 32, app/assets/stylesheets/people.scss */
.table th.text-center:first-child .form-check-input,
.table td.text-center:first-child .form-check-input {
  margin: 0;
  /* Remove margens padrão que podem causar desalinhamento */
  cursor: pointer;
}

/* line 39, app/assets/stylesheets/people.scss */
.table th:nth-child(2),
.table td:nth-child(2) {
  padding-left: 0.5rem;
  /* Adiciona um respiro à esquerda */
}

/* Ícones de ação */
/* line 46, app/assets/stylesheets/people.scss */
.action-icon-link {
  text-decoration: none !important;
  transition: all 0.2s ease-in-out;
  padding: 0.25rem;
  border-radius: 0.25rem;
}

/* line 53, app/assets/stylesheets/people.scss */
.action-icon-link:hover {
  transform: scale(1.1);
  background-color: rgba(0, 0, 0, 0.05);
}

/* Badges de status */
/* line 59, app/assets/stylesheets/people.scss */
.badge {
  font-size: 0.75em;
  padding: 0.375em 0.75em;
  border-radius: 0.375rem;
}

/* Indicadores de carregamento */
/* line 66, app/assets/stylesheets/people.scss */
.btn:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

/* Melhorias nos checkboxes */
/* line 72, app/assets/stylesheets/people.scss */
.form-check-input {
  cursor: pointer;
  transition: all 0.15s ease-in-out;
}

/* line 77, app/assets/stylesheets/people.scss */
.form-check-input:checked {
  background-color: #0d6efd;
  border-color: #0d6efd;
}

/* line 82, app/assets/stylesheets/people.scss */
.form-check-input:indeterminate {
  background-color: #6c757d;
  border-color: #6c757d;
}

/* Ações em lote */
/* line 88, app/assets/stylesheets/people.scss */
#bulk-actions .alert {
  margin-bottom: 0;
  border-radius: 0.5rem;
  animation: slideDown 0.3s ease-out;
}

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

/* Responsividade melhorada */
@media (max-width: 576px) {
  /* line 107, app/assets/stylesheets/people.scss */
  .card-header h3 {
    font-size: 1.1rem;
  }
  /* line 111, app/assets/stylesheets/people.scss */
  .btn-sm {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
  }
  /* line 116, app/assets/stylesheets/people.scss */
  .table-responsive {
    font-size: 0.875rem;
  }
  /* Oculta alguns elementos em telas muito pequenas */
  /* line 121, app/assets/stylesheets/people.scss */
  .d-none.d-sm-inline {
    display: none !important;
  }
}

/* Melhorias nos tooltips */
/* line 127, app/assets/stylesheets/people.scss */
[data-bs-toggle="tooltip"] {
  cursor: pointer;
}

/* Indicadores visuais para ordenação */
/* line 132, app/assets/stylesheets/people.scss */
th a {
  color: inherit;
  text-decoration: none;
  position: relative;
  padding-right: 1rem;
}

/* line 139, app/assets/stylesheets/people.scss */
th a:hover {
  color: #0d6efd;
  text-decoration: underline;
}

/* line 144, app/assets/stylesheets/people.scss */
th a:after {
  content: '↕';
  position: absolute;
  right: 0;
  opacity: 0.5;
  font-size: 0.8em;
}

/* line 152, app/assets/stylesheets/people.scss */
th a:hover:after {
  opacity: 1;
}

/* Melhorias na paginação - REMOVIDO - usando componentes/kaminari_pagination.scss */
/* Estilos movidos para centralizar e evitar conflitos */
/* Melhorias nos botões */
/* line 160, app/assets/stylesheets/people.scss */
.btn {
  transition: all 0.15s ease-in-out;
  border-radius: 0.375rem;
}

/* line 165, app/assets/stylesheets/people.scss */
.btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* line 170, app/assets/stylesheets/people.scss */
.btn:active {
  transform: translateY(0);
}

/* Loading states */
/* line 175, app/assets/stylesheets/people.scss */
.btn-loading {
  position: relative;
  pointer-events: none;
}

/* line 180, app/assets/stylesheets/people.scss */
.btn-loading:after {
  content: '';
  position: absolute;
  width: 16px;
  height: 16px;
  top: 50%;
  left: 50%;
  margin-left: -8px;
  margin-top: -8px;
  border: 2px solid transparent;
  border-top-color: currentColor;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Melhorias na legenda */
/* line 201, app/assets/stylesheets/people.scss */
.mt-2.mb-3 {
  font-size: 0.9rem;
  color: #6c757d;
}

/* Estados de foco melhorados */
/* line 207, app/assets/stylesheets/people.scss */
.form-control:focus,
.form-select:focus,
.btn:focus {
  outline: none;
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}

/* Transições suaves */
/* line 215, app/assets/stylesheets/people.scss */
* {
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@charset "UTF-8";
/* Estilos específicos para visualização corporativa de tabelas de preços */
/* Garantir que as classes corporativas sejam aplicadas */
/* line 4, app/assets/stylesheets/price_tables_corporate.scss */
.person-card {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border: 1px solid #dee2e6;
  border-radius: 4px;
  background: #ffffff;
  overflow: hidden;
}

/* line 12, app/assets/stylesheets/price_tables_corporate.scss */
.person-card-header {
  background: #f8f9fa;
  padding: 16px 20px;
  border-bottom: 1px solid #dee2e6;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 21, app/assets/stylesheets/price_tables_corporate.scss */
.person-card-title {
  font-weight: 600;
  font-size: 16px;
  color: #343a40;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* line 31, app/assets/stylesheets/price_tables_corporate.scss */
.person-card-title i {
  margin-right: 8px;
  font-size: 1rem;
}

/* line 36, app/assets/stylesheets/price_tables_corporate.scss */
.person-card-user-info {
  display: flex;
  align-items: center;
  gap: 15px;
  color: #adb5bd;
  font-size: 0.85rem;
}

/* line 44, app/assets/stylesheets/price_tables_corporate.scss */
.person-card-user-info span {
  display: flex;
  align-items: center;
  gap: 5px;
}

/* line 50, app/assets/stylesheets/price_tables_corporate.scss */
.person-tabs-container {
  background: #ffffff;
  border-bottom: 1px solid #dee2e6;
}

/* line 55, app/assets/stylesheets/price_tables_corporate.scss */
.person-tabs, .nav-tabs {
  border-bottom: none;
  padding: 0 20px;
  background: #f8f9fa;
}

/* line 61, app/assets/stylesheets/price_tables_corporate.scss */
.person-tabs .nav-link, .nav-tabs .nav-link {
  border: none;
  border-radius: 0;
  color: #6c757d;
  font-size: 13px;
  font-weight: 500;
  padding: 12px 16px;
  background: transparent;
  border-bottom: 2px solid transparent;
}

/* line 72, app/assets/stylesheets/price_tables_corporate.scss */
.person-tabs .nav-link.active, .nav-tabs .nav-link.active {
  color: #17a2b8;
  background: white;
  border-bottom-color: #17a2b8;
}

/* line 78, app/assets/stylesheets/price_tables_corporate.scss */
.person-tabs .nav-link:hover:not(.active), .nav-tabs .nav-link:hover:not(.active) {
  background: rgba(23, 162, 184, 0.05);
  color: #495057;
}

/* line 83, app/assets/stylesheets/price_tables_corporate.scss */
.person-tab-content, .tab-content {
  padding: 24px;
  background: white;
}

/* line 88, app/assets/stylesheets/price_tables_corporate.scss */
.person-card-footer {
  background: #f8f9fa;
  border-top: 1px solid #dee2e6;
  padding: 15px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 97, app/assets/stylesheets/price_tables_corporate.scss */
.footer-buttons {
  display: flex;
  gap: 8px;
}

/* line 102, app/assets/stylesheets/price_tables_corporate.scss */
.info-section {
  margin-bottom: 2rem;
}

/* line 106, app/assets/stylesheets/price_tables_corporate.scss */
.section-header {
  font-size: 0.9rem;
  font-weight: 600;
  color: #495057;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #e9ecef;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 118, app/assets/stylesheets/price_tables_corporate.scss */
.info-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

/* line 124, app/assets/stylesheets/price_tables_corporate.scss */
.info-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 130, app/assets/stylesheets/price_tables_corporate.scss */
.info-item label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #6c757d;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 138, app/assets/stylesheets/price_tables_corporate.scss */
.info-item span {
  font-size: 0.9rem;
  color: #495057;
  line-height: 1.4;
}

/* line 144, app/assets/stylesheets/price_tables_corporate.scss */
.empty-state {
  text-align: center;
  padding: 3rem 1rem;
  color: #6c757d;
}

/* line 150, app/assets/stylesheets/price_tables_corporate.scss */
.empty-state i {
  font-size: 3rem;
  margin-bottom: 1rem;
  opacity: 0.5;
}

/* line 156, app/assets/stylesheets/price_tables_corporate.scss */
.empty-state h4 {
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
  color: #495057;
}

/* line 162, app/assets/stylesheets/price_tables_corporate.scss */
.empty-state p {
  margin-bottom: 1.5rem;
}

/* Info Boxes */
/* line 167, app/assets/stylesheets/price_tables_corporate.scss */
.info-box {
  display: flex;
  align-items: center;
  padding: 1rem;
  background: white;
  border-radius: 4px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  margin-bottom: 1rem;
}

/* line 177, app/assets/stylesheets/price_tables_corporate.scss */
.info-box-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 4px;
  color: white;
  font-size: 1.5rem;
  margin-right: 1rem;
}

/* line 189, app/assets/stylesheets/price_tables_corporate.scss */
.info-box-content {
  flex: 1;
}

/* line 193, app/assets/stylesheets/price_tables_corporate.scss */
.info-box-text {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #6c757d;
  margin-bottom: 0.25rem;
}

/* line 203, app/assets/stylesheets/price_tables_corporate.scss */
.info-box-number {
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  color: #495057;
}

/* line 210, app/assets/stylesheets/price_tables_corporate.scss */
.bg-primary .info-box-icon {
  background-color: #007bff;
}

/* line 211, app/assets/stylesheets/price_tables_corporate.scss */
.bg-success .info-box-icon {
  background-color: #28a745;
}

/* line 212, app/assets/stylesheets/price_tables_corporate.scss */
.bg-warning .info-box-icon {
  background-color: #ffc107;
}

/* line 213, app/assets/stylesheets/price_tables_corporate.scss */
.bg-info .info-box-icon {
  background-color: #17a2b8;
}

/* line 214, app/assets/stylesheets/price_tables_corporate.scss */
.bg-danger .info-box-icon {
  background-color: #dc3545;
}

/* Status badges */
/* line 217, app/assets/stylesheets/price_tables_corporate.scss */
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 0.25rem;
}

/* line 227, app/assets/stylesheets/price_tables_corporate.scss */
.status-badge.draft {
  background-color: #e9ecef;
  color: #495057;
}

/* line 232, app/assets/stylesheets/price_tables_corporate.scss */
.status-badge.active {
  background-color: #d1ecf1;
  color: #0c5460;
}

/* line 237, app/assets/stylesheets/price_tables_corporate.scss */
.status-badge.inactive {
  background-color: #f8d7da;
  color: #721c24;
}

/* line 242, app/assets/stylesheets/price_tables_corporate.scss */
.status-badge.expired {
  background-color: #fff3cd;
  color: #856404;
}

/* line 247, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-summary-bar {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #e9ecef;
  background: linear-gradient(135deg, #f8fbff 0%, #ffffff 100%);
}

/* line 256, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-summary-bar {
  border: 1px solid #e9ecef;
  border-radius: 0.75rem;
  margin-bottom: 0.85rem;
  padding: 0.75rem 1rem;
}

/* line 263, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-summary-bar--readonly {
  margin-top: 0.5rem;
}

/* line 267, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-summary-bar__chips,
.price-table-items-workspace__summary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
}

/* line 275, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.3rem 0.55rem;
  border-radius: 999px;
  background: #eef5ff;
  color: #0f4c81;
  font-size: 0.76rem;
  font-weight: 500;
  line-height: 1.2;
}

/* line 288, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-summary-bar--compact {
  padding: 0 0 0.75rem;
  border: 0;
  border-bottom: 1px solid #e9ecef;
  border-radius: 0;
  background: transparent;
}

/* line 296, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-panels {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

/* line 302, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-panel {
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 0.75rem;
  padding: 1rem 1rem 0.5rem;
}

/* line 309, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-panel__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  margin-bottom: 1rem;
}

/* line 317, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-panel__header p {
  margin: 0;
  font-weight: 400;
  color: #6c757d;
}

/* line 323, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-readonly-value {
  min-height: 38px;
  padding: 0.55rem 0.75rem;
  background-color: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 0.35rem;
  color: #495057;
  display: flex;
  align-items: center;
}

/* line 334, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-readonly-value--multiline {
  min-height: 88px;
  white-space: pre-wrap;
  align-items: flex-start;
}

/* line 340, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-label-required {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  margin-bottom: 0.25rem;
}

/* line 347, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-field-hint {
  display: block;
  margin-top: 0.35rem;
  color: #6c757d;
  line-height: 1.4;
}

/* line 354, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-items-workspace {
  border: 1px solid #e9ecef;
  border-radius: 0.75rem;
  padding: 1rem;
  background: #fbfcfe;
}

/* line 361, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-items-workspace__toolbar {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 1rem;
}

/* line 369, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-items-workspace__toolbar h5 {
  margin-bottom: 0.25rem;
}

/* line 373, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-items-workspace__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}

/* line 380, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-items-empty-state {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 1rem;
  margin: 1rem 0;
  border: 1px dashed #b6c7dd;
  border-radius: 0.75rem;
  background: #fff;
  color: #4b5563;
}

/* line 392, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-items-empty-state i {
  font-size: 1.25rem;
  color: #0f6cbd;
}

/* line 397, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-hidden {
  display: none !important;
}

/* line 401, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-inline-note {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border: 1px solid #d9ecff;
  border-radius: 0.75rem;
  background: #f7fbff;
  color: #33506b;
  margin-bottom: 1rem;
}

/* line 413, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-inline-note i {
  color: #0f6cbd;
  margin-top: 0.1rem;
}

/* line 418, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-col-index {
  width: 56px;
}

/* line 422, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-col-main {
  min-width: 120px;
}

/* line 426, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-item__index-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: #e9f2ff;
  color: #0f4c81;
  font-size: 0.8rem;
  font-weight: 700;
}

/* line 439, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-item__daily-price {
  background: rgba(40, 167, 69, 0.05);
}

/* line 443, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-muted-value {
  color: #6c757d;
  font-size: 0.8rem;
}

/* line 448, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.9rem;
  padding: 1rem 1.25rem 0;
}

/* line 455, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-summary-card {
  padding: 1rem;
  border: 1px solid #e9ecef;
  border-radius: 0.85rem;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
}

/* line 462, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-summary-card__label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6c757d;
}

/* line 472, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-summary-card strong {
  display: block;
  color: #212529;
}

/* line 477, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-summary-card small {
  display: block;
  margin-top: 0.35rem;
  color: #6c757d;
  line-height: 1.4;
}

/* line 484, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-dense-table table td,
.price-table-dense-table table th {
  vertical-align: middle;
}

/* line 489, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-equipment-cell a {
  font-weight: 600;
}

/* line 493, app/assets/stylesheets/price_tables_corporate.scss */
.price-table-main-price {
  color: #198754;
  font-weight: 700;
  white-space: nowrap;
}

/* Responsividade */
@media (max-width: 768px) {
  /* line 501, app/assets/stylesheets/price_tables_corporate.scss */
  .person-card-header {
    flex-direction: column;
    gap: 0.5rem;
    padding: 1rem;
  }
  /* line 507, app/assets/stylesheets/price_tables_corporate.scss */
  .person-card-user-info {
    font-size: 0.8rem;
    gap: 0.5rem;
  }
  /* line 512, app/assets/stylesheets/price_tables_corporate.scss */
  .person-tab-content, .tab-content {
    padding: 1rem;
  }
  /* line 516, app/assets/stylesheets/price_tables_corporate.scss */
  .person-card-footer {
    flex-direction: column;
    gap: 1rem;
  }
  /* line 521, app/assets/stylesheets/price_tables_corporate.scss */
  .footer-buttons {
    justify-content: center;
    flex-wrap: wrap;
  }
  /* line 526, app/assets/stylesheets/price_tables_corporate.scss */
  .price-table-guide,
.price-table-summary-bar,
.price-table-items-workspace__toolbar {
    flex-direction: column;
  }
  /* line 532, app/assets/stylesheets/price_tables_corporate.scss */
  .price-table-panels,
.price-table-summary-grid {
    grid-template-columns: 1fr;
  }
  /* line 537, app/assets/stylesheets/price_tables_corporate.scss */
  .price-table-items-workspace {
    padding: 0.85rem;
  }
  /* line 541, app/assets/stylesheets/price_tables_corporate.scss */
  .price-table-items-workspace__actions {
    width: 100%;
    justify-content: stretch;
  }
  /* line 546, app/assets/stylesheets/price_tables_corporate.scss */
  .price-table-items-workspace__actions .btn {
    width: 100%;
  }
}
/* line 12, app/assets/stylesheets/purchases/purchases.scss */
.purchases-module .priority-badge {
  padding: 3px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 60px;
  justify-content: center;
}

/* line 24, app/assets/stylesheets/purchases/purchases.scss */
.purchases-module .priority-badge.low {
  background: #d4edda;
  color: #155724;
}

/* line 29, app/assets/stylesheets/purchases/purchases.scss */
.purchases-module .priority-badge.medium {
  background: #fff3cd;
  color: #856404;
}

/* line 34, app/assets/stylesheets/purchases/purchases.scss */
.purchases-module .priority-badge.high {
  background: #f8d7da;
  color: #721c24;
}

/* line 39, app/assets/stylesheets/purchases/purchases.scss */
.purchases-module .priority-badge.urgent {
  background: #721c24;
  color: white;
}

/* line 48, app/assets/stylesheets/purchases/purchases.scss */
.purchases-module .purchase-request-item-row td,
.purchases-module .purchase-quotation-item-row td {
  vertical-align: middle;
}

/* line 51, app/assets/stylesheets/purchases/purchases.scss */
.purchases-module .purchase-request-item-row textarea.form-control,
.purchases-module .purchase-quotation-item-row textarea.form-control {
  min-height: unset !important;
  resize: vertical;
}

/* line 59, app/assets/stylesheets/purchases/purchases.scss */
.purchases-module .purchases-table .actions-inline {
  display: flex;
  gap: 4px;
  justify-content: center;
}

/* line 67, app/assets/stylesheets/purchases/purchases.scss */
.purchases-module .purchase-action-panel {
  position: fixed;
  bottom: -80px;
  left: 50%;
  transform: translateX(-50%);
  background: #ffffff;
  border: 1px solid var(--gray-400);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
  border-radius: 8px;
  padding: var(--spacing-sm) var(--spacing-md);
  width: 90%;
  max-width: 800px;
  z-index: 1050;
  transition: bottom 0.3s ease-in-out;
}

/* line 82, app/assets/stylesheets/purchases/purchases.scss */
.purchases-module .purchase-action-panel.active {
  bottom: 20px;
}

/* line 86, app/assets/stylesheets/purchases/purchases.scss */
.purchases-module .purchase-action-panel .panel-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--spacing-md);
}

/* line 93, app/assets/stylesheets/purchases/purchases.scss */
.purchases-module .purchase-action-panel .selected-text {
  font-size: 14px;
  font-weight: 600;
  color: var(--gray-800);
  display: flex;
  align-items: center;
  gap: 6px;
}

/* line 101, app/assets/stylesheets/purchases/purchases.scss */
.purchases-module .purchase-action-panel .selected-text i {
  color: var(--erp-success, #27ae60);
}

/* line 106, app/assets/stylesheets/purchases/purchases.scss */
.purchases-module .purchase-action-panel .panel-buttons {
  display: flex;
  gap: var(--spacing-sm);
}

/* line 123, app/assets/stylesheets/purchases/purchases.scss */
.erp-ui.purchases-module .data tr.is-best > td,
.erp-ui.purchases-module .data td.is-best {
  background: var(--erp-ui-good-soft);
}

/* line 131, app/assets/stylesheets/purchases/purchases.scss */
.erp-ui.purchases-module .compare-matrix td.num,
.erp-ui.purchases-module .compare-matrix th.num {
  white-space: normal;
}

/* line 136, app/assets/stylesheets/purchases/purchases.scss */
.erp-ui.purchases-module .compare-matrix td .hint {
  display: block;
}

/* line 140, app/assets/stylesheets/purchases/purchases.scss */
.erp-ui.purchases-module .compare-matrix td .pill,
.erp-ui.purchases-module .compare-matrix td .btn {
  margin-top: 4px;
}
/* line 4, app/assets/stylesheets/purchases/purchases_pdf.scss */
.rejection-section {
  margin-bottom: 20px;
  padding: 10px;
  background-color: #fdf2f2;
  border-left: 3px solid #e74c3c;
}

/* line 11, app/assets/stylesheets/purchases/purchases_pdf.scss */
.rejection-section h4 {
  color: #2c3e50;
  font-size: 11px;
  margin-bottom: 8px;
  font-weight: bold;
}

/* line 18, app/assets/stylesheets/purchases/purchases_pdf.scss */
.rejection-section p {
  font-size: 9px;
  margin: 0;
}

/* line 23, app/assets/stylesheets/purchases/purchases_pdf.scss */
.quality-section {
  margin-bottom: 15px;
  padding: 10px;
  background-color: #f8f9fa;
  border-left: 3px solid #2c3e50;
}

/* line 30, app/assets/stylesheets/purchases/purchases_pdf.scss */
.quality-section h4 {
  color: #2c3e50;
  font-size: 11px;
  margin-bottom: 8px;
  font-weight: bold;
}

/* line 37, app/assets/stylesheets/purchases/purchases_pdf.scss */
.quality-section p {
  font-size: 9px;
  margin: 0;
}

/* line 42, app/assets/stylesheets/purchases/purchases_pdf.scss */
.pdf-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 2px solid #2c3e50;
}

/* line 51, app/assets/stylesheets/purchases/purchases_pdf.scss */
.company-info h1 {
  color: #2c3e50;
  font-size: 16px;
  margin-bottom: 5px;
  font-weight: bold;
}

/* line 58, app/assets/stylesheets/purchases/purchases_pdf.scss */
.company-info p {
  font-size: 9px;
  margin: 2px 0;
}

/* line 63, app/assets/stylesheets/purchases/purchases_pdf.scss */
.document-info {
  text-align: right;
}

/* line 67, app/assets/stylesheets/purchases/purchases_pdf.scss */
.document-info h2 {
  color: #2c3e50;
  font-size: 18px;
  margin-bottom: 5px;
  font-weight: bold;
}

/* line 74, app/assets/stylesheets/purchases/purchases_pdf.scss */
.document-info h3 {
  font-size: 14px;
  margin-bottom: 8px;
  font-weight: bold;
}

/* line 80, app/assets/stylesheets/purchases/purchases_pdf.scss */
.document-info p {
  font-size: 9px;
  margin: 2px 0;
}

/* line 85, app/assets/stylesheets/purchases/purchases_pdf.scss */
.info-section {
  margin-bottom: 20px;
}

/* line 89, app/assets/stylesheets/purchases/purchases_pdf.scss */
.info-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
}

/* line 95, app/assets/stylesheets/purchases/purchases_pdf.scss */
.info-item h4 {
  color: #2c3e50;
  font-size: 11px;
  margin-bottom: 5px;
  border-bottom: 1px solid #ddd;
  padding-bottom: 3px;
  font-weight: bold;
}

/* line 104, app/assets/stylesheets/purchases/purchases_pdf.scss */
.info-item p {
  font-size: 9px;
  margin: 2px 0;
}

/* line 109, app/assets/stylesheets/purchases/purchases_pdf.scss */
.fiscal-section {
  margin-bottom: 20px;
  padding: 10px;
  background-color: #e3f2fd;
  border-left: 3px solid #2196f3;
}

/* line 116, app/assets/stylesheets/purchases/purchases_pdf.scss */
.fiscal-section h4 {
  color: #2c3e50;
  font-size: 11px;
  margin-bottom: 8px;
  font-weight: bold;
}

/* line 123, app/assets/stylesheets/purchases/purchases_pdf.scss */
.fiscal-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

/* line 129, app/assets/stylesheets/purchases/purchases_pdf.scss */
.fiscal-item {
  font-size: 9px;
}

/* line 133, app/assets/stylesheets/purchases/purchases_pdf.scss */
.items-section {
  margin-bottom: 20px;
}

/* line 137, app/assets/stylesheets/purchases/purchases_pdf.scss */
.items-section h4 {
  color: #2c3e50;
  font-size: 12px;
  margin-bottom: 10px;
  font-weight: bold;
}

/* line 144, app/assets/stylesheets/purchases/purchases_pdf.scss */
.items-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 15px;
}

/* line 150, app/assets/stylesheets/purchases/purchases_pdf.scss */
.items-table th {
  background-color: #2c3e50;
  color: white;
  padding: 6px;
  text-align: center;
  font-size: 9px;
  font-weight: bold;
  border: 1px solid #1a252f;
}

/* line 160, app/assets/stylesheets/purchases/purchases_pdf.scss */
.items-table td {
  padding: 6px;
  border: 1px solid #ddd;
  font-size: 9px;
}

/* line 166, app/assets/stylesheets/purchases/purchases_pdf.scss */
.items-table tfoot td {
  border-top: 2px solid #2c3e50;
  font-weight: bold;
}

/* line 171, app/assets/stylesheets/purchases/purchases_pdf.scss */
.items-table tr:nth-child(even) {
  background-color: #f9f9f9;
}

/* line 175, app/assets/stylesheets/purchases/purchases_pdf.scss */
.total-row {
  background-color: #e9ecef !important;
  font-weight: bold;
}

/* line 180, app/assets/stylesheets/purchases/purchases_pdf.scss */
.total-amount {
  color: #2c3e50;
  font-size: 11px;
}

/* line 185, app/assets/stylesheets/purchases/purchases_pdf.scss */
.conditions-section,
.delivery-section,
.notes-section,
.justification-section {
  margin-bottom: 15px;
  padding: 10px;
  background-color: #f8f9fa;
  border-left: 3px solid #2c3e50;
}

/* line 195, app/assets/stylesheets/purchases/purchases_pdf.scss */
.conditions-section h4,
.delivery-section h4,
.notes-section h4,
.justification-section h4 {
  color: #2c3e50;
  font-size: 11px;
  margin-bottom: 8px;
  font-weight: bold;
}

/* line 205, app/assets/stylesheets/purchases/purchases_pdf.scss */
.conditions-section p,
.delivery-section p,
.notes-section p,
.justification-section p {
  font-size: 9px;
  margin: 0;
}

/* line 213, app/assets/stylesheets/purchases/purchases_pdf.scss */
.text-center {
  text-align: center;
}

/* line 217, app/assets/stylesheets/purchases/purchases_pdf.scss */
.text-right {
  text-align: right;
}
/* =============================================================================
   TEMA ESCURO DO PWA
   Ativado por html[data-theme="dark"] (pwa-theme-manager.js + snippet anti-flash
   no layout). Estratégia: sobrescrever os tokens --fx-* e as superfícies que
   usam cores literais. Os acentos semânticos ganham variantes claras para
   manter contraste AA sobre fundos escuros.
   ============================================================================= */

html[data-theme="dark"] {
  --fx-primary: #4a6785;
  --fx-primary-light: #5d7a99;
  --fx-primary-dark: #34495e;
  --fx-secondary: #95a5a6;
  --fx-success: #2ecc71;
  --fx-success-text: #6fd598;
  --fx-warning: #f39c12;
  --fx-warning-text: #f0b35c;
  --fx-danger: #e74c3c;
  --fx-danger-text: #f1948a;
  --fx-info: #3498db;
  --fx-info-text: #85c1e9;
  --fx-surface: #242a31;
  --fx-canvas: #1a1f24;
  --fx-border: #4a5259;
  --fx-border-soft: #343c44;
  --fx-text: #e9ecef;
  --fx-text-secondary: #ced4da;
  --fx-text-muted: #9aa5af;
  --fx-danger-surface: #3a2523;
  /* Tintas de badge/chip no escuro (fundo profundo + texto claro do matiz) */
  --fx-tint-warning-bg: #3a3220;
  --fx-tint-warning-text: #f0b35c;
  --fx-tint-info-bg: #1c333d;
  --fx-tint-info-text: #85c1e9;
  --fx-tint-blue-bg: #1e2f47;
  --fx-tint-blue-text: #9ec5fe;
  --fx-tint-success-bg: #1e3528;
  --fx-tint-success-text: #6fd598;
  --fx-tint-danger-bg: #3a2523;
  --fx-tint-danger-text: #f1948a;
  --fx-tint-neutral-bg: #343c44;
  --fx-tint-neutral-text: #ced4da;
}

/* --- Base ------------------------------------------------------------------ */

html[data-theme="dark"] body {
  background-color: var(--fx-canvas);
  color: var(--fx-text);
}

html[data-theme="dark"] .pwa-content {
  background-color: var(--fx-canvas);
}

html[data-theme="dark"] .text-muted {
  color: var(--fx-text-muted) !important;
}

/* --- Navegação inferior ---------------------------------------------------- */

html[data-theme="dark"] .pwa-bottom-nav {
  background: var(--fx-surface) !important;
  border-top-color: var(--fx-border-soft) !important;
}

html[data-theme="dark"] .pwa-nav-item {
  color: var(--fx-text-muted) !important;
}

html[data-theme="dark"] .pwa-nav-item.active,
html[data-theme="dark"] .pwa-nav-item:hover,
html[data-theme="dark"] .pwa-nav-item:focus {
  color: var(--fx-info-text) !important;
}

/* --- Cards e superfícies ---------------------------------------------------- */

html[data-theme="dark"] .os-list-pwa .os-item,
html[data-theme="dark"] .os-list-pwa .os-item-card,
html[data-theme="dark"] .service-requests-list-pwa .service-request-item-card,
html[data-theme="dark"] .movement-card,
html[data-theme="dark"] .info-card,
html[data-theme="dark"] .equipment-item-card,
html[data-theme="dark"] .observation-card,
html[data-theme="dark"] .pwa-panel-card,
html[data-theme="dark"] .pwa-form-section,
html[data-theme="dark"] .pwa-contract-card,
html[data-theme="dark"] .pwa-equipment-item,
html[data-theme="dark"] .stat-card,
html[data-theme="dark"] .stat-card-compact,
html[data-theme="dark"] .profile-card,
html[data-theme="dark"] .profile-section,
html[data-theme="dark"] .type-card,
html[data-theme="dark"] .selection-summary,
html[data-theme="dark"] .card {
  background: var(--fx-surface) !important;
  border-color: var(--fx-border-soft) !important;
  color: var(--fx-text);
}

html[data-theme="dark"] .os-list-pwa .os-number,
html[data-theme="dark"] .contract-info strong,
html[data-theme="dark"] .equipment-header strong,
html[data-theme="dark"] .stat-value,
html[data-theme="dark"] .info-value,
html[data-theme="dark"] .pwa-panel-title,
html[data-theme="dark"] .profile-name,
html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] h5,
html[data-theme="dark"] h6 {
  color: var(--fx-text) !important;
}

html[data-theme="dark"] .os-list-pwa .os-work,
html[data-theme="dark"] .movement-type,
html[data-theme="dark"] .equipment-summary,
html[data-theme="dark"] .info-label,
html[data-theme="dark"] .customer-name,
html[data-theme="dark"] .movement-date,
html[data-theme="dark"] .section-title,
html[data-theme="dark"] .stat-label,
html[data-theme="dark"] .stat-label-compact,
html[data-theme="dark"] .pwa-panel-meta {
  color: var(--fx-text-secondary) !important;
}

html[data-theme="dark"] .pwa-panel-icon,
html[data-theme="dark"] .quick-action-icon {
  background: var(--fx-canvas) !important;
  color: var(--fx-info-text) !important;
}

/* --- Formulários ------------------------------------------------------------ */

html[data-theme="dark"] .pwa-form-control,
html[data-theme="dark"] .form-control,
html[data-theme="dark"] .pwa-search-input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea {
  background-color: var(--fx-canvas) !important;
  border-color: var(--fx-border) !important;
  color: var(--fx-text) !important;
}

html[data-theme="dark"] .pwa-form-control:disabled,
html[data-theme="dark"] .form-control:disabled,
html[data-theme="dark"] .pwa-form-control[readonly] {
  background-color: var(--fx-surface) !important;
  color: var(--fx-text-muted) !important;
}

html[data-theme="dark"] .pwa-form-label,
html[data-theme="dark"] label {
  color: var(--fx-text-secondary);
}

html[data-theme="dark"] .pwa-form-details-summary {
  color: var(--fx-text-secondary);
}

html[data-theme="dark"] .pwa-draft-notice {
  background: var(--fx-surface);
  border-color: var(--fx-border-soft);
  color: var(--fx-text-secondary);
}

html[data-theme="dark"] .field_with_errors > .pwa-form-control,
html[data-theme="dark"] .field_with_errors > .form-control,
html[data-theme="dark"] .field_with_errors > input,
html[data-theme="dark"] .field_with_errors > select,
html[data-theme="dark"] .field_with_errors > textarea {
  background-color: var(--fx-danger-surface) !important;
}

/* --- Filtros e chips -------------------------------------------------------- */

html[data-theme="dark"] .filter-btn,
html[data-theme="dark"] .filter-btn-warning,
html[data-theme="dark"] .filter-btn-info,
html[data-theme="dark"] .filter-btn-success {
  background: var(--fx-surface);
  color: var(--fx-text-secondary);
  border-color: var(--fx-border-soft);
}

html[data-theme="dark"] .filter-chips .chip {
  background: var(--fx-surface);
  border-color: var(--fx-border);
  color: var(--fx-text-muted);
}

html[data-theme="dark"] .filter-chips .chip.active {
  background: var(--fx-primary-dark);
  border-color: var(--fx-primary-dark);
  color: #ffffff;
}

/* --- Ações rápidas e botões neutros ----------------------------------------- */

html[data-theme="dark"] .quick-action-primary,
html[data-theme="dark"] .quick-action-info,
html[data-theme="dark"] .quick-action-success,
html[data-theme="dark"] .quick-action-warning,
html[data-theme="dark"] .quick-action-secondary,
html[data-theme="dark"] .action-button.action-help,
html[data-theme="dark"] .action-button.action-theme {
  background: var(--fx-surface);
  color: var(--fx-text-secondary);
  border-color: var(--fx-border-soft);
}

html[data-theme="dark"] .quick-action-title {
  color: var(--fx-text);
}

html[data-theme="dark"] .quick-action-subtitle {
  color: var(--fx-text-muted);
}

/* --- Barras fixas ------------------------------------------------------------ */

html[data-theme="dark"] .fixed-bottom-actions {
  background: var(--fx-surface) !important;
  border-top-color: var(--fx-border-soft) !important;
}

/* --- Estados vazios e avisos ------------------------------------------------- */

html[data-theme="dark"] .empty-state,
html[data-theme="dark"] .empty-state h3,
html[data-theme="dark"] .empty-state p,
html[data-theme="dark"] .pwa-empty-state {
  color: var(--fx-text-muted);
}

html[data-theme="dark"] .loading-screen {
  background: var(--fx-canvas);
}

/* Assinatura: o canvas permanece claro de propósito — a assinatura precisa ser
   capturada sobre fundo branco para gerar a imagem correta no documento. */

/* =============================================================================
   ONDA 2 — superfícies das telas de visualização que permaneciam claras
   ============================================================================= */

/* --- Detalhe de movimentação: barra de tabs -------------------------------- */

html[data-theme="dark"] .pwa-movement-details .tab-navigation,
html[data-theme="dark"] .pwa-movement-details .movement-tabs {
  background: var(--fx-surface);
  border-bottom-color: var(--fx-border-soft);
}

html[data-theme="dark"] .pwa-movement-details .tab-button {
  color: var(--fx-text-muted);
}

html[data-theme="dark"] .pwa-movement-details .tab-button.active {
  color: var(--fx-info-text);
}

html[data-theme="dark"] .observation-item {
  background: var(--fx-surface);
  border-color: var(--fx-warning);
  color: var(--fx-text);
}

html[data-theme="dark"] .observation-author,
html[data-theme="dark"] .observation-text,
html[data-theme="dark"] .obs-content {
  color: var(--fx-text) !important;
}

html[data-theme="dark"] .photo-item,
html[data-theme="dark"] .photo-preview-item {
  background: var(--fx-surface);
}

/* --- Detalhe de OS / Atendimento (cards Bootstrap e seções) ----------------- */

html[data-theme="dark"] .card-header,
html[data-theme="dark"] .pwa-mode .card-header {
  background: var(--fx-canvas) !important;
  border-bottom-color: var(--fx-border-soft) !important;
  color: var(--fx-text) !important;
}

html[data-theme="dark"] .card-body {
  color: var(--fx-text);
}

html[data-theme="dark"] .os-detail-pwa,
html[data-theme="dark"] .os-detail-pwa .info-section,
html[data-theme="dark"] .os-detail-pwa .status-section {
  color: var(--fx-text);
}

html[data-theme="dark"] .os-status-header {
  background: var(--fx-surface) !important;
  border-color: var(--fx-border-soft) !important;
  color: var(--fx-text);
}

html[data-theme="dark"] .os-list-pwa th {
  background: var(--fx-canvas) !important;
  color: var(--fx-text-secondary);
}

/* Menu dropdown (ações da OS no header) */
html[data-theme="dark"] .dropdown-menu {
  background-color: var(--fx-surface);
  border-color: var(--fx-border);
}

html[data-theme="dark"] .dropdown-item {
  color: var(--fx-text);
}

html[data-theme="dark"] .dropdown-item:hover,
html[data-theme="dark"] .dropdown-item:focus {
  background-color: var(--fx-canvas);
  color: var(--fx-text);
}

html[data-theme="dark"] .dropdown-item.text-danger {
  color: var(--fx-danger-text) !important;
}

html[data-theme="dark"] .dropdown-divider {
  border-top-color: var(--fx-border-soft);
}

/* --- Assinatura (o canvas e o preview permanecem claros de propósito:
       a imagem da assinatura precisa de fundo branco) ------------------------ */

html[data-theme="dark"] .pwa-signature-header,
html[data-theme="dark"] .pwa-signature-canvas-section,
html[data-theme="dark"] .pwa-signature-actions,
html[data-theme="dark"] .signature-signer-section,
html[data-theme="dark"] .signature-info-pwa,
html[data-theme="dark"] .info-section[data-controller="service-order-pwa-consolidated"] {
  background: var(--fx-surface) !important;
  border-color: var(--fx-border-soft) !important;
  color: var(--fx-text);
}

html[data-theme="dark"] .signature-canvas-wrapper {
  border-color: var(--fx-border);
}

html[data-theme="dark"] .signer-title,
html[data-theme="dark"] .work-info,
html[data-theme="dark"] .location-info,
html[data-theme="dark"] .signer-name {
  color: var(--fx-text) !important;
}

/* --- Seleção de tipo / contratos / obras (fluxo de expedição) --------------- */

html[data-theme="dark"] .pwa-container {
  background: var(--fx-canvas);
}

html[data-theme="dark"] .type-card,
html[data-theme="dark"] .contract-card,
html[data-theme="dark"] .work-card,
html[data-theme="dark"] .contract-card-compact,
html[data-theme="dark"] .info-banner,
html[data-theme="dark"] .type-intro {
  background: var(--fx-surface) !important;
  border-color: var(--fx-border-soft) !important;
  color: var(--fx-text);
}

html[data-theme="dark"] .type-content h3,
html[data-theme="dark"] .type-content p,
html[data-theme="dark"] .info-banner-content,
html[data-theme="dark"] .pwa-contract-number strong,
html[data-theme="dark"] .pwa-meta-item,
html[data-theme="dark"] .pwa-stat-item {
  color: var(--fx-text) !important;
}

html[data-theme="dark"] .type-badge,
html[data-theme="dark"] .contract-badge,
html[data-theme="dark"] .work-badge {
  background: var(--fx-canvas) !important;
  color: var(--fx-info-text) !important;
}

html[data-theme="dark"] .pwa-contract-card-footer,
html[data-theme="dark"] .contract-footer,
html[data-theme="dark"] .work-footer {
  background: var(--fx-canvas) !important;
  border-top-color: var(--fx-border-soft) !important;
}

/* --- Seleção de equipamentos (nova movimentação) ---------------------------- */

html[data-theme="dark"] .pwa-checkbox-label,
html[data-theme="dark"] .pwa-btn-qty,
html[data-theme="dark"] .btn-qty {
  background: var(--fx-canvas) !important;
  border-color: var(--fx-border) !important;
  color: var(--fx-text) !important;
}

html[data-theme="dark"] .pwa-btn-qty:disabled,
html[data-theme="dark"] .pwa-qty-input:disabled,
html[data-theme="dark"] .qty-input:disabled {
  background: var(--fx-surface) !important;
  color: var(--fx-text-muted) !important;
}

html[data-theme="dark"] .pwa-quantity-hint small {
  color: var(--fx-text-muted) !important;
}

/* --- Perfil ------------------------------------------------------------------ */

html[data-theme="dark"] .pwa-edit-profile h3,
html[data-theme="dark"] .pwa-edit-profile .section-title,
html[data-theme="dark"] .pwa-edit-profile .card-title {
  background: var(--fx-surface) !important;
  color: var(--fx-text) !important;
}

html[data-theme="dark"] .info-item,
html[data-theme="dark"] .session-item,
html[data-theme="dark"] .session-value,
html[data-theme="dark"] .notification-item {
  background: var(--fx-surface) !important;
  border-color: var(--fx-border-soft) !important;
  color: var(--fx-text);
}

html[data-theme="dark"] .avatar-placeholder {
  background: var(--fx-canvas);
  color: var(--fx-text-muted);
}

html[data-theme="dark"] .action-button.action-logout {
  background: var(--fx-surface);
  color: var(--fx-danger-text);
  border-color: var(--fx-danger-text);
}

/* --- Anexos e previews de arquivos ------------------------------------------ */

html[data-theme="dark"] .pwa-file-preview-container,
html[data-theme="dark"] .pwa-file-preview-empty,
html[data-theme="dark"] .pwa-file-preview-item,
html[data-theme="dark"] .pwa-file-existing-list li,
html[data-theme="dark"] .pwa-file-existing-section {
  background: var(--fx-surface) !important;
  border-color: var(--fx-border-soft) !important;
  color: var(--fx-text);
}

html[data-theme="dark"] .pwa-file-preview-thumb {
  background: var(--fx-canvas) !important;
}

/* --- Miscelânea -------------------------------------------------------------- */

html[data-theme="dark"] .pull-to-refresh {
  background: var(--fx-surface);
  color: var(--fx-text-secondary);
}

html[data-theme="dark"] .badge-light {
  background-color: var(--fx-canvas) !important;
  color: var(--fx-text-secondary) !important;
  border-color: var(--fx-border) !important;
}

html[data-theme="dark"] .pwa-search-box i {
  color: var(--fx-text-muted);
}

html[data-theme="dark"] .service-order-items-hint,
html[data-theme="dark"] .form-hint {
  color: var(--fx-text-muted);
}

/* --- Flash messages --------------------------------------------------------- */

html[data-theme="dark"] .pwa-flash-container .alert-success {
  background: var(--fx-tint-success-bg);
  border-color: var(--fx-tint-success-bg);
  color: var(--fx-tint-success-text);
}

html[data-theme="dark"] .pwa-flash-container .alert-danger {
  background: var(--fx-tint-danger-bg);
  border-color: var(--fx-tint-danger-bg);
  color: var(--fx-tint-danger-text);
}

html[data-theme="dark"] .pwa-flash-container .alert .close {
  color: inherit;
  text-shadow: none;
}

/* --- Filtro ativo legível no escuro (o repouso está acima; o ativo usava
       --fx-text claro sobre cores saturadas — ~1,9:1 no laranja) ------------- */

html[data-theme="dark"] .filter-btn-warning.filter-btn-active {
  background: var(--fx-tint-warning-bg);
  border-color: var(--fx-warning);
  color: var(--fx-tint-warning-text);
}

html[data-theme="dark"] .filter-btn-info.filter-btn-active {
  background: var(--fx-tint-info-bg);
  border-color: var(--fx-info);
  color: var(--fx-tint-info-text);
}

html[data-theme="dark"] .filter-btn-success.filter-btn-active {
  background: var(--fx-tint-success-bg);
  border-color: var(--fx-success);
  color: var(--fx-tint-success-text);
}

html[data-theme="dark"] .filter-btn.filter-btn-active:not(.filter-btn-warning):not(.filter-btn-info):not(.filter-btn-success) {
  background: var(--fx-primary-dark);
  border-color: var(--fx-primary-light);
  color: #ffffff;
}

/* --- Lacunas apontadas na crítica v2 ---------------------------------------- */

html[data-theme="dark"] .type-intro p,
html[data-theme="dark"] .type-intro h2 {
  color: var(--fx-text-secondary);
}
.pwa-mode [data-controller="pwa-expedition"] .pw-card { display: grid; gap: 8px; }
.pwa-mode [data-controller="pwa-expedition"] .pw-opt { min-height: 44px; }
.pwa-mode [data-controller="pwa-expedition"] .pw-thumb { position: relative; }
.pwa-mode [data-controller="pwa-expedition"] .pw-photo-view {
  width: 100%; height: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in;
}
.pwa-mode [data-controller="pwa-expedition"] .pw-photo-remove {
  position: absolute; right: 4px; bottom: 4px; padding: 4px 6px;
  border: 1px solid var(--erp-ui-hairline-strong); border-radius: 4px;
  background: var(--erp-ui-surface); color: var(--erp-ui-critical-text); cursor: pointer;
}
.pw-photo-dialog { width: min(95vw, 720px); max-height: 90vh; padding: 12px;
  border: 1px solid var(--erp-ui-hairline-strong); border-radius: 8px;
  background: var(--erp-ui-surface); }
.pw-photo-dialog::backdrop { background: var(--erp-ui-ink); opacity: .72; }
.pw-photo-dialog img { display: block; max-width: 100%; max-height: 75vh;
  margin: 8px auto 0; object-fit: contain; }
.pwa-mode [data-controller="pwa-expedition"] .pw-exp-pull { margin: 0; text-align: center; transition: transform .15s ease-out; }
.pwa-mode [data-controller="pwa-expedition"] .pw-exp-leave {
  padding: 10px 12px; border: 1px solid var(--erp-ui-warning-text); border-radius: 6px;
  background: var(--erp-ui-warning-soft); color: var(--erp-ui-ink);
}
.pwa-mode [data-controller="pwa-expedition"] .pw-exp-leave p { margin: 0; }
@media (prefers-reduced-motion: reduce) {
  .pwa-mode [data-controller="pwa-expedition"] .pw-exp-pull { transition: none; }
}
body.pwa-redesign .pw-field-choice {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 48px;
  padding: 6px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 8px;
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink);
  font-size: 13px;
  text-align: center;
  cursor: pointer;
}

body.pwa-redesign .pw-field-choice input:checked + span {
  font-weight: 700;
}

body.pwa-redesign .pw-field-choice input {
  flex: none;
}

body.pwa-redesign .pw-field-check {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  color: var(--erp-ui-ink);
  font-size: 14px;
}

body.pwa-redesign .pw-field-order-card .pw-ln-main span {
  display: block;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

body.pwa-redesign .pw-field-preparation.is-compact {
  padding: 8px 12px;
  gap: 2px;
}

body.pwa-redesign .pw-field-preparation.is-compact h1,
body.pwa-redesign .pw-field-preparation.is-compact [data-pwa-field-target="summary"],
body.pwa-redesign .pw-field-preparation.is-compact [data-pwa-field-target="prepare"] {
  display: none;
}

body.pwa-redesign .pw-field-preparation.is-compact p {
  margin: 0;
}

body.pwa-redesign .pw-field-queue-row {
  border-top: 1px solid var(--erp-ui-hairline);
  padding-top: 10px;
  overflow-wrap: anywhere;
}

body.pwa-redesign .pw-field-queue-row p {
  margin: 4px 0 0;
}

body.pwa-redesign .pw-field-queue-row details {
  margin-top: 8px;
}

body.pwa-redesign .pw-field-comparison {
  margin: 8px 0;
  padding: 8px 10px;
  border-left: 3px solid var(--pw-mark);
  background: var(--erp-ui-surface);
}

body.pwa-redesign .pw-field-history .pw-btn {
  display: block;
  width: 100%;
  margin-top: 8px;
  text-align: left;
}

body.pwa-redesign .pw-field-recovery {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

body.pwa-redesign .pw-field-recovery .pw-btn {
  min-height: 44px;
  overflow-wrap: anywhere;
}

body.pwa-redesign .pw-field-queue-row summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  cursor: pointer;
  font-weight: 600;
}

body.pwa-redesign .pw-field-signature {
  display: block;
  width: 100%;
  height: auto;
  max-width: 600px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 8px;
  background: var(--erp-ui-surface);
  touch-action: none;
}

body.pwa-redesign .pw-field-photo-preview {
  display: block;
  max-width: 100%;
  max-height: 260px;
  object-fit: contain;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
}

body.pwa-redesign .pw-field-photo-preview[hidden] { display: none; }

body.pwa-redesign .pw-field-attachments,
body.pwa-redesign .pw-field-attachment {
  display: grid;
  gap: 8px;
}

body.pwa-redesign .pw-field-attachment {
  padding-top: 12px;
  border-top: 1px solid var(--erp-ui-hairline);
  overflow-wrap: anywhere;
}

body.pwa-redesign .pw-field-attachment p { margin: 0; }

body.pwa-redesign .pw-field-attachment-controls .pw-btn {
  min-height: 44px;
  width: 100%;
}

body.pwa-redesign .pw-field-attachment-image {
  display: block;
  max-width: 100%;
  max-height: 260px;
  object-fit: contain;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
}

body.pwa-redesign .pw-field-choice:focus-within,
body.pwa-redesign .pw-field-signature:focus-visible,
body.pwa-redesign .pw-field-queue-row summary:focus-visible {
  outline: 3px solid var(--pw-mark);
  outline-offset: 2px;
}

body.pwa-redesign .pw-card[hidden],
body.pwa-redesign .pw-stack[hidden],
body.pwa-redesign .pw-btn[hidden],
body.pwa-redesign .pw-field-label[hidden] {
  display: none;
}
.pwa-mode [data-controller~="pwa-field"] .pw-field-pull { margin: 0; text-align: center; transition: transform .15s ease-out; }
@media (prefers-reduced-motion: reduce) {
  .pwa-mode [data-controller~="pwa-field"] .pw-field-pull { transition: none; }
}
/* =============================================
   ESTILOS PARA VISUALIZAÇÃO DE REMESSA PWA
   Arquivo: pwa-movement-details.css
   ============================================= */

/* Tabs de Navegação - Específico para PWA
   (a view usa .movement-tabs; .tab-navigation mantido por compatibilidade) */
.pwa-movement-details .tab-navigation,
.pwa-movement-details .movement-tabs {
  display: flex;
  background: #fff;
  border-bottom: 2px solid #e9ecef;
  position: sticky;
  /* Altura do header global do layout PWA (min-height: 48px + inset da status bar) */
  top: calc(48px + env(safe-area-inset-top, 0px));
  z-index: 100;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.pwa-movement-details .tab-button {
  flex: 1;
  padding: 1rem 0.5rem;
  background: none;
  border: none;
  color: #6c757d;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
}

.pwa-movement-details .tab-button.active {
  color: var(--fx-info-text);
}

.pwa-movement-details .tab-button.active::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--fx-primary);
}

/* Sections */
.info-section {
  margin-bottom: 0.75rem;
}

.section-title {
  font-size: 0.85rem;
  font-weight: 700;
  color: #ffffff !important;
  background: var(--fx-primary);
  margin: 0 0 0.5rem 0;
  padding: 0.6rem 1rem;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 8px rgba(52, 152, 219, 0.25);
}

.section-title i {
  color: #ffffff !important;
  font-size: 0.95rem;
}

/* Info Cards */
.info-card {
  background: #ffffff !important;
  border: 1px solid #e9ecef !important;
  border-radius: 8px !important;
  padding: 0.6rem 0.8rem !important;
  margin-bottom: 0.5rem !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
}

.info-card:hover {
  box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
  transform: translateY(-1px);
  transition: all 0.2s ease;
}

/* Info Rows */
.info-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.4rem 0;
  border-bottom: 1px solid #f8f9fa;
  gap: 0.75rem;
}

.info-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.info-label {
  font-size: 0.75rem;
  color: #6c757d !important;
  font-weight: 500;
  min-width: 80px;
  flex-shrink: 0;
  line-height: 1.3;
}

.info-value {
  font-size: 0.8rem;
  color: #212529 !important;
  font-weight: 600;
  text-align: right;
  word-break: break-word;
  line-height: 1.3;
}

/* Equipment Cards */
.equipment-item-card {
  background: #ffffff !important;
  border: 1px solid #dee2e6 !important;
  border-radius: 8px !important;
  padding: 0.6rem 0.8rem !important;
  margin-bottom: 0.5rem !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
}

.equipment-item-card:hover {
  border-color: var(--fx-info) !important;
  box-shadow: 0 2px 6px rgba(52,152,219,0.12) !important;
  transition: all 0.2s ease;
}

.equipment-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.3rem;
}

.equipment-header strong {
  font-size: 0.85rem;
  color: #2c3e50 !important;
  font-weight: 600;
  line-height: 1.3;
}

.equipment-qty {
  background: var(--fx-primary);
  color: #ffffff !important;
  padding: 0.2rem 0.6rem;
  border-radius: 12px;
  font-size: 0.7rem;
  font-weight: 700;
}

.equipment-code {
  margin-top: 0.15rem;
}

.equipment-code small {
  font-size: 0.7rem;
  color: #6c757d !important;
}

/* Tab Content - Específico para PWA */
.pwa-movement-details .tab-content {
  display: none;
  padding: 0.75rem 0;
}

.pwa-movement-details .tab-content.active {
  display: block;
}

/* Observações e Fotos */
.observations-section,
.photos-section {
  margin-top: 0.75rem;
}

.observation-item {
  background: var(--fx-tint-warning-bg);
  border: 1px solid #f39c12;
  padding: 0.6rem 0.8rem;
  border-radius: 6px;
  margin-bottom: 0.5rem;
}

.observation-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.3rem;
}

.observation-author {
  font-size: 0.75rem;
  color: #495057 !important;
  font-weight: 600;
}

.observation-date {
  font-size: 0.7rem;
  color: #6c757d !important;
}

.observation-text {
  font-size: 0.8rem;
  color: #212529 !important;
  line-height: 1.4;
}

/* Photos Grid */
.photos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.photo-item {
  position: relative;
  border-radius: 6px;
  overflow: hidden;
  aspect-ratio: 1;
  background: #f8f9fa;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

.photo-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s ease;
}

.photo-item:hover img {
  transform: scale(1.05);
}

/* Action Buttons Container */
.fixed-bottom-actions {
  position: fixed;
  bottom: calc(70px + env(safe-area-inset-bottom, 0px));
  left: 0;
  right: 0;
  padding: 1rem;
  background: #ffffff;
  border-top: 1px solid #e9ecef;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
  z-index: 1000;
}

.fixed-bottom-actions .btn {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.fixed-bottom-actions .btn:active {
  transform: translateY(1px);
}

/* Empty State */
.empty-state {
  text-align: center;
  padding: 3rem 1rem;
  color: #6c757d;
}

.empty-state i {
  font-size: 3rem;
  margin-bottom: 1rem;
  opacity: 0.5;
}

.empty-state h3 {
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
  color: #495057;
}

.empty-state p {
  font-size: 0.9rem;
  color: #6c757d;
}

/* Status Badge */
.status-badge {
  display: inline-block;
  padding: 0.35rem 0.75rem;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.status-badge.pending {
  background: var(--fx-tint-warning-bg);
  color: var(--fx-tint-warning-text);
}

.status-badge.dispatched {
  background: var(--fx-tint-blue-bg);
  color: var(--fx-tint-blue-text);
}

.status-badge.in_transit {
  background: var(--fx-tint-info-bg);
  color: var(--fx-tint-info-text);
}

.status-badge.delivered,
.status-badge.returned {
  background: var(--fx-tint-success-bg);
  color: var(--fx-tint-success-text);
}

.status-badge.canceled {
  background: var(--fx-tint-danger-bg);
  color: var(--fx-tint-danger-text);
}

/* Responsive */
@media (max-width: 576px) {
  .info-row {
    padding: 0.35rem 0;
  }
  
  .info-label {
    font-size: 0.7rem;
    min-width: 70px;
  }
  
  .info-value {
    font-size: 0.75rem;
  }
  
  .section-title {
    font-size: 0.8rem;
    padding: 0.5rem 0.8rem;
  }
  
  .section-title i {
    font-size: 0.85rem;
  }
  
  .fixed-bottom-actions {
    bottom: calc(60px + env(safe-area-inset-bottom, 0px));
    padding: 0.75rem;
  }
  
  .photos-grid {
    grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
    gap: 0.4rem;
  }
  
  .equipment-header strong {
    font-size: 0.8rem;
  }
  
  .equipment-qty {
    font-size: 0.65rem;
    padding: 0.15rem 0.5rem;
  }
  
  .tab-button {
    padding: 0.75rem 0.4rem;
    font-size: 0.8rem;
  }
}

/* Dark text for better readability */
.pwa-container .info-card strong,
.pwa-container .equipment-header strong {
  color: #212529 !important;
}

.pwa-container small {
  color: #6c757d !important;
}

/* Estilos específicos para seções */
.info-section[data-section="general"] .section-title {
  background: var(--fx-primary);
}

.info-section[data-section="dates"] .section-title {
  background: linear-gradient(135deg, #17a2b8 0%, #117a8b 100%);
}

.info-section[data-section="responsible"] .section-title {
  background: linear-gradient(135deg, #28a745 0%, #1e7e34 100%);
}

.info-section[data-section="client"] .section-title {
  background: linear-gradient(135deg, #ffc107 0%, #e0a800 100%);
}

.info-section[data-section="rental"] .section-title {
  background: linear-gradient(135deg, #6c757d 0%, #5a6268 100%);
}

.info-section[data-section="equipment"] .section-title {
  background: var(--fx-primary);
}

.info-section[data-section="destination"] .section-title {
  background: linear-gradient(135deg, #6f42c1 0%, #5a32a3 100%);
}

/* Destaque para contador de equipamentos */
.section-title .count {
  background: rgba(255,255,255,0.3);
  padding: 0.2rem 0.5rem;
  border-radius: 10px;
  font-size: 0.75rem;
  margin-left: auto;
}
/* =============================================
   ESTILOS PARA SELEÇÃO DE TIPO DE MOVIMENTAÇÃO PWA
   Arquivo: pwa-select-type.css
   ============================================= */

/* Container Principal */
.movement-type-selector {
  padding: 1rem;
  min-height: calc(100vh - 120px);
  display: flex;
  flex-direction: column;
}

/* Introdução */
.type-intro {
  text-align: center;
  padding: 2rem 1rem 1.5rem;
  animation: fadeInDown 0.6s ease;
}

.type-intro i {
  color: var(--fx-info-text);
  margin-bottom: 1rem;
  animation: pulse 2s infinite;
}

.type-intro h2 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #2c3e50;
  margin-bottom: 0.5rem;
}

.type-intro p {
  font-size: 0.95rem;
  color: #6c757d;
  line-height: 1.5;
}

/* Cards de Tipo */
.type-card {
  display: flex;
  align-items: center;
  background: #ffffff !important;
  border: 2px solid #e9ecef;
  border-radius: 16px;
  padding: 1.25rem;
  margin-bottom: 1rem;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  position: relative;
  overflow: hidden;
  animation: fadeInUp 0.6s ease;
}

.type-card:nth-child(3) {
  animation-delay: 0.1s;
}

.type-card:nth-child(4) {
  animation-delay: 0.2s;
}

.type-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: var(--fx-primary);
  transform: scaleY(0);
  transition: transform 0.3s ease;
}

.type-card:hover::before,
.type-card:active::before {
  transform: scaleY(1);
}

.type-card:hover,
.type-card:active {
  border-color: var(--fx-info);
  box-shadow: 0 8px 24px rgba(52, 152, 219, 0.25);
  transform: translateY(-4px);
}

/* Ícone do Card */
.type-icon {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 1rem;
  transition: all 0.3s ease;
}

.type-delivery .type-icon {
  background: var(--fx-primary);
  box-shadow: 0 4px 12px rgba(52, 152, 219, 0.3);
}

.type-return .type-icon {
  background: linear-gradient(135deg, #28a745 0%, #1e7e34 100%);
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.3);
}

.type-icon i {
  font-size: 1.75rem;
  color: #ffffff;
}

.type-card:hover .type-icon,
.type-card:active .type-icon {
  transform: scale(1.1) rotate(5deg);
}

/* Conteúdo do Card */
.type-content {
  flex: 1;
  min-width: 0;
}

.type-content h3 {
  font-size: 1.1rem;
  font-weight: 700;
  color: #2c3e50 !important;
  margin: 0 0 0.25rem 0;
  letter-spacing: -0.3px;
}

.type-content p {
  font-size: 0.875rem;
  color: #6c757d !important;
  margin: 0 0 0.5rem 0;
  line-height: 1.4;
}

/* Badge */
.type-badge {
  display: inline-block;
  background: #f8f9fa !important;
  color: #495057 !important;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.3rem 0.75rem;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  border: 1px solid #e9ecef;
}

.type-delivery:hover .type-badge,
.type-delivery:active .type-badge {
  background: #e7f3ff !important;
  color: var(--fx-info-text) !important;
  border-color: #b3d9ff;
}

.type-return:hover .type-badge,
.type-return:active .type-badge {
  background: #e7f5ec !important;
  color: #28a745 !important;
  border-color: #b3e2c0;
}

/* Seta */
.type-arrow {
  flex-shrink: 0;
  margin-left: 1rem;
  transition: transform 0.3s ease;
}

.type-arrow i {
  font-size: 1.25rem;
  color: #adb5bd;
}

.type-card:hover .type-arrow,
.type-card:active .type-arrow {
  transform: translateX(4px);
}

.type-card:hover .type-arrow i,
.type-card:active .type-arrow i {
  color: var(--fx-info-text);
}

/* Animações */
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes pulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}

/* Responsive */
@media (max-width: 576px) {
  .type-intro {
    padding: 1.5rem 0.5rem 1rem;
  }
  
  .type-intro h2 {
    font-size: 1.25rem;
  }
  
  .type-intro p {
    font-size: 0.875rem;
  }
  
  .type-intro i {
    font-size: 2.5rem !important;
  }
  
  .type-card {
    padding: 1rem;
    border-radius: 12px;
  }
  
  .type-icon {
    width: 50px;
    height: 50px;
    margin-right: 0.875rem;
  }
  
  .type-icon i {
    font-size: 1.5rem;
  }
  
  .type-content h3 {
    font-size: 1rem;
  }
  
  .type-content p {
    font-size: 0.8rem;
  }
  
  .type-badge {
    font-size: 0.7rem;
    padding: 0.25rem 0.6rem;
  }
  
  .type-arrow i {
    font-size: 1.1rem;
  }
}

/* Estado de carregamento/vazio */
.type-card.disabled {
  opacity: 0.6;
  pointer-events: none;
}

.type-card.disabled .type-badge {
  background: #e9ecef;
  color: #adb5bd;
}

/* Acessibilidade */
.type-card:focus {
  outline: 3px solid rgba(52, 152, 219, 0.5);
  outline-offset: 2px;
}

.type-card:focus:not(:focus-visible) {
  outline: none;
}

/* Dark mode support (opcional) */
@media (prefers-color-scheme: dark) {
  .type-intro h2 {
    color: #f8f9fa;
  }
  
  .type-card {
    background: #212529;
    border-color: #495057;
  }
  
  .type-content h3 {
    color: #f8f9fa;
  }
}
/* ============================================================================
   CSS ESPECÍFICO PARA ASSINATURA PWA
   Layout horizontal, mobile-first, design otimizado para PWA
   ============================================================================ */

/* Página de Assinatura PWA */
.pwa-signature-page {
  min-height: 100vh;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  padding: 16px;
  padding-bottom: 100px; /* Espaço para navegação PWA */
}

/* Header da Assinatura */
.pwa-signature-header {
  background: white;
  border-radius: 16px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  border: 1px solid #e9ecef;
}

/* Breadcrumb PWA */
.pwa-breadcrumb {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
  font-size: 0.9rem;
  color: #6c757d;
}

.breadcrumb-link {
  color: var(--fx-info-text);
  text-decoration: none;
  display: flex;
  align-items: center;
  transition: color 0.2s ease;
}

.breadcrumb-link:hover {
  color: var(--fx-info-text);
  text-decoration: none;
}

.breadcrumb-separator {
  margin: 0 8px;
  color: #dee2e6;
  font-size: 0.8rem;
}

.breadcrumb-current {
  color: #495057;
  font-weight: 600;
}

/* Título da Assinatura */
.pwa-signature-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #2c3e50;
  margin: 0 0 16px 0;
  text-align: center;
}

/* Informações da OS */
.pwa-signature-info {
  text-align: center;
}

.work-info {
  font-size: 1.1rem;
  color: #495057;
  margin-bottom: 8px;
}

.location-info {
  font-size: 0.9rem;
  color: #6c757d;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

/* Seção do Canvas */
.pwa-signature-canvas-section {
  background: white;
  border-radius: 16px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  border: 1px solid #e9ecef;
}

/* Container do Canvas */
.canvas-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

/* Wrapper do Canvas */
.signature-canvas-wrapper {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f8f9fa;
  border-radius: 12px;
  padding: 16px;
  border: 2px dashed #dee2e6;
}

/* Canvas Horizontal PWA */
.signature-canvas-pwa-horizontal {
  border: 2px solid var(--fx-info);
  border-radius: 12px;
  background: white;
  cursor: crosshair;
  box-shadow: 0 4px 16px rgba(52,152,219,0.15);
  transition: all 0.3s ease;
}

.signature-canvas-pwa-horizontal:hover {
  box-shadow: 0 6px 20px rgba(52,152,219,0.2);
  border-color: var(--fx-info);
}

/* Instruções do Canvas */
.canvas-instructions {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #6c757d;
  pointer-events: none;
  z-index: 1;
}

.canvas-instructions i {
  font-size: 2rem;
  color: var(--fx-info-text);
  margin-bottom: 8px;
  display: block;
}

.canvas-instructions p {
  margin: 0 0 4px 0;
  font-size: 1rem;
  font-weight: 500;
}

.canvas-instructions small {
  font-size: 0.85rem;
  opacity: 0.8;
}

/* Controles de Assinatura */
.signature-controls-pwa-horizontal {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
}

.signature-controls-pwa-horizontal .btn {
  min-width: 140px;
  min-height: 48px;
  font-size: 1rem;
  font-weight: 600;
  border-radius: 12px;
  transition: all 0.3s ease;
}

.signature-controls-pwa-horizontal .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* Status da Assinatura */
.signature-status-pwa {
  padding: 12px 16px;
  border-radius: 8px;
  text-align: center;
  font-weight: 500;
  margin-top: 16px;
  border: 1px solid transparent;
}

.signature-status-info {
  background: #d1ecf1;
  color: #0c5460;
  border-color: #bee5eb;
}

.signature-status-success {
  background: #d4edda;
  color: #155724;
  border-color: #c3e6cb;
}

.signature-status-warning {
  background: #fff3cd;
  color: #856404;
  border-color: #ffeaa7;
}

.signature-status-error {
  background: #f8d7da;
  color: #721c24;
  border-color: #f5c6cb;
}

/* Ações da Assinatura */
.pwa-signature-actions {
  background: white;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  border: 1px solid #e9ecef;
}

.pwa-signature-actions .btn {
  min-height: 56px;
  font-size: 1.1rem;
  font-weight: 600;
  border-radius: 12px;
  transition: all 0.3s ease;
}

.pwa-signature-actions .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* ============================================================================
   RESPONSIVIDADE E ORIENTAÇÃO
   ============================================================================ */

/* Mobile Portrait (até 480px) */
@media (max-width: 480px) {
  .pwa-signature-page {
    padding: 12px;
  }
  
  .pwa-signature-header,
  .pwa-signature-canvas-section,
  .pwa-signature-actions {
    padding: 16px;
    border-radius: 12px;
  }
  
  .pwa-signature-title {
    font-size: 1.3rem;
  }
  
  .signature-controls-pwa-horizontal {
    flex-direction: column;
    gap: 12px;
  }
  
  .signature-controls-pwa-horizontal .btn {
    width: 100%;
    min-width: auto;
  }
}

/* Mobile Landscape (481px - 768px) */
@media (min-width: 481px) and (max-width: 768px) {
  .signature-canvas-wrapper {
    padding: 20px;
  }
  
  .signature-controls-pwa-horizontal {
    gap: 20px;
  }
}

/* Tablet (769px - 1024px) */
@media (min-width: 769px) and (max-width: 1024px) {
  .pwa-signature-page {
    padding: 24px;
  }
  
  .pwa-signature-header,
  .pwa-signature-canvas-section,
  .pwa-signature-actions {
    padding: 24px;
  }
  
  .signature-canvas-wrapper {
    padding: 24px;
  }
}

/* Desktop (1025px+) */
@media (min-width: 1025px) {
  .pwa-signature-page {
    max-width: 800px;
    margin: 0 auto;
    padding: 32px;
  }
  
  .pwa-signature-header,
  .pwa-signature-canvas-section,
  .pwa-signature-actions {
    padding: 32px;
  }
  
  .signature-canvas-wrapper {
    padding: 32px;
  }
}

/* ============================================================================
   ORIENTAÇÃO LANDSCAPE ESPECÍFICA
   ============================================================================ */

/* Landscape em dispositivos móveis */
@media (orientation: landscape) and (max-height: 500px) {
  .pwa-signature-page {
    padding: 12px;
    padding-bottom: 80px;
  }
  
  .pwa-signature-header {
    padding: 16px;
    margin-bottom: 16px;
  }
  
  .pwa-signature-title {
    font-size: 1.2rem;
    margin-bottom: 12px;
  }
  
  .pwa-signature-info {
    display: flex;
    justify-content: center;
    gap: 24px;
    align-items: center;
  }
  
  .signature-canvas-wrapper {
    padding: 12px;
  }
  
  .signature-controls-pwa-horizontal {
    gap: 12px;
  }
  
  .signature-controls-pwa-horizontal .btn {
    min-height: 44px;
    font-size: 0.9rem;
  }
}

/* ============================================================================
   ESTADOS E ANIMAÇÕES
   ============================================================================ */

/* Estados dos botões */
.btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none !important;
  box-shadow: none !important;
}

/* Animações de entrada */
.pwa-signature-page {
  animation: fadeInUp 0.5s ease-out;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Hover effects */
.signature-canvas-wrapper:hover {
  border-color: var(--fx-info);
  background: #f0f8ff;
}

/* Loading states */
.signature-status-pwa:empty::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid var(--fx-info);
  border-radius: 50%;
  border-top-color: transparent;
  animation: spin 1s linear infinite;
  margin-right: 8px;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* ============================================================================
   ESTILOS PARA SEÇÃO DE ASSINATURA NA VIEW SHOW PWA
   ============================================================================ */

/* ============================================================================
   SEÇÃO DE IDENTIFICAÇÃO DO ASSINANTE
   ============================================================================ */

.signature-signer-section {
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 24px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.signer-header {
  margin-bottom: 16px;
}

.signer-title {
  color: #2c3e50;
  font-weight: 600;
  margin-bottom: 4px;
  font-size: 1.1rem;
}

.signer-title i {
  color: var(--fx-info-text);
}

.signer-input-group {
  position: relative;
}

.signer-input-group input {
  border: 2px solid #e9ecef;
  border-radius: 8px;
  transition: all 0.3s ease;
  font-size: 1rem;
  padding: 12px 16px;
}

.signer-input-group input:focus {
  border-color: var(--fx-info);
  box-shadow: 0 0 0 0.2rem rgba(52,152,219,0.25);
  outline: none;
}

.signer-input-group input:valid {
  border-color: #28a745;
}

.signer-input-group input:invalid {
  border-color: #dc3545;
}

.input-feedback {
  margin-top: 8px;
}

.input-feedback small {
  color: #6c757d;
  font-size: 0.875rem;
}

.input-feedback i {
  color: var(--fx-info-text);
}

/* Preview da assinatura */
.signature-preview-pwa {
  max-width: 100%;
  max-height: 200px;
  border: 2px solid #e9ecef;
  border-radius: 12px;
  background: white;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  transition: all 0.3s ease;
}

.signature-preview-pwa:hover {
  border-color: var(--fx-info);
  box-shadow: 0 4px 16px rgba(52,152,219,0.15);
  transform: scale(1.02);
}

/* Informações da assinatura */
.signature-info-pwa {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 12px;
  border-left: 4px solid #28a745;
}

.signature-info-pwa .signer-name {
  font-size: 1rem;
  margin-bottom: 8px;
  color: #2c3e50;
}

.signature-info-pwa .signer-name strong {
  color: #28a745;
  font-weight: 600;
}

.signature-info-pwa small {
  display: block;
  line-height: 1.4;
}

.signature-info-pwa i {
  width: 16px;
  text-align: center;
  margin-right: 4px;
}

/* Estados da seção de assinatura */
.info-section[data-controller="service-order-pwa-consolidated"] {
  border: 1px solid #e9ecef;
  border-radius: 12px;
  padding: 20px;
  background: white;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.info-section[data-controller="service-order-pwa-consolidated"] h5 {
  color: #2c3e50;
  font-weight: 600;
  margin-bottom: 16px;
  border-bottom: 2px solid var(--fx-border-soft);
  padding-bottom: 8px;
}

/* Botões de assinatura */
.btn-outline-primary.btn-sm {
  min-height: 36px;
  font-size: 0.9rem;
  border-radius: 8px;
  transition: all 0.3s ease;
}

.btn-outline-primary.btn-sm:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(52,152,219,0.2);
}

.btn-warning.btn-sm {
  min-height: 36px;
  font-size: 0.9rem;
  border-radius: 8px;
  transition: all 0.3s ease;
}

.btn-warning.btn-sm:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(255,193,7,0.2);
}

/* Estado pendente de assinatura */
.text-center.py-3 {
  background: #fff3cd;
  border: 1px solid #ffeaa7;
  border-radius: 8px;
  padding: 20px !important;
}

.text-center.py-3 i {
  color: #856404;
}

.text-center.py-3 .text-muted {
  color: #856404 !important;
}

/* Responsividade para seção de assinatura */
@media (max-width: 480px) {
  .info-section[data-controller="service-order-pwa-consolidated"] {
    padding: 16px;
  }
  
  .signature-preview-pwa {
    max-height: 150px;
  }
  
  .signature-info-pwa {
    padding: 10px;
  }
  
  .signature-signer-section {
    padding: 16px;
  }
  
  .signer-input-group input {
    font-size: 16px; /* Evita zoom no iOS */
    padding: 10px 14px;
  }
}

@media (min-width: 481px) and (max-width: 768px) {
  .signature-preview-pwa {
    max-height: 180px;
  }
}

/* ============================================================================
   TOASTS DE FEEDBACK
   ============================================================================ */

.pwa-toast {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 9999;
  padding: 12px 20px;
  border-radius: 8px;
  color: white;
  font-weight: 500;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  animation: slideInRight 0.3s ease-out;
  max-width: 300px;
}

.pwa-toast-success {
  background: #28a745;
  border-left: 4px solid #1e7e34;
}

.pwa-toast-error {
  background: #dc3545;
  border-left: 4px solid #c82333;
}

.pwa-toast i {
  margin-right: 8px;
}

@keyframes slideInRight {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

/* Responsividade para toasts */
@media (max-width: 480px) {
  .pwa-toast {
    top: 10px;
    right: 10px;
    left: 10px;
    max-width: none;
  }
}
/* PWA Skeleton Loading Styles */

/* Base skeleton animation */
@keyframes skeleton-pulse {
  0% {
    background-color: #e2e2e2;
  }
  50% {
    background-color: #f0f0f0;
  }
  100% {
    background-color: #e2e2e2;
  }
}

.pwa-skeleton {
  animation: skeleton-pulse 2s ease-in-out infinite;
  border-radius: 4px;
  position: relative;
  overflow: hidden;
}

/* Skeleton variants */
.pwa-skeleton-text {
  height: 16px;
  margin-bottom: 8px;
}

.pwa-skeleton-text.large {
  height: 24px;
}

.pwa-skeleton-text.small {
  height: 12px;
}

.pwa-skeleton-button {
  height: 40px;
  border-radius: 20px;
  width: 120px;
}

.pwa-skeleton-card {
  height: 200px;
  border-radius: 8px;
}

.pwa-skeleton-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

.pwa-skeleton-image {
  height: 120px;
  border-radius: 8px;
}

/* Table skeleton */
.pwa-skeleton-table {
  width: 100%;
}

.pwa-skeleton-table-row {
  display: flex;
  gap: 16px;
  margin-bottom: 8px;
}

.pwa-skeleton-table-cell {
  height: 20px;
  flex: 1;
}

/* Form skeleton */
.pwa-skeleton-form-group {
  margin-bottom: 16px;
}

.pwa-skeleton-label {
  height: 16px;
  width: 80px;
  margin-bottom: 4px;
}

.pwa-skeleton-input {
  height: 40px;
  border-radius: 4px;
}

/* Shimmer effect for more advanced loading */
.pwa-skeleton-shimmer {
  position: relative;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: skeleton-shimmer 2s infinite;
}

@keyframes skeleton-shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

/* Dark mode support */
.pwa-mode .pwa-skeleton {
  background-color: #2a2a2a;
}

.pwa-mode .pwa-skeleton-shimmer {
  background: linear-gradient(90deg, #2a2a2a 25%, #3a3a3a 50%, #2a2a2a 75%);
  background-size: 200% 100%;
}

/* Responsive skeleton */
@media (max-width: 768px) {
  .pwa-skeleton-text {
    height: 14px;
  }
  
  .pwa-skeleton-button {
    height: 36px;
    width: 100px;
  }
  
  .pwa-skeleton-card {
    height: 150px;
  }
}

/* Utility classes for quick skeleton creation */
.skeleton-lines-3 {
  .pwa-skeleton-text:nth-child(1) { width: 100%; }
  .pwa-skeleton-text:nth-child(2) { width: 85%; }
  .pwa-skeleton-text:nth-child(3) { width: 60%; }
}

.skeleton-lines-5 {
  .pwa-skeleton-text:nth-child(1) { width: 100%; }
  .pwa-skeleton-text:nth-child(2) { width: 95%; }
  .pwa-skeleton-text:nth-child(3) { width: 85%; }
  .pwa-skeleton-text:nth-child(4) { width: 90%; }
  .pwa-skeleton-text:nth-child(5) { width: 70%; }
}

/* Service Order specific skeletons */
.skeleton-service-order-card {
  padding: 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  margin-bottom: 16px;
}

.skeleton-service-order-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.skeleton-service-order-title {
  height: 20px;
  width: 60%;
}

.skeleton-service-order-status {
  height: 24px;
  width: 80px;
  border-radius: 12px;
}

.skeleton-service-order-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 16px;
}

.skeleton-service-order-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

/* Equipment skeleton */
.skeleton-equipment-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
}

.skeleton-equipment-card {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 16px;
}

.skeleton-equipment-image {
  height: 160px;
  margin-bottom: 12px;
}

.skeleton-equipment-title {
  height: 18px;
  width: 80%;
  margin-bottom: 8px;
}

.skeleton-equipment-code {
  height: 14px;
  width: 60%;
  margin-bottom: 12px;
}

.skeleton-equipment-status {
  height: 20px;
  width: 50%;
}
/* =============================================================================
   TOKENS DO DESIGN SYSTEM (DESIGN.md)
   Cor como sinal semântico, nunca decoração. Variantes -text têm contraste
   AA (≥4.5:1) sobre superfícies claras.
   ============================================================================= */
:root {
  --fx-primary: #2c3e50;
  --fx-primary-light: #34495e;
  --fx-primary-dark: #1a252f;
  --fx-secondary: #7f8c8d;
  --fx-success: #27ae60;
  --fx-success-text: #1e7e34;
  --fx-warning: #f39c12;
  --fx-warning-text: #8a5a00;
  --fx-danger: #e74c3c;
  --fx-danger-text: #b03a2e;
  --fx-danger-surface: #fdf3f2;
  --fx-info: #3498db;
  --fx-info-text: #21618c;
  --fx-surface: #ffffff;
  --fx-canvas: #f8f9fa;
  --fx-border: #ced4da;
  --fx-border-soft: #e9ecef;
  --fx-text: #212529;
  --fx-text-secondary: #343a40;
  --fx-text-muted: #6c757d;
  /* Tintas de badge/chip (fundo pastel + texto escuro do mesmo matiz) */
  --fx-tint-warning-bg: #fff3cd;
  --fx-tint-warning-text: #856404;
  --fx-tint-info-bg: #d1ecf1;
  --fx-tint-info-text: #0c5460;
  --fx-tint-blue-bg: #cfe2ff;
  --fx-tint-blue-text: #084298;
  --fx-tint-success-bg: #d4edda;
  --fx-tint-success-text: #155724;
  --fx-tint-danger-bg: #f8d7da;
  --fx-tint-danger-text: #721c24;
  --fx-tint-neutral-bg: #e9ecef;
  --fx-tint-neutral-text: #495057;
}

/* Section titles claros para perfil PWA */
.pwa-edit-profile h3,
.pwa-edit-profile .section-title,
.pwa-edit-profile .card-title {
  background: #f8f9fa !important;
  color: #222 !important;
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 1.5rem;
  font-weight: 600;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

/* Caso queira fundo escuro, texto claro: */
.pwa-edit-profile .section-title-dark {
  background: #c2c3c4 !important;
  color: #454343 !important;
}

/* PWA Specific Styles - Estilos para modo PWA */

/* Modo PWA detectado */
.pwa-mode .navbar-brand {
  font-size: 1.1rem;
}

.pwa-mode .main-sidebar {
  display: none;
  /* Esconde sidebar no PWA mobile */
}

.pwa-mode .content-wrapper {
  margin-left: 0;
  /* Remove margem da sidebar */
}

/* Botão de instalação PWA */
#pwa-install-button {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 1000;
  background: var(--fx-primary);
  color: white;
  border: none;
  border-radius: 50px;
  padding: 12px 20px;
  box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
  display: none;
  animation: pulse 2s infinite;
}

#pwa-install-button:hover {
  background: var(--fx-primary-dark);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(44, 62, 80, 0.35);
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.05);
  }

  100% {
    transform: scale(1);
  }
}

/* Status de conexão */
#connection-status {
  animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* Cards otimizados para mobile PWA */
.pwa-mode .card {
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  margin-bottom: 1rem;
}

.pwa-mode .card-header,
.pwa-standalone .card-header,
.pwa-standalone-active .card-header,
body[data-pwa-mode="true"] .card-header {
  background: #f8f9fa !important;
  color: #222 !important;
  border-radius: 16px 16px 0 0 !important;
  border: none !important;
  padding: 1rem !important;
  font-weight: 600;
  font-size: 1.05rem;
  letter-spacing: 0.01em;
}

/* Botões otimizados para touch */
.pwa-mode .btn {
  min-height: 44px;
  /* Tamanho mínimo recomendado para touch */
  border-radius: 8px;
}

.pwa-mode .btn-group .btn {
  min-height: 40px;
}

/* Lista de OS otimizada para PWA */
.os-list-pwa {
  padding: 0;
  margin: 0;
}

.os-list-pwa .os-item {
  background: white;
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border: 1px solid var(--fx-border-soft);
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
}

.os-list-pwa .os-item:hover,
.os-list-pwa .os-item:active {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Status sinalizado pelo badge; stripes laterais removidos */

/* Header da OS no PWA */
.os-header-pwa {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.os-number-pwa {
  font-weight: bold;
  font-size: 1.1rem;
  color: #2c3e50;
}

.os-status-pwa {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: bold;
}

/* Informações da OS */
.os-info-pwa {
  color: #666;
  font-size: 0.9rem;
  line-height: 1.4;
}

.os-client-pwa {
  font-weight: 500;
  color: #2c3e50;
  margin-bottom: 4px;
}

.os-date-pwa {
  color: #999;
  font-size: 0.8rem;
}

/* Ações rápidas */
.quick-actions-pwa {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}

.quick-actions-pwa .btn {
  flex: 1;
  font-size: 0.85rem;
  padding: 8px 12px;
}

/* Modal otimizado para PWA */
.pwa-mode .modal-dialog {
  margin: 0;
  height: 100vh;
  max-width: 100%;
}

.pwa-mode .modal-content {
  height: 100vh;
  border-radius: 0;
  border: none;
}

.pwa-mode .modal-header {
  background: #2c3e50;
  color: white;
  border-bottom: none;
}

.pwa-mode .modal-body {
  flex: 1;
  overflow-y: auto;
}

/* Formulários otimizados para mobile */
.pwa-mode .form-control {
  min-height: 44px;
  border-radius: 8px;
  border: 2px solid #e9ecef;
  font-size: 16px;
  /* Previne zoom no iOS */
}

.pwa-mode .form-control:focus {
  border-color: var(--fx-info);
  box-shadow: 0 0 0 0.2rem rgba(52, 152, 219, 0.25);
}

.pwa-mode .form-label {
  font-weight: 600;
  color: #2c3e50;
  margin-bottom: 8px;
}

/* Tabs otimizadas para touch */
.pwa-mode .nav-tabs {
  border-bottom: 2px solid #e9ecef;
}

.pwa-mode .nav-tabs .nav-link {
  border: none;
  border-radius: 0;
  padding: 12px 16px;
  font-weight: 500;
  color: #666;
  background: none;
}

.pwa-mode .nav-tabs .nav-link.active {
  color: var(--fx-info-text);
  border-bottom: 2px solid var(--fx-info);
  background: none;
}

/* Loading states */
.loading-pwa {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}

.loading-spinner-pwa {
  width: 40px;
  height: 40px;
  border: 4px solid #f3f3f3;
  border-top: 4px solid var(--fx-primary);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/* Estados offline */
.offline-indicator {
  background: #ffc107;
  color: #212529;
  padding: 8px 16px;
  text-align: center;
  font-weight: 500;
}

.offline-data {
  opacity: 0.7;
  position: relative;
}

.offline-data::after {
  content: "📱";
  position: absolute;
  top: 4px;
  right: 4px;
  font-size: 12px;
}

/* Assinatura digital */
.signature-pad-pwa {
  border: 2px solid #dee2e6;
  border-radius: 8px;
  background: white;
  cursor: crosshair;
}

.signature-controls-pwa {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}

/* Camera para fotos */
.camera-controls-pwa {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin: 16px 0;
}

.camera-preview-pwa {
  width: 100%;
  max-width: 300px;
  border-radius: 8px;
  border: 2px solid #dee2e6;
}

/* Pull to refresh indicator */
.pull-to-refresh {
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f8f9fa;
  color: #666;
  transform: translateY(-60px);
  transition: transform 0.3s;
}

.pull-to-refresh.visible {
  transform: translateY(0);
}

/* ===== MODO STANDALONE PWA ===== */
.pwa-standalone {
  /* Remove scrollbars no PWA */
  overflow-x: hidden;
}

.pwa-standalone body {
  /* Otimizações de performance */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Header fixo para PWA standalone */
.pwa-standalone .main-header {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1030;
  background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* Content com padding para header fixo */
.pwa-standalone .content-wrapper {
  margin-left: 0 !important;
  padding-top: 70px !important;
  /* Espaço para header fixo */
  padding-bottom: 80px !important;
  min-height: calc(100vh - 150px) !important;
}

/* Esconde elementos desktop no PWA */
.pwa-standalone .main-sidebar,
.pwa-standalone .breadcrumb-container,
.pwa-standalone .user-panel .info {
  display: none !important;
}

/* Bottom navigation para PWA */
.pwa-bottom-nav {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  background: white !important;
  border-top: 1.5px solid #e9ecef !important;
  /* safe-area: evita o home-indicator do iPhone em modo standalone */
  padding: 8px 0 env(safe-area-inset-bottom, 0) 0 !important;
  z-index: 1020 !important;
  display: flex !important;
  justify-content: space-around !important;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.08) !important;
  height: 60px !important;
}

/* Força visibilidade no modo PWA */
.pwa-mode .pwa-bottom-nav,
[data-pwa="true"] .pwa-bottom-nav,
body.pwa-standalone-active .pwa-bottom-nav {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.pwa-nav-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 12px !important;
  color: #6c757d !important;
  text-decoration: none !important;
  font-size: 0.75rem !important;
  min-width: 60px !important;
  transition: color 0.2s ease !important;
}

.pwa-nav-item:hover,
.pwa-nav-item:focus {
  text-decoration: none !important;
  color: var(--fx-info-text) !important;
}

.pwa-nav-item.active {
  color: var(--fx-info-text) !important;
  font-weight: 600 !important;
}

.pwa-nav-item i {
  font-size: 1.2rem !important;
  margin-bottom: 4px !important;
}

/* FAB button para ação principal */
.pwa-fab {
  position: fixed !important;
  bottom: calc(80px + env(safe-area-inset-bottom, 0px)) !important;
  right: calc(20px + env(safe-area-inset-right, 0px)) !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: var(--fx-primary) !important;
  color: white !important;
  border: none !important;
  box-shadow: 0 4px 16px rgba(0, 123, 255, 0.3) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.5rem !important;
  z-index: 1010 !important;
  transition: all 0.3s ease !important;
  text-decoration: none !important;
}

.pwa-fab:hover,
.pwa-fab:focus {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(44, 62, 80, 0.35) !important;
  color: white !important;
  text-decoration: none !important;
}

.pwa-fab:active {
  transform: scale(0.95) !important;
}

/* Cards otimizados para PWA standalone */
.pwa-standalone .card,
.pwa-standalone-active .card,
body[data-pwa-mode="true"] .card {
  border: none !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08) !important;
  margin: 12px 8px !important;
}

.pwa-standalone .card-header,
.pwa-standalone-active .card-header,
body[data-pwa-mode="true"] .card-header {
  border-radius: 16px 16px 0 0 !important;
  border: none !important;
}

/* Lista de OS otimizada para PWA */
.pwa-standalone .os-list-pwa .os-item,
.pwa-standalone-active .os-list-pwa .os-item,
body[data-pwa-mode="true"] .os-list-pwa .os-item {
  margin: 8px !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.pwa-standalone .os-list-pwa .os-item:active,
.pwa-standalone-active .os-list-pwa .os-item:active,
body[data-pwa-mode="true"] .os-list-pwa .os-item:active {
  transform: scale(0.98) !important;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.15) !important;
}

/* Formulários otimizados para mobile PWA */
.pwa-standalone .form-control,
.pwa-standalone-active .form-control,
body[data-pwa-mode="true"] .form-control {
  border-radius: 12px !important;
  border: 2px solid #e9ecef !important;
  padding: 12px 16px !important;
  font-size: 16px !important;
  /* Evita zoom no iOS */
}

.pwa-standalone .form-control:focus,
.pwa-standalone-active .form-control:focus,
body[data-pwa-mode="true"] .form-control:focus {
  border-color: var(--fx-info-text) !important;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.15) !important;
}

/* Botões com melhor área de toque */
.pwa-standalone .btn,
.pwa-standalone-active .btn,
body[data-pwa-mode="true"] .btn {
  min-height: 48px !important;
  border-radius: 12px !important;
  font-weight: 500 !important;
  padding: 12px 24px !important;
}

.pwa-standalone .btn-sm,
.pwa-standalone-active .btn-sm,
body[data-pwa-mode="true"] .btn-sm {
  min-height: 40px !important;
  padding: 8px 16px !important;
}

/* iOS Safari específico */
@supports (-webkit-touch-callout: none) {

  /* Estilos específicos para iOS Safari */
  .pwa-standalone .content-wrapper,
  .pwa-standalone-active .content-wrapper,
  body[data-pwa-mode="true"] .content-wrapper {
    padding-top: 90px !important;
    /* Mais espaço no iOS */
  }

  .pwa-fab {
    bottom: 100px !important;
    /* Evita área do home indicator */
  }
}

/* Print styles for PWA */
@media print {

  .pwa-mode #pwa-install-button,
  .pwa-mode #connection-status,
  .pwa-mode .quick-actions-pwa {
    display: none !important;
  }
}

/* PWA Service Orders Styles */

/* Estatísticas Grid */
.stats-grid {
  padding: 0 2px;
}

.stat-card {
  width: 100%;
  margin: 0;
  border-radius: 10px;
  padding: 10px 6px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

.stat-number {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
}

.stat-label {
  font-size: 0.75rem;
  margin-top: 2px;
  opacity: 0.8;
}

/* Tiles de estatística: superfície neutra, cor apenas no número (sinal semântico) */
.stat-total,
.stat-pending,
.stat-progress,
.stat-completed {
  background: var(--fx-surface);
  border: 1px solid var(--fx-border-soft);
  color: var(--fx-text);
}

.stat-total .stat-number { color: var(--fx-primary); }
.stat-pending .stat-number { color: var(--fx-warning-text); }
.stat-progress .stat-number { color: var(--fx-info-text); }
.stat-completed .stat-number { color: var(--fx-success-text); }

/* Filtros Compactos */
.quick-filters {
  padding: 0 8px;
}

.quick-filters .btn-group {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  border-radius: 6px;
  overflow: hidden;
}

/* Filtros rápidos PWA - botões menores */
.quick-filters .btn-group .btn {
  font-size: 0.92rem;
  padding: 4px 10px;
  min-width: 0;
  min-height: 32px;
  border-radius: 7px;
}

@media (max-width: 600px) {
  .quick-filters .btn-group .btn {
    font-size: 0.89rem;
    padding: 3px 7px;
  }
}

/* Cards Compactos da OS */

.os-list-pwa {
  padding: 0;
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.os-item-compact {
  width: 100vw;
  min-height: 100vh;
  margin: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
  border-left: none;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}


.os-item-compact:hover {
  background: #f8f9fa;
}

/* Header Compacto */
.os-header-compact {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 8px;
  gap: 0.5rem;
}

.os-main-info {
  flex: 1;
}

.os-number {
  font-weight: 600;
  font-size: 1rem;
  color: #333;
  margin-bottom: 2px;
}

.os-work {
  font-size: 0.85rem;
  color: #666;
  line-height: 1.2;
}

.os-badges {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-end;
  margin: 0;
}

/* Badges */
.priority-badge,
.status-badge {
  padding: 2px 6px;
  border-radius: 10px;
  font-size: 0.7rem;
  font-weight: 500;
  text-transform: uppercase;
  white-space: nowrap;
}

/* Priority Badges */
.priority-low {
  background: var(--fx-tint-neutral-bg);
  color: #6c757d;
}

.priority-medium {
  background: var(--fx-tint-warning-bg);
  color: var(--fx-tint-warning-text);
}

.priority-high {
  background: var(--fx-tint-danger-bg);
  color: var(--fx-tint-danger-text);
}

.priority-urgent {
  background: #dc3545;
  color: white;
  animation: pulse 2s infinite;
}

/* Status Badges */
.status-badge.status-pending {
  background: var(--fx-tint-warning-bg);
  color: var(--fx-tint-warning-text);
}

.status-badge.status-in_progress {
  background: var(--fx-tint-info-bg);
  color: var(--fx-tint-info-text);
}

.status-badge.status-completed {
  background: var(--fx-tint-success-bg);
  color: var(--fx-tint-success-text);
}

.status-badge.status-cancelled {
  background: var(--fx-tint-danger-bg);
  color: var(--fx-tint-danger-text);
}

/* Ações Compactas */
.os-actions-compact {
  display: flex;
  gap: 6px;
  justify-content: flex-end;
  margin: 0;
}

/* Link que cobre o conteúdo principal do card de OS (card inteiro clicável) */
.os-card-link {
  display: block;
  color: inherit;
  text-decoration: none;
  /* Expande a área de toque até as bordas do card (padding do .os-item-card) */
  margin: -1rem -1.1rem 0 -1rem;
  padding: 1rem 1.1rem 0 1rem;
}

.os-card-link:hover,
.os-card-link:focus {
  color: inherit;
  text-decoration: none;
}

.action-btn {
  /* Alvo de toque mínimo de 44px (WCAG / Apple HIG) */
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: all 0.2s ease;
  font-size: 0.9rem;
}

.action-view {
  background: var(--fx-tint-neutral-bg);
  color: #495057;
}

.action-view:hover {
  background: #dee2e6;
  color: #495057;
  text-decoration: none;
}

.action-edit {
  background: #cce5ff;
  color: #0066cc;
}

.action-edit:hover {
  background: #b3d9ff;
  color: #0066cc;
  text-decoration: none;
}

.action-start {
  background: var(--fx-tint-success-bg);
  color: var(--fx-tint-success-text);
}

.action-start:hover {
  background: #c3e6cb;
  color: var(--fx-tint-success-text);
  text-decoration: none;
}

.action-finish {
  background: var(--fx-tint-warning-bg);
  color: var(--fx-tint-warning-text);
}

.action-finish:hover {
  background: #ffeaa7;
  color: var(--fx-tint-warning-text);
  text-decoration: none;
}

/* Responsividade */
@media (max-width: 576px) {
  .os-list-pwa {
    padding: 0;
    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
  }

  .os-item-compact {
    width: 100vw;
    min-height: 100vh;
    margin: 0;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
    border-left: none;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }
}

/* Remove margens padrão do layout PWA */
@media (max-width: 768px) {
  .pwa-standalone-active .content-wrapper {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .pwa-standalone-active .content {
    padding: 8px 0 !important;
  }
}

/* View de detalhes PWA */
.os-status-header {
  background: white;
  padding: 16px;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.badge-lg {
  font-size: 0.875rem;
  padding: 6px 12px;
}

/* Técnicos na view de detalhes */
.technician-item {
  padding: 12px 0;
  border-bottom: 1px solid #eee;
}

.technician-item:last-child {
  border-bottom: none;
}

.technician-avatar {
  width: 40px;
  height: 40px;
  background: var(--fx-primary);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
}

.technician-actions {
  text-align: right;
}

/* Itens de serviço */
.item-row {
  min-height: 60px;
}

/* Ações fixas no bottom */
.fixed-bottom-actions {
  position: fixed;
  bottom: calc(60px + env(safe-area-inset-bottom, 0px));
  /* Garante que fique acima da barra de navegação PWA */
  left: 0;
  right: 0;
  z-index: 1100;
  background: #fff;
  box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.07);
  padding: 12px 8px 8px 8px;
  border-top: 1.5px solid #e9ecef;
}

.fixed-bottom-actions .btn,
.fixed-bottom-actions .btn-block {
  width: 100%;
  min-height: 48px;
  font-size: 1.08rem;
  border-radius: 10px;
  margin-bottom: 0;
  margin-top: 0;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.fixed-bottom-actions .row {
  margin-left: 0;
  margin-right: 0;
}

@media (max-width: 600px) {
  .fixed-bottom-actions {
    padding: 8px 2px 4px 2px;
    bottom: calc(60px + env(safe-area-inset-bottom, 0px));
  }
}

/* Pull to refresh */
.pull-to-refresh {
  position: fixed;
  top: -60px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--fx-primary);
  color: white;
  padding: 8px 16px;
  border-radius: 0 0 8px 8px;
  transition: top 0.3s ease;
  z-index: 1001;
}

.pull-to-refresh.visible {
  top: 0;
}

/* --- AJUSTE PARA TABELA PWA DE ORDENS DE SERVIÇO --- */
.os-list-pwa table {
  width: 100%;
  margin-bottom: 0;
  border-collapse: collapse;
}

.os-list-pwa .os-item-compact {
  /* Remove estilos de card/flex para uso em <tr> */
  width: auto;
  min-height: unset;
  margin: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
  border-left: none;
  display: table-row;
  flex-direction: unset;
  justify-content: unset;
  background: none;
}

.os-list-pwa .os-item-compact:hover {
  background: #f8f9fa;
}

.os-list-pwa td,
.os-list-pwa th {
  padding: 0.5rem 0.4rem;
  font-size: 0.97rem;
  vertical-align: middle;
}

.os-list-pwa th {
  background: #f8f9fa;
  font-weight: 600;
  border-bottom: 1px solid #dee2e6;
}

.os-list-pwa .status-badge {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 12px;
  font-size: 0.85em;
  font-weight: 500;
}

.os-list-pwa .priority-badge {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 12px;
  font-size: 0.85em;
  font-weight: 500;
}

.os-list-pwa .os-actions-compact .action-btn {
  margin: 0 2px;
  font-size: 1.1em;
}

/* z-index da barra segue a escala do layout (nav: 1020 < ações fixas: 1100);
   o override 9999 que quebrava a escala foi removido */

/* Garante espaço para menu PWA apenas quando necessário */
body.pwa-mode,
body.pwa-standalone-active,
body[data-pwa-mode="true"] {
  padding-bottom: 140px !important;
}

/* --- Cards de OS para index PWA --- */
.os-list-pwa .os-item-card {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  border: 1px solid var(--fx-border-soft);
  margin-bottom: 14px;
  padding: 1rem 1.1rem 0.7rem 1rem;
  transition: box-shadow 0.2s, border-color 0.2s;
  position: relative;
}

.os-list-pwa .os-item-card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.13);
}

.os-list-pwa .os-number {
  font-weight: bold;
  font-size: 1.1rem;
  color: #2c3e50;
}

.os-list-pwa .os-work {
  color: #444;
  font-size: 0.97rem;
  margin-bottom: 2px;
}

.os-list-pwa .status-badge {
  display: inline-block;
  padding: 2px 12px;
  border-radius: 12px;
  font-size: 0.85em;
  font-weight: 500;
  background: #f1f3f4;
  color: #333;
}

.os-list-pwa .priority-badge {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 12px;
  font-size: 0.85em;
  font-weight: 500;
  background: #f8f9fa;
  color: #555;
}

.os-list-pwa .os-actions-compact .action-btn {
  margin: 0 2px;
  font-size: 1.1em;
  color: var(--fx-info-text);
  background: none;
  border: none;
}

/* --- Cards de Service Requests para index PWA (igual aos cards de OS) --- */
.service-requests-list-pwa {
  padding: 0;
  margin: 0;
}

.service-requests-list-pwa .service-request-item-card {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  border: 1px solid var(--fx-border-soft);
  margin-bottom: 14px;
  padding: 1rem 1.1rem 0.7rem 1rem;
  transition: all 0.3s ease;
  position: relative;
  cursor: pointer;
}

.service-requests-list-pwa .service-request-item-card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.13);
  transform: translateY(-2px);
}

.service-requests-list-pwa .service-request-item-card:active {
  transform: scale(0.98);
}

/* Status sinalizado pelo badge do card; stripes laterais removidos */

/* Elementos dos cards de service requests */
.service-requests-list-pwa .service-request-number {
  font-weight: bold;
  font-size: 1.1rem;
  color: #2c3e50;
}

.service-requests-list-pwa .service-request-title {
  color: #2c3e50;
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 4px;
}

.service-requests-list-pwa .service-request-requester {
  color: #666;
  font-size: 0.9rem;
  margin-bottom: 2px;
}

.service-requests-list-pwa .service-request-date {
  color: #888;
  font-size: 0.85rem;
  margin-bottom: 8px;
}

.service-requests-list-pwa .status-badge {
  display: inline-block;
  padding: 3px 12px;
  border-radius: 12px;
  font-size: 0.8em;
  font-weight: 500;
  background: #f1f3f4;
  color: #333;
}

.service-requests-list-pwa .status-badge.status-pending {
  background: var(--fx-tint-warning-bg);
  color: var(--fx-tint-warning-text);
}

.service-requests-list-pwa .status-badge.status-in_progress {
  background: var(--fx-tint-info-bg);
  color: var(--fx-tint-info-text);
}

.service-requests-list-pwa .status-badge.status-completed {
  background: var(--fx-tint-success-bg);
  color: var(--fx-tint-success-text);
}

.service-requests-list-pwa .status-badge.status-cancelled {
  background: var(--fx-tint-danger-bg);
  color: var(--fx-tint-danger-text);
}

.service-requests-list-pwa .priority-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 0.8em;
  font-weight: 500;
  background: #f8f9fa;
  color: #555;
}

.service-requests-list-pwa .priority-badge.priority-high {
  background: var(--fx-tint-danger-bg);
  color: var(--fx-tint-danger-text);
}

.service-requests-list-pwa .priority-badge.priority-medium {
  background: var(--fx-tint-warning-bg);
  color: var(--fx-tint-warning-text);
}

.service-requests-list-pwa .priority-badge.priority-low {
  background: var(--fx-tint-success-bg);
  color: var(--fx-tint-success-text);
}

/* Ações dos cards de service requests */
.service-requests-list-pwa .service-request-actions-compact {
  display: flex;
  gap: 8px;
  align-items: center;
}

.service-requests-list-pwa .service-request-actions-compact .action-btn {
  padding: 6px 8px;
  font-size: 1rem;
  color: var(--fx-info-text);
  background: none;
  border: none;
  border-radius: 6px;
  transition: all 0.2s ease;
  text-decoration: none;
}

.service-requests-list-pwa .service-request-actions-compact .action-btn:hover {
  background: #f8f9fa;
  color: var(--fx-info-text);
  transform: scale(1.1);
}

.service-requests-list-pwa .service-request-actions-compact .action-btn.action-view {
  color: var(--fx-info-text);
}

.service-requests-list-pwa .service-request-actions-compact .action-btn.action-edit {
  color: #28a745;
}

.service-requests-list-pwa .service-request-actions-compact .action-btn.action-attend {
  color: #17a2b8;
}

/* Otimizações para PWA standalone */
.pwa-standalone .service-requests-list-pwa .service-request-item-card,
.pwa-standalone-active .service-requests-list-pwa .service-request-item-card,
body[data-pwa-mode="true"] .service-requests-list-pwa .service-request-item-card {
  margin-bottom: 16px;
  padding: 1.2rem 1.3rem 0.8rem 1.2rem;
}

.pwa-standalone .service-requests-list-pwa .service-request-item-card:active,
.pwa-standalone-active .service-requests-list-pwa .service-request-item-card:active,
body[data-pwa-mode="true"] .service-requests-list-pwa .service-request-item-card:active {
  transform: scale(0.96);
}

/* =============================================================================
   CARDS DE ESTATÍSTICAS COMPACTOS - LAYOUT OTIMIZADO
   ============================================================================= */

.stats-grid-optimized {
  padding: 0 8px;
}

.stat-card-compact {
  background: var(--fx-surface);
  border: 1px solid var(--fx-border-soft);
  border-radius: 12px;
  padding: 8px 6px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.8);
  transition: all 0.2s ease;
  height: 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

.stat-card-compact:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.stat-number-compact {
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 2px;
}

.stat-label-compact {
  /* ≥0.72rem para legibilidade (antes 0.65rem) */
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--fx-text-muted);
  line-height: 1.1;
}

/* Cores dos Cards Compactos: cor apenas no número (sinal semântico) */
.stat-card-compact.stat-total .stat-number-compact { color: var(--fx-primary); }
.stat-card-compact.stat-pending .stat-number-compact { color: var(--fx-warning-text); }
.stat-card-compact.stat-progress .stat-number-compact { color: var(--fx-info-text); }
.stat-card-compact.stat-completed .stat-number-compact { color: var(--fx-success-text); }

/* =============================================================================
   FILTROS OTIMIZADOS - LAYOUT EM GRID
   ============================================================================= */

.filters-optimized {
  padding: 0 8px;
}

.filter-buttons-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.filter-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 8px;
  border-radius: 10px;
  text-decoration: none;
  font-size: 0.8rem;
  font-weight: 500;
  border: 2px solid transparent;
  background: #f8f9fa;
  color: #6c757d;
  transition: all 0.25s ease;
  min-height: 44px;
  position: relative;
  overflow: hidden;
}

.filter-btn i {
  font-size: 0.75rem;
}

.filter-btn span {
  margin-left: 2px;
}

/* Estados dos Filtros: neutros em repouso; o filtro ativo é o único preenchido.
   Cores de preenchimento seguem os tokens semânticos com texto em contraste AA. */
.filter-btn:hover {
  border-color: var(--fx-text-muted);
}

.filter-btn-active {
  border-color: currentColor;
  font-weight: 600;
}

.filter-btn-warning,
.filter-btn-info,
.filter-btn-success,
.filter-btn:not(.filter-btn-warning):not(.filter-btn-info):not(.filter-btn-success) {
  background: var(--fx-surface);
  color: var(--fx-text-secondary);
  border: 1px solid var(--fx-border-soft);
}

.filter-btn-warning.filter-btn-active {
  background: var(--fx-warning);
  border-color: var(--fx-warning);
  color: var(--fx-text);
}

.filter-btn-info.filter-btn-active {
  background: var(--fx-info);
  border-color: var(--fx-info);
  color: var(--fx-text);
}

.filter-btn-success.filter-btn-active {
  background: var(--fx-success);
  border-color: var(--fx-success);
  color: var(--fx-text);
}

.filter-btn.filter-btn-active:not(.filter-btn-warning):not(.filter-btn-info):not(.filter-btn-success) {
  background: var(--fx-primary);
  border-color: var(--fx-primary);
  color: #ffffff;
}

/* Responsividade para Filtros */
@media (max-width: 480px) {
  .stat-number-compact {
    font-size: 1rem;
  }

  .stat-label-compact {
    font-size: 0.7rem;
  }

  .filter-btn {
    font-size: 0.75rem;
    padding: 8px 6px;
    min-height: 40px;
  }

  .filter-btn i {
    font-size: 0.7rem;
  }
}

@media (min-width: 576px) {
  .filter-buttons-grid {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

/* =============================================================================
   ESPAÇAMENTO OTIMIZADO PARA SEÇÃO PRINCIPAL
   ============================================================================= */

.service-requests-list-pwa {
  margin-top: 8px;
}

/* Melhoria do espaçamento geral */
.stats-grid-optimized+.filters-optimized {
  margin-top: -8px;
}

.filters-optimized+.service-requests-list-pwa {
  margin-top: 8px;
}

/* =============================================================================
   DASHBOARD PWA - COMPONENTES ESPECÍFICOS
   ============================================================================= */

/* Cores Adicionais para Dashboard: cor apenas no número */
.stat-card-compact.stat-info .stat-number-compact { color: var(--fx-info-text); }
.stat-card-compact.stat-warning .stat-number-compact { color: var(--fx-warning-text); }

/* =============================================================================
   AÇÕES RÁPIDAS OTIMIZADAS - DASHBOARD
   ============================================================================= */

.quick-actions-optimized {
  padding: 0 8px;
}

.quick-actions-grid-dashboard {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.quick-action-card {
  display: flex;
  align-items: center;
  padding: 12px;
  border-radius: 12px;
  text-decoration: none;
  background: #f8f9fa;
  border: 2px solid transparent;
  transition: all 0.25s ease;
  min-height: 64px;
  position: relative;
  overflow: hidden;
}

.quick-action-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
  text-decoration: none;
}

.quick-action-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 12px;
  font-size: 1.1rem;
  flex-shrink: 0;
}

.quick-action-content {
  flex: 1;
  text-align: left;
}

.quick-action-title {
  font-size: 0.85rem;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 2px;
}

.quick-action-subtitle {
  font-size: 0.7rem;
  opacity: 0.8;
  line-height: 1;
}

/* Cores das Ações Rápidas */
/* Ações rápidas: navegação, não estados — tratamento neutro único.
   As cores por card eram decoração; o acento fica no hover/focus. */
.quick-action-primary,
.quick-action-info,
.quick-action-success,
.quick-action-warning,
.quick-action-secondary {
  background: var(--fx-surface);
  color: var(--fx-text-secondary);
  border: 1px solid var(--fx-border-soft);
}

.quick-action-primary .quick-action-icon,
.quick-action-info .quick-action-icon,
.quick-action-success .quick-action-icon,
.quick-action-warning .quick-action-icon,
.quick-action-secondary .quick-action-icon {
  background: var(--fx-canvas);
  color: var(--fx-primary);
}

.quick-action-primary:hover,
.quick-action-info:hover,
.quick-action-success:hover,
.quick-action-warning:hover,
.quick-action-secondary:hover,
.quick-action-primary:focus,
.quick-action-info:focus,
.quick-action-success:focus,
.quick-action-warning:focus,
.quick-action-secondary:focus {
  background: var(--fx-canvas);
  color: var(--fx-text);
  border-color: var(--fx-primary-light);
  text-decoration: none;
}

/* Variantes de cor das ações rápidas unificadas no bloco neutro acima */

/* Responsividade Dashboard */
@media (max-width: 480px) {
  .quick-action-card {
    padding: 10px;
    min-height: 56px;
  }

  .quick-action-icon {
    width: 36px;
    height: 36px;
    margin-right: 10px;
    font-size: 1rem;
  }

  .quick-action-title {
    font-size: 0.8rem;
  }

  .quick-action-subtitle {
    font-size: 0.65rem;
  }
}

@media (min-width: 576px) {
  .quick-actions-grid-dashboard {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 8px;
  }

  .quick-action-card {
    flex-direction: column;
    text-align: center;
    padding: 16px 8px;
    min-height: 80px;
  }

  .quick-action-icon {
    margin-right: 0;
    margin-bottom: 8px;
  }

  .quick-action-content {
    text-align: center;
  }
}

/* =============================================================================
   RESUMO DE ATIVIDADES DASHBOARD
   ============================================================================= */

.dashboard-summary-card {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.dashboard-summary-card .card-body {
  padding: 20px;
}

.dashboard-summary-icon {
  font-size: 2.5rem;
  color: var(--fx-primary);
  opacity: 0.8;
}

.dashboard-summary-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #495057;
}

.dashboard-summary-text {
  font-size: 0.9rem;
  color: #6c757d;
  line-height: 1.4;
}

/* =============================================================================
   CORREÇÃO NAVEGAÇÃO PWA - ESTADO ATIVO
   ============================================================================= */

/* Garante que apenas um item esteja ativo por vez */
/* (bloco duplicado de .pwa-nav-item removido — regras únicas na seção da navegação) */

/* FORMULÁRIOS PWA - MOBILE FIRST */
.pwa-form-section {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  margin-bottom: 18px;
  padding: 18px 12px 12px 12px;
}

.pwa-form-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: #2c3e50;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.pwa-form-group {
  margin-bottom: 14px;
}

.pwa-form-label {
  font-weight: 600;
  color: #34495e;
  margin-bottom: 4px;
  font-size: 0.98rem;
  display: block;
}

.pwa-form-control,
.pwa-form-group select,
.pwa-form-group textarea {
  width: 100%;
  min-height: 44px;
  border-radius: 8px;
  border: 1.5px solid #e9ecef;
  font-size: 1rem;
  padding: 8px 12px;
  background: #f8f9fa;
  color: #222;
  box-shadow: none;
  transition: border-color 0.2s;
}

.pwa-form-group .ts-wrapper {
  width: 100%;
}

.pwa-form-group .ts-wrapper .ts-control {
  width: 100%;
  min-height: 44px;
  border-radius: 8px;
  border: 1.5px solid #e9ecef;
  font-size: 1rem;
  padding: 6px 12px;
  background: #f8f9fa;
  color: #222;
  box-shadow: none;
}

.pwa-form-group .ts-wrapper .ts-control input {
  font-size: 16px;
}

.pwa-form-group .ts-wrapper.focus .ts-control,
.pwa-form-group .ts-wrapper .ts-control.focus {
  border-color: rgba(52, 152, 219, 0.4);
  outline: none;
  background: #f4f8fb;
  box-shadow: none;
}

.pwa-form-group .ts-wrapper.multi .ts-control > div.item {
  margin: 4px 6px 4px 0;
}

.pwa-form-group .ts-wrapper.service-order-technicians-select {
  height: 88px;
  min-height: 88px;
  max-height: 88px;
}

.pwa-form-group .ts-wrapper.service-order-technicians-select .ts-control {
  min-height: 88px;
  height: 88px;
  max-height: 88px;
  overflow-x: hidden;
  overflow-y: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
}

.pwa-form-group .ts-wrapper.service-order-technicians-select .ts-control .items {
  white-space: normal;
  overflow: visible;
  height: auto;
  min-height: auto;
  max-height: none;
}

.pwa-form-group .ts-wrapper .ts-dropdown {
  border: 1.5px solid #e9ecef;
  border-radius: 8px;
}

.pwa-form-control:focus,
.pwa-form-group select:focus,
.pwa-form-group textarea:focus {
  border-color: rgba(52, 152, 219, 0.4);
  outline: none;
  background: #f4f8fb;
}

.pwa-form-actions {
  margin-top: 18px;
}

.pwa-form-btn {
  min-height: 48px;
  border-radius: 10px;
  font-size: 1.1rem;
  font-weight: 600;
  background: var(--fx-primary);
  color: #fff;
  border: none;
  box-shadow: 0 2px 8px rgba(0, 123, 255, 0.08);
  transition: background 0.2s;
}

.pwa-form-btn:active,
.pwa-form-btn:focus {
  background: var(--fx-primary-dark);
}

.pwa-form-row {
  display: flex;
  gap: 12px;
}

/* COMPONENTE DE DATA/HORA PWA - Mais intuitivo para mobile */
.pwa-datetime-wrapper {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pwa-datetime-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.pwa-date-field,
.pwa-time-field {
  display: flex;
  flex-direction: column;
}

.pwa-datetime-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #6c757d;
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.pwa-datetime-fields .pwa-form-control {
  min-height: 44px;
  font-size: 1rem;
}

.pwa-datetime-quick-buttons {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.pwa-datetime-quick-buttons .btn {
  flex: 1;
  min-width: 80px;
  font-size: 0.85rem;
  padding: 6px 10px;
  border-radius: 6px;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.pwa-datetime-quick-buttons .btn i {
  font-size: 0.9rem;
}

/* Responsivo: em telas muito pequenas, campos em coluna */
@media (max-width: 400px) {
  .pwa-datetime-fields {
    grid-template-columns: 1fr;
  }

  .pwa-datetime-quick-buttons {
    flex-direction: column;
  }

  .pwa-datetime-quick-buttons .btn {
    width: 100%;
  }
}

@media (max-width: 600px) {
  .pwa-form-row {
    flex-direction: column;
    gap: 0;
  }

  .pwa-form-section {
    padding: 12px 4px 8px 4px;
  }
}

/* PWA Search Section */
.pwa-search-section {
  padding: 0 16px;
  margin-bottom: 16px;
}

.pwa-search-box {
  position: relative;
  display: flex;
  align-items: center;
}

.pwa-search-box i {
  position: absolute;
  left: 12px;
  color: #6c757d;
  font-size: 14px;
  z-index: 1;
}

.pwa-search-input {
  width: 100%;
  padding: 12px 12px 12px 40px;
  border: 1.5px solid #e9ecef;
  border-radius: 10px;
  font-size: 14px;
  background: white;
  color: #222;
  transition: border-color 0.2s;
}

.pwa-search-input:focus {
  outline: none;
  border-color: var(--fx-info);
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

/* PWA Contracts List */
.pwa-contracts-list {
  padding: 0 16px 80px 16px;
}

.pwa-contract-card {
  background: white;
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  border: 1px solid #e9ecef;
  text-decoration: none;
  color: inherit;
  display: block;
  transition: all 0.2s;
}

.pwa-contract-card:active {
  transform: scale(0.98);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

.pwa-contract-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}

.pwa-contract-card-left {
  flex: 1;
  min-width: 0;
}

.pwa-contract-number {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: 600;
  color: #2c3e50;
}

.pwa-contract-number i {
  color: var(--fx-primary);
  font-size: 18px;
}

.pwa-contract-meta {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.pwa-meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #6c757d;
}

.pwa-meta-item i {
  color: #adb5bd;
  font-size: 12px;
  width: 14px;
}

.pwa-contract-card-right {
  margin-left: 12px;
}

.pwa-pending-badge {
  background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
  border: 1px solid #f39c12;
  border-radius: 8px;
  padding: 8px 12px;
  text-align: center;
  min-width: 60px;
}

.pwa-badge-number {
  font-size: 18px;
  font-weight: 700;
  color: var(--fx-tint-warning-text);
  line-height: 1;
  margin-bottom: 2px;
}

.pwa-badge-label {
  font-size: 10px;
  font-weight: 500;
  color: var(--fx-tint-warning-text);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.pwa-contract-card-footer {
  display: flex;
  gap: 16px;
  padding-top: 12px;
  border-top: 1px solid #f0f0f0;
  flex-wrap: wrap;
}

.pwa-stat-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #6c757d;
}

.pwa-stat-item i {
  color: #adb5bd;
  font-size: 11px;
}

/* PWA Empty State */
.pwa-empty-state {
  text-align: center;
  padding: 60px 20px;
  color: #6c757d;
}

.pwa-empty-state i {
  color: #dee2e6;
  margin-bottom: 20px;
}

.pwa-empty-state h3 {
  font-size: 18px;
  color: #495057;
  margin-bottom: 12px;
  font-weight: 600;
}

.pwa-empty-state p {
  font-size: 14px;
  color: #6c757d;
  line-height: 1.5;
}

/* PWA Equipment Item - Nova Remessa/Devolução */
.pwa-equipment-item {
  background: white;
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  border: 2px solid #e9ecef;
  transition: all 0.3s ease;
}

.pwa-equipment-item:hover {
  border-color: #dee2e6;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.pwa-equipment-item.pwa-equipment-selected {
  border-color: var(--fx-primary);
  background: linear-gradient(135deg, #f8f9ff 0%, #ffffff 100%);
  box-shadow: 0 4px 16px rgba(0, 123, 255, 0.15);
}

.pwa-equipment-header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 16px;
}

.pwa-equipment-checkbox-wrapper {
  position: relative;
  flex-shrink: 0;
}

.pwa-equipment-checkbox-wrapper input[type="checkbox"] {
  width: 24px;
  height: 24px;
  cursor: pointer;
  opacity: 0;
  position: absolute;
  z-index: 2;
}

.pwa-checkbox-label {
  display: block;
  width: 24px;
  height: 24px;
  border: 2px solid #dee2e6;
  border-radius: 6px;
  background: white;
  cursor: pointer;
  transition: all 0.2s;
  position: relative;
}

.pwa-checkbox-label::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  width: 12px;
  height: 12px;
  background: var(--fx-primary);
  border-radius: 3px;
  transition: transform 0.2s;
}

.pwa-equipment-checkbox-wrapper input[type="checkbox"]:checked+.pwa-checkbox-label {
  background: var(--fx-primary);
  border-color: var(--fx-primary);
}

.pwa-equipment-checkbox-wrapper input[type="checkbox"]:checked+.pwa-checkbox-label::after {
  content: '✓';
  color: white;
  font-size: 14px;
  font-weight: bold;
  transform: translate(-50%, -50%) scale(1);
}

.pwa-equipment-info {
  flex: 1;
  min-width: 0;
}

.pwa-equipment-name {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  color: #2c3e50;
  margin-bottom: 8px;
}

.pwa-equipment-name i {
  color: var(--fx-primary);
  font-size: 16px;
}

.pwa-equipment-details {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pwa-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500;
}

.pwa-badge-info {
  background: var(--fx-tint-info-bg);
  color: var(--fx-tint-info-text);
}

.pwa-badge-warning {
  background: var(--fx-tint-warning-bg);
  color: var(--fx-tint-warning-text);
}

.pwa-badge i {
  font-size: 10px;
}

/* PWA Quantity Controls */
.pwa-equipment-quantity-wrapper {
  padding-top: 16px;
  border-top: 1px solid #f0f0f0;
  transition: all 0.3s ease;
}

.pwa-equipment-quantity-wrapper.pwa-quantity-enabled {
  border-top-color: var(--fx-primary);
  background: linear-gradient(135deg, #f8f9ff 0%, #ffffff 100%);
  padding: 16px;
  margin: 16px -16px -16px -16px;
  border-radius: 0 0 12px 12px;
}

.pwa-quantity-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #495057;
  margin-bottom: 8px;
}

.pwa-quantity-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.pwa-btn-qty {
  width: 44px;
  height: 44px;
  border: 2px solid #dee2e6;
  border-radius: 10px;
  background: white;
  color: #6c757d;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  flex-shrink: 0;
}

.pwa-btn-qty:not(:disabled):hover {
  background: var(--fx-primary);
  border-color: var(--fx-primary);
  color: white;
  transform: scale(1.05);
}

.pwa-btn-qty:not(:disabled):active {
  transform: scale(0.95);
}

.pwa-btn-qty:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  background: #f8f9fa;
}

.pwa-qty-input {
  flex: 1;
  height: 44px;
  border: 2px solid #dee2e6;
  border-radius: 10px;
  padding: 0 16px;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  background: white;
  color: #2c3e50;
  transition: all 0.2s;
  -moz-appearance: textfield;
}

.pwa-qty-input::-webkit-outer-spin-button,
.pwa-qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.pwa-qty-input:focus {
  outline: none;
  border-color: var(--fx-info);
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.pwa-qty-input:disabled {
  background: #f8f9fa;
  color: #adb5bd;
  cursor: not-allowed;
  border-color: #e9ecef;
}

.pwa-equipment-quantity-wrapper.pwa-quantity-enabled .pwa-qty-input {
  background: white;
  border-color: var(--fx-primary);
  color: #2c3e50;
}

.pwa-quantity-hint {
  text-align: center;
  margin-top: 4px;
}

.pwa-quantity-hint small {
  font-size: 11px;
  transition: color 0.2s;
}

.pwa-quantity-hint .text-success {
  color: #28a745;
  font-weight: 500;
}

/* Animação shake para feedback */
@keyframes shake {

  0%,
  100% {
    transform: translateX(0);
  }

  25% {
    transform: translateX(-5px);
  }

  75% {
    transform: translateX(5px);
  }
}

/* Selection Summary */
.selection-summary {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: 12px;
  padding: 16px;
  margin: 20px 0;
  border: 1px solid #dee2e6;
}

.summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  font-size: 14px;
  color: #495057;
}

.summary-row:not(:last-child) {
  border-bottom: 1px solid #dee2e6;
  margin-bottom: 8px;
  padding-bottom: 12px;
}

.summary-row strong {
  font-size: 18px;
  color: var(--fx-primary);
  font-weight: 700;
}

/* Remove azul de fundo de selects/inputs (força cor neutra) */
.pwa-form-control,
.pwa-form-group select,
.pwa-form-group textarea {
  background: #f8f9fa !important;
  color: #222 !important;
}

/* REGRA DE PADDING REMOVIDA DAQUI - CAUSAVA CONFLITO COM DESKTOP */

@media (max-width: 600px) {
  .pwa-bottom-nav {
    height: 64px !important;
    padding-bottom: 0 !important;
  }

  .fixed-bottom-actions {
    padding-bottom: 12px !important;
  }
}

/* (bloco duplicado de .fixed-bottom-actions removido — regras únicas na seção principal) */

body {
  padding-bottom: 140px !important;
}

/* Garante espaço para botões + barra PWA */

/* ============================================
   PROFILE PWA - ESTILOS COMPLETOS
   ============================================ */

/* Profile Card - Card principal do perfil */
.profile-card {
  background: white;
  border-radius: 16px;
  padding: 24px 16px;
  margin-bottom: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  border: 1px solid #e9ecef;
}

.profile-header {
  padding: 0;
}

.profile-avatar {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 16px;
}

.profile-avatar img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid #e9ecef;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.avatar-placeholder {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.avatar-placeholder i {
  color: white;
  opacity: 0.9;
}

.profile-name {
  font-size: 1.5rem;
  font-weight: 700;
  color: #2c3e50;
  margin: 0 0 8px 0;
  line-height: 1.2;
}

.profile-email {
  font-size: 0.95rem;
  color: #6c757d;
  margin: 0;
}

/* Profile Section - Seções do perfil */
.profile-section {
  background: white;
  border-radius: 16px;
  padding: 20px 16px;
  margin-bottom: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  border: 1px solid #e9ecef;
}

.section-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #2c3e50;
  margin: 0 0 16px 0;
  display: flex;
  align-items: center;
  padding-bottom: 12px;
  border-bottom: 2px solid #e9ecef;
}

.section-title i {
  margin-right: 8px;
  color: var(--fx-primary);
  font-size: 1rem;
}

/* Info Grid - Grid de informações */
.info-grid {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.info-item {
  padding: 12px 0;
  border-bottom: 1px solid #f0f0f0;
}

.info-item:last-child {
  border-bottom: none;
}

.info-label {
  font-size: 0.85rem;
  font-weight: 500;
  color: #6c757d;
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.info-value {
  font-size: 1rem;
  font-weight: 600;
  color: #2c3e50;
  word-break: break-word;
}

/* Stats Grid - Grid de estatísticas */
.stats-grid {
  margin-top: 8px;
}

.stats-grid .stat-card {
  background: white;
  border-radius: 12px;
  padding: 16px;
  text-align: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  border: 1px solid #e9ecef;
  transition: transform 0.2s, box-shadow 0.2s;
}

.stats-grid .stat-card:active {
  transform: scale(0.98);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.stats-grid .stat-card.stat-primary {
  background: var(--fx-surface);
  border: 1px solid var(--fx-border-soft);
  color: var(--fx-text);
}

.stats-grid .stat-card.stat-primary .stat-number {
  color: var(--fx-primary);
}

.stats-grid .stat-card.stat-info {
  background: var(--fx-surface);
  border: 1px solid var(--fx-border-soft);
  color: var(--fx-text);
}

.stats-grid .stat-card.stat-info .stat-number {
  color: var(--fx-info-text);
}

.stats-grid .stat-number {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 8px;
}

.stats-grid .stat-label {
  font-size: 0.85rem;
  font-weight: 500;
  opacity: 0.9;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Profile Actions - Ações do perfil */
.profile-actions {
  margin-top: 16px;
}

.action-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.action-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 14px 20px;
  border-radius: 12px;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s;
  border: 2px solid transparent;
  min-height: 48px;
  /* Touch-friendly */
}

.action-button i {
  font-size: 1.2rem;
}

/* Feedback de toque (substitui o handler JS de touchstart, bloqueado pelo CSP) */
.action-button:active {
  transform: scale(0.95);
}

.action-button.action-edit {
  background: var(--fx-primary);
  color: white;
  border-color: var(--fx-primary);
}

.action-button.action-edit:hover,
.action-button.action-edit:focus {
  background: var(--fx-primary-dark);
  color: white;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
}

.action-button.action-logout {
  background: white;
  color: #dc3545;
  border-color: #dc3545;
}

.action-button.action-logout:hover,
.action-button.action-logout:focus {
  background: #dc3545;
  color: white;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(220, 53, 69, 0.3);
}

.action-button:active {
  transform: scale(0.98);
}

/* Session Info - Informações da sessão */
.session-info {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 8px;
}

.session-item {
  padding: 12px 0;
  border-bottom: 1px solid #f0f0f0;
}

.session-item:last-child {
  border-bottom: none;
}

.session-label {
  font-size: 0.85rem;
  font-weight: 500;
  color: #6c757d;
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.session-value {
  font-size: 0.9rem;
  font-weight: 500;
  color: #2c3e50;
  word-break: break-word;
  font-family: 'Courier New', monospace;
  background: #f8f9fa;
  padding: 6px 10px;
  border-radius: 6px;
  border: 1px solid #e9ecef;
}

/* Badge de Notificações na Navegação */
.pwa-nav-item {
  position: relative;
}

.profile-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  background: #dc3545;
  color: white;
  border-radius: 10px;
  padding: 2px 6px;
  font-size: 10px;
  font-weight: 700;
  min-width: 18px;
  text-align: center;
  border: 2px solid white;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  z-index: 10;
}

/* Badge de Contagem no Título */
.notification-count-badge {
  background: #dc3545;
  color: white;
  border-radius: 12px;
  padding: 2px 8px;
  font-size: 0.75rem;
  font-weight: 700;
  margin-left: auto;
}

/* Notificações List - Lista de notificações */
.notifications-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 8px;
}

.notification-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  background: #f8f9fa;
  border-radius: 12px;
  border: 1px solid #e9ecef;
  transition: all 0.2s;
  position: relative;
}

.notification-item.unread {
  background: var(--fx-tint-warning-bg);
  border-color: #ffc107;
  border-left: 4px solid #ffc107;
}

.notification-item:active {
  transform: scale(0.98);
  background: var(--fx-tint-neutral-bg);
}

.notification-icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: white;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.notification-icon i {
  font-size: 1.1rem;
}

.notification-content {
  flex: 1;
  min-width: 0;
}

.notification-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #2c3e50;
  margin-bottom: 4px;
  line-height: 1.3;
}

.notification-message {
  font-size: 0.85rem;
  color: #6c757d;
  line-height: 1.4;
  margin-bottom: 6px;
}

.notification-time {
  font-size: 0.75rem;
  color: #adb5bd;
  font-weight: 500;
}

.notification-actions {
  flex-shrink: 0;
  display: flex;
  align-items: center;
}

.notification-actions .btn-link {
  color: #6c757d;
  padding: 4px 8px;
  text-decoration: none;
  transition: color 0.2s;
}

.notification-actions .btn-link:hover {
  color: var(--fx-info-text);
  text-decoration: none;
}

.notification-actions .btn-link i {
  font-size: 0.9rem;
}

/* Responsive adjustments */
@media (max-width: 576px) {
  .profile-card {
    padding: 20px 12px;
    border-radius: 12px;
  }

  .profile-section {
    padding: 16px 12px;
    border-radius: 12px;
  }

  .profile-name {
    font-size: 1.3rem;
  }

  .stats-grid .stat-number {
    font-size: 1.75rem;
  }

  .action-button {
    padding: 12px 16px;
    font-size: 0.95rem;
  }

  .notification-item {
    padding: 10px;
  }

  .notification-icon {
    width: 32px;
    height: 32px;
  }

  .notification-title {
    font-size: 0.9rem;
  }

  .notification-message {
    font-size: 0.8rem;
  }
}

/* ============================================
   PWA FILE UPLOAD PREVIEW
   ============================================ */

/* Badge de contador no título */
.pwa-file-count-badge {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--fx-info-text);
  margin-left: 8px;
}

/* Container do preview */
.pwa-file-preview-container {
  margin-top: 16px;
}

/* Estado vazio */
.pwa-file-preview-empty {
  text-align: center;
  padding: 32px 16px;
  background: #f8f9fa;
  border: 2px dashed #dee2e6;
  border-radius: 12px;
  color: #6c757d;
}

.pwa-file-preview-empty i {
  font-size: 3rem;
  color: #adb5bd;
  margin-bottom: 12px;
  display: block;
}

.pwa-file-preview-empty p {
  font-size: 1rem;
  font-weight: 600;
  color: #495057;
  margin: 8px 0 4px 0;
}

.pwa-file-preview-empty small {
  font-size: 0.85rem;
}

/* Lista de arquivos */
.pwa-file-preview-list {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}

/* Item de preview */
.pwa-file-preview-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  background: #fff;
  border: 1.5px solid #e9ecef;
  border-radius: 10px;
  transition: all 0.2s ease;
  position: relative;
}

.pwa-file-preview-item:hover {
  border-color: var(--fx-info);
  box-shadow: 0 2px 8px rgba(52, 152, 219, 0.1);
}

/* Thumbnail */
.pwa-file-preview-thumb {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  border-radius: 8px;
  overflow: hidden;
  background: #f8f9fa;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e9ecef;
}

.pwa-file-preview-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pwa-file-preview-icon {
  font-size: 1.5rem;
  color: #dc3545;
}

.pwa-file-preview-icon i {
  display: block;
}

/* Informações do arquivo */
.pwa-file-preview-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pwa-file-preview-name {
  font-size: 0.95rem;
  font-weight: 600;
  color: #2c3e50;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pwa-file-preview-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.pwa-file-preview-size {
  font-size: 0.8rem;
  color: #6c757d;
}

/* Badges de tipo */
.pwa-file-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.pwa-file-badge-image {
  background: var(--fx-tint-info-bg);
  color: var(--fx-tint-info-text);
}

.pwa-file-badge-pdf {
  background: var(--fx-tint-danger-bg);
  color: var(--fx-tint-danger-text);
}

/* Botão de remover */
.pwa-file-preview-remove {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border: none;
  background: #f8f9fa;
  color: #dc3545;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 0.9rem;
}

.pwa-file-preview-remove:hover {
  background: #dc3545;
  color: #fff;
  transform: scale(1.1);
}

.pwa-file-preview-remove:active {
  transform: scale(0.95);
}

/* Arquivos existentes (ao editar) */
.pwa-file-existing-section {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 2px solid #e9ecef;
}

.pwa-file-existing-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #28a745;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
}

.pwa-file-existing-group {
  margin-bottom: 12px;
}

.pwa-file-existing-label {
  font-size: 0.9rem;
  color: #495057;
  display: block;
  margin-bottom: 6px;
}

.pwa-file-existing-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.pwa-file-existing-list li {
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  font-size: 0.9rem;
  color: #495057;
}

.pwa-file-existing-list li i {
  color: #6c757d;
}

.pwa-file-existing-link {
  color: var(--fx-info-text);
  text-decoration: none;
  margin-left: 4px;
}

.pwa-file-existing-link:hover {
  text-decoration: underline;
}

/* Responsivo */
@media (max-width: 600px) {
  .pwa-file-preview-item {
    padding: 10px;
    gap: 10px;
  }

  .pwa-file-preview-thumb {
    width: 50px;
    height: 50px;
  }

  .pwa-file-preview-name {
    font-size: 0.85rem;
  }

  .pwa-file-preview-size {
    font-size: 0.75rem;
  }

  .pwa-file-preview-remove {
    width: 28px;
    height: 28px;
    font-size: 0.8rem;
  }
}
/* ============================================================================
   Shims de utilities do Bootstrap 5 usadas nas views PWA
   (o app usa Bootstrap 4.6.2, que não possui g-*, gap-* e d-grid)
   ============================================================================ */
.d-grid {
  display: grid !important;
}

.gap-1 {
  gap: 0.25rem !important;
}

.gap-2 {
  gap: 0.5rem !important;
}

.gap-3 {
  gap: 1rem !important;
}

.row.g-2 {
  margin-right: -4px;
  margin-left: -4px;
}

.row.g-2 > [class*="col"] {
  padding-right: 4px;
  padding-left: 4px;
}

/* =============================================================================
   PAINÉIS DO DASHBOARD (tokenizados — substituem os inline styles das views)
   ============================================================================= */
.pwa-panel-card {
  background: var(--fx-surface);
  border: 1px solid var(--fx-border-soft);
  border-radius: 12px;
  overflow: hidden;
}

.pwa-panel-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: var(--fx-canvas);
  color: var(--fx-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 12px;
  font-size: 20px;
  flex-shrink: 0;
}

.pwa-panel-title {
  color: var(--fx-text-secondary);
  font-weight: 600;
  font-size: 0.95rem;
  margin-bottom: 2px;
}

.pwa-panel-meta {
  color: var(--fx-text-muted);
  font-size: 0.85rem;
}

.pwa-pill-btn {
  border-radius: 20px;
}

/* Botões primários do PWA alinhados ao token da marca (DESIGN.md),
   em vez do azul default do Bootstrap */
.pwa-mode .btn-primary {
  background-color: var(--fx-primary);
  border-color: var(--fx-primary);
}

.pwa-mode .btn-primary:hover,
.pwa-mode .btn-primary:focus,
.pwa-mode .btn-primary:not(:disabled):not(.disabled):active {
  background-color: var(--fx-primary-dark);
  border-color: var(--fx-primary-dark);
}

.pwa-mode .btn-outline-primary {
  color: var(--fx-primary);
  border-color: var(--fx-primary);
}

.pwa-mode .btn-outline-primary:hover,
.pwa-mode .btn-outline-primary:focus {
  background-color: var(--fx-primary);
  border-color: var(--fx-primary);
  color: #ffffff;
}

/* =============================================================================
   MOVIMENTO REDUZIDO (acessibilidade)
   Os estados continuam comunicados por texto/cor; apenas o movimento decorativo
   é suprimido. Espelha a abordagem do próprio Bootstrap.
   ============================================================================= */
@media (prefers-reduced-motion: reduce) {
  .pwa-mode *,
  .pwa-mode *::before,
  .pwa-mode *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Nota de busca ativa na lista de OS */
.pwa-search-active-note {
  margin-top: 8px;
  font-size: 0.85rem;
  color: var(--fx-text-muted);
}

.pwa-search-active-note a {
  color: var(--fx-info-text);
}

/* =============================================================================
   ERROS INLINE DE FORMULÁRIO
   O Rails envolve campos inválidos em .field_with_errors; display:contents
   preserva o layout (flex/grid) e o realce fica no próprio controle.
   ============================================================================= */
.pwa-mode .field_with_errors {
  display: contents;
}

.pwa-mode .field_with_errors > .pwa-form-control,
.pwa-mode .field_with_errors > .form-control,
.pwa-mode .field_with_errors > input,
.pwa-mode .field_with_errors > select,
.pwa-mode .field_with_errors > textarea {
  border-color: var(--fx-danger) !important;
  background-color: var(--fx-danger-surface);
}

.pwa-mode .field_with_errors > label,
.pwa-mode .field_with_errors > .pwa-form-label {
  color: var(--fx-danger-text);
}

/* Ações neutras do perfil (ajuda e tema) */
.action-button.action-help,
.action-button.action-theme {
  background: var(--fx-surface);
  color: var(--fx-text-secondary);
  border-color: var(--fx-border);
  width: 100%;
  cursor: pointer;
}

.action-button.action-help:hover,
.action-button.action-help:focus,
.action-button.action-theme:hover,
.action-button.action-theme:focus {
  background: var(--fx-canvas);
  color: var(--fx-text);
  border-color: var(--fx-primary-light);
  text-decoration: none;
}

/* =============================================================================
   SEÇÕES RECOLHÍVEIS DO FORMULÁRIO (divulgação progressiva)
   ============================================================================= */
.pwa-form-details > summary.pwa-form-details-summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  min-height: 44px;
  font-size: 1rem;
  font-weight: 600;
  color: var(--fx-text-secondary);
  -webkit-tap-highlight-color: transparent;
}

.pwa-form-details > summary.pwa-form-details-summary::-webkit-details-marker {
  display: none;
}

.pwa-form-details > summary.pwa-form-details-summary::after {
  content: "\f078"; /* chevron-down (Font Awesome) */
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 0.75rem;
  margin-left: auto;
  color: var(--fx-text-muted);
  transition: transform 0.2s ease;
}

.pwa-form-details[open] > summary.pwa-form-details-summary::after {
  transform: rotate(180deg);
}

.pwa-form-details[open] > summary.pwa-form-details-summary {
  margin-bottom: 12px;
}

.pwa-form-details-hint {
  font-size: 0.75rem;
  font-weight: 400;
  color: var(--fx-text-muted);
  width: 100%;
  padding-left: 24px;
}

/* Aviso de rascunho restaurado */
.pwa-draft-notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  background: var(--fx-canvas);
  border: 1px solid var(--fx-border-soft);
  border-radius: 10px;
  padding: 10px 14px;
  margin-bottom: 14px;
  font-size: 0.875rem;
  color: var(--fx-text-secondary);
}

.pwa-draft-discard {
  background: none;
  border: none;
  color: var(--fx-info-text);
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  min-height: 44px;
  padding: 0 8px;
}

/* =============================================================================
   FLASH MESSAGES DO PWA
   Toast fixo abaixo do header; o partial layouts/_flash já traz role="alert"
   e botão de fechar (Bootstrap 4). Sem isso, redirects com notice/alert
   terminavam sem nenhuma confirmação visível.
   ============================================================================= */
.pwa-flash-container {
  position: fixed;
  top: calc(56px + env(safe-area-inset-top, 0px));
  left: 12px;
  right: 12px;
  /* Acima do conteúdo e das barras; abaixo do overlay de loading (1300) */
  z-index: 1250;
  pointer-events: none;
}

.pwa-flash-container .alert {
  pointer-events: auto;
  border-radius: 10px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  margin-bottom: 8px;
  animation: pwa-flash-in 0.25s ease-out;
}

@keyframes pwa-flash-in {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pwa-flash-container .alert {
    animation: none;
  }
}

/* =============================================================================
   FOCO DE TECLADO VISÍVEL (WCAG 2.4.7)
   Vários componentes zeravam o outline; :focus-visible restaura um anel
   consistente sem afetar o toque (que não dispara focus-visible).
   ============================================================================= */
.pwa-mode a:focus-visible,
.pwa-mode button:focus-visible,
.pwa-mode input:focus-visible,
.pwa-mode select:focus-visible,
.pwa-mode textarea:focus-visible,
.pwa-mode summary:focus-visible,
.pwa-mode [tabindex]:focus-visible {
  outline: 2px solid var(--fx-info) !important;
  outline-offset: 2px;
}

/* =============================================================================
   BANNER DE INSTALAÇÃO (Android/iOS) E INDICADOR DE CONEXÃO
   pwa-consolidated.js (buildInstallBanner, updateConnectionIndicator). Antes o
   JS criava um <style> sem nonce para cada um, que o CSP de produção bloqueia:
   o banner entrava sem estilo, empurrando o header, e o ponto de conexão
   ficava sem cor nem tamanho.
   ============================================================================= */
.pwa-install-banner {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10000;
  padding: calc(12px + env(safe-area-inset-top, 0px)) 16px 12px;
  background: var(--fx-primary);
  color: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* Espaço para o banner fixo não cobrir o header; sai junto com o banner. */
body.pwa-install-banner-open {
  padding-top: 120px;
}

.pwa-install-banner__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  font-weight: 600;
  font-size: 16px;
}

.pwa-install-banner__header .fa-mobile-alt {
  margin-right: 6px;
}

.pwa-install-banner__close {
  min-width: 44px;
  min-height: 44px;
  margin: -10px -10px -10px 16px;
  padding: 0;
  border: none;
  background: none;
  color: #fff;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.pwa-install-banner__close:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -4px;
}

.pwa-install-banner__steps {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: pwa-install-step;
  font-size: 13px;
}

.pwa-install-banner__step {
  display: flex;
  align-items: flex-start;
  margin-bottom: 6px;
  line-height: 1.4;
  counter-increment: pwa-install-step;
}

.pwa-install-banner__step::before {
  content: counter(pwa-install-step);
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin: 1px 8px 0 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  font-size: 12px;
  font-weight: bold;
}

/* Indicador criado por pwa-consolidated.js (classes is-online/is-offline,
   título e role=status para leitor de tela). Fica fora da tela, como sempre
   esteve: o estado de conexão visível é o .pwa-connection do cabeçalho. */
#pwa-connection-indicator {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

#pwa-connection-indicator.is-online,
#pwa-connection-indicator.is-offline {
  display: block;
}
/* line 10, app/assets/stylesheets/base/_variables.scss */
:root {
  --color-primary: #007bff;
  --color-primary-dark: #0056b3;
  --color-primary-light: #66afe9;
  --erp-primary: #2c3e50;
  --erp-primary-light: #34495e;
  --erp-primary-dark: #1a252f;
  --erp-secondary: #7f8c8d;
  --erp-success: #27ae60;
  --erp-warning: #f39c12;
  --erp-danger: #e74c3c;
  --erp-info: #3498db;
  --erp-ui-accent: #2c3e50;
  --erp-ui-accent-ink: #ffffff;
  --erp-ui-accent-hover: #22303e;
  --erp-ui-accent-pressed: #1a252f;
  --erp-ui-accent-soft: #dde5ee;
  --erp-ui-accent-marker: #8fa9c2;
  --erp-ui-page: #f3f5f8;
  --erp-ui-surface: #ffffff;
  --erp-ui-surface-2: #f8fafc;
  --erp-ui-ink: #1a2028;
  --erp-ui-ink-2: #5a6472;
  --erp-ui-ink-3: #8a93a0;
  --erp-ui-hairline: #e3e7ed;
  --erp-ui-hairline-strong: #cdd4dd;
  --erp-ui-good: #0ca30c;
  --erp-ui-good-text: #006300;
  --erp-ui-good-soft: #e9f5e9;
  --erp-ui-good-wash: #f7fcf7;
  --erp-ui-warning: #fab219;
  --erp-ui-warning-text: #7a5200;
  --erp-ui-warning-soft: #fdf3dc;
  --erp-ui-warning-wash: #fffbf3;
  --erp-ui-critical: #d03b3b;
  --erp-ui-critical-text: #a32424;
  --erp-ui-critical-soft: #fbe9e9;
  --erp-ui-critical-wash: #fef7f7;
  --erp-ui-chart-1: #2c3e50;
  --erp-ui-chart-2: #0ca30c;
  --erp-ui-chart-3: #fab219;
  --erp-ui-chart-4: #d03b3b;
  --erp-ui-chart-5: #8fa9c2;
  --erp-ui-chart-6: #8a93a0;
  --erp-ui-blue-soft: #cfe2ff;
  --erp-ui-blue-text: #084298;
  --erp-ui-blue-ink: #ffffff;
  --erp-ui-radius: 8px;
  --erp-ui-shadow: 0 1px 2px rgba(26, 32, 40, 0.05);
  --erp-ui-shadow-overlay: 0 4px 16px rgba(26, 32, 40, 0.25);
  --color-secondary: #6c757d;
  --color-secondary-dark: #5a6268;
  --color-secondary-light: #adb5bd;
  --color-success: #28a745;
  --color-success-dark: #218838;
  --color-success-light: #d4edda;
  --color-danger: #dc3545;
  --color-danger-dark: #c82333;
  --color-danger-light: #f8d7da;
  --color-warning: #ffc107;
  --color-warning-dark: #e0a800;
  --color-warning-light: #fff3cd;
  --color-info: #17a2b8;
  --color-info-dark: #138496;
  --color-info-light: #d1ecf1;
  --gray-50: #ffffff;
  --gray-100: #f8f9fa;
  --gray-200: #e9ecef;
  --gray-300: #dee2e6;
  --gray-400: #ced4da;
  --gray-500: #adb5bd;
  --gray-600: #6c757d;
  --gray-700: #495057;
  --gray-800: #343a40;
  --gray-900: #212529;
  --gray-1000: #000000;
  --sidebar-width: 250px;
  --sidebar-collapsed-width: 4.6rem;
  --sidebar-bg: var(--gray-900);
  --sidebar-color: var(--gray-300);
  --header-height: 3.5rem;
  --header-bg: var(--gray-50);
  --header-border: var(--gray-300);
  --footer-height: 60px;
  --footer-bg: var(--gray-50);
  --footer-border: var(--gray-300);
  --content-max-width: 1400px;
  --content-padding: 1rem;
  --spacing-0: 0;
  --spacing-1: 0.25rem;
  --spacing-2: 0.5rem;
  --spacing-3: 0.75rem;
  --spacing-4: 1rem;
  --spacing-5: 1.25rem;
  --spacing-6: 1.5rem;
  --spacing-8: 2rem;
  --spacing-10: 2.5rem;
  --spacing-12: 3rem;
  --spacing-16: 4rem;
  --spacing-xs: var(--spacing-1);
  --spacing-sm: var(--spacing-2);
  --spacing-md: var(--spacing-4);
  --spacing-lg: var(--spacing-6);
  --spacing-xl: var(--spacing-8);
  --font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-family-monospace: "SFMono-Regular", Menlo, Monaco, Consolas, monospace;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 1.875rem;
  --font-size-4xl: 2.25rem;
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;
  --border-width-thin: 1px;
  --border-width-base: 2px;
  --border-width-thick: 3px;
  --border-radius-none: 0;
  --border-radius-sm: 2px;
  --border-radius-base: 4px;
  --border-radius-md: 6px;
  --border-radius-lg: 8px;
  --border-radius-xl: 12px;
  --border-radius-full: 9999px;
  --border-color-light: var(--gray-200);
  --border-color-base: var(--gray-300);
  --border-color-dark: var(--gray-400);
  --shadow-none: none;
  --shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
  --shadow-base: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
  --shadow-md: 0 4px 6px 0 rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px 0 rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 20px 25px 0 rgba(0, 0, 0, 0.15);
  --erp-shadow-light: 0 1px 3px rgba(0,0,0,0.05);
  --erp-shadow-medium: 0 2px 6px rgba(0,0,0,0.08);
  --erp-shadow-lg: 0 10px 15px rgba(0,0,0,0.1);
  --erp-shadow-xl: 0 20px 25px rgba(0,0,0,0.15);
  --shadow-primary: 0 4px 8px rgba(0, 123, 255, 0.2);
  --shadow-success: 0 4px 8px rgba(40, 167, 69, 0.2);
  --shadow-danger: 0 4px 8px rgba(220, 53, 69, 0.2);
  --transition-fast: 150ms;
  --transition-base: 300ms;
  --transition-slow: 500ms;
  --ease-linear: linear;
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --transition-all: all var(--transition-base) var(--ease-in-out);
  --transition-colors: background-color var(--transition-base) var(--ease-in-out), 
                       border-color var(--transition-base) var(--ease-in-out), 
                       color var(--transition-base) var(--ease-in-out);
  --z-base: 1;
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-fixed: 1030;
  --z-modal-backdrop: 1040;
  --z-modal: 1050;
  --z-popover: 1060;
  --z-tooltip: 1070;
  --card-bg: var(--gray-50);
  --card-border: var(--border-color-base);
  --card-border-radius: var(--border-radius-base);
  --card-padding: var(--spacing-md);
  --card-shadow: var(--shadow-sm);
  --btn-padding-y: 0.5rem;
  --btn-padding-x: 1rem;
  --btn-border-radius: var(--border-radius-base);
  --btn-font-size: var(--font-size-sm);
  --btn-font-weight: var(--font-weight-medium);
  --input-padding-y: 0.5rem;
  --input-padding-x: 0.75rem;
  --input-border-color: var(--border-color-base);
  --input-border-radius: var(--border-radius-base);
  --input-focus-border: var(--color-primary);
  --input-focus-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
  --badge-padding-y: 0.25rem;
  --badge-padding-x: 0.5rem;
  --badge-font-size: var(--font-size-xs);
  --badge-border-radius: var(--border-radius-full);
  --modal-backdrop-bg: rgba(0, 0, 0, 0.5);
  --modal-content-bg: var(--gray-50);
  --modal-border-radius: var(--border-radius-lg);
  --modal-padding: var(--spacing-6);
  --table-cell-padding: 0.75rem;
  --table-border-color: var(--border-color-light);
  --table-hover-bg: var(--gray-100);
  --table-striped-bg: var(--gray-50);
  --recon-summary-bg-start: #f0f4ff;
  --recon-summary-bg-end: #e8f0fe;
  --recon-summary-border: #c2d5f7;
  --recon-summary-accent-icon: #4285f4;
  --recon-summary-accent-text: #1a73e8;
  --recon-summary-detail-icon: #34a853;
  --recon-summary-expense-bg: #fce8e6;
  --recon-summary-expense-text: #d93025;
  --recon-summary-revenue-bg: #e6f4ea;
  --recon-summary-revenue-text: #1e8e3e;
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --breakpoint-xxl: 1400px;
}

/* line 2, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page {
  margin: 0;
  padding: 0 !important;
  background: var(--erp-ui-page);
  color: var(--erp-ui-ink);
}

/* line 10, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  min-height: 100dvh;
  padding: 24px 16px;
  padding-top: calc(24px + env(safe-area-inset-top, 0px));
  padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 14px;
  line-height: 1.5;
}

/* line 25, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery__card {
  box-sizing: border-box;
  width: 100%;
  max-width: 440px;
  padding: 24px;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  box-shadow: var(--erp-ui-shadow);
}

/* line 35, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery__card h1 {
  margin: 0 0 8px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
}

/* line 37, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery__card h1:focus {
  outline: none;
}

/* line 38, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery__card p {
  margin: 0 0 16px;
  color: var(--erp-ui-ink-2);
}

/* line 39, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery__card .session-recovery__brand {
  margin-bottom: 24px;
  color: var(--erp-ui-ink);
  font-weight: 700;
}

/* line 40, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery__card .session-recovery__saved {
  padding: 16px;
  background: var(--erp-ui-surface-2);
  border-radius: var(--erp-ui-radius);
}

/* line 41, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery__card .session-recovery__status {
  margin: 16px 0 0;
}

/* line 42, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery__card .session-recovery__status:empty {
  margin: 0;
}

/* line 45, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery__login {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 16px;
  border: 1px solid var(--erp-ui-accent);
  border-radius: 4px;
  background: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
  font-weight: 600;
  text-decoration: none;
}

/* line 59, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery__login:hover {
  background: var(--erp-ui-accent-hover);
  color: var(--erp-ui-accent-ink);
}

/* line 60, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery__login:focus-visible {
  outline: 3px solid var(--erp-ui-accent-marker);
  outline-offset: 3px;
}

/* line 61, app/assets/stylesheets/components/_session_recovery.scss */
body.session-recovery-page .session-recovery__login[aria-disabled="true"] {
  cursor: wait;
}

/* line 4, app/assets/stylesheets/components/_camera_modal.scss */
.camera-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 16, app/assets/stylesheets/components/_camera_modal.scss */
.camera-modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.9);
}

/* line 25, app/assets/stylesheets/components/_camera_modal.scss */
.camera-modal-content {
  position: relative;
  z-index: 10000;
  background: white;
  border-radius: 8px;
  max-width: 90vw;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

/* line 38, app/assets/stylesheets/components/_camera_modal.scss */
.camera-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  background: #2c3e50;
  color: white;
}

/* line 46, app/assets/stylesheets/components/_camera_modal.scss */
.camera-header h5 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

/* line 52, app/assets/stylesheets/components/_camera_modal.scss */
.camera-header .btn-camera-switch {
  background: rgba(255, 255, 255, 0.1);
  border: none;
  color: white;
  padding: 8px 12px;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.2s;
}

/* line 61, app/assets/stylesheets/components/_camera_modal.scss */
.camera-header .btn-camera-switch:hover {
  background: rgba(255, 255, 255, 0.2);
}

/* line 67, app/assets/stylesheets/components/_camera_modal.scss */
.camera-body {
  position: relative;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: black;
  min-height: 300px;
}

/* line 76, app/assets/stylesheets/components/_camera_modal.scss */
.camera-body video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 82, app/assets/stylesheets/components/_camera_modal.scss */
.camera-body canvas {
  display: none;
}

/* line 87, app/assets/stylesheets/components/_camera_modal.scss */
.camera-footer {
  display: flex;
  gap: 12px;
  padding: 16px;
  background: #f8f9fa;
  justify-content: center;
}

/* line 94, app/assets/stylesheets/components/_camera_modal.scss */
.camera-footer .btn {
  min-width: 120px;
  font-size: 14px;
  padding: 10px 20px;
}

/* line 99, app/assets/stylesheets/components/_camera_modal.scss */
.camera-footer .btn i {
  margin-right: 6px;
}

/* line 104, app/assets/stylesheets/components/_camera_modal.scss */
.camera-footer .btn-camera-capture {
  background: #27ae60;
  border-color: #27ae60;
  color: white;
}

/* line 109, app/assets/stylesheets/components/_camera_modal.scss */
.camera-footer .btn-camera-capture:hover {
  background: #219a52;
  border-color: #219a52;
}

/* line 117, app/assets/stylesheets/components/_camera_modal.scss */
.photo-preview {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  background: #f8f9fa;
}

/* line 124, app/assets/stylesheets/components/_camera_modal.scss */
.photo-preview.d-none {
  display: none;
}

/* line 129, app/assets/stylesheets/components/_camera_modal.scss */
.preview-thumb {
  position: relative;
  width: 100%;
  max-width: 200px;
}

/* line 134, app/assets/stylesheets/components/_camera_modal.scss */
.preview-thumb img {
  width: 100%;
  height: auto;
  border-radius: 4px;
  border: 2px solid #dee2e6;
}

/* line 141, app/assets/stylesheets/components/_camera_modal.scss */
.preview-thumb .btn-remove-preview {
  position: absolute;
  top: -8px;
  right: -8px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #dc3545;
  color: white;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* line 158, app/assets/stylesheets/components/_camera_modal.scss */
.preview-thumb .btn-remove-preview:hover {
  background: #c82333;
}

/* line 164, app/assets/stylesheets/components/_camera_modal.scss */
.preview-info {
  margin-top: 8px;
  display: flex;
  gap: 8px;
}

/* line 169, app/assets/stylesheets/components/_camera_modal.scss */
.preview-info .gps-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  background: #27ae60;
  color: white;
  font-size: 11px;
  border-radius: 12px;
}

/* line 179, app/assets/stylesheets/components/_camera_modal.scss */
.preview-info .gps-badge.d-none {
  display: none;
}

/* line 186, app/assets/stylesheets/components/_camera_modal.scss */
.btn-capture-photo {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: #27ae60;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: background 0.2s;
}

/* line 200, app/assets/stylesheets/components/_camera_modal.scss */
.btn-capture-photo:hover {
  background: #219a52;
  text-decoration: none;
  color: white;
}

/* line 206, app/assets/stylesheets/components/_camera_modal.scss */
.btn-capture-photo i {
  font-size: 16px;
}

@media (max-width: 768px) {
  /* line 213, app/assets/stylesheets/components/_camera_modal.scss */
  .camera-modal-content {
    max-width: 100vw;
    max-height: 100vh;
    border-radius: 0;
  }
  /* line 219, app/assets/stylesheets/components/_camera_modal.scss */
  .camera-body {
    min-height: 60vh;
  }
  /* line 224, app/assets/stylesheets/components/_camera_modal.scss */
  .camera-footer .btn {
    flex: 1;
    min-width: auto;
  }
}

@media (display-mode: standalone) {
  /* line 233, app/assets/stylesheets/components/_camera_modal.scss */
  .camera-modal-content {
    max-height: 100vh;
  }
  /* line 237, app/assets/stylesheets/components/_camera_modal.scss */
  .camera-body {
    min-height: 70vh;
  }
}

/* line 6, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .camera-modal .camera-modal-overlay {
  background: rgba(0, 0, 0, 0.82);
}

/* line 7, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .camera-modal .camera-modal-content {
  width: 100vw;
  max-width: 600px;
  max-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink);
  border: 1px solid var(--erp-ui-hairline);
}

/* line 15, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .camera-modal .camera-header {
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink);
}

/* line 16, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .camera-modal .camera-header .btn-camera-switch {
  color: var(--erp-ui-ink);
  min-width: 44px;
  min-height: 44px;
}

/* line 17, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .camera-modal .camera-footer {
  background: var(--erp-ui-surface);
  padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
}

/* line 18, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .camera-modal .camera-footer .btn {
  min-height: 44px;
}

/* line 19, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .camera-modal :where(button):focus-visible {
  outline: 3px solid var(--erp-ui-accent-marker);
  outline-offset: 2px;
}

/* line 23, app/assets/stylesheets/pwa-ui.scss */
html[data-theme="dark"] {
  --erp-ui-page: var(--fx-canvas);
  --erp-ui-surface: var(--fx-surface);
  --erp-ui-surface-2: var(--fx-tint-neutral-bg);
  --erp-ui-ink: var(--fx-text);
  --erp-ui-ink-2: var(--fx-text-secondary);
  --erp-ui-hairline: var(--fx-border);
  --erp-ui-accent-soft: var(--fx-tint-blue-bg);
  --erp-ui-good-text: var(--fx-success-text);
  --erp-ui-good-soft: var(--fx-tint-success-bg);
  --erp-ui-warning-text: var(--fx-warning-text);
  --erp-ui-warning-soft: var(--fx-tint-warning-bg);
  --erp-ui-critical-text: var(--fx-danger-text);
  --erp-ui-critical-soft: var(--fx-tint-danger-bg);
  --erp-ui-ink-3: var(--fx-text-muted);
  --erp-ui-hairline-strong: var(--fx-border);
  --erp-ui-critical-wash: var(--fx-danger-surface);
  --erp-ui-warning-wash: var(--fx-tint-warning-bg);
  --erp-ui-good-wash: var(--fx-tint-success-bg);
}

/* line 45, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign {
  background: var(--erp-ui-page);
  color: var(--erp-ui-ink);
  --fx-primary: var(--erp-ui-accent);
  font-size: 14px;
}

/* line 50, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-header {
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink);
  border-bottom: 1px solid var(--erp-ui-hairline);
  box-shadow: none;
  padding: calc(8px + env(safe-area-inset-top, 0px)) 16px 8px;
  height: auto;
  min-height: 64px;
  position: sticky;
  top: 0;
}

/* line 60, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-header h1 {
  font-size: 18px;
  color: inherit;
  margin: 0;
}

/* line 61, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-header .btn {
  color: var(--erp-ui-ink);
  border-color: var(--erp-ui-hairline);
}

/* line 62, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-header .pwa-heading {
  flex: 1;
  min-width: 0;
}

/* line 63, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-header .pwa-company {
  color: var(--erp-ui-ink-2);
  font-size: 12px;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 65vw;
}

/* line 65, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-content {
  max-width: 760px;
  margin: auto;
  padding: 16px 16px calc(112px + env(safe-area-inset-bottom, 0px));
  background: var(--erp-ui-page);
}

/* line 66, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-bottom-nav {
  background: var(--erp-ui-surface);
  border-top: 1px solid var(--erp-ui-hairline);
  box-shadow: none;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

/* line 67, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-nav-item {
  min-height: 56px;
  font-size: 11px;
  flex: 1;
  min-width: 0;
  padding: 8px 2px;
}

/* line 68, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-nav-item.active {
  background: var(--erp-ui-accent-soft);
  color: var(--erp-ui-ink);
  border-top: 3px solid var(--erp-ui-accent);
}

/* line 69, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .btn, body.pwa-redesign .action-btn, body.pwa-redesign .filter-btn, body.pwa-redesign .quick-action-card, body.pwa-redesign .pwa-draft-discard {
  min-height: 44px;
  min-width: 44px;
  border-radius: 8px;
}

/* line 70, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  white-space: normal;
}

/* line 71, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .btn-primary {
  background: var(--erp-ui-accent);
  border-color: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
}

/* line 72, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .btn-primary:hover {
  background: var(--erp-ui-accent-hover);
}

/* line 73, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .btn-primary:active {
  background: var(--erp-ui-accent-pressed);
}

/* line 74, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--erp-ui-accent-marker);
  outline-offset: 3px;
}

/* line 75, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign :disabled {
  opacity: .6;
  cursor: not-allowed;
}

/* line 76, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .form-control, body.pwa-redesign .pwa-search-input, body.pwa-redesign .ts-control {
  min-height: 44px;
  font-size: 16px;
}

/* line 77, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .filter-buttons-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* line 78, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .filter-btn {
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  color: var(--erp-ui-ink-2);
  flex: 1 0 auto;
  padding: 8px;
}

/* line 79, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .filter-btn.filter-btn-active {
  background: var(--erp-ui-accent-soft);
  color: var(--erp-ui-ink);
  border-color: var(--erp-ui-accent-marker);
  font-weight: 700;
}

/* line 80, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .os-item-card, body.pwa-redesign .pwa-panel-card, body.pwa-redesign .info-section, body.pwa-redesign .profile-section, body.pwa-redesign .profile-card, body.pwa-redesign .movement-card, body.pwa-redesign .request-card, body.pwa-redesign .pwa-form-section {
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
  box-shadow: none;
  padding: 16px;
}

/* line 83, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .os-list-pwa {
  min-height: 0;
}

/* line 84, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-signature-page {
  min-height: 0;
  background: var(--erp-ui-page);
  padding: 0;
}

/* line 85, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .stat-card-compact {
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  box-shadow: none;
  border-radius: 8px;
}

/* line 86, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .stat-card-compact .stat-number-compact {
  color: var(--erp-ui-ink);
  font-size: 22px;
}

/* line 87, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .stat-label-compact {
  color: var(--erp-ui-ink-2);
  line-height: 1.4;
}

/* line 88, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-card-description {
  color: var(--erp-ui-ink-2);
  margin: 4px 0 8px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* line 89, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-card-date {
  font-size: 12px;
  color: var(--erp-ui-ink-2);
}

/* line 90, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-page-intro {
  margin-bottom: 24px;
}

/* line 90, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-page-intro h2 {
  font-size: 22px;
  margin: 0 0 4px;
}

/* line 90, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-page-intro p {
  color: var(--erp-ui-ink-2);
  margin: 0;
}

/* line 91, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-section-heading {
  font-size: 16px;
  margin: 24px 0 12px;
}

/* line 92, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

/* line 93, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-kpi {
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
  padding: 12px;
  color: var(--erp-ui-ink);
  text-decoration: none;
}

/* line 93, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-kpi strong {
  display: block;
  font-size: 24px;
}

/* line 93, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-kpi span {
  font-size: 12px;
  color: var(--erp-ui-ink-2);
}

/* line 94, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-task {
  display: block;
  margin-bottom: 12px;
  color: var(--erp-ui-ink);
  text-decoration: none;
}

/* line 94, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-task strong {
  display: block;
  margin: 8px 0;
}

/* line 94, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-task p {
  color: var(--erp-ui-ink-2);
}

/* line 95, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-shortcuts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

/* line 95, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-shortcuts a {
  padding: 16px;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
  color: var(--erp-ui-ink);
  font-weight: 600;
}

/* line 96, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-connection {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 8px 16px;
  background: var(--erp-ui-surface-2);
  border-bottom: 1px solid var(--erp-ui-hairline);
  color: var(--erp-ui-ink-2);
  font-size: 12px;
}

/* line 96, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-connection a {
  color: inherit;
  text-decoration: underline;
  font-weight: 600;
}

/* line 97, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-sync-item {
  padding: 16px;
  border: 1px solid var(--erp-ui-hairline);
  background: var(--erp-ui-surface);
  border-radius: 8px;
  margin: 12px 0;
  overflow-wrap: anywhere;
}

/* line 97, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-sync-item h3 {
  font-size: 16px;
}

/* line 97, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-sync-item p {
  margin: 8px 0;
  color: var(--erp-ui-ink-2);
}

/* line 98, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-update-bar {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink);
  border: 1px solid var(--erp-ui-hairline);
  padding: 16px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  border-radius: 8px;
  z-index: 1200;
}

/* line 99, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-update-bar[hidden] {
  display: none;
}

/* line 100, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-sync-preview {
  display: block;
  width: 100%;
  max-height: 220px;
  object-fit: contain;
  margin-bottom: 12px;
  border-radius: 8px;
}

/* line 101, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-sync-error {
  color: var(--erp-ui-critical-text);
}

/* line 102, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-sync-empty {
  padding: 24px 16px;
  text-align: center;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
}

/* line 103, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-photo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 16px 0;
}

/* line 103, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-photo-grid img {
  width: 100%;
  height: 140px;
  object-fit: cover;
  border-radius: 8px;
}

/* line 103, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-photo-grid figcaption {
  font-size: 12px;
  padding: 4px;
}

/* line 104, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-upload-label {
  margin-top: 8px;
  display: block;
}

/* line 105, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-upload-label input {
  max-width: 100%;
  display: block;
  padding: 8px 0;
}

/* line 106, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-sticky-actions {
  position: sticky;
  bottom: calc(64px + env(safe-area-inset-bottom, 0px));
  background: var(--erp-ui-surface);
  padding: 12px;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
  z-index: 10;
}

@media (prefers-reduced-motion: reduce) {
  /* line 107, app/assets/stylesheets/pwa-ui.scss */
  body.pwa-redesign *, body.pwa-redesign *::before, body.pwa-redesign *::after {
    animation: none;
    transition: none;
    scroll-behavior: auto;
  }
}

/* line 112, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-header {
  background: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
  border: 0;
}

/* line 116, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-header h1, body.pwa-redesign .pwa-header .pwa-company {
  color: var(--erp-ui-accent-ink);
}

/* line 117, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-header .pwa-company {
  opacity: .8;
}

/* line 118, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-header .btn {
  color: var(--erp-ui-accent-ink);
  border-color: currentColor;
}

/* line 119, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-header .btn-link {
  border: 0;
}

/* line 121, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-content {
  max-width: 800px;
  padding-bottom: calc(136px + env(safe-area-inset-bottom, 0px));
}

/* line 122, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-bottom-nav {
  height: auto !important;
  min-height: 64px;
  padding: 4px 4px calc(6px + env(safe-area-inset-bottom, 0px)) !important;
  background: var(--erp-ui-surface) !important;
  border-top: 1px solid var(--erp-ui-hairline) !important;
  box-shadow: none !important;
}

/* line 130, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-nav-item {
  min-width: 0 !important;
  min-height: 52px;
  padding: 6px 2px !important;
  border-radius: 6px;
  color: var(--erp-ui-ink-2) !important;
  font-size: 11px !important;
  line-height: 1.25;
  gap: 2px;
  text-align: center;
  white-space: normal;
}

/* line 142, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-nav-item i {
  font-size: 17px !important;
  margin: 0 !important;
}

/* line 143, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-nav-item.active, body.pwa-redesign .pwa-nav-item[aria-current="page"] {
  background: var(--erp-ui-accent-soft);
  border: 0;
  color: var(--erp-ui-accent) !important;
  font-weight: 700 !important;
}

/* line 149, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-nav-item:hover, body.pwa-redesign .pwa-nav-item:focus-visible {
  color: var(--erp-ui-accent) !important;
}

/* line 150, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .profile-badge, body.pwa-redesign .expedition-badge {
  top: 2px;
  right: 4px;
}

/* line 151, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-connection {
  max-width: none;
}

/* line 152, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .info-section, body.pwa-redesign .profile-section, body.pwa-redesign .profile-card, body.pwa-redesign .movement-card, body.pwa-redesign .request-card {
  margin-bottom: 12px;
}

/* line 153, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign [hidden] {
  display: none !important;
}

/* line 154, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .stats-grid-optimized {
  margin: 12px 0;
}

/* line 155, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .stats-grid-optimized .stat-card-compact {
  min-height: 72px;
  padding: 8px 4px;
}

/* line 156, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .stats-grid-optimized .stat-number-compact {
  font-size: 20px;
}

/* line 157, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .stats-grid-optimized .stat-label-compact {
  font-size: 11px;
  overflow-wrap: anywhere;
}

/* line 158, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .filters-optimized .filter-buttons-grid {
  flex-wrap: nowrap;
  overflow-x: auto;
  padding: 2px 1px 8px;
}

/* line 159, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .filters-optimized .filter-btn {
  flex: 0 0 auto;
}

/* line 160, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-expedition .stats-row {
  gap: 8px;
  margin: 12px 0 16px;
}

/* line 161, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-expedition .stat-card, body.pwa-redesign .pwa-expedition .movement-card {
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
  box-shadow: none;
}

/* line 162, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-expedition .filter-chips {
  display: flex;
  overflow-x: auto;
  gap: 8px;
  padding-bottom: 8px;
}

/* line 163, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-expedition .filter-chips .chip {
  flex: 0 0 auto;
  min-height: 44px;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 6px;
  color: var(--erp-ui-ink-2);
}

/* line 164, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-expedition .filter-chips .chip.active {
  background: var(--erp-ui-accent);
  border-color: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
}

/* line 165, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-movement-details .status-card-detail, body.pwa-redesign .pwa-movement-details .info-card {
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink);
  border-color: var(--erp-ui-hairline);
  box-shadow: none;
}

/* line 167, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-orders-count {
  margin: 0 0 12px;
  color: var(--erp-ui-ink-2);
  font-size: 13px;
}

/* line 168, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-orders-search {
  margin: 16px 0 12px;
}

/* line 169, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-orders-search-row {
  display: flex;
  gap: 8px;
}

/* line 170, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-orders-search-row input {
  flex: 1;
  min-width: 0;
}

/* line 171, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-orders-filters {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 2px 1px 8px;
  margin-bottom: 4px;
  scrollbar-width: thin;
}

/* line 172, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-filter-chip {
  flex: 0 0 auto;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 6px;
  color: var(--erp-ui-ink-2);
  background: var(--erp-ui-surface);
  font-size: 12px;
  text-decoration: none;
}

/* line 173, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-filter-chip:hover {
  border-color: var(--erp-ui-accent);
  color: var(--erp-ui-accent);
  text-decoration: none;
}

/* line 174, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-filter-chip.is-active {
  background: var(--erp-ui-accent);
  border-color: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
  font-weight: 700;
}

/* line 175, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-orders-result {
  font-size: 13px;
  color: var(--erp-ui-ink-2);
}

/* line 176, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .os-list-pwa {
  display: grid;
  gap: 12px;
}

/* line 177, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-order-row {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
}

/* line 178, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-order-time {
  padding-top: 16px;
  color: var(--erp-ui-ink-2);
  font-size: 12px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

/* line 179, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-order-card {
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
  overflow: hidden;
}

/* line 180, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-order-card:hover, body.pwa-redesign .pwa-order-card:focus-within {
  border-color: var(--erp-ui-accent);
}

/* line 181, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-order-card-link {
  display: block;
  padding: 16px;
  color: var(--erp-ui-ink);
  text-decoration: none;
}

/* line 182, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-order-card-link:hover {
  text-decoration: none;
  color: var(--erp-ui-ink);
}

/* line 183, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-order-card-top, body.pwa-redesign .pwa-order-card-bottom, body.pwa-redesign .pwa-detail-hero-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

/* line 184, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-order-number, body.pwa-redesign .pwa-order-customer, body.pwa-redesign .pwa-order-open {
  font-size: 12px;
  color: var(--erp-ui-ink-2);
}

/* line 185, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-order-card h3 {
  margin: 10px 0 4px;
  font-size: 17px;
  color: var(--erp-ui-ink);
}

/* line 186, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-order-customer {
  margin: 0;
}

/* line 187, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-order-card-facts, body.pwa-redesign .pwa-detail-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 12px 0;
}

/* line 188, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-order-card-facts div, body.pwa-redesign .pwa-detail-facts div {
  min-width: 0;
}

/* line 189, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-order-card-facts dt, body.pwa-redesign .pwa-detail-facts dt {
  font-size: 12px;
  font-weight: 400;
  color: var(--erp-ui-ink-2);
}

/* line 190, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-order-card-facts dd, body.pwa-redesign .pwa-detail-facts dd {
  margin: 0;
  overflow-wrap: anywhere;
  font-size: 13px;
  font-weight: 600;
}

/* line 191, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-order-card-bottom {
  border-top: 1px solid var(--erp-ui-hairline);
  padding-top: 12px;
}

/* line 193, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-detail-hero {
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
  padding: 16px;
}

/* line 194, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-detail-hero-top {
  font-size: 12px;
  color: var(--erp-ui-ink-2);
}

/* line 195, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-detail-hero h2 {
  margin: 12px 0 4px;
  font-size: 23px;
  color: var(--erp-ui-ink);
}

/* line 196, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-detail-hero p {
  margin: 0;
  color: var(--erp-ui-ink-2);
}

/* line 197, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-detail-tabs {
  display: flex;
  overflow-x: auto;
  border-bottom: 1px solid var(--erp-ui-hairline-strong);
  gap: 16px;
  margin: 16px 0;
}

/* line 198, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-detail-tabs button {
  min-height: 44px;
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: var(--erp-ui-ink-2);
  padding: 10px 4px;
  font-size: 13px;
}

/* line 199, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-detail-tabs button[aria-selected="true"] {
  color: var(--erp-ui-accent);
  border-bottom-color: var(--erp-ui-accent);
  font-weight: 700;
}

/* line 200, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-order-detail .info-section {
  margin-bottom: 12px;
}

/* line 201, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-order-detail .info-section h3 {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 12px;
}

/* line 202, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-order-detail .info-section h4 {
  font-size: 14px;
  font-weight: 700;
  margin: 16px 0 8px;
}

/* line 203, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-detail-line {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 12px 0;
  border-bottom: 1px solid var(--erp-ui-hairline);
  overflow-wrap: anywhere;
}

/* line 204, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-detail-line:last-child {
  border: 0;
}

/* line 205, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-detail-line span, body.pwa-redesign .pwa-detail-note {
  font-size: 12px;
  color: var(--erp-ui-ink-2);
}

/* line 206, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-detail-complement summary {
  cursor: pointer;
  min-height: 44px;
  font-weight: 700;
}

/* line 207, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-detail-timeline {
  border-left: 2px solid var(--erp-ui-hairline-strong);
  margin: 16px 0 24px;
  padding-left: 20px;
}

/* line 208, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-detail-timeline li span {
  display: block;
  color: var(--erp-ui-ink-2);
  font-size: 12px;
}

/* line 209, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-more-actions {
  position: relative;
}

/* line 210, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-more-actions summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  border: 1px solid currentColor;
  border-radius: 6px;
  cursor: pointer;
}

/* line 211, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-more-actions summary::-webkit-details-marker {
  display: none;
}

/* line 212, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-more-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  width: 84vw;
  max-width: 300px;
  padding: 8px;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 8px;
  color: var(--erp-ui-ink);
  box-shadow: 0 8px 24px rgba(26, 32, 40, 0.15);
  z-index: 1100;
}

/* line 213, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-more-link {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 8px;
  color: var(--erp-ui-ink);
}

/* line 214, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-more-cancel {
  border-top: 1px solid var(--erp-ui-hairline);
  padding: 12px 8px;
}

/* line 215, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-more-cancel label {
  display: block;
  font-size: 12px;
  font-weight: 600;
}

/* line 216, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-more-cancel .btn {
  width: 100%;
  margin-top: 8px;
}

/* line 217, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-more-menu form.button_to {
  margin: 4px 8px;
}

/* line 218, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-more-menu form.button_to .btn {
  width: 100%;
}

/* line 219, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-header .pwa-more-menu .btn-outline-danger {
  color: var(--erp-ui-critical-text);
  border-color: var(--erp-ui-critical-text);
  background: transparent;
}

/* line 220, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-header .pwa-more-menu .btn-outline-danger:hover,
body.pwa-redesign .pwa-header .pwa-more-menu .btn-outline-danger:focus-visible {
  color: var(--erp-ui-critical-text);
  background: var(--erp-ui-critical-soft);
}

/* line 222, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-sticky-actions form, body.pwa-redesign .pwa-sticky-actions .btn {
  width: 100%;
}

/* line 223, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-completion-review {
  width: calc(100vw - 32px);
  max-width: 480px;
  max-height: 85dvh;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 8px;
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink);
  padding: 24px;
}

/* line 224, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-completion-review::backdrop {
  background: rgba(26, 37, 47, 0.65);
}

/* line 225, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-completion-review h2 {
  font-size: 20px;
}

/* line 226, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-completion-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

/* line 228, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-os-steps {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

/* line 229, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-os-steps li {
  border-top: 3px solid var(--erp-ui-hairline-strong);
  padding-top: 8px;
  color: var(--erp-ui-ink-2);
  font-size: 12px;
}

/* line 230, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-os-steps li.is-active {
  color: var(--erp-ui-accent);
  border-top-color: var(--erp-ui-accent);
  font-weight: 700;
}

/* line 231, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-os-wizard-message, body.pwa-redesign .pwa-os-field-error {
  color: var(--erp-ui-critical-text);
  font-size: 13px;
}

/* line 232, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-os-wizard-message:empty {
  display: none;
}

/* line 233, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-os-field-error {
  margin: 4px 0;
}

/* line 234, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-form-control[aria-invalid="true"], body.pwa-redesign .ts-control.is-invalid {
  border-color: var(--erp-ui-critical-text);
}

/* line 235, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-form-subtitle {
  font-size: 16px;
  margin: 8px 0 16px;
}

/* line 236, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-os-review-facts {
  margin: 16px 0;
}

/* line 237, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-os-review-facts div {
  padding: 8px 0;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 238, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-os-review-facts dt {
  font-size: 12px;
  color: var(--erp-ui-ink-2);
}

/* line 239, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-os-review-facts dd {
  margin: 0;
  font-weight: 600;
  overflow-wrap: anywhere;
}

/* line 240, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-os-wizard-actions {
  position: sticky;
  bottom: calc(64px + env(safe-area-inset-bottom, 0px));
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  padding: 12px;
  border-radius: 8px;
  z-index: 10;
}

/* line 241, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-os-wizard-actions .btn {
  flex: 1;
}

@media (max-width: 390px) {
  /* line 242, app/assets/stylesheets/pwa-ui.scss */
  body.pwa-redesign .pwa-nav-item {
    font-size: 10px !important;
  }
  /* line 242, app/assets/stylesheets/pwa-ui.scss */
  body.pwa-redesign .pwa-order-card-facts, body.pwa-redesign .pwa-detail-facts {
    gap: 8px;
  }
}

/* line 246, app/assets/stylesheets/pwa-ui.scss */
html[data-theme="dark"] body.pwa-redesign .pwa-filter-chip.is-active, html[data-theme="dark"] body.pwa-redesign .pwa-detail-tabs button[aria-selected="true"] {
  color: var(--erp-ui-accent-ink);
}

/* line 247, app/assets/stylesheets/pwa-ui.scss */
html[data-theme="dark"] body.pwa-redesign .pwa-detail-tabs button[aria-selected="true"] {
  color: var(--erp-ui-ink);
}

/* line 248, app/assets/stylesheets/pwa-ui.scss */
html[data-theme="dark"] body.pwa-redesign .pwa-bottom-nav .pwa-nav-item {
  color: var(--erp-ui-ink-2) !important;
}

/* line 249, app/assets/stylesheets/pwa-ui.scss */
html[data-theme="dark"] body.pwa-redesign .pwa-bottom-nav .pwa-nav-item.active,
html[data-theme="dark"] body.pwa-redesign .pwa-bottom-nav .pwa-nav-item[aria-current="page"],
html[data-theme="dark"] body.pwa-redesign .pwa-bottom-nav .pwa-nav-item:hover,
html[data-theme="dark"] body.pwa-redesign .pwa-bottom-nav .pwa-nav-item:focus-visible {
  color: var(--pw-link) !important;
}

/* line 253, app/assets/stylesheets/pwa-ui.scss */
html[data-theme="dark"] body.pwa-redesign .pwa-os-steps li.is-active {
  color: var(--erp-ui-ink);
  border-top-color: var(--erp-ui-accent-marker);
}

/* line 254, app/assets/stylesheets/pwa-ui.scss */
html[data-theme="dark"] body.pwa-redesign .btn-outline-primary, html[data-theme="dark"] body.pwa-redesign .btn-outline-secondary {
  color: var(--erp-ui-ink);
  border-color: var(--erp-ui-hairline-strong);
  background: transparent;
}

/* line 255, app/assets/stylesheets/pwa-ui.scss */
html[data-theme="dark"] body.pwa-redesign .btn-outline-primary:hover, html[data-theme="dark"] body.pwa-redesign .btn-outline-primary:focus-visible,
html[data-theme="dark"] body.pwa-redesign .btn-outline-secondary:hover, html[data-theme="dark"] body.pwa-redesign .btn-outline-secondary:focus-visible {
  color: var(--erp-ui-ink);
  border-color: var(--erp-ui-accent-marker);
  background: var(--erp-ui-accent-soft);
}

/* line 2, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal {
  background: var(--erp-ui-surface);
  border-radius: var(--erp-ui-radius);
  border: 1px solid var(--erp-ui-hairline-strong);
  font-family: inherit;
  padding: 0 0 18px;
  width: 30em;
}

/* line 10, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--erp-ui-ink);
  text-align: left;
  padding: 16px 20px 0;
  margin: 0;
}

/* line 18, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-html-container {
  font-size: 13.5px;
  color: var(--erp-ui-ink-2);
  text-align: left;
  margin: 6px 0 0;
  padding: 0 20px;
  line-height: 1.55;
}

/* line 26, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-icon {
  display: none;
}

/* line 31, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal.has-icon .swal2-icon {
  display: flex;
  font-size: 6.8px;
  width: 5em;
  height: 5em;
  margin: 16px 0 -4px 20px;
  border-width: 2px;
}

/* line 39, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal.has-icon .swal2-icon .swal2-icon-content {
  font-size: 20px;
}

/* line 41, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-actions {
  justify-content: flex-end;
  padding: 0 20px;
  margin: 18px 0 0;
  gap: 8px;
  width: 100%;
}

/* line 48, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-styled {
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  padding: 8px 16px;
  margin: 0;
  box-shadow: none;
}

/* line 56, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-confirm {
  background: var(--erp-ui-accent);
}

/* line 57, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal.danger .swal2-confirm {
  background: var(--erp-ui-critical);
}

/* line 58, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-cancel {
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink-2);
  border: 1px solid var(--erp-ui-hairline-strong);
}

/* line 63, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-input, .swal2-popup.erp-swal .swal2-textarea, .swal2-popup.erp-swal .swal2-select {
  font-size: 13.5px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 6px;
  box-shadow: none;
  margin: 10px 20px 0;
  width: calc(100% - 40px);
}

/* line 71, app/assets/stylesheets/components/_erp_swal.scss */
.swal2-popup.erp-swal .swal2-validation-message {
  font-size: 12.5px;
  border-radius: 6px;
  margin: 10px 20px 0;
  width: calc(100% - 40px);
}

/* line 264, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .swal2-popup.erp-swal .swal2-styled {
  min-height: 44px;
  min-width: 44px;
}

/* line 267, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .swal2-popup.erp-swal .swal2-styled:focus-visible {
  outline: 3px solid var(--erp-ui-accent-marker);
  outline-offset: 2px;
}

/* line 10, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign {
  --pw-link: var(--erp-ui-accent);
  --pw-mark: var(--erp-ui-accent);
}

/* line 11, app/assets/stylesheets/components/_pwa_v2.scss */
html[data-theme="dark"] body.pwa-redesign {
  --pw-link: var(--erp-ui-accent-marker);
  --pw-mark: var(--erp-ui-accent-marker);
}

/* line 16, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign > svg[width="0"] {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

/* line 19, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pwa-header {
  background: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
  padding: calc(8px + env(safe-area-inset-top, 0px)) 8px 8px 8px;
  min-height: calc(60px + env(safe-area-inset-top, 0px));
  border-bottom: 0;
  box-shadow: none;
}

/* line 27, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd {
  display: flex;
  align-items: center;
  gap: 4px;
  width: 100%;
  min-height: 44px;
}

/* line 28, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd-main {
  flex: 1;
  min-width: 0;
  padding-left: 8px;
}

/* line 29, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd-main h1 {
  font-size: 19px;
  font-weight: 700;
  margin: 0;
  line-height: 1.2;
  color: inherit;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 30, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd-sub {
  display: block;
  font-size: 12px;
  color: var(--erp-ui-accent-soft);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 31, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
  padding-left: 8px;
}

/* line 32, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd-logo {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  flex: none;
  display: block;
}

/* line 33, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ib {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  color: inherit;
  text-decoration: none;
  position: relative;
  flex: none;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 0;
}

/* line 37, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ib:hover, body.pwa-redesign .pw-ib:focus {
  color: inherit;
  background: rgba(255, 255, 255, 0.12);
}

/* line 38, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ib:focus-visible {
  outline: 2px solid var(--erp-ui-accent-ink);
  outline-offset: -2px;
}

/* line 40, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd-action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 0 12px;
  border-radius: 8px;
  background: var(--erp-ui-surface);
  color: var(--pw-link);
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  flex: none;
}

/* line 43, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd-action:hover {
  color: var(--erp-ui-accent-hover);
}

/* line 47, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd-form {
  margin: 0;
  display: flex;
  flex: none;
}

/* line 48, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd-text {
  background: transparent;
  border: 0;
  color: var(--erp-ui-accent-ink);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  min-height: 44px;
  padding: 0 10px;
  border-radius: 6px;
  cursor: pointer;
  text-decoration: none;
}

/* line 51, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd-text:hover, body.pwa-redesign .pw-hd-text:focus {
  color: var(--erp-ui-accent-ink);
  background: rgba(255, 255, 255, 0.12);
}

/* line 52, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd-text:focus-visible {
  outline: 2px solid var(--erp-ui-accent-ink);
  outline-offset: -2px;
}

/* line 54, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-badge {
  position: absolute;
  top: 6px;
  right: 5px;
  min-width: 18px;
  height: 18px;
  border-radius: 9999px;
  background: var(--erp-ui-critical);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 5px;
  box-sizing: border-box;
  border: 2px solid var(--erp-ui-accent);
}

/* line 62, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pwa-connection {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  font-size: 13px;
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink-2);
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 65, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pwa-connection a {
  margin-left: auto;
  font-weight: 600;
  text-decoration: none;
  color: var(--pw-link);
}

/* line 67, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sync-dot {
  width: 8px;
  height: 8px;
  border-radius: 9999px;
  background: var(--erp-ui-good);
  flex: none;
}

/* line 68, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pwa-connection.is-pending .pw-sync-dot {
  background: var(--erp-ui-warning);
}

/* line 69, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pwa-connection.is-offline .pw-sync-dot {
  background: var(--erp-ui-critical);
}

/* line 70, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pwa-connection.is-attention .pw-sync-dot {
  background: var(--erp-ui-critical);
}

/* line 72, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sync-card .pw-title {
  overflow-wrap: anywhere;
}

/* line 73, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sync-card .pw-sec-row {
  align-items: flex-start;
}

/* line 74, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-thumb.is-local {
  position: relative;
}

/* line 75, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-thumb-state {
  position: absolute;
  left: 4px;
  right: 4px;
  bottom: 4px;
  border-radius: 4px;
  padding: 2px 4px;
  font-size: 11px;
  font-weight: 700;
  text-align: center;
  background: rgba(26, 32, 40, 0.78);
  color: #fff;
  line-height: 1.3;
}

/* line 79, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-thumb.is-local[data-state="sent"] .pw-thumb-state {
  background: var(--erp-ui-good);
}

/* line 80, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-thumb.is-local[data-state="attention"] .pw-thumb-state {
  background: var(--erp-ui-critical);
}

/* line 81, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sync-preview {
  width: 96px;
  height: 96px;
  object-fit: cover;
  border-radius: 6px;
}

/* line 82, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sync-more > summary {
  list-style: none;
  cursor: pointer;
  width: max-content;
}

/* line 83, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sync-more > summary::-webkit-details-marker {
  display: none;
}

/* line 84, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sync-more[open] > summary {
  margin-bottom: 8px;
}

/* line 85, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sync-confirm {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* line 88, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-page {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* line 89, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-stack {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* line 90, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sec {
  font-size: 16px;
  font-weight: 700;
  margin: 0;
  color: var(--erp-ui-ink);
}

/* line 91, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sec-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

/* line 92, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sec-row a {
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  color: var(--pw-link);
}

/* line 93, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-group {
  font-size: 12px;
  font-weight: 700;
  color: var(--erp-ui-ink-2);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin: 6px 0 0;
}

/* line 94, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-label {
  font-size: 12px;
  font-weight: 700;
  color: var(--erp-ui-ink-2);
  text-transform: uppercase;
  letter-spacing: .05em;
}

/* line 95, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-muted {
  color: var(--erp-ui-ink-2);
  font-size: 13px;
}

/* line 96, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-title {
  font-weight: 700;
  font-size: 15px;
  margin: 0;
  color: var(--erp-ui-ink);
}

/* line 97, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-title-lg {
  font-weight: 700;
  font-size: 19px;
  margin: 0;
  line-height: 1.25;
  color: var(--erp-ui-ink);
}

/* line 98, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-title-md {
  font-weight: 600;
  font-size: 16px;
  margin: 0;
  color: var(--erp-ui-ink);
}

/* line 99, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-strong {
  font-weight: 600;
}

/* line 100, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-q {
  font-size: 24px;
  font-weight: 700;
  margin: 0;
  line-height: 1.2;
  color: var(--erp-ui-ink);
}

/* line 101, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* line 103, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-card {
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  color: var(--erp-ui-ink);
}

/* line 107, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign a.pw-card {
  text-decoration: none;
}

/* line 108, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign a.pw-card:hover {
  color: var(--erp-ui-ink);
  border-color: var(--erp-ui-hairline-strong);
}

/* line 109, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-card.is-now {
  border-color: var(--pw-mark);
  box-shadow: inset 0 0 0 1px var(--pw-mark);
}

/* line 110, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-card.is-flat {
  padding: 0;
  gap: 0;
  overflow: hidden;
}

/* line 111, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-card.is-attention {
  background: var(--erp-ui-warning-wash);
  border-color: var(--erp-ui-warning);
  flex-direction: row;
  align-items: center;
  gap: 12px;
}

/* line 113, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 24px;
  padding: 0 10px;
  border-radius: 9999px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

/* line 116, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-pill.good {
  background: var(--erp-ui-good-soft);
  color: var(--erp-ui-good-text);
}

/* line 117, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-pill.warning {
  background: var(--erp-ui-warning-soft);
  color: var(--erp-ui-warning-text);
}

/* line 118, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-pill.critical {
  background: var(--erp-ui-critical-soft);
  color: var(--erp-ui-critical-text);
}

/* line 119, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-pill.info {
  background: var(--erp-ui-accent-soft);
  color: var(--pw-link);
}

/* line 120, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-pill.neutral {
  background: var(--erp-ui-hairline);
  color: var(--erp-ui-ink-2);
}

/* line 122, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

/* line 124, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  border: 1px solid var(--erp-ui-hairline-strong);
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink);
  box-sizing: border-box;
  padding: 0 14px;
  cursor: pointer;
  font-family: inherit;
  width: 100%;
}

/* line 129, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-btn:hover {
  color: var(--erp-ui-ink);
  background: var(--erp-ui-surface-2);
}

/* line 130, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-btn.is-primary {
  background: var(--erp-ui-accent);
  border-color: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
}

/* line 131, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-btn.is-primary:hover {
  background: var(--erp-ui-accent-hover);
  color: var(--erp-ui-accent-ink);
}

/* line 132, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-btn.is-danger {
  color: var(--erp-ui-critical-text);
}

/* line 133, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-btn:disabled, body.pwa-redesign .pw-btn.is-disabled {
  background: var(--erp-ui-hairline);
  border-color: var(--erp-ui-hairline);
  color: var(--erp-ui-ink-2);
  cursor: not-allowed;
  pointer-events: none;
}

/* line 135, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

/* line 136, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-three {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

/* line 137, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-span-2 {
  grid-column: span 2;
}

/* line 139, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ico {
  width: 36px;
  height: 36px;
  border-radius: 6px;
  background: var(--erp-ui-page);
  color: var(--pw-link);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
}

/* line 142, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ico.warning {
  background: var(--erp-ui-warning-soft);
  color: var(--erp-ui-warning-text);
}

/* line 143, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ico.critical {
  background: var(--erp-ui-critical-soft);
  color: var(--erp-ui-critical-text);
}

/* line 144, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ico.good {
  background: var(--erp-ui-good-soft);
  color: var(--erp-ui-good-text);
}

/* line 145, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ico.info {
  background: var(--erp-ui-accent-soft);
  color: var(--pw-link);
}

/* line 146, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ico.is-sm {
  width: 32px;
  height: 32px;
}

/* line 150, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-seg {
  display: flex;
  background: var(--erp-ui-hairline);
  border-radius: 8px;
  padding: 4px;
  gap: 4px;
}

/* line 152, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-seg a, body.pwa-redesign .pw-seg button {
  flex: 1;
  min-height: 40px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  color: var(--erp-ui-ink-2);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  padding: 0 4px;
  text-align: center;
  white-space: nowrap;
  font-size: 14px;
}

/* line 157, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-seg .is-on {
  background: var(--erp-ui-surface);
  color: var(--pw-link);
  box-shadow: 0 1px 2px rgba(26, 32, 40, 0.12);
}

/* line 158, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-seg.is-four {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* line 159, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-seg.is-four button, body.pwa-redesign .pw-seg.is-four a {
  font-size: 13px;
}

/* line 163, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-tools {
  margin: -16px -16px 0;
  padding: 12px 16px;
  background: var(--erp-ui-surface);
  border-bottom: 1px solid var(--erp-ui-hairline);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* line 164, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-search {
  display: flex;
  gap: 8px;
}

/* line 165, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-input {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 8px;
  padding: 0 12px;
  color: var(--erp-ui-ink-2);
  background: var(--erp-ui-surface);
}

/* line 168, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-input input {
  border: 0;
  outline: 0;
  flex: 1;
  font: inherit;
  font-size: 15px;
  color: var(--erp-ui-ink);
  background: transparent;
  min-width: 0;
}

/* line 170, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-input, body.pwa-redesign .pw-textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 8px;
  padding: 10px 12px;
  font: inherit;
  font-size: 15px;
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink);
}

/* line 174, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-input {
  min-height: 48px;
}

/* line 175, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-textarea {
  min-height: 84px;
  resize: vertical;
}

/* line 176, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--erp-ui-ink);
}

/* line 177, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-icon-btn {
  width: 44px;
  height: 44px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 8px;
  background: var(--erp-ui-surface);
  color: var(--pw-link);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex: none;
}

/* line 183, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-item {
  display: flex;
  gap: 12px;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
  padding: 14px;
  text-decoration: none;
  color: var(--erp-ui-ink);
}

/* line 186, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-item:hover {
  color: var(--erp-ui-ink);
  border-color: var(--erp-ui-hairline-strong);
}

/* line 187, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-item.is-now {
  border-color: var(--pw-mark);
  box-shadow: inset 0 0 0 1px var(--pw-mark);
}

/* line 189, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-time {
  width: 52px;
  flex: none;
}

/* line 190, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-time b {
  display: block;
  font-size: 19px;
  font-variant-numeric: tabular-nums;
  color: var(--pw-link);
  line-height: 1.1;
}

/* line 191, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-time span {
  font-size: 12px;
  color: var(--erp-ui-ink-2);
}

/* line 192, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-item-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* line 193, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-item-body .pw-tags {
  margin-top: 6px;
}

/* line 196, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ln {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  min-height: 56px;
  box-sizing: border-box;
  border-top: 1px solid var(--erp-ui-hairline);
  text-decoration: none;
  color: var(--erp-ui-ink);
}

/* line 199, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ln:first-child {
  border-top: 0;
}

/* line 200, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ln:hover {
  color: var(--erp-ui-ink);
  background: var(--erp-ui-surface-2);
}

/* line 201, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ln.is-read .pw-title {
  font-weight: 500;
  color: var(--erp-ui-ink-2);
}

/* line 203, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ln-main {
  flex: 1;
  min-width: 0;
}

/* line 204, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ln-main strong {
  display: block;
  font-size: 15px;
  font-weight: 600;
}

/* line 205, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ln-time {
  width: 46px;
  flex: none;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: 14px;
  color: var(--pw-link);
}

/* line 206, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ln.is-top {
  align-items: flex-start;
  padding: 14px;
}

/* line 207, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-block {
  display: block;
}

/* line 208, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-when {
  margin-top: 4px;
}

/* line 209, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-link-center {
  display: block;
  text-align: center;
  padding: 12px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  color: var(--pw-link);
}

/* line 210, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ln.is-identity {
  min-height: 84px;
}

/* line 211, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-name {
  display: block;
  font-size: 17px;
  font-weight: 700;
}

/* line 212, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-inline-link {
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  color: var(--pw-link);
  padding: 10px 4px;
  flex: none;
}

/* line 213, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-text-link {
  font-weight: 600;
  color: var(--pw-link);
}

/* line 214, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-chip-btn {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 9999px;
  border: 1px solid var(--erp-ui-hairline-strong);
  background: var(--erp-ui-surface);
  color: var(--pw-link);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  flex: none;
}

/* line 220, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-pill[hidden], body.pwa-redesign .pw-chip-btn[hidden] {
  display: none;
}

/* line 221, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-form-block {
  margin: 0;
  display: block;
}

/* line 222, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-block-btn {
  width: 100%;
}

/* line 223, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-unread {
  width: 10px;
  height: 10px;
  border-radius: 9999px;
  background: var(--pw-mark);
  flex: none;
}

/* line 226, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-qa a {
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
  padding: 12px 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 84px;
  text-decoration: none;
  color: var(--erp-ui-ink);
  font-size: 13px;
  font-weight: 600;
  text-align: center;
}

/* line 233, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-bars {
  display: flex;
  gap: 4px;
}

/* line 234, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-bars span {
  flex: 1;
  height: 6px;
  border-radius: 9999px;
  background: var(--erp-ui-hairline);
}

/* line 235, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-bars span.is-on {
  background: var(--pw-mark);
}

/* line 238, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-step {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid var(--erp-ui-hairline);
  text-decoration: none;
  color: var(--erp-ui-ink);
  min-height: 48px;
}

/* line 239, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-step:first-of-type {
  border-top: 0;
}

/* line 240, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-step:hover {
  color: var(--erp-ui-ink);
}

/* line 241, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-mark {
  width: 28px;
  height: 28px;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  font-size: 13px;
  font-weight: 700;
  box-sizing: border-box;
}

/* line 244, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-mark.is-done {
  background: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
}

/* line 245, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-mark.is-todo {
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink-2);
  border: 2px solid var(--erp-ui-hairline-strong);
}

/* line 246, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-mark.is-warn {
  background: var(--erp-ui-warning-soft);
  color: var(--erp-ui-warning-text);
}

/* line 247, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-mark.is-bad {
  background: var(--erp-ui-critical-soft);
  color: var(--erp-ui-critical-text);
}

/* line 248, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-mark.is-good {
  background: var(--erp-ui-good-soft);
  color: var(--erp-ui-good-text);
}

/* line 252, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-tabs {
  display: flex;
  border-bottom: 1px solid var(--erp-ui-hairline-strong);
  gap: 4px;
}

/* line 254, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-tabs button, body.pwa-redesign .pw-tabs a {
  flex: 1;
  min-height: 44px;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  color: var(--erp-ui-ink-2);
  cursor: pointer;
  border-bottom: 3px solid transparent;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 259, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-tabs [aria-selected="true"] {
  color: var(--pw-link);
  border-bottom-color: var(--pw-mark);
}

/* line 263, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-card.is-steps {
  gap: 0;
}

/* line 264, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-card.is-steps .pw-sec-row {
  margin-bottom: 4px;
}

/* line 265, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-step.is-link {
  cursor: pointer;
}

/* line 266, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-step.is-link:hover .pw-ln-main strong {
  color: var(--pw-link);
}

/* line 267, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-step .pw-ln-main strong {
  display: block;
  font-size: 15px;
}

/* line 268, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-clickable {
  cursor: pointer;
  margin: 0;
}

/* line 269, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-link-btn {
  background: transparent;
  border: 0;
  padding: 0;
  font: inherit;
  cursor: pointer;
}

/* line 275, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign a.pw-text-link, body.pwa-redesign button.pw-text-link, body.pwa-redesign label.pw-text-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  padding: 0 4px;
  margin: -12px -4px;
}

/* line 279, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-small {
  font-size: 13px;
}

/* line 280, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-pre {
  white-space: pre-line;
}

/* line 281, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-span-3 {
  grid-column: 1 / -1;
}

/* line 282, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sig-image {
  max-width: 100%;
  height: 120px;
  object-fit: contain;
  background: #fff;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 6px;
}

/* line 283, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-timeline {
  list-style: none;
  margin: 0;
  padding: 0 0 0 18px;
  border-left: 2px solid var(--erp-ui-hairline);
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* line 284, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-timeline li {
  position: relative;
}

/* line 285, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-timeline li::before {
  content: "";
  position: absolute;
  left: -25px;
  top: 5px;
  width: 10px;
  height: 10px;
  border-radius: 9999px;
  background: var(--pw-mark);
}

/* line 286, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-btn.is-danger-solid {
  background: var(--erp-ui-critical);
  border-color: var(--erp-ui-critical);
  color: #fff;
}

/* line 287, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-dialog {
  border: 0;
  border-radius: 8px;
  padding: 16px;
  width: 92%;
  max-width: 420px;
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink);
  box-shadow: 0 16px 40px rgba(26, 32, 40, 0.3);
}

/* line 290, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-dialog::backdrop {
  background: rgba(26, 32, 40, 0.5);
}

/* line 291, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-dialog:not([open]) {
  display: none;
}

/* line 293, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hd .pw-menu-panel {
  color: var(--erp-ui-ink);
}

/* line 294, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-dialog.is-tall {
  max-height: 90vh;
  overflow-y: auto;
}

/* line 295, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-dialog .alert {
  margin: 0;
  border: 0;
}

/* line 296, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-dialog .alert-warning, body.pwa-redesign .pw-dialog .alert-danger {
  background: var(--erp-ui-warning-soft);
  color: var(--erp-ui-warning-text);
}

/* line 297, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-dialog .alert-success {
  background: var(--erp-ui-good-soft);
  color: var(--erp-ui-good-text);
}

/* line 298, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-check {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin: 0;
  cursor: pointer;
  font-weight: 400;
}

/* line 299, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-check input {
  width: 22px;
  height: 22px;
  margin-top: 1px;
  accent-color: var(--erp-ui-accent);
  flex: none;
}

/* line 302, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-msg {
  background: var(--erp-ui-page);
  border-radius: 8px;
  padding: 12px;
  font-size: 15px;
  line-height: 1.45;
  white-space: pre-line;
}

/* line 303, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-disclosure > summary {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  min-height: 44px;
}

/* line 304, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-disclosure > summary::-webkit-details-marker {
  display: none;
}

/* line 305, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-disclosure > summary:focus-visible {
  outline: 2px solid var(--pw-mark);
  outline-offset: 2px;
  border-radius: 6px;
}

/* line 306, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-disclosure .pw-when-open {
  display: none;
}

/* line 307, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-disclosure[open] .pw-when-open {
  display: inline;
}

/* line 308, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-disclosure[open] .pw-when-closed {
  display: none;
}

/* line 309, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-kv {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border-top: 1px solid var(--erp-ui-hairline);
  font-size: 14px;
}

/* line 310, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-kv span:first-child {
  color: var(--erp-ui-ink-2);
  flex: none;
}

/* line 311, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-kv span:last-child {
  text-align: right;
  font-weight: 600;
}

/* line 314, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-move {
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
  overflow: hidden;
}

/* line 315, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-move.is-now {
  border-color: var(--pw-mark);
  box-shadow: inset 0 0 0 1px var(--pw-mark);
}

/* line 316, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-move-body {
  display: flex;
  gap: 12px;
  padding: 14px;
  text-decoration: none;
  color: var(--erp-ui-ink);
}

/* line 317, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-move-body:hover {
  color: var(--erp-ui-ink);
}

/* line 318, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-move-body .pw-item-body > span:not(.pw-title):not(.pw-muted):not(.pw-tags) {
  font-size: 15px;
}

/* line 319, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-move-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--erp-ui-hairline);
}

/* line 320, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-move-actions > a, body.pwa-redesign .pw-move-actions button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 48px;
  width: 100%;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  color: var(--pw-link);
  background: transparent;
  border: 0;
  cursor: pointer;
}

/* line 324, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-move-actions > * + * {
  border-left: 1px solid var(--erp-ui-hairline);
}

/* line 325, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-move-actions > :only-child {
  grid-column: 1 / -1;
}

/* line 326, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-move-actions .is-primary {
  font-weight: 700;
}

/* line 328, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-foot-note[hidden] {
  display: none;
}

/* line 330, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-btn[aria-disabled="true"] {
  background: var(--erp-ui-hairline);
  border-color: var(--erp-ui-hairline);
  color: var(--erp-ui-ink-2);
}

/* line 333, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ctx {
  font-size: 13px;
  color: var(--erp-ui-ink-2);
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
  padding: 8px 12px;
}

/* line 334, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-ctx:empty {
  display: none;
}

/* line 335, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-seg-opt {
  flex: 1;
  position: relative;
  display: flex;
  margin: 0;
}

/* line 336, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-seg-opt input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}

/* line 337, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-seg-opt span {
  flex: 1;
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--erp-ui-ink-2);
  cursor: pointer;
  white-space: nowrap;
}

/* line 341, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-seg-opt input:checked + span {
  background: var(--erp-ui-surface);
  color: var(--pw-link);
  box-shadow: 0 1px 2px rgba(26, 32, 40, 0.12);
}

/* line 342, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-seg-opt input:focus-visible + span {
  outline: 2px solid var(--pw-mark);
  outline-offset: 1px;
}

/* line 343, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-opt.is-when {
  min-height: 64px;
}

/* line 344, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign a.pw-opt {
  text-decoration: none;
}

/* line 345, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign a.pw-opt:hover {
  color: var(--erp-ui-ink);
}

/* line 346, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-card.is-plain {
  flex-direction: row;
  align-items: flex-start;
}

/* line 347, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-card.is-done-card {
  align-items: center;
  text-align: center;
  padding: 24px 16px;
}

/* line 348, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-card.is-done-card .pw-two {
  width: 100%;
}

/* line 349, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-chip .pw-avatar {
  margin-left: -6px;
}

/* line 352, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-opt {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  text-align: left;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
  padding: 12px 14px;
  font: inherit;
  color: var(--erp-ui-ink);
  cursor: pointer;
  min-height: 56px;
  box-sizing: border-box;
  margin: 0;
}

/* line 356, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-opt.is-on, body.pwa-redesign .pw-opt:has(input:checked) {
  border: 2px solid var(--pw-mark);
  padding: 11px 13px;
  background: var(--erp-ui-surface-2);
}

/* line 357, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-opt input[type="radio"], body.pwa-redesign .pw-opt input[type="checkbox"] {
  width: 22px;
  height: 22px;
  accent-color: var(--erp-ui-accent);
  flex: none;
  margin: 0;
}

/* line 359, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* line 360, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-chip {
  min-height: 44px;
  padding: 0 14px;
  border-radius: 9999px;
  border: 1px solid var(--erp-ui-hairline-strong);
  background: var(--erp-ui-surface);
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  color: var(--erp-ui-ink);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  text-decoration: none;
}

/* line 364, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-chip input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}

/* line 365, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-chip:hover {
  color: var(--erp-ui-ink);
}

/* line 366, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-chip.is-on:hover {
  color: var(--erp-ui-accent-ink);
}

/* line 367, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-chip.is-on, body.pwa-redesign .pw-chip:has(input:checked) {
  background: var(--erp-ui-accent);
  border-color: var(--erp-ui-accent);
  color: var(--erp-ui-accent-ink);
}

/* line 368, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-chip:has(input:focus-visible) {
  outline: 2px solid var(--pw-mark);
  outline-offset: 2px;
}

/* line 370, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-avatar {
  width: 26px;
  height: 26px;
  border-radius: 9999px;
  background: var(--erp-ui-accent-soft);
  color: var(--pw-link);
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
}

/* line 374, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-avatar.is-lg {
  width: 52px;
  height: 52px;
  font-size: 18px;
}

/* line 377, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-switch {
  position: relative;
  width: 52px;
  height: 32px;
  border-radius: 9999px;
  border: 0;
  cursor: pointer;
  flex: none;
  padding: 0;
  background: var(--erp-ui-hairline-strong);
}

/* line 380, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-switch::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 24px;
  height: 24px;
  border-radius: 9999px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(26, 32, 40, 0.25);
}

/* line 381, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-switch[aria-checked="true"] {
  background: var(--pw-mark);
}

/* line 382, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-switch[aria-checked="true"]::after {
  left: 24px;
}

/* line 383, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-switch:focus-visible {
  outline: 2px solid var(--pw-mark);
  outline-offset: 2px;
}

/* line 387, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-stepper {
  margin: -16px -16px 0;
  padding: 12px 16px;
  background: var(--erp-ui-surface);
  border-bottom: 1px solid var(--erp-ui-hairline);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* line 388, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-stepper-labels {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--erp-ui-ink-2);
}

/* line 389, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-stepper-labels .is-on {
  color: var(--pw-link);
}

/* line 390, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hint {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  background: var(--erp-ui-accent-soft);
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 13px;
  color: var(--erp-ui-ink);
}

/* line 391, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hint > svg, body.pwa-redesign .pw-note > svg {
  flex: none;
  margin-top: 1px;
}

/* line 392, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hint.is-critical {
  background: var(--erp-ui-critical-soft);
  color: var(--erp-ui-critical-text);
}

/* line 393, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-hint.is-warning {
  background: var(--erp-ui-warning-soft);
  color: var(--erp-ui-warning-text);
}

/* line 394, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-note {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 13px;
  color: var(--erp-ui-ink-2);
}

/* line 395, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-review-row {
  display: flex;
  gap: 12px;
  padding: 12px 14px;
  border-top: 1px solid var(--erp-ui-hairline);
  align-items: flex-start;
}

/* line 396, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-review-row:first-child {
  border-top: 0;
}

/* line 397, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-review-row .k {
  width: 92px;
  flex: none;
  font-size: 13px;
  font-weight: 700;
  color: var(--erp-ui-ink-2);
  padding-top: 1px;
}

/* line 398, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-review-row .v {
  flex: 1;
  min-width: 0;
}

/* line 399, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-review-row a {
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  color: var(--pw-link);
}

/* line 402, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-foot {
  position: sticky;
  bottom: calc(64px + env(safe-area-inset-bottom, 0px));
  z-index: 10;
  margin: 0 -16px -16px;
  padding: 12px 16px 16px;
  background: var(--erp-ui-surface);
  border-top: 1px solid var(--erp-ui-hairline);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

/* line 406, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-foot.is-stack {
  display: flex;
  flex-direction: column;
}

/* line 407, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-foot .pw-foot-note {
  grid-column: 1 / -1;
  text-align: center;
  margin: 0;
}

/* line 408, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-foot .pw-foot-note:empty {
  display: none;
}

/* line 413, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign.pw-no-nav .pwa-content {
  padding-bottom: calc(168px + env(safe-area-inset-bottom, 0px));
}

/* line 414, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign.pw-no-nav .pw-foot {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  z-index: 1000;
  padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
}

/* line 420, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-thumbs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

/* line 421, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-thumb {
  aspect-ratio: 1;
  border-radius: 6px;
  background: var(--erp-ui-hairline);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: var(--erp-ui-ink-2);
  overflow: hidden;
  text-decoration: none;
}

/* line 424, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* line 425, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-thumb.is-add {
  background: var(--erp-ui-surface);
  border: 1px dashed var(--erp-ui-hairline-strong);
  color: var(--pw-link);
  font-weight: 600;
  font-size: 13px;
  flex-direction: column;
  gap: 4px;
  cursor: pointer;
}

/* line 427, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-thumb[data-photo] {
  position: relative;
}

/* line 428, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-photo-view {
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}

/* line 429, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-photo-remove {
  position: absolute;
  right: 4px;
  bottom: 4px;
  padding: 4px 6px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 4px;
  background: var(--erp-ui-surface);
  color: var(--erp-ui-critical-text);
  font: inherit;
  cursor: pointer;
}

/* line 430, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-photo-dialog {
  width: 95vw;
  max-width: 720px;
  max-height: 90vh;
  padding: 12px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 8px;
  background: var(--erp-ui-surface);
}

/* line 431, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-photo-dialog::backdrop {
  background: rgba(26, 32, 40, 0.72);
}

/* line 432, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-photo-dialog img {
  display: block;
  max-width: 100%;
  max-height: 75vh;
  margin: 8px auto 0;
  object-fit: contain;
}

/* line 435, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sig {
  height: 150px;
  border: 1px dashed var(--erp-ui-hairline-strong);
  border-radius: 8px;
  background: var(--erp-ui-surface-2);
  position: relative;
  touch-action: none;
}

/* line 436, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sig canvas {
  width: 100%;
  height: 100%;
  display: block;
}

/* line 437, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sig {
  background: #fff;
  overflow: hidden;
}

/* line 438, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-sig-hint {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #5a6472;
  font-size: 14px;
  pointer-events: none;
}

/* line 441, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-menu {
  position: relative;
}

/* line 442, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-menu > summary {
  list-style: none;
}

/* line 443, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-menu > summary::-webkit-details-marker {
  display: none;
}

/* line 444, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-menu-panel {
  position: absolute;
  top: 48px;
  right: 0;
  width: 240px;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(26, 32, 40, 0.18);
  padding: 6px;
  display: flex;
  flex-direction: column;
  z-index: 1050;
}

/* line 448, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-menu-panel.is-filter {
  width: 300px;
  padding: 12px;
  gap: 8px;
}

/* line 449, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-icon-btn.is-on {
  border-color: var(--pw-mark);
  background: var(--erp-ui-accent-soft);
}

/* line 450, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-input:focus-within {
  border-color: var(--pw-mark);
  box-shadow: 0 0 0 1px var(--pw-mark);
}

/* line 451, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-menu > summary:focus-visible {
  outline: 2px solid var(--pw-mark);
  outline-offset: 2px;
}

/* line 452, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-menu-item {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0 12px;
  border-radius: 6px;
  text-decoration: none;
  color: var(--erp-ui-ink);
  font-size: 15px;
  font-weight: 500;
  background: transparent;
  border: 0;
  width: 100%;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
}

/* line 455, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-menu-item:hover {
  background: var(--erp-ui-page);
  color: var(--erp-ui-ink);
}

/* line 456, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-menu-item.is-danger {
  color: var(--erp-ui-critical-text);
}

/* line 458, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-menu-sep {
  height: 1px;
  background: var(--erp-ui-hairline);
  margin: 6px 0;
}

/* line 461, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-empty {
  text-align: center;
  padding: 32px 16px;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
  color: var(--erp-ui-ink-2);
}

/* line 462, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-empty strong {
  display: block;
  color: var(--erp-ui-ink);
  margin-bottom: 4px;
}

/* line 465, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pwa-bottom-nav {
  display: flex;
  background: var(--erp-ui-surface);
  border-top: 1px solid var(--erp-ui-hairline);
  padding: 6px 4px calc(12px + env(safe-area-inset-bottom, 0px));
}

/* line 466, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pwa-bottom-nav .pwa-nav-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  font-size: 12px;
  font-weight: 600;
  color: var(--erp-ui-ink-2);
  text-decoration: none;
  min-height: 52px;
  justify-content: center;
  background: transparent;
  border-radius: 0;
}

/* line 470, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pwa-bottom-nav .pwa-nav-item.active {
  color: var(--pw-link);
  background: transparent;
}

/* line 471, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-nav-ico {
  width: 56px;
  height: 30px;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

/* line 472, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pwa-bottom-nav .pwa-nav-item.active .pw-nav-ico {
  background: var(--erp-ui-accent-soft);
}

/* line 473, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-nav-badge {
  position: absolute;
  top: -2px;
  right: 6px;
  min-width: 18px;
  height: 18px;
  border-radius: 9999px;
  background: var(--erp-ui-critical);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 5px;
  box-sizing: border-box;
}

/* line 482, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign [hidden]:not(#pw-hidden-guard) {
  display: none;
}

/* line 486, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-part-results {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* line 487, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-part-option {
  width: 100%;
  justify-content: flex-start;
  text-align: left;
  white-space: normal;
}

/* line 488, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-part-hints {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 10px 12px;
  border: 1px dashed var(--erp-ui-hairline-strong);
  border-radius: 8px;
  background: var(--erp-ui-surface-2);
}

/* line 491, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-part-hints > p {
  flex: 1 1 100%;
  margin: 0;
}

/* line 492, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-part-hints .pw-field-part-option {
  width: auto;
}

/* line 494, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-stepper {
  display: flex;
  align-items: stretch;
  gap: 6px;
  margin-top: 4px;
}

/* line 496, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-stepper .pw-field-input {
  width: 96px;
  text-align: center;
}

/* line 497, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-stepper .pw-btn {
  min-width: 48px;
  justify-content: center;
  font-size: 20px;
}

/* line 499, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-parts {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* line 502, app/assets/stylesheets/components/_pwa_v2.scss */
body.pwa-redesign .pw-field-quantity {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* line 8, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-items {
  padding: 0;
}

/* line 10, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "text  answer" "obs   obs" "photo photo";
  gap: 8px 16px;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 22, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-item:last-child {
  border-bottom: 0;
}

/* line 23, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-item.is-nc {
  background: var(--erp-ui-critical-wash);
}

/* line 26, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-item-text {
  grid-area: text;
  display: flex;
  gap: 6px;
  font-size: 14px;
  line-height: 1.4;
}

/* line 27, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-item-num {
  color: var(--erp-ui-ink-3);
  font-variant-numeric: tabular-nums;
}

/* line 28, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-item-answer {
  grid-area: answer;
}

/* line 29, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-item-obs {
  grid-area: obs;
}

/* line 31, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-item-photo {
  grid-area: photo;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  align-items: center;
}

/* line 39, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-photo-label {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  color: var(--erp-ui-ink-2);
}

/* line 46, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-photo-file {
  max-width: 100%;
  font-size: 12.5px;
}

/* line 48, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-photo-thumb {
  display: block;
  max-width: 120px;
  max-height: 90px;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 6px;
}

/* line 56, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-photo-link {
  display: inline-block;
  margin-top: 4px;
}

/* line 57, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-item-obs textarea {
  min-height: 34px;
}

/* line 59, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-choice {
  display: inline-flex;
  gap: 6px;
}

/* line 66, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-choice-input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}

/* line 73, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-choice-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 52px;
  height: 44px;
  margin: 0;
  padding: 0 12px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-surface);
  color: var(--erp-ui-ink-2);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  user-select: none;
}

/* line 91, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-choice-input:focus-visible + .ck-choice-btn {
  outline: 2px solid var(--erp-ui-accent);
  outline-offset: 2px;
}

/* line 96, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-choice-input:checked + .ck-choice-conforming {
  background: var(--erp-ui-good-soft);
  border: 2px solid var(--erp-ui-good);
  color: var(--erp-ui-good-text);
}

/* line 102, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-choice-input:checked + .ck-choice-non_conforming {
  background: var(--erp-ui-critical-soft);
  border: 2px solid var(--erp-ui-critical);
  color: var(--erp-ui-critical-text);
}

/* line 108, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-choice-input:checked + .ck-choice-not_applicable {
  background: var(--erp-ui-surface-2);
  border: 2px solid var(--erp-ui-ink-3);
  color: var(--erp-ui-ink);
}

/* line 114, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-measure {
  display: flex;
  gap: 6px;
  align-items: center;
}

/* line 119, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-measure input {
  width: 130px;
  text-align: right;
}

/* line 122, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-unit {
  font-size: 13px;
  color: var(--erp-ui-ink-2);
}

/* line 128, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-item {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "text" "answer" "obs" "photo";
}

/* line 137, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-choice {
  display: flex;
}

/* line 138, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-choice-btn {
  flex: 1 1 0;
}

/* line 146, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-pad {
  padding: 12px;
}

/* line 148, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-ident {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 10px 14px;
}

/* line 154, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-ident-field label {
  display: block;
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 600;
  color: var(--erp-ui-ink-2);
}

/* line 162, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-ident-hint {
  margin: 8px 0 0;
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 168, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-witnesses {
  display: grid;
  gap: 14px;
}

/* line 170, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-witness {
  min-width: 0;
  margin: 0;
  padding: 10px 12px 12px;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
}

/* line 177, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-witness legend {
  width: auto;
  margin: 0;
  padding: 0 4px;
  font-size: 13px;
  font-weight: 700;
  color: var(--erp-ui-ink);
}

/* line 186, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-witness small {
  font-weight: 400;
  color: var(--erp-ui-ink-3);
}

/* line 189, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-signature-canvas {
  display: block;
  width: 100%;
  height: 180px;
  margin: 8px 0;
  border: 1px dashed var(--erp-ui-hairline-strong);
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-surface);
  touch-action: none;
}

/* line 200, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-witness .ck-signature-canvas {
  height: 150px;
}

/* line 202, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-release {
  min-width: 0;
  margin: 0 0 10px;
  padding: 0;
  border: 0;
}

/* line 208, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-release legend {
  width: auto;
  margin: 0 0 6px;
}

/* line 211, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-release-option {
  display: flex;
  gap: 8px;
  align-items: center;
  min-height: 40px;
  margin: 0 0 6px;
  padding: 6px 10px;
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: var(--erp-ui-radius);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

/* line 224, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-release-option input {
  margin: 0;
}

/* line 225, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-release-option:has(input:disabled) {
  opacity: .55;
  cursor: not-allowed;
}

/* line 228, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-release-result {
  display: inline-block;
  margin: 0 0 8px;
  padding: 4px 10px;
  border: 2px solid var(--erp-ui-good);
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-good-soft);
  color: var(--erp-ui-good-text);
  font-weight: 700;
}

/* line 238, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-release-result.is-released_with_comments {
  border-color: var(--erp-ui-warning);
  background: var(--erp-ui-warning-soft);
  color: var(--erp-ui-warning-text);
}

/* line 244, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-release-result.is-not_released {
  border-color: var(--erp-ui-critical);
  background: var(--erp-ui-critical-soft);
  color: var(--erp-ui-critical-text);
}

/* line 253, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-release-notes {
  margin: 4px 0 0;
}

/* line 254, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-release-field:has(input[value="released"]:checked) .ck-release-notes {
  display: none;
}

/* line 255, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-release-notes-read {
  margin: 0 0 8px;
  white-space: pre-line;
}

/* line 257, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-bulletin {
  margin: 0 0 14px;
  padding: 12px 16px;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-surface);
}

/* line 265, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-bulletin-number {
  margin: 0 0 8px;
  font-size: 13px;
  color: var(--erp-ui-ink-2);
}

/* line 267, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-ident-read {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 8px 14px;
  margin: 0;
}

/* line 273, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-ident-read dt {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--erp-ui-ink-3);
}

/* line 274, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-ident-read dd {
  margin: 0;
  font-size: 14px;
  color: var(--erp-ui-ink);
}

/* line 277, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-divergence {
  display: block;
  font-size: 12px;
  color: var(--erp-ui-warning-text);
}

/* line 283, app/assets/stylesheets/components/_checklist_fill.scss */
body.pwa-redesign .pwa-checklist .ck-witness-read {
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
  font-size: 13px;
}

/* line 281, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-checklist .ck-section-title {
  margin: 18px 0 8px;
  font-size: 15px;
  font-weight: 700;
  color: var(--erp-ui-ink);
}

/* line 282, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-checklist .ck-items {
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 8px;
}

/* line 283, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-checklist .ck-item {
  padding: 12px;
}

/* line 284, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-checklist .ck-inline-check {
  display: flex;
  gap: 6px;
  align-items: center;
  margin: 0;
  font-size: 13px;
  font-weight: 400;
}

/* line 285, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-checklist .ck-status {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}

/* line 286, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-checklist .ck-progress {
  flex: 1 1 100%;
}

/* line 287, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-checklist .ck-progress label {
  display: block;
  margin-bottom: 4px;
  font-size: 13px;
  color: var(--erp-ui-ink-2);
}

/* line 288, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-checklist .ck-progress progress {
  display: block;
  width: 100%;
  height: 10px;
  border: 0;
  border-radius: 999px;
  background: var(--erp-ui-hairline);
  -webkit-appearance: none;
  appearance: none;
}

/* line 289, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-checklist .ck-progress progress::-webkit-progress-bar {
  background: var(--erp-ui-hairline);
  border-radius: 999px;
}

/* line 290, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-checklist .ck-progress progress::-webkit-progress-value {
  background: var(--erp-ui-accent);
  border-radius: 999px;
}

/* line 291, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-checklist .ck-progress progress::-moz-progress-bar {
  background: var(--erp-ui-accent);
  border-radius: 999px;
}

/* line 292, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-checklist .ck-returned {
  border: 1px solid var(--erp-ui-warning);
  background: var(--erp-ui-warning-soft);
  color: var(--erp-ui-ink);
  padding: 10px 12px;
  border-radius: 6px;
  margin: 12px 0;
}

/* line 293, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-checklist .ck-returned strong {
  display: block;
  color: var(--erp-ui-warning-text);
}

/* line 294, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-checklist .ck-sticky-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 16px;
}

/* line 295, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-checklist .ck-answer-nc {
  color: var(--erp-ui-critical-text);
  font-weight: 700;
}

/* line 297, app/assets/stylesheets/pwa-ui.scss */
body.pwa-redesign .pwa-checklist .ck-item-obs textarea {
  min-height: 56px;
}
@charset "UTF-8";
/* Rental Consolidado - Combina rentals.scss, rental_dashboard_modern.scss, rental_items.scss e rental_items_modal.scss */
/* ============================================================================
   RENTALS BASE STYLES
   ============================================================================ */
/* Estilos base para módulo de aluguel */
/* line 8, app/assets/stylesheets/rental-consolidated.scss */
.rental-container {
  padding: 20px;
  background: #f8f9fa;
  min-height: 100vh;
}

/* line 14, app/assets/stylesheets/rental-consolidated.scss */
.rental-header {
  background: white;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  margin-bottom: 20px;
}

/* line 22, app/assets/stylesheets/rental-consolidated.scss */
.rental-title {
  font-size: 24px;
  font-weight: 600;
  color: #2c3e50;
  margin: 0 0 10px 0;
}

/* line 29, app/assets/stylesheets/rental-consolidated.scss */
.rental-subtitle {
  color: #6c757d;
  font-size: 16px;
  margin: 0;
}

/* line 35, app/assets/stylesheets/rental-consolidated.scss */
.rental-actions {
  margin-top: 15px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* line 42, app/assets/stylesheets/rental-consolidated.scss */
.rental-btn {
  padding: 8px 16px;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

/* line 56, app/assets/stylesheets/rental-consolidated.scss */
.rental-btn-primary {
  background: #007bff;
  color: white;
}

/* line 61, app/assets/stylesheets/rental-consolidated.scss */
.rental-btn-primary:hover {
  background: #0056b3;
  color: white;
}

/* line 66, app/assets/stylesheets/rental-consolidated.scss */
.rental-btn-success {
  background: #28a745;
  color: white;
}

/* line 71, app/assets/stylesheets/rental-consolidated.scss */
.rental-btn-success:hover {
  background: #1e7e34;
  color: white;
}

/* line 76, app/assets/stylesheets/rental-consolidated.scss */
.rental-btn-warning {
  background: #ffc107;
  color: #212529;
}

/* line 81, app/assets/stylesheets/rental-consolidated.scss */
.rental-btn-warning:hover {
  background: #e0a800;
  color: #212529;
}

/* line 86, app/assets/stylesheets/rental-consolidated.scss */
.rental-btn-danger {
  background: #dc3545;
  color: white;
}

/* line 91, app/assets/stylesheets/rental-consolidated.scss */
.rental-btn-danger:hover {
  background: #c82333;
  color: white;
}

/* ============================================================================
   RENTAL DASHBOARD MODERN
   ============================================================================ */
/* Dashboard moderno para aluguel */
/* line 101, app/assets/stylesheets/rental-consolidated.scss */
.rental-dashboard {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
  margin-bottom: 30px;
}

/* line 108, app/assets/stylesheets/rental-consolidated.scss */
.rental-card {
  background: white;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.07);
  transition: all 0.3s ease;
  border: 1px solid #e9ecef;
}

/* line 117, app/assets/stylesheets/rental-consolidated.scss */
.rental-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

/* line 122, app/assets/stylesheets/rental-consolidated.scss */
.rental-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}

/* line 129, app/assets/stylesheets/rental-consolidated.scss */
.rental-card-title {
  font-size: 18px;
  font-weight: 600;
  color: #2c3e50;
  margin: 0;
}

/* line 136, app/assets/stylesheets/rental-consolidated.scss */
.rental-card-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: white;
}

/* line 147, app/assets/stylesheets/rental-consolidated.scss */
.rental-card-icon.primary {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

/* line 151, app/assets/stylesheets/rental-consolidated.scss */
.rental-card-icon.success {
  background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
}

/* line 155, app/assets/stylesheets/rental-consolidated.scss */
.rental-card-icon.warning {
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
}

/* line 159, app/assets/stylesheets/rental-consolidated.scss */
.rental-card-icon.info {
  background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
}

/* line 163, app/assets/stylesheets/rental-consolidated.scss */
.rental-card-value {
  font-size: 32px;
  font-weight: 700;
  color: #2c3e50;
  margin: 0 0 5px 0;
}

/* line 170, app/assets/stylesheets/rental-consolidated.scss */
.rental-card-label {
  color: #6c757d;
  font-size: 14px;
  margin: 0;
}

/* line 176, app/assets/stylesheets/rental-consolidated.scss */
.rental-card-change {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 15px;
  font-size: 14px;
}

/* line 184, app/assets/stylesheets/rental-consolidated.scss */
.rental-card-change.positive {
  color: #28a745;
}

/* line 188, app/assets/stylesheets/rental-consolidated.scss */
.rental-card-change.negative {
  color: #dc3545;
}

/* line 192, app/assets/stylesheets/rental-consolidated.scss */
.rental-card-change.neutral {
  color: #6c757d;
}

/* Gráficos e estatísticas */
/* line 197, app/assets/stylesheets/rental-consolidated.scss */
.rental-chart-container {
  background: white;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.07);
  margin-bottom: 20px;
}

/* line 205, app/assets/stylesheets/rental-consolidated.scss */
.rental-chart-title {
  font-size: 20px;
  font-weight: 600;
  color: #2c3e50;
  margin: 0 0 20px 0;
}

/* line 212, app/assets/stylesheets/rental-consolidated.scss */
.rental-chart {
  height: 300px;
  position: relative;
}

/* Tabelas de dashboard */
/* line 218, app/assets/stylesheets/rental-consolidated.scss */
.rental-table-container {
  background: white;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.07);
  overflow: hidden;
}

/* line 226, app/assets/stylesheets/rental-consolidated.scss */
.rental-table {
  width: 100%;
  border-collapse: collapse;
}

/* line 231, app/assets/stylesheets/rental-consolidated.scss */
.rental-table th {
  background: #f8f9fa;
  padding: 15px;
  text-align: left;
  font-weight: 600;
  color: #2c3e50;
  border-bottom: 2px solid #dee2e6;
}

/* line 240, app/assets/stylesheets/rental-consolidated.scss */
.rental-table td {
  padding: 15px;
  border-bottom: 1px solid #dee2e6;
  color: #495057;
}

/* line 246, app/assets/stylesheets/rental-consolidated.scss */
.rental-table tr:hover {
  background: #f8f9fa;
}

/* ============================================================================
   RENTAL ITEMS
   ============================================================================ */
/* Estilos para itens de aluguel */
/* line 255, app/assets/stylesheets/rental-consolidated.scss */
.rental-items {
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

/* line 262, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-header {
  background: #f8f9fa;
  padding: 20px;
  border-bottom: 1px solid #dee2e6;
}

/* line 268, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-title {
  font-size: 20px;
  font-weight: 600;
  color: #2c3e50;
  margin: 0;
}

/* line 275, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-filters {
  display: flex;
  gap: 15px;
  margin-top: 15px;
  flex-wrap: wrap;
}

/* line 282, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-filter {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

/* line 288, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-filter label {
  font-size: 14px;
  font-weight: 500;
  color: #495057;
}

/* line 294, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-filter select,
.rental-items-filter input {
  padding: 8px 12px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  font-size: 14px;
  min-width: 150px;
}

/* line 303, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-filter select:focus,
.rental-items-filter input:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

/* line 310, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-list {
  padding: 0;
  margin: 0;
  list-style: none;
}

/* line 316, app/assets/stylesheets/rental-consolidated.scss */
.rental-item {
  padding: 20px;
  border-bottom: 1px solid #dee2e6;
  transition: background-color 0.3s ease;
}

/* line 322, app/assets/stylesheets/rental-consolidated.scss */
.rental-item:hover {
  background: #f8f9fa;
}

/* line 326, app/assets/stylesheets/rental-consolidated.scss */
.rental-item:last-child {
  border-bottom: none;
}

/* line 330, app/assets/stylesheets/rental-consolidated.scss */
.rental-item-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 15px;
}

/* line 337, app/assets/stylesheets/rental-consolidated.scss */
.rental-item-title {
  font-size: 18px;
  font-weight: 600;
  color: #2c3e50;
  margin: 0;
}

/* line 344, app/assets/stylesheets/rental-consolidated.scss */
.rental-item-status {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
}

/* line 352, app/assets/stylesheets/rental-consolidated.scss */
.rental-item-status.active {
  background: #d4edda;
  color: #155724;
}

/* line 357, app/assets/stylesheets/rental-consolidated.scss */
.rental-item-status.inactive {
  background: #f8d7da;
  color: #721c24;
}

/* line 362, app/assets/stylesheets/rental-consolidated.scss */
.rental-item-status.pending {
  background: #fff3cd;
  color: #856404;
}

/* line 367, app/assets/stylesheets/rental-consolidated.scss */
.rental-item-details {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 15px;
  margin-bottom: 15px;
}

/* line 374, app/assets/stylesheets/rental-consolidated.scss */
.rental-item-detail {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

/* line 380, app/assets/stylesheets/rental-consolidated.scss */
.rental-item-detail-label {
  font-size: 12px;
  color: #6c757d;
  text-transform: uppercase;
  font-weight: 500;
}

/* line 387, app/assets/stylesheets/rental-consolidated.scss */
.rental-item-detail-value {
  font-size: 14px;
  color: #495057;
  font-weight: 500;
}

/* line 393, app/assets/stylesheets/rental-consolidated.scss */
.rental-item-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* line 399, app/assets/stylesheets/rental-consolidated.scss */
.rental-item-btn {
  padding: 6px 12px;
  border: none;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
}

/* line 410, app/assets/stylesheets/rental-consolidated.scss */
.rental-item-btn-primary {
  background: #007bff;
  color: white;
}

/* line 415, app/assets/stylesheets/rental-consolidated.scss */
.rental-item-btn-primary:hover {
  background: #0056b3;
}

/* line 419, app/assets/stylesheets/rental-consolidated.scss */
.rental-item-btn-success {
  background: #28a745;
  color: white;
}

/* line 424, app/assets/stylesheets/rental-consolidated.scss */
.rental-item-btn-success:hover {
  background: #1e7e34;
}

/* line 428, app/assets/stylesheets/rental-consolidated.scss */
.rental-item-btn-warning {
  background: #ffc107;
  color: #212529;
}

/* line 433, app/assets/stylesheets/rental-consolidated.scss */
.rental-item-btn-warning:hover {
  background: #e0a800;
}

/* line 437, app/assets/stylesheets/rental-consolidated.scss */
.rental-item-btn-danger {
  background: #dc3545;
  color: white;
}

/* line 442, app/assets/stylesheets/rental-consolidated.scss */
.rental-item-btn-danger:hover {
  background: #c82333;
}

/* ============================================================================
   RENTAL ITEMS MODAL
   ============================================================================ */
/* Modal para itens de aluguel */
/* line 451, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1050;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

/* line 467, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-modal.show {
  opacity: 1;
  visibility: visible;
}

/* line 472, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-modal-content {
  background: white;
  border-radius: 12px;
  width: 90%;
  max-width: 600px;
  max-height: 90vh;
  overflow-y: auto;
  transform: scale(0.7);
  transition: transform 0.3s ease;
}

/* line 483, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-modal.show .rental-items-modal-content {
  transform: scale(1);
}

/* line 487, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-modal-header {
  padding: 20px 24px;
  border-bottom: 1px solid #dee2e6;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 495, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-modal-title {
  font-size: 20px;
  font-weight: 600;
  color: #2c3e50;
  margin: 0;
}

/* line 502, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-modal-close {
  background: none;
  border: none;
  font-size: 24px;
  color: #6c757d;
  cursor: pointer;
  padding: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.3s ease;
}

/* line 518, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-modal-close:hover {
  background: #f8f9fa;
  color: #495057;
}

/* line 523, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-modal-body {
  padding: 24px;
}

/* line 527, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-modal-form {
  display: grid;
  gap: 20px;
}

/* line 532, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-modal-form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* line 538, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-modal-form-label {
  font-size: 14px;
  font-weight: 500;
  color: #495057;
}

/* line 544, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-modal-form-input,
.rental-items-modal-form-select,
.rental-items-modal-form-textarea {
  padding: 10px 12px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 14px;
  transition: border-color 0.3s ease;
}

/* line 554, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-modal-form-input:focus,
.rental-items-modal-form-select:focus,
.rental-items-modal-form-textarea:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

/* line 562, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-modal-form-textarea {
  min-height: 100px;
  resize: vertical;
}

/* line 567, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-modal-footer {
  padding: 20px 24px;
  border-top: 1px solid #dee2e6;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

/* line 575, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-modal-btn {
  padding: 10px 20px;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
}

/* line 585, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-modal-btn-secondary {
  background: #6c757d;
  color: white;
}

/* line 590, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-modal-btn-secondary:hover {
  background: #5a6268;
}

/* line 594, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-modal-btn-primary {
  background: #007bff;
  color: white;
}

/* line 599, app/assets/stylesheets/rental-consolidated.scss */
.rental-items-modal-btn-primary:hover {
  background: #0056b3;
}

/* ============================================================================
   RESPONSIVIDADE
   ============================================================================ */
@media (max-width: 768px) {
  /* line 608, app/assets/stylesheets/rental-consolidated.scss */
  .rental-container {
    padding: 10px;
  }
  /* line 612, app/assets/stylesheets/rental-consolidated.scss */
  .rental-dashboard {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  /* line 617, app/assets/stylesheets/rental-consolidated.scss */
  .rental-card {
    padding: 20px;
  }
  /* line 621, app/assets/stylesheets/rental-consolidated.scss */
  .rental-card-value {
    font-size: 28px;
  }
  /* line 625, app/assets/stylesheets/rental-consolidated.scss */
  .rental-items-filters {
    flex-direction: column;
  }
  /* line 629, app/assets/stylesheets/rental-consolidated.scss */
  .rental-items-filter select,
.rental-items-filter input {
    min-width: 100%;
  }
  /* line 634, app/assets/stylesheets/rental-consolidated.scss */
  .rental-item-details {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  /* line 639, app/assets/stylesheets/rental-consolidated.scss */
  .rental-items-modal-content {
    width: 95%;
    margin: 10px;
  }
  /* line 644, app/assets/stylesheets/rental-consolidated.scss */
  .rental-items-modal-header,
.rental-items-modal-body,
.rental-items-modal-footer {
    padding: 15px;
  }
}

@media (max-width: 480px) {
  /* line 652, app/assets/stylesheets/rental-consolidated.scss */
  .rental-actions {
    flex-direction: column;
  }
  /* line 656, app/assets/stylesheets/rental-consolidated.scss */
  .rental-btn {
    width: 100%;
    justify-content: center;
  }
  /* line 661, app/assets/stylesheets/rental-consolidated.scss */
  .rental-item-header {
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
  }
  /* line 667, app/assets/stylesheets/rental-consolidated.scss */
  .rental-item-actions {
    justify-content: center;
  }
  /* line 671, app/assets/stylesheets/rental-consolidated.scss */
  .rental-items-modal-footer {
    flex-direction: column;
  }
  /* line 675, app/assets/stylesheets/rental-consolidated.scss */
  .rental-items-modal-btn {
    width: 100%;
  }
}

/* ============================================================================
   ANIMAÇÕES
   ============================================================================ */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* line 695, app/assets/stylesheets/rental-consolidated.scss */
.rental-card {
  animation: fadeInUp 0.5s ease;
}

/* line 699, app/assets/stylesheets/rental-consolidated.scss */
.rental-item {
  animation: fadeInUp 0.3s ease;
}

/* Loading states */
/* line 704, app/assets/stylesheets/rental-consolidated.scss */
.rental-loading {
  opacity: 0.6;
  pointer-events: none;
  position: relative;
}

/* line 710, app/assets/stylesheets/rental-consolidated.scss */
.rental-loading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
  border: 2px solid #f3f3f3;
  border-top: 2px solid #007bff;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Estados especiais */
/* line 730, app/assets/stylesheets/rental-consolidated.scss */
.rental-item.highlight {
  background: #fff3cd;
  border-left: 4px solid #ffc107;
}

/* line 735, app/assets/stylesheets/rental-consolidated.scss */
.rental-item.urgent {
  background: #f8d7da;
  border-left: 4px solid #dc3545;
}

/* line 740, app/assets/stylesheets/rental-consolidated.scss */
.rental-item.completed {
  background: #d4edda;
  border-left: 4px solid #28a745;
}
/* line 5, app/assets/stylesheets/rental_automation.scss */
.automation-card-compact {
  border: 1px solid #dee2e6;
  border-radius: 4px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* line 12, app/assets/stylesheets/rental_automation.scss */
.automation-header-compact {
  background: #e9ecef;
  color: #495057;
  padding: 8px 12px;
  border-radius: 4px 4px 0 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #dee2e6;
}

/* line 22, app/assets/stylesheets/rental_automation.scss */
.automation-header-compact h5 {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 6px;
  color: #495057;
}

/* line 31, app/assets/stylesheets/rental_automation.scss */
.automation-header-compact h5 i {
  font-size: 16px;
  color: #6c757d;
}

/* line 37, app/assets/stylesheets/rental_automation.scss */
.automation-header-compact > span {
  font-size: 11px;
  color: #6c757d;
}

/* line 44, app/assets/stylesheets/rental_automation.scss */
.automation-body-compact {
  padding: 10px;
}

/* line 49, app/assets/stylesheets/rental_automation.scss */
.mode-selector-compact {
  display: flex;
  gap: 6px;
  margin-bottom: 10px;
  padding: 6px;
  background: #f8f9fa;
  border-radius: 3px;
}

/* line 58, app/assets/stylesheets/rental_automation.scss */
.mode-btn-compact {
  flex: 1;
  padding: 5px 8px;
  border: 1px solid #dee2e6;
  background: white;
  border-radius: 3px;
  cursor: pointer;
  transition: all 0.2s;
  text-align: center;
  font-size: 11px;
  font-weight: 500;
}

/* line 70, app/assets/stylesheets/rental_automation.scss */
.mode-btn-compact i {
  display: block;
  font-size: 14px;
  margin-bottom: 1px;
}

/* line 76, app/assets/stylesheets/rental_automation.scss */
.mode-btn-compact small {
  font-size: 9px;
  opacity: 0.8;
}

/* line 81, app/assets/stylesheets/rental_automation.scss */
.mode-btn-compact:hover:not(.active) {
  border-color: #6c757d;
  background: #f8f9fa;
}

/* line 86, app/assets/stylesheets/rental_automation.scss */
.mode-btn-compact.active {
  border-color: #495057;
  background: #495057;
  color: white;
}

/* line 94, app/assets/stylesheets/rental_automation.scss */
.checkbox-group-compact {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 6px;
  margin-bottom: 10px;
}

/* line 102, app/assets/stylesheets/rental_automation.scss */
.checkbox-item-compact {
  display: flex;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid #e9ecef;
  border-radius: 3px;
  background: #fafafa;
  transition: all 0.2s;
}

/* line 111, app/assets/stylesheets/rental_automation.scss */
.checkbox-item-compact:hover {
  background: #f0f0f0;
  border-color: #6c757d;
}

/* line 118, app/assets/stylesheets/rental_automation.scss */
.automation-checkbox {
  position: static !important;
  margin: 0 !important;
  margin-right: 8px !important;
  flex-shrink: 0;
  width: 16px !important;
  height: 16px !important;
  cursor: pointer;
}

/* line 129, app/assets/stylesheets/rental_automation.scss */
.checkbox-label-compact {
  font-weight: 500;
  font-size: 12px;
  color: #212529;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  line-height: 1.3;
  cursor: pointer;
  flex: 1;
}

/* line 143, app/assets/stylesheets/rental_automation.scss */
.tooltip-wrapper-compact {
  position: relative;
  display: inline-block;
}

/* line 147, app/assets/stylesheets/rental_automation.scss */
.tooltip-wrapper-compact i {
  color: #6c757d;
  cursor: help;
  font-size: 12px;
  margin-left: 2px;
}

/* line 155, app/assets/stylesheets/rental_automation.scss */
.tooltip-content-compact {
  visibility: hidden;
  position: absolute;
  bottom: 125%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #333;
  color: #fff;
  text-align: left;
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 12px;
  white-space: normal;
  z-index: 1000;
  opacity: 0;
  transition: opacity 0.3s;
  max-width: 300px;
}

/* line 173, app/assets/stylesheets/rental_automation.scss */
.tooltip-content-compact::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: #333;
}

/* line 184, app/assets/stylesheets/rental_automation.scss */
.tooltip-wrapper-compact:hover .tooltip-content-compact {
  visibility: visible;
  opacity: 1;
}

/* line 190, app/assets/stylesheets/rental_automation.scss */
.notes-section-compact {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #e9ecef;
}

/* line 196, app/assets/stylesheets/rental_automation.scss */
.notes-label-compact {
  font-size: 11px;
  font-weight: 500;
  margin-bottom: 3px;
  color: #495057;
}

/* line 204, app/assets/stylesheets/rental_automation.scss */
.status-section-compact {
  margin-top: 10px;
  padding: 6px 8px;
  background: #d4edda;
  border: 1px solid #c3e6cb;
  border-radius: 3px;
  font-size: 11px;
}

/* line 213, app/assets/stylesheets/rental_automation.scss */
.status-row-compact {
  display: flex;
  justify-content: space-between;
  margin-bottom: 3px;
}

/* line 218, app/assets/stylesheets/rental_automation.scss */
.status-row-compact:last-child {
  margin-bottom: 0;
}

/* line 223, app/assets/stylesheets/rental_automation.scss */
.status-label-compact {
  font-weight: 500;
  color: #155724;
  font-size: 11px;
}

/* line 229, app/assets/stylesheets/rental_automation.scss */
.status-value-compact {
  color: #155724;
  font-size: 11px;
}

/* line 235, app/assets/stylesheets/rental_automation.scss */
.badge-sm {
  font-size: 9px !important;
  padding: 1px 4px !important;
}

/* line 244, app/assets/stylesheets/rental_automation.scss */
.automation-view-discrete {
  border: 1px solid #e9ecef;
  border-radius: 4px;
  background: #f8f9fa;
  overflow: hidden;
  transition: all 0.2s ease;
}

/* line 251, app/assets/stylesheets/rental_automation.scss */
.automation-view-discrete:hover {
  border-color: #dee2e6;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

/* line 257, app/assets/stylesheets/rental_automation.scss */
.automation-view-header {
  padding: 6px 10px;
  background: #f1f3f5;
  border-bottom: 1px solid #e9ecef;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  transition: background 0.2s ease;
  user-select: none;
}

/* line 268, app/assets/stylesheets/rental_automation.scss */
.automation-view-header:hover {
  background: #e9ecef;
}

/* line 273, app/assets/stylesheets/rental_automation.scss */
.automation-view-header[aria-expanded="true"] .automation-view-toggle i {
  transform: rotate(180deg);
}

/* line 279, app/assets/stylesheets/rental_automation.scss */
.automation-view-title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 500;
  color: #6c757d;
}

/* line 287, app/assets/stylesheets/rental_automation.scss */
.automation-view-title i {
  font-size: 12px;
  color: #adb5bd;
}

/* line 292, app/assets/stylesheets/rental_automation.scss */
.automation-view-title span {
  color: #495057;
}

/* line 298, app/assets/stylesheets/rental_automation.scss */
.automation-view-toggle i {
  font-size: 10px;
  color: #adb5bd;
  transition: transform 0.2s ease;
}

/* line 305, app/assets/stylesheets/rental_automation.scss */
.automation-view-body {
  padding: 10px 12px;
  background: white;
  font-size: 11px;
}

/* line 311, app/assets/stylesheets/rental_automation.scss */
.automation-view-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 0;
  margin-bottom: 4px;
}

/* line 318, app/assets/stylesheets/rental_automation.scss */
.automation-view-item:last-child {
  margin-bottom: 0;
}

/* line 323, app/assets/stylesheets/rental_automation.scss */
.automation-view-label {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #6c757d;
  font-size: 11px;
  font-weight: 500;
  flex: 1;
}

/* line 332, app/assets/stylesheets/rental_automation.scss */
.automation-view-label i {
  font-size: 10px;
  color: #adb5bd;
}

/* line 338, app/assets/stylesheets/rental_automation.scss */
.automation-view-value {
  display: flex;
  align-items: center;
  gap: 4px;
  flex: 0 0 auto;
}

/* line 345, app/assets/stylesheets/rental_automation.scss */
.automation-view-status {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid #e9ecef;
}

/* line 351, app/assets/stylesheets/rental_automation.scss */
.automation-view-notes {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid #e9ecef;
}

/* line 356, app/assets/stylesheets/rental_automation.scss */
.automation-view-notes .automation-view-item {
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

/* line 362, app/assets/stylesheets/rental_automation.scss */
.automation-view-notes .automation-view-value {
  width: 100%;
  padding-left: 16px;
}

@media (max-width: 768px) {
  /* line 370, app/assets/stylesheets/rental_automation.scss */
  .checkbox-group-compact {
    grid-template-columns: 1fr !important;
  }
  /* line 374, app/assets/stylesheets/rental_automation.scss */
  .mode-selector-compact {
    flex-direction: column !important;
  }
  /* line 378, app/assets/stylesheets/rental_automation.scss */
  .automation-view-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
  }
  /* line 384, app/assets/stylesheets/rental_automation.scss */
  .automation-view-value {
    width: 100%;
  }
}
/* line 6, app/assets/stylesheets/rental_dashboard_modern.scss */
:root {
  --primary-color: #007bff;
  --secondary-color: #6c757d;
  --success-color: #28a745;
  --danger-color: #dc3545;
  --warning-color: #ffc107;
  --info-color: #17a2b8;
  --light-color: #f8f9fa;
  --dark-color: #343a40;
  --white: #ffffff;
  --primary-light: rgba(0, 123, 255, 0.1);
  --success-light: rgba(40, 167, 69, 0.1);
  --danger-light: rgba(220, 53, 69, 0.1);
  --warning-light: rgba(255, 193, 7, 0.1);
  --info-light: rgba(23, 162, 184, 0.1);
  --shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --transition-fast: all 0.15s ease-in-out;
  --transition-normal: all 0.3s ease-in-out;
  --transition-slow: all 0.5s ease-in-out;
  --border-radius: 0.375rem;
  --border-radius-lg: 0.5rem;
  --border-radius-xl: 1rem;
}

/* line 46, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard * {
  box-sizing: border-box;
}

/* line 51, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .card {
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius-lg);
  box-shadow: var(--shadow-sm);
}

/* line 57, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .row {
  margin-left: -15px;
  margin-right: -15px;
}

/* line 62, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .col-lg-3, .rental-dashboard .col-lg-4, .rental-dashboard .col-lg-6, .rental-dashboard .col-lg-8, .rental-dashboard .col-md-6, .rental-dashboard .col-12 {
  padding-left: 15px;
  padding-right: 15px;
}

/* line 72, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard {
  background-color: #f5f7fa;
  min-height: 100vh;
}

/* line 76, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .dashboard-header-modern {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fb 100%);
  padding: 1.25rem 2rem;
  margin-bottom: 1.5rem;
  border-radius: var(--border-radius-lg);
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);
  border-bottom: 1px solid #e3e6f0;
  position: relative;
  width: fit-content;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  height: auto;
  min-height: fit-content;
}

/* line 91, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .dashboard-header-modern::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--primary-color), var(--info-color));
}

/* line 102, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .dashboard-title-section {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
}

/* line 111, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .dashboard-icon {
  width: 50px;
  height: 50px;
  background: linear-gradient(135deg, var(--primary-color), var(--info-color));
  border-radius: var(--border-radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1.25rem;
  box-shadow: 0 4px 20px rgba(0, 123, 255, 0.3);
  flex-shrink: 0;
}

/* line 125, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .dashboard-text {
  flex: 1;
}

/* line 129, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .dashboard-title {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--dark-color);
  margin-bottom: 0.25rem;
  line-height: 1.2;
}

/* line 137, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .dashboard-subtitle {
  font-size: 0.875rem;
  color: var(--secondary-color);
  margin-bottom: 0;
  font-weight: 500;
}

/* line 144, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .dashboard-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 1rem;
}

/* line 153, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .dashboard-content {
  padding: 0;
  width: 100%;
  max-width: 100%;
}

/* line 158, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .dashboard-content .row {
  margin-bottom: 1.5rem;
}

/* line 161, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .dashboard-content .row:last-child {
  margin-bottom: 0;
}

/* line 171, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fb 100%);
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius-lg);
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
  box-shadow: var(--shadow-sm);
  position: relative;
  overflow: hidden;
}

/* line 181, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: currentColor;
}

/* line 191, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header h5 {
  font-weight: 700;
  color: var(--dark-color);
  margin-bottom: 0.25rem;
}

/* line 196, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header h5 i {
  width: 20px;
  text-align: center;
}

/* line 202, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header small {
  font-size: 0.875rem;
  color: #6c757d;
  font-weight: 500;
}

/* line 209, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.critical-section {
  border-left: 4px solid var(--danger-color);
}

/* line 212, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.critical-section::before {
  background: var(--danger-color);
}

/* line 216, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.critical-section h5 {
  color: var(--danger-color);
}

/* line 222, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.primary-section {
  border-left: 4px solid var(--primary-color);
}

/* line 225, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.primary-section::before {
  background: var(--primary-color);
}

/* line 229, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.primary-section h5 {
  color: var(--primary-color);
}

/* line 235, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.action-section {
  border-left: 4px solid var(--warning-color);
}

/* line 238, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.action-section::before {
  background: var(--warning-color);
}

/* line 242, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.action-section h5 {
  color: var(--warning-color);
}

/* line 248, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.summary-section {
  border-left: 4px solid var(--info-color);
}

/* line 251, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.summary-section::before {
  background: var(--info-color);
}

/* line 255, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.summary-section h5 {
  color: var(--info-color);
}

/* line 261, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.financial-section {
  border-left: 4px solid var(--success-color);
}

/* line 264, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.financial-section::before {
  background: var(--success-color);
}

/* line 268, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.financial-section h5 {
  color: var(--success-color);
}

/* line 274, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.status-section {
  border-left: 4px solid var(--primary-color);
}

/* line 277, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.status-section::before {
  background: var(--primary-color);
}

/* line 281, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.status-section h5 {
  color: var(--primary-color);
}

/* line 287, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.operational-section {
  border-left: 4px solid var(--warning-color);
}

/* line 290, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.operational-section::before {
  background: var(--warning-color);
}

/* line 294, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.operational-section h5 {
  color: var(--warning-color);
}

/* line 300, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.customer-section {
  border-left: 4px solid var(--info-color);
}

/* line 303, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.customer-section::before {
  background: var(--info-color);
}

/* line 307, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.customer-section h5 {
  color: var(--info-color);
}

/* line 313, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.analytics-section {
  border-left: 4px solid #6f42c1;
}

/* line 316, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.analytics-section::before {
  background: #6f42c1;
}

/* line 320, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.analytics-section h5 {
  color: #6f42c1;
}

/* line 326, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.popular-section {
  border-left: 4px solid var(--warning-color);
}

/* line 329, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.popular-section::before {
  background: var(--warning-color);
}

/* line 333, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.popular-section h5 {
  color: var(--warning-color);
}

/* line 339, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.activity-section {
  border-left: 4px solid var(--secondary-color);
}

/* line 342, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.activity-section::before {
  background: var(--secondary-color);
}

/* line 346, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.activity-section h5 {
  color: var(--secondary-color);
}

/* line 352, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.forecast-section {
  border-left: 4px solid var(--info-color);
}

/* line 355, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.forecast-section::before {
  background: var(--info-color);
}

/* line 359, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .section-header.forecast-section h5 {
  color: var(--info-color);
}

/* line 370, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .kpi-section .kpi-card {
  transition: var(--transition-normal);
  border: none;
  border-radius: var(--border-radius-lg);
  box-shadow: var(--shadow-sm);
}

/* line 376, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .kpi-section .kpi-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow);
}

/* line 381, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .kpi-section .kpi-card .kpi-card-body {
  padding: 1.25rem;
}

/* line 385, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .kpi-section .kpi-card .kpi-icon {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  margin-bottom: 0.75rem;
}

/* line 396, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .kpi-section .kpi-card .kpi-value {
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: 0.375rem;
}

/* line 402, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .kpi-section .kpi-card .kpi-label {
  font-size: 0.875rem;
  color: #6c757d;
  font-weight: 600;
  margin-bottom: 0.75rem;
}

/* line 409, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .kpi-section .kpi-card .kpi-trend {
  font-size: 0.75rem;
}

/* line 412, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .kpi-section .kpi-card .kpi-trend i {
  margin-right: 0.25rem;
}

/* line 418, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .kpi-section .kpi-card .kpi-progress .progress {
  height: 6px;
  border-radius: 3px;
  margin-bottom: 0.5rem;
}

/* line 424, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .kpi-section .kpi-card .kpi-progress small {
  font-size: 0.75rem;
  color: #6c757d;
}

/* line 432, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .quick-stat-card {
  background: #ffffff;
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius-lg);
  padding: 1rem;
  transition: var(--transition-normal);
  box-shadow: var(--shadow-sm);
}

/* line 440, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .quick-stat-card:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow);
}

/* line 445, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .quick-stat-card .quick-stat-content {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 451, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .quick-stat-card .quick-stat-icon {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  background: var(--primary-light);
  color: var(--primary-color);
}

/* line 463, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .quick-stat-card .quick-stat-info {
  flex: 1;
}

/* line 467, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .quick-stat-card .quick-stat-value {
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--dark-color);
  margin-bottom: 0.25rem;
}

/* line 474, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .quick-stat-card .quick-stat-label {
  font-size: 0.875rem;
  color: #6c757d;
  font-weight: 500;
}

/* line 485, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .enhanced-card {
  background: #ffffff;
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius-lg);
  box-shadow: var(--shadow-sm);
  transition: var(--transition-normal);
  overflow: hidden;
}

/* line 493, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .enhanced-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow);
}

/* line 498, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .enhanced-card .enhanced-card-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem 1.5rem 1rem;
  border-bottom: 1px solid #f1f3f4;
}

/* line 506, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .enhanced-card .enhanced-card-icon {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0;
}

/* line 517, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .enhanced-card .enhanced-card-title {
  flex: 1;
}

/* line 520, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .enhanced-card .enhanced-card-title h6 {
  font-weight: 600;
  color: var(--dark-color);
  margin: 0;
}

/* line 527, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .enhanced-card .enhanced-card-body {
  padding: 0 1.5rem 1.25rem;
}

/* line 531, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .enhanced-card .enhanced-card-value {
  font-size: 2rem;
  font-weight: 700;
  color: var(--dark-color);
  margin-bottom: 0.5rem;
  line-height: 1.2;
}

/* line 539, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .enhanced-card .enhanced-card-subtitle {
  font-size: 0.875rem;
  color: #6c757d;
  margin-bottom: 1rem;
  line-height: 1.4;
}

/* line 546, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .enhanced-card .enhanced-card-trend {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  margin-bottom: 1rem;
}

/* line 552, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .enhanced-card .enhanced-card-trend i {
  margin-right: 0.5rem;
  font-size: 0.75rem;
}

/* line 557, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .enhanced-card .enhanced-card-trend small {
  margin-left: 0.5rem;
  color: #6c757d;
}

/* line 563, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .enhanced-card .enhanced-card-actions {
  padding: 0 1.5rem 1.25rem;
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 569, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .enhanced-card .enhanced-card-actions .btn {
  font-size: 0.75rem;
  padding: 0.375rem 0.75rem;
}

/* line 575, app/assets/stylesheets/rental_dashboard_modern.scss */
.rental-dashboard .enhanced-card .enhanced-card-footer {
  padding: 1rem 1.5rem;
  background: #f8f9fa;
  border-top: 1px solid #f1f3f4;
  font-size: 0.75rem;
  color: #6c757d;
  text-align: center;
}

@media (max-width: 767.98px) {
  /* line 590, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .dashboard-header-modern {
    width: 98%;
    padding: 1.25rem 1.5rem;
  }
  /* line 595, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .section-header {
    padding: 1rem;
    margin-bottom: 1rem;
  }
  /* line 599, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .section-header h5 {
    font-size: 1rem;
  }
  /* line 602, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .section-header h5 i {
    width: 18px;
    font-size: 0.875rem;
  }
  /* line 608, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .section-header small {
    font-size: 0.8rem;
  }
  /* line 614, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .enhanced-card .enhanced-card-header {
    padding: 1rem;
    flex-direction: column;
    text-align: center;
    gap: 0.75rem;
  }
  /* line 621, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .enhanced-card .enhanced-card-body {
    padding: 0 1rem 1rem;
    text-align: center;
  }
  /* line 626, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .enhanced-card .enhanced-card-actions {
    padding: 0 1rem 1rem;
    justify-content: center;
  }
  /* line 631, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .enhanced-card .enhanced-card-footer {
    padding: 0.75rem 1rem;
  }
  /* line 638, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .kpi-section .kpi-card .kpi-card-body {
    padding: 1rem;
    text-align: center;
  }
  /* line 643, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .kpi-section .kpi-card .kpi-icon {
    margin: 0 auto 1rem;
  }
  /* line 649, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .quick-stat-card {
    padding: 1rem;
  }
  /* line 652, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .quick-stat-card .quick-stat-content {
    flex-direction: column;
    text-align: center;
    gap: 0.75rem;
  }
}

@media (max-width: 575.98px) {
  /* line 661, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .dashboard-header-modern {
    padding: 1rem;
    width: 95%;
  }
  /* line 665, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .dashboard-header-modern .dashboard-title-section {
    flex-direction: column;
    text-align: center;
    gap: 1rem;
  }
  /* line 671, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .dashboard-header-modern .dashboard-actions {
    text-align: center;
    margin-top: 1rem;
  }
  /* line 678, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .section-header h5 {
    font-size: 0.95rem;
  }
  /* line 682, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .section-header small {
    font-size: 0.75rem;
  }
}

/* line 693, app/assets/stylesheets/rental_dashboard_modern.scss */
.kpi-section {
  background: var(--white);
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius-lg);
  box-shadow: var(--shadow-sm);
  margin-bottom: 2rem;
}

/* line 700, app/assets/stylesheets/rental_dashboard_modern.scss */
.kpi-section .kpi-section-header {
  padding: 1.5rem 1.5rem 0;
  border-bottom: 1px solid #e9ecef;
  margin-bottom: 1.5rem;
}

/* line 705, app/assets/stylesheets/rental_dashboard_modern.scss */
.kpi-section .kpi-section-header h5 {
  color: var(--dark-color);
  font-weight: 600;
  margin-bottom: 1rem;
}

/* line 712, app/assets/stylesheets/rental_dashboard_modern.scss */
.kpi-section .kpi-section-body {
  padding: 0 1.5rem 1.5rem;
}

/* line 721, app/assets/stylesheets/rental_dashboard_modern.scss */
.bg-primary-light {
  background-color: var(--primary-light) !important;
}

/* line 722, app/assets/stylesheets/rental_dashboard_modern.scss */
.bg-success-light {
  background-color: var(--success-light) !important;
}

/* line 723, app/assets/stylesheets/rental_dashboard_modern.scss */
.bg-danger-light {
  background-color: var(--danger-light) !important;
}

/* line 724, app/assets/stylesheets/rental_dashboard_modern.scss */
.bg-warning-light {
  background-color: var(--warning-light) !important;
}

/* line 725, app/assets/stylesheets/rental_dashboard_modern.scss */
.bg-info-light {
  background-color: var(--info-light) !important;
}

/* line 727, app/assets/stylesheets/rental_dashboard_modern.scss */
.bg-gradient-light {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%) !important;
}

/* line 731, app/assets/stylesheets/rental_dashboard_modern.scss */
.bg-gradient-primary {
  background: linear-gradient(135deg, var(--primary-color) 0%, #0056b3 100%) !important;
}

/* line 736, app/assets/stylesheets/rental_dashboard_modern.scss */
.badge-soft-primary {
  color: var(--primary-color);
  background-color: var(--primary-light);
}

/* line 741, app/assets/stylesheets/rental_dashboard_modern.scss */
.badge-soft-success {
  color: var(--success-color);
  background-color: var(--success-light);
}

/* line 746, app/assets/stylesheets/rental_dashboard_modern.scss */
.badge-soft-warning {
  color: var(--warning-color);
  background-color: var(--warning-light);
}

/* line 751, app/assets/stylesheets/rental_dashboard_modern.scss */
.badge-soft-danger {
  color: var(--danger-color);
  background-color: var(--danger-light);
}

/* line 756, app/assets/stylesheets/rental_dashboard_modern.scss */
.badge-soft-info {
  color: var(--info-color);
  background-color: var(--info-light);
}

/* line 765, app/assets/stylesheets/rental_dashboard_modern.scss */
.kpi-card {
  background: var(--white);
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius-lg);
  box-shadow: var(--shadow-sm);
  transition: var(--transition-normal);
  position: relative;
  overflow: hidden;
  height: 100%;
}

/* line 775, app/assets/stylesheets/rental_dashboard_modern.scss */
.kpi-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow);
}

/* line 780, app/assets/stylesheets/rental_dashboard_modern.scss */
.kpi-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--primary-color), var(--info-color));
}

/* line 790, app/assets/stylesheets/rental_dashboard_modern.scss */
.kpi-card .kpi-card-body {
  padding: 1.5rem;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  height: 100%;
}

/* line 798, app/assets/stylesheets/rental_dashboard_modern.scss */
.kpi-card .kpi-icon {
  width: 60px;
  height: 60px;
  border-radius: var(--border-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 807, app/assets/stylesheets/rental_dashboard_modern.scss */
.kpi-card .kpi-icon i {
  font-size: 1.5rem;
}

/* line 812, app/assets/stylesheets/rental_dashboard_modern.scss */
.kpi-card .kpi-content {
  flex: 1;
}

/* line 816, app/assets/stylesheets/rental_dashboard_modern.scss */
.kpi-card .kpi-value {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 0.25rem;
}

/* line 823, app/assets/stylesheets/rental_dashboard_modern.scss */
.kpi-card .kpi-label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--secondary-color);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.75rem;
}

/* line 832, app/assets/stylesheets/rental_dashboard_modern.scss */
.kpi-card .kpi-trend {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
}

/* line 837, app/assets/stylesheets/rental_dashboard_modern.scss */
.kpi-card .kpi-trend i {
  margin-right: 0.25rem;
}

/* line 843, app/assets/stylesheets/rental_dashboard_modern.scss */
.kpi-card .kpi-progress .progress {
  height: 6px;
  border-radius: 3px;
  background-color: #e9ecef;
  margin-bottom: 0.5rem;
}

/* line 850, app/assets/stylesheets/rental_dashboard_modern.scss */
.kpi-card .kpi-progress small {
  font-size: 0.75rem;
}

/* line 860, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-stat-card {
  background: var(--white);
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius);
  padding: 1rem;
  transition: var(--transition-fast);
  height: 100%;
}

/* line 868, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-stat-card:hover {
  border-color: var(--primary-color);
  box-shadow: var(--shadow-sm);
}

/* line 873, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-stat-card .quick-stat-content {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 879, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-stat-card .quick-stat-icon {
  width: 40px;
  height: 40px;
  border-radius: var(--border-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 888, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-stat-card .quick-stat-icon i {
  font-size: 1.25rem;
}

/* line 893, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-stat-card .quick-stat-value {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--dark-color);
}

/* line 899, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-stat-card .quick-stat-label {
  font-size: 0.75rem;
  color: var(--secondary-color);
  font-weight: 500;
}

/* line 910, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-action-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 1.25rem;
  border: 2px solid #e3e6f0;
  border-radius: var(--border-radius-lg);
  background: var(--white);
  color: inherit;
  text-decoration: none;
  transition: var(--transition-normal);
  position: relative;
  overflow: hidden;
}

/* line 925, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-action-btn:hover, .quick-action-btn:focus {
  text-decoration: none;
  color: inherit;
  transform: translateY(-2px);
  box-shadow: var(--shadow);
}

/* line 932, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-action-btn.primary {
  border-color: var(--primary-color);
  background: linear-gradient(135deg, #ffffff 0%, var(--primary-light) 100%);
}

/* line 936, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-action-btn.primary:hover {
  border-color: var(--primary-color);
  background: var(--primary-light);
}

/* line 942, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-action-btn.success {
  border-color: var(--success-color);
  background: linear-gradient(135deg, #ffffff 0%, var(--success-light) 100%);
}

/* line 946, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-action-btn.success:hover {
  border-color: var(--success-color);
  background: var(--success-light);
}

/* line 952, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-action-btn .quick-action-content {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 958, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-action-btn .quick-action-icon {
  width: 50px;
  height: 50px;
  border-radius: var(--border-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.8);
  box-shadow: var(--shadow-sm);
}

/* line 968, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-action-btn .quick-action-icon i {
  font-size: 1.5rem;
}

/* line 973, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-action-btn .quick-action-title {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

/* line 979, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-action-btn .quick-action-desc {
  font-size: 0.875rem;
  color: var(--secondary-color);
}

/* line 984, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-action-btn .quick-action-arrow {
  opacity: 0.5;
  transition: var(--transition-fast);
}

/* line 989, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-action-btn:hover .quick-action-arrow {
  opacity: 1;
  transform: translateX(3px);
}

/* line 994, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-action-btn .badge-notification {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 10;
}

/* line 1002, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-action-card {
  display: block;
  padding: 1.5rem 1rem;
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius);
  background: var(--white);
  text-align: center;
  text-decoration: none;
  color: inherit;
  transition: var(--transition-fast);
  height: 100%;
}

/* line 1014, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-action-card:hover, .quick-action-card:focus {
  text-decoration: none;
  color: inherit;
  border-color: var(--primary-color);
  box-shadow: var(--shadow-sm);
  transform: translateY(-2px);
}

/* line 1022, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-action-card .quick-action-card-icon {
  width: 60px;
  height: 60px;
  border-radius: var(--border-radius);
  margin: 0 auto 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f8f9fa;
}

/* line 1032, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-action-card .quick-action-card-icon i {
  font-size: 1.5rem;
}

/* line 1037, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-action-card .quick-action-card-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--dark-color);
}

/* line 1048, app/assets/stylesheets/rental_dashboard_modern.scss */
.daily-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1rem;
}

@media (max-width: 576px) {
  /* line 1048, app/assets/stylesheets/rental_dashboard_modern.scss */
  .daily-stats {
    grid-template-columns: 1fr;
  }
}

/* line 1059, app/assets/stylesheets/rental_dashboard_modern.scss */
.daily-stat-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem;
  background: #f8f9fa;
  border-radius: var(--border-radius);
  border: 1px solid #e9ecef;
}

/* line 1068, app/assets/stylesheets/rental_dashboard_modern.scss */
.daily-stat-item .daily-stat-icon {
  width: 45px;
  height: 45px;
  border-radius: var(--border-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 1077, app/assets/stylesheets/rental_dashboard_modern.scss */
.daily-stat-item .daily-stat-icon i {
  font-size: 1.25rem;
}

/* line 1082, app/assets/stylesheets/rental_dashboard_modern.scss */
.daily-stat-item .daily-stat-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--dark-color);
  line-height: 1;
}

/* line 1089, app/assets/stylesheets/rental_dashboard_modern.scss */
.daily-stat-item .daily-stat-label {
  font-size: 0.75rem;
  color: var(--secondary-color);
  font-weight: 500;
}

/* line 1098, app/assets/stylesheets/rental_dashboard_modern.scss */
.priority-tasks .priority-task {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid #e9ecef;
  border-radius: var(--border-radius);
  margin-bottom: 0.75rem;
  background: var(--white);
}

/* line 1108, app/assets/stylesheets/rental_dashboard_modern.scss */
.priority-tasks .priority-task.urgent {
  border-left: 4px solid var(--danger-color);
  background: linear-gradient(135deg, #ffffff 0%, var(--danger-light) 100%);
}

/* line 1113, app/assets/stylesheets/rental_dashboard_modern.scss */
.priority-tasks .priority-task.normal {
  border-left: 4px solid var(--warning-color);
  background: linear-gradient(135deg, #ffffff 0%, var(--warning-light) 100%);
}

/* line 1118, app/assets/stylesheets/rental_dashboard_modern.scss */
.priority-tasks .priority-task.low {
  border-left: 4px solid var(--info-color);
  background: linear-gradient(135deg, #ffffff 0%, var(--info-light) 100%);
}

/* line 1123, app/assets/stylesheets/rental_dashboard_modern.scss */
.priority-tasks .priority-task .priority-task-icon {
  flex-shrink: 0;
}

/* line 1127, app/assets/stylesheets/rental_dashboard_modern.scss */
.priority-tasks .priority-task .priority-task-content {
  flex: 1;
}

/* line 1131, app/assets/stylesheets/rental_dashboard_modern.scss */
.priority-tasks .priority-task .priority-task-title {
  font-weight: 600;
  font-size: 0.875rem;
  margin-bottom: 0.25rem;
}

/* line 1137, app/assets/stylesheets/rental_dashboard_modern.scss */
.priority-tasks .priority-task .priority-task-desc {
  font-size: 0.75rem;
  color: var(--secondary-color);
}

/* line 1146, app/assets/stylesheets/rental_dashboard_modern.scss */
.revenue-summary .revenue-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}

/* line 1152, app/assets/stylesheets/rental_dashboard_modern.scss */
.revenue-summary .revenue-item .revenue-label {
  font-size: 0.875rem;
  color: var(--secondary-color);
}

/* line 1157, app/assets/stylesheets/rental_dashboard_modern.scss */
.revenue-summary .revenue-item .revenue-value {
  font-weight: 600;
  font-size: 0.875rem;
}

@media (max-width: 991.98px) {
  /* line 1170, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .dashboard-header-modern {
    padding: 1.5rem 0;
    text-align: center;
  }
  /* line 1174, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .dashboard-header-modern .row {
    flex-direction: column;
    gap: 1.5rem;
  }
  /* line 1179, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .dashboard-header-modern .col-md-4 {
    text-align: center !important;
  }
  /* line 1184, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .dashboard-title-section {
    justify-content: center;
    text-align: center;
  }
  /* line 1188, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .dashboard-title-section .dashboard-icon {
    width: 50px;
    height: 50px;
    font-size: 1.25rem;
  }
  /* line 1194, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .dashboard-title-section .dashboard-title {
    font-size: 1.75rem;
  }
  /* line 1200, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .period-selector-modern .period-tabs {
    flex-wrap: wrap;
    gap: 0.25rem;
  }
  /* line 1205, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .period-selector-modern .btn-period {
    padding: 0.375rem 0.75rem;
    font-size: 0.8rem;
  }
}

@media (max-width: 575.98px) {
  /* line 1215, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .dashboard-header-modern {
    padding: 1rem 0;
  }
  /* line 1219, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .dashboard-title {
    font-size: 1.5rem !important;
  }
  /* line 1223, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .dashboard-subtitle {
    font-size: 0.875rem;
  }
  /* line 1227, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .dashboard-actions {
    flex-direction: column;
    gap: 1rem;
  }
  /* line 1233, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .period-selector-modern .btn-period {
    min-width: 70px;
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
  }
  /* line 1238, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .period-selector-modern .btn-period .fa {
    display: none;
  }
}

@keyframes shimmer {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* line 1266, app/assets/stylesheets/rental_dashboard_modern.scss */
.fade-in-up {
  animation: fadeInUp 0.5s ease-out;
}

@keyframes countUp {
  from {
    transform: scale(1.2);
  }
  to {
    transform: scale(1);
  }
}

/* line 1276, app/assets/stylesheets/rental_dashboard_modern.scss */
.kpi-value {
  animation: countUp 0.5s ease-out;
}

@media print {
  /* line 1286, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .dashboard-header-modern {
    background: var(--white) !important;
    color: var(--dark-color) !important;
    box-shadow: none !important;
  }
  /* line 1292, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .quick-action-btn,
.rental-dashboard .quick-action-card {
    border: 1px solid #000 !important;
    background: var(--white) !important;
  }
  /* line 1298, app/assets/stylesheets/rental_dashboard_modern.scss */
  .rental-dashboard .kpi-card {
    break-inside: avoid;
    box-shadow: none !important;
    border: 1px solid #000 !important;
  }
}

/* line 1311, app/assets/stylesheets/rental_dashboard_modern.scss */
.period-selector-modern .period-tabs {
  background: #f8f9fa;
  border-radius: var(--border-radius);
  padding: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border: 1px solid #e9ecef;
}

/* line 1319, app/assets/stylesheets/rental_dashboard_modern.scss */
.period-selector-modern .btn-period {
  background: transparent;
  border: none;
  color: var(--secondary-color);
  padding: 0.5rem 1rem;
  border-radius: calc(var(--border-radius) - 2px);
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  transition: all var(--transition);
  white-space: nowrap;
}

/* line 1331, app/assets/stylesheets/rental_dashboard_modern.scss */
.period-selector-modern .btn-period:hover {
  background: rgba(0, 123, 255, 0.1);
  color: var(--primary-color);
  text-decoration: none;
}

/* line 1337, app/assets/stylesheets/rental_dashboard_modern.scss */
.period-selector-modern .btn-period.active {
  background: var(--primary-color);
  color: white;
  box-shadow: 0 2px 8px rgba(0, 123, 255, 0.3);
}

/* line 1342, app/assets/stylesheets/rental_dashboard_modern.scss */
.period-selector-modern .btn-period.active:hover {
  background: var(--primary-color);
  color: white;
}

/* line 1348, app/assets/stylesheets/rental_dashboard_modern.scss */
.period-selector-modern .btn-period i {
  opacity: 0.8;
}

/* line 1358, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-card {
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius-lg);
  box-shadow: var(--shadow-sm);
  transition: var(--transition-normal);
}

/* line 1364, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-card:hover {
  box-shadow: var(--shadow);
}

/* line 1368, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-card .equipment-card-header {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fb 100%);
  border-bottom: 1px solid #e9ecef;
  padding: 1.25rem 1.5rem;
}

/* line 1373, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-card .equipment-card-header h5 {
  color: var(--dark-color);
  font-weight: 600;
}

/* line 1379, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-card .equipment-card-footer {
  background: #f8f9fa;
  border-top: 1px solid #e9ecef;
  padding: 1rem 1.5rem;
}

/* line 1386, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-filter-tabs {
  background: #f8f9fa;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #e9ecef;
}

/* line 1391, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-filter-tabs .btn-filter {
  background: transparent;
  border: 1px solid #dee2e6;
  color: var(--secondary-color);
  padding: 0.375rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  transition: var(--transition-fast);
}

/* line 1400, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-filter-tabs .btn-filter:hover {
  background: var(--primary-light);
  border-color: var(--primary-color);
  color: var(--primary-color);
}

/* line 1406, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-filter-tabs .btn-filter.active {
  background: var(--primary-color);
  border-color: var(--primary-color);
  color: white;
}

/* line 1414, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-list {
  max-height: 400px;
  overflow-y: auto;
}

/* line 1419, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid #f1f3f4;
  transition: var(--transition-fast);
}

/* line 1427, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-item:hover {
  background: #f8f9fb;
}

/* line 1431, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-item:last-child {
  border-bottom: none;
}

/* line 1436, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-rank {
  flex-shrink: 0;
  width: 45px;
  text-align: center;
}

/* line 1441, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-rank .rank-medal {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1rem;
}

/* line 1451, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-rank .rank-medal.rank-1 {
  background: linear-gradient(135deg, #ffd700, #ffed4e);
  box-shadow: 0 3px 15px rgba(255, 215, 0, 0.4);
}

/* line 1456, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-rank .rank-medal.rank-2 {
  background: linear-gradient(135deg, #c0c0c0, #e5e5e5);
  box-shadow: 0 3px 15px rgba(192, 192, 192, 0.4);
}

/* line 1461, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-rank .rank-medal.rank-3 {
  background: linear-gradient(135deg, #cd7f32, #daa65a);
  box-shadow: 0 3px 15px rgba(205, 127, 50, 0.4);
}

/* line 1467, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-rank .rank-number {
  width: 30px;
  height: 30px;
  background: #e9ecef;
  color: var(--secondary-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 0.875rem;
}

/* line 1481, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-info {
  flex: 1;
  min-width: 0;
}

/* line 1486, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

/* line 1493, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-avatar {
  width: 45px;
  height: 45px;
  background: linear-gradient(135deg, var(--primary-color), var(--info-color));
  border-radius: var(--border-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1.25rem;
  flex-shrink: 0;
}

/* line 1506, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-details {
  flex: 1;
  min-width: 0;
}

/* line 1510, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-details .equipment-name {
  font-weight: 600;
  color: var(--dark-color);
  margin-bottom: 0.25rem;
  font-size: 1rem;
}

/* line 1517, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-details .equipment-code {
  font-size: 0.875rem;
  color: var(--secondary-color);
}

/* line 1524, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-metrics .metric-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
}

/* line 1530, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-metrics .metric-item {
  text-align: center;
  padding: 0.75rem;
  background: #f8f9fa;
  border-radius: var(--border-radius);
  border: 1px solid #e9ecef;
}

/* line 1537, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-metrics .metric-item .metric-value {
  display: block;
  font-weight: 700;
  font-size: 0.875rem;
  margin-bottom: 0.25rem;
}

/* line 1544, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-metrics .metric-item .metric-label {
  font-size: 0.75rem;
  color: var(--secondary-color);
  font-weight: 500;
}

/* line 1552, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-status {
  flex-shrink: 0;
  text-align: right;
  min-width: 120px;
}

/* line 1558, app/assets/stylesheets/rental_dashboard_modern.scss */
.trend-indicator {
  margin-bottom: 0.75rem;
}

/* line 1561, app/assets/stylesheets/rental_dashboard_modern.scss */
.trend-indicator .trend-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  border-radius: var(--border-radius);
  font-size: 0.75rem;
  font-weight: 600;
}

/* line 1570, app/assets/stylesheets/rental_dashboard_modern.scss */
.trend-indicator .trend-badge.trend-up {
  background: var(--success-light);
  color: var(--success-color);
}

/* line 1575, app/assets/stylesheets/rental_dashboard_modern.scss */
.trend-indicator .trend-badge.trend-down {
  background: var(--danger-light);
  color: var(--danger-color);
}

/* line 1580, app/assets/stylesheets/rental_dashboard_modern.scss */
.trend-indicator .trend-badge.trend-stable {
  background: var(--secondary-color);
  color: white;
}

/* line 1587, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-rating {
  margin-bottom: 0.75rem;
}

/* line 1590, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-rating .stars {
  margin-bottom: 0.25rem;
}

/* line 1593, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-rating .stars .star-filled {
  color: #ffc107;
}

/* line 1597, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-rating .stars .star-empty {
  color: #e9ecef;
}

/* line 1602, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-rating .rating-count {
  font-size: 0.75rem;
  color: var(--secondary-color);
}

/* line 1608, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-insights {
  padding: 1.5rem;
  border-top: 1px solid #e9ecef;
  background: #f8f9fb;
}

/* line 1613, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-insights .insights-title {
  color: var(--dark-color);
  font-weight: 600;
  margin-bottom: 1rem;
}

/* line 1619, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-insights .insight-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem;
  margin-bottom: 0.5rem;
  border-radius: var(--border-radius);
  font-size: 0.875rem;
}

/* line 1628, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-insights .insight-item.insight-success {
  background: var(--success-light);
  border-left: 3px solid var(--success-color);
}

/* line 1633, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-insights .insight-item.insight-warning {
  background: var(--warning-light);
  border-left: 3px solid var(--warning-color);
}

/* line 1638, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-insights .insight-item.insight-info {
  background: var(--info-light);
  border-left: 3px solid var(--info-color);
}

/* line 1643, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-insights .insight-item .insight-icon {
  flex-shrink: 0;
  width: 20px;
  text-align: center;
}

/* line 1649, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-insights .insight-item .insight-text {
  flex: 1;
}

/* line 1655, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-performance {
  padding: 1.5rem;
  border-top: 1px solid #e9ecef;
}

/* line 1659, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-performance .performance-title {
  color: var(--dark-color);
  font-weight: 600;
  margin-bottom: 1rem;
}

/* line 1665, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-performance .chart-container {
  position: relative;
  height: 150px;
}

/* line 1671, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-empty {
  padding: 3rem 1.5rem;
  text-align: center;
}

/* line 1676, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-empty .empty-state i {
  font-size: 3rem;
  margin-bottom: 1rem;
}

/* line 1681, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-empty .empty-state h6 {
  color: var(--secondary-color);
  margin-bottom: 0.5rem;
}

/* line 1686, app/assets/stylesheets/rental_dashboard_modern.scss */
.equipment-empty .empty-state p {
  margin-bottom: 0;
}

/* line 1696, app/assets/stylesheets/rental_dashboard_modern.scss */
.financial-card {
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius-lg);
  box-shadow: var(--shadow-sm);
  transition: var(--transition-normal);
}

/* line 1702, app/assets/stylesheets/rental_dashboard_modern.scss */
.financial-card:hover {
  box-shadow: var(--shadow);
}

/* line 1706, app/assets/stylesheets/rental_dashboard_modern.scss */
.financial-card .financial-card-header {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fb 100%);
  border-bottom: 1px solid #e9ecef;
  padding: 1.25rem 1.5rem;
}

/* line 1711, app/assets/stylesheets/rental_dashboard_modern.scss */
.financial-card .financial-card-header h5 {
  color: var(--dark-color);
  font-weight: 600;
}

/* line 1718, app/assets/stylesheets/rental_dashboard_modern.scss */
.financial-summary-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 2rem;
}

@media (max-width: 576px) {
  /* line 1718, app/assets/stylesheets/rental_dashboard_modern.scss */
  .financial-summary-grid {
    grid-template-columns: 1fr;
  }
}

/* line 1729, app/assets/stylesheets/rental_dashboard_modern.scss */
.financial-metric-card {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fb 100%);
  border: 1px solid #e9ecef;
  border-radius: var(--border-radius-lg);
  padding: 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  transition: var(--transition-normal);
}

/* line 1739, app/assets/stylesheets/rental_dashboard_modern.scss */
.financial-metric-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-sm);
}

/* line 1744, app/assets/stylesheets/rental_dashboard_modern.scss */
.financial-metric-card.metric-revenue {
  border-left: 4px solid var(--success-color);
}

/* line 1748, app/assets/stylesheets/rental_dashboard_modern.scss */
.financial-metric-card.metric-pending {
  border-left: 4px solid var(--warning-color);
}

/* line 1752, app/assets/stylesheets/rental_dashboard_modern.scss */
.financial-metric-card .metric-icon {
  width: 60px;
  height: 60px;
  border-radius: var(--border-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.5rem;
  color: white;
}

/* line 1764, app/assets/stylesheets/rental_dashboard_modern.scss */
.financial-metric-card.metric-revenue .metric-icon {
  background: linear-gradient(135deg, var(--success-color), #20c997);
}

/* line 1768, app/assets/stylesheets/rental_dashboard_modern.scss */
.financial-metric-card.metric-pending .metric-icon {
  background: linear-gradient(135deg, var(--warning-color), #fd7e14);
}

/* line 1772, app/assets/stylesheets/rental_dashboard_modern.scss */
.financial-metric-card .metric-content {
  flex: 1;
}

/* line 1776, app/assets/stylesheets/rental_dashboard_modern.scss */
.financial-metric-card .metric-value {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--dark-color);
  margin-bottom: 0.25rem;
  line-height: 1.2;
}

/* line 1784, app/assets/stylesheets/rental_dashboard_modern.scss */
.financial-metric-card .metric-label {
  font-size: 0.875rem;
  color: var(--secondary-color);
  font-weight: 500;
  margin-bottom: 0.5rem;
}

/* line 1791, app/assets/stylesheets/rental_dashboard_modern.scss */
.financial-metric-card .metric-trend {
  font-size: 0.875rem;
  font-weight: 600;
}

/* line 1797, app/assets/stylesheets/rental_dashboard_modern.scss */
.revenue-breakdown {
  margin-bottom: 2rem;
}

/* line 1800, app/assets/stylesheets/rental_dashboard_modern.scss */
.revenue-breakdown .breakdown-title {
  color: var(--dark-color);
  font-weight: 600;
  margin-bottom: 1rem;
}

/* line 1806, app/assets/stylesheets/rental_dashboard_modern.scss */
.revenue-breakdown .breakdown-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem;
  margin-bottom: 0.75rem;
  background: #f8f9fa;
  border-radius: var(--border-radius);
  border: 1px solid #e9ecef;
}

/* line 1816, app/assets/stylesheets/rental_dashboard_modern.scss */
.revenue-breakdown .breakdown-item .breakdown-info {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
}

/* line 1823, app/assets/stylesheets/rental_dashboard_modern.scss */
.revenue-breakdown .breakdown-item .breakdown-indicator {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  flex-shrink: 0;
}

/* line 1830, app/assets/stylesheets/rental_dashboard_modern.scss */
.revenue-breakdown .breakdown-item .breakdown-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--dark-color);
}

/* line 1836, app/assets/stylesheets/rental_dashboard_modern.scss */
.revenue-breakdown .breakdown-item .breakdown-values {
  text-align: right;
  min-width: 120px;
}

/* line 1841, app/assets/stylesheets/rental_dashboard_modern.scss */
.revenue-breakdown .breakdown-item .breakdown-amount {
  display: block;
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--dark-color);
}

/* line 1848, app/assets/stylesheets/rental_dashboard_modern.scss */
.revenue-breakdown .breakdown-item .breakdown-percentage {
  font-size: 0.75rem;
  color: var(--secondary-color);
}

/* line 1853, app/assets/stylesheets/rental_dashboard_modern.scss */
.revenue-breakdown .breakdown-item .breakdown-progress {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: #e9ecef;
  border-radius: 0 0 var(--border-radius) var(--border-radius);
}

/* line 1862, app/assets/stylesheets/rental_dashboard_modern.scss */
.revenue-breakdown .breakdown-item .breakdown-progress .progress-bar {
  height: 100%;
  border-radius: inherit;
  transition: width 0.6s ease;
}

/* line 1871, app/assets/stylesheets/rental_dashboard_modern.scss */
.financial-chart {
  margin-bottom: 2rem;
}

/* line 1874, app/assets/stylesheets/rental_dashboard_modern.scss */
.financial-chart .chart-title {
  color: var(--dark-color);
  font-weight: 600;
  margin-bottom: 1rem;
}

/* line 1880, app/assets/stylesheets/rental_dashboard_modern.scss */
.financial-chart .chart-container {
  position: relative;
  height: 200px;
  background: #f8f9fa;
  border-radius: var(--border-radius);
  padding: 1rem;
}

/* line 1890, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-financial-stats .stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

@media (max-width: 576px) {
  /* line 1890, app/assets/stylesheets/rental_dashboard_modern.scss */
  .quick-financial-stats .stats-grid {
    grid-template-columns: 1fr;
  }
}

/* line 1900, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-financial-stats .stat-item {
  text-align: center;
  padding: 1rem;
  background: #f8f9fa;
  border-radius: var(--border-radius);
  border: 1px solid #e9ecef;
}

/* line 1907, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-financial-stats .stat-item .stat-value {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

/* line 1913, app/assets/stylesheets/rental_dashboard_modern.scss */
.quick-financial-stats .stat-item .stat-label {
  font-size: 0.75rem;
  color: var(--secondary-color);
  font-weight: 500;
}

/* line 1921, app/assets/stylesheets/rental_dashboard_modern.scss */
.receivables-section {
  background: #f8f9fb;
  border-top: 1px solid #e9ecef;
  padding: 1.5rem;
}

/* line 1926, app/assets/stylesheets/rental_dashboard_modern.scss */
.receivables-section h6 {
  color: var(--dark-color);
  font-weight: 600;
}

/* line 1932, app/assets/stylesheets/rental_dashboard_modern.scss */
.receivables-list {
  max-height: 200px;
  overflow-y: auto;
}

/* line 1937, app/assets/stylesheets/rental_dashboard_modern.scss */
.receivable-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  margin-bottom: 0.75rem;
  background: white;
  border-radius: var(--border-radius);
  border: 1px solid #e9ecef;
  transition: var(--transition-fast);
}

/* line 1948, app/assets/stylesheets/rental_dashboard_modern.scss */
.receivable-item:hover {
  box-shadow: var(--shadow-sm);
}

/* line 1952, app/assets/stylesheets/rental_dashboard_modern.scss */
.receivable-item .receivable-avatar {
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, var(--info-color), var(--primary-color));
  border-radius: var(--border-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  flex-shrink: 0;
}

/* line 1964, app/assets/stylesheets/rental_dashboard_modern.scss */
.receivable-item .receivable-info {
  flex: 1;
  min-width: 0;
}

/* line 1968, app/assets/stylesheets/rental_dashboard_modern.scss */
.receivable-item .receivable-info .receivable-customer {
  font-weight: 600;
  color: var(--dark-color);
  margin-bottom: 0.25rem;
}

/* line 1974, app/assets/stylesheets/rental_dashboard_modern.scss */
.receivable-item .receivable-info .receivable-invoice {
  font-size: 0.875rem;
  color: var(--secondary-color);
}

/* line 1980, app/assets/stylesheets/rental_dashboard_modern.scss */
.receivable-item .receivable-amount {
  text-align: right;
  min-width: 120px;
}

/* line 1984, app/assets/stylesheets/rental_dashboard_modern.scss */
.receivable-item .receivable-amount .amount-value {
  font-weight: 600;
  color: var(--dark-color);
  margin-bottom: 0.25rem;
}

/* line 1990, app/assets/stylesheets/rental_dashboard_modern.scss */
.receivable-item .receivable-amount .amount-status {
  font-size: 0.75rem;
}

/* line 1993, app/assets/stylesheets/rental_dashboard_modern.scss */
.receivable-item .receivable-amount .amount-status .status-overdue {
  color: var(--danger-color);
}

/* line 1997, app/assets/stylesheets/rental_dashboard_modern.scss */
.receivable-item .receivable-amount .amount-status .status-pending {
  color: var(--secondary-color);
}

/* line 2004, app/assets/stylesheets/rental_dashboard_modern.scss */
.receivables-empty {
  padding: 2rem;
  text-align: center;
}

/* line 2009, app/assets/stylesheets/rental_dashboard_modern.scss */
.receivables-empty .empty-state i {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

/* line 2014, app/assets/stylesheets/rental_dashboard_modern.scss */
.receivables-empty .empty-state h6 {
  margin-bottom: 0.5rem;
}

/* line 2018, app/assets/stylesheets/rental_dashboard_modern.scss */
.receivables-empty .empty-state p {
  margin-bottom: 0;
}

@media (max-width: 768px) {
  /* line 2029, app/assets/stylesheets/rental_dashboard_modern.scss */
  .equipment-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
  /* line 2035, app/assets/stylesheets/rental_dashboard_modern.scss */
  .equipment-status {
    width: 100%;
    text-align: left;
  }
  /* line 2040, app/assets/stylesheets/rental_dashboard_modern.scss */
  .equipment-metrics .metric-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 2044, app/assets/stylesheets/rental_dashboard_modern.scss */
  .financial-metric-card {
    flex-direction: column;
    text-align: center;
    gap: 0.75rem;
  }
  /* line 2050, app/assets/stylesheets/rental_dashboard_modern.scss */
  .receivable-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
  /* line 2056, app/assets/stylesheets/rental_dashboard_modern.scss */
  .receivable-amount {
    width: 100%;
    text-align: left;
  }
}

/* line 2067, app/assets/stylesheets/rental_dashboard_modern.scss */
.period-selector-modern .period-tabs {
  background: #f8f9fa;
  border-radius: var(--border-radius);
  padding: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border: 1px solid #e9ecef;
}

/* line 2075, app/assets/stylesheets/rental_dashboard_modern.scss */
.period-selector-modern .btn-period {
  background: transparent;
  border: none;
  color: var(--secondary-color);
  padding: 0.5rem 1rem;
  border-radius: calc(var(--border-radius) - 2px);
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  transition: all var(--transition);
  white-space: nowrap;
}

/* line 2087, app/assets/stylesheets/rental_dashboard_modern.scss */
.period-selector-modern .btn-period:hover {
  background: rgba(0, 123, 255, 0.1);
  color: var(--primary-color);
  text-decoration: none;
}

/* line 2093, app/assets/stylesheets/rental_dashboard_modern.scss */
.period-selector-modern .btn-period.active {
  background: var(--primary-color);
  color: white;
  box-shadow: 0 2px 8px rgba(0, 123, 255, 0.3);
}

/* line 2098, app/assets/stylesheets/rental_dashboard_modern.scss */
.period-selector-modern .btn-period.active:hover {
  background: var(--primary-color);
  color: white;
}

/* line 2104, app/assets/stylesheets/rental_dashboard_modern.scss */
.period-selector-modern .btn-period i {
  opacity: 0.8;
}

/* line 2114, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecasting-card {
  border: 1px solid #e3e6f0;
  border-radius: var(--border-radius-lg);
  box-shadow: var(--shadow-sm);
  transition: var(--transition-normal);
}

/* line 2120, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecasting-card:hover {
  box-shadow: var(--shadow);
}

/* line 2124, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecasting-card .forecasting-card-header {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fb 100%);
  border-bottom: 1px solid #e9ecef;
  padding: 1.25rem 1.5rem;
}

/* line 2129, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecasting-card .forecasting-card-header h5 {
  color: var(--dark-color);
  font-weight: 600;
}

/* line 2135, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecasting-card .forecasting-card-footer {
  background: #f8f9fb;
  border-top: 1px solid #e9ecef;
  padding: 1rem 1.5rem;
}

/* line 2142, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecasting-controls {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 2149, app/assets/stylesheets/rental_dashboard_modern.scss */
.ai-status-banner {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.5rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: var(--border-radius-lg);
  color: white;
  margin-bottom: 2rem;
  position: relative;
  overflow: hidden;
}

/* line 2161, app/assets/stylesheets/rental_dashboard_modern.scss */
.ai-status-banner::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
  animation: shimmer 3s infinite;
}

/* line 2172, app/assets/stylesheets/rental_dashboard_modern.scss */
.ai-status-banner .ai-indicator {
  position: relative;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  font-size: 1.5rem;
}

/* line 2183, app/assets/stylesheets/rental_dashboard_modern.scss */
.ai-status-banner .ai-indicator .ai-pulse {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  animation: aiPulse 2s infinite;
}

/* line 2192, app/assets/stylesheets/rental_dashboard_modern.scss */
.ai-status-banner .ai-indicator i {
  position: relative;
  z-index: 1;
}

/* line 2198, app/assets/stylesheets/rental_dashboard_modern.scss */
.ai-status-banner .ai-status-text {
  flex: 1;
}

/* line 2201, app/assets/stylesheets/rental_dashboard_modern.scss */
.ai-status-banner .ai-status-text .ai-status-title {
  display: block;
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

/* line 2208, app/assets/stylesheets/rental_dashboard_modern.scss */
.ai-status-banner .ai-status-text .ai-status-desc {
  display: block;
  font-size: 0.875rem;
  opacity: 0.9;
}

/* line 2215, app/assets/stylesheets/rental_dashboard_modern.scss */
.ai-status-banner .ai-confidence {
  text-align: right;
}

/* line 2218, app/assets/stylesheets/rental_dashboard_modern.scss */
.ai-status-banner .ai-confidence .confidence-value {
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

/* line 2225, app/assets/stylesheets/rental_dashboard_modern.scss */
.ai-status-banner .ai-confidence .confidence-label {
  display: block;
  font-size: 0.75rem;
  opacity: 0.9;
}

@keyframes aiPulse {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.5;
    transform: scale(1.1);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/* line 2249, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecasting-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
  margin-bottom: 2rem;
}

/* line 2256, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecast-metric-card {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fb 100%);
  border: 1px solid #e9ecef;
  border-radius: var(--border-radius-lg);
  padding: 1.5rem;
  transition: var(--transition-normal);
  position: relative;
  overflow: hidden;
}

/* line 2265, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecast-metric-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow);
}

/* line 2270, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecast-metric-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  border-radius: var(--border-radius-lg) var(--border-radius-lg) 0 0;
}

/* line 2280, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecast-metric-card.metric-revenue::before {
  background: linear-gradient(90deg, var(--success-color), #20c997);
}

/* line 2284, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecast-metric-card.metric-rentals::before {
  background: linear-gradient(90deg, var(--primary-color), var(--info-color));
}

/* line 2288, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecast-metric-card.metric-utilization::before {
  background: linear-gradient(90deg, var(--warning-color), #fd7e14);
}

/* line 2292, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecast-metric-card.metric-customers::before {
  background: linear-gradient(90deg, var(--info-color), var(--primary-color));
}

/* line 2296, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecast-metric-card .metric-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}

/* line 2303, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecast-metric-card .metric-icon {
  width: 50px;
  height: 50px;
  border-radius: var(--border-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  color: white;
}

/* line 2314, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecast-metric-card.metric-revenue .metric-icon {
  background: linear-gradient(135deg, var(--success-color), #20c997);
}

/* line 2318, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecast-metric-card.metric-rentals .metric-icon {
  background: linear-gradient(135deg, var(--primary-color), var(--info-color));
}

/* line 2322, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecast-metric-card.metric-utilization .metric-icon {
  background: linear-gradient(135deg, var(--warning-color), #fd7e14);
}

/* line 2326, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecast-metric-card.metric-customers .metric-icon {
  background: linear-gradient(135deg, var(--info-color), var(--primary-color));
}

/* line 2330, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecast-metric-card .confidence-indicator {
  position: relative;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 2339, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecast-metric-card .confidence-ring {
  position: relative;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--success-color);
}

/* line 2350, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecast-metric-card .confidence-ring span {
  position: absolute;
  z-index: 2;
}

/* line 2357, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecast-metric-card .metric-content .metric-value {
  font-size: 2rem;
  font-weight: 700;
  color: var(--dark-color);
  margin-bottom: 0.5rem;
  line-height: 1.2;
}

/* line 2365, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecast-metric-card .metric-content .metric-label {
  font-size: 0.875rem;
  color: var(--secondary-color);
  font-weight: 500;
  margin-bottom: 0.75rem;
}

/* line 2372, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecast-metric-card .metric-content .metric-trend {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
}

/* line 2378, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecast-metric-card .metric-content .metric-trend i {
  font-size: 0.75rem;
}

/* line 2382, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecast-metric-card .metric-content .metric-trend .trend-positive {
  color: var(--success-color);
  font-weight: 600;
}

/* line 2387, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecast-metric-card .metric-content .metric-trend .trend-negative {
  color: var(--danger-color);
  font-weight: 600;
}

/* line 2392, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecast-metric-card .metric-content .metric-trend .trend-label {
  color: var(--secondary-color);
  font-size: 0.75rem;
}

/* line 2401, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecasting-chart {
  margin-bottom: 2rem;
}

/* line 2404, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecasting-chart .chart-header {
  display: flex;
  align-items: center;
  justify-content: between;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
  gap: 1rem;
}

/* line 2412, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecasting-chart .chart-header .chart-title {
  color: var(--dark-color);
  font-weight: 600;
  margin-bottom: 0;
}

/* line 2418, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecasting-chart .chart-header .chart-controls {
  display: flex;
  background: #f8f9fa;
  border-radius: var(--border-radius);
  padding: 2px;
  border: 1px solid #e9ecef;
}

/* line 2426, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecasting-chart .chart-header .chart-type-btn {
  background: transparent;
  border: none;
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--secondary-color);
  border-radius: calc(var(--border-radius) - 2px);
  transition: var(--transition-fast);
}

/* line 2436, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecasting-chart .chart-header .chart-type-btn:hover {
  background: rgba(0, 123, 255, 0.1);
  color: var(--primary-color);
}

/* line 2441, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecasting-chart .chart-header .chart-type-btn.active {
  background: var(--primary-color);
  color: white;
  box-shadow: 0 2px 4px rgba(0, 123, 255, 0.2);
}

/* line 2449, app/assets/stylesheets/rental_dashboard_modern.scss */
.forecasting-chart .chart-container {
  position: relative;
  height: 250px;
  background: #f8f9fa;
  border-radius: var(--border-radius);
  padding: 1rem;
}

/* line 2459, app/assets/stylesheets/rental_dashboard_modern.scss */
.smart-insights {
  margin-bottom: 2rem;
}

/* line 2462, app/assets/stylesheets/rental_dashboard_modern.scss */
.smart-insights .insights-title {
  color: var(--dark-color);
  font-weight: 600;
  margin-bottom: 1.5rem;
}

/* line 2467, app/assets/stylesheets/rental_dashboard_modern.scss */
.smart-insights .insights-title .text-purple {
  color: #6f42c1 !important;
}

/* line 2473, app/assets/stylesheets/rental_dashboard_modern.scss */
.insights-grid {
  display: grid;
  gap: 1rem;
}

/* line 2478, app/assets/stylesheets/rental_dashboard_modern.scss */
.insight-card {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem;
  background: white;
  border-radius: var(--border-radius-lg);
  border: 1px solid #e9ecef;
  transition: var(--transition-normal);
  position: relative;
  overflow: hidden;
}

/* line 2490, app/assets/stylesheets/rental_dashboard_modern.scss */
.insight-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-sm);
}

/* line 2495, app/assets/stylesheets/rental_dashboard_modern.scss */
.insight-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 4px;
}

/* line 2504, app/assets/stylesheets/rental_dashboard_modern.scss */
.insight-card.insight-opportunity::before {
  background: linear-gradient(180deg, var(--warning-color), #fd7e14);
}

/* line 2508, app/assets/stylesheets/rental_dashboard_modern.scss */
.insight-card.insight-warning::before {
  background: linear-gradient(180deg, var(--danger-color), #dc2626);
}

/* line 2512, app/assets/stylesheets/rental_dashboard_modern.scss */
.insight-card.insight-optimization::before {
  background: linear-gradient(180deg, var(--info-color), var(--primary-color));
}

/* line 2516, app/assets/stylesheets/rental_dashboard_modern.scss */
.insight-card .insight-icon {
  width: 50px;
  height: 50px;
  border-radius: var(--border-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  color: white;
  flex-shrink: 0;
}

/* line 2528, app/assets/stylesheets/rental_dashboard_modern.scss */
.insight-card.insight-opportunity .insight-icon {
  background: linear-gradient(135deg, var(--warning-color), #fd7e14);
}

/* line 2532, app/assets/stylesheets/rental_dashboard_modern.scss */
.insight-card.insight-warning .insight-icon {
  background: linear-gradient(135deg, var(--danger-color), #dc2626);
}

/* line 2536, app/assets/stylesheets/rental_dashboard_modern.scss */
.insight-card.insight-optimization .insight-icon {
  background: linear-gradient(135deg, var(--info-color), var(--primary-color));
}

/* line 2540, app/assets/stylesheets/rental_dashboard_modern.scss */
.insight-card .insight-content {
  flex: 1;
  min-width: 0;
}

/* line 2544, app/assets/stylesheets/rental_dashboard_modern.scss */
.insight-card .insight-content .insight-title {
  font-weight: 600;
  color: var(--dark-color);
  margin-bottom: 0.5rem;
  font-size: 1rem;
}

/* line 2551, app/assets/stylesheets/rental_dashboard_modern.scss */
.insight-card .insight-content .insight-description {
  color: var(--secondary-color);
  font-size: 0.875rem;
  margin-bottom: 0.75rem;
  line-height: 1.4;
}

/* line 2558, app/assets/stylesheets/rental_dashboard_modern.scss */
.insight-card .insight-content .insight-action {
  margin-top: 0.75rem;
}

/* line 2563, app/assets/stylesheets/rental_dashboard_modern.scss */
.insight-card .insight-impact {
  text-align: right;
  min-width: 100px;
}

/* line 2567, app/assets/stylesheets/rental_dashboard_modern.scss */
.insight-card .insight-impact .impact-value {
  display: block;
  font-weight: 700;
  font-size: 1.125rem;
  color: var(--dark-color);
  margin-bottom: 0.25rem;
}

/* line 2575, app/assets/stylesheets/rental_dashboard_modern.scss */
.insight-card .insight-impact .impact-label {
  display: block;
  font-size: 0.75rem;
  color: var(--secondary-color);
}

/* line 2585, app/assets/stylesheets/rental_dashboard_modern.scss */
.market-factors .factors-title {
  color: var(--dark-color);
  font-weight: 600;
  margin-bottom: 1.5rem;
}

/* line 2591, app/assets/stylesheets/rental_dashboard_modern.scss */
.market-factors .factors-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
}

/* line 2597, app/assets/stylesheets/rental_dashboard_modern.scss */
.market-factors .factor-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem;
  background: #f8f9fa;
  border-radius: var(--border-radius);
  border: 1px solid #e9ecef;
  transition: var(--transition-fast);
  position: relative;
}

/* line 2608, app/assets/stylesheets/rental_dashboard_modern.scss */
.market-factors .factor-item:hover {
  background: white;
  box-shadow: var(--shadow-sm);
}

/* line 2613, app/assets/stylesheets/rental_dashboard_modern.scss */
.market-factors .factor-item .factor-icon {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  color: white;
  flex-shrink: 0;
}

/* line 2624, app/assets/stylesheets/rental_dashboard_modern.scss */
.market-factors .factor-item .factor-icon.positive {
  background: linear-gradient(135deg, var(--success-color), #20c997);
}

/* line 2628, app/assets/stylesheets/rental_dashboard_modern.scss */
.market-factors .factor-item .factor-icon.negative {
  background: linear-gradient(135deg, var(--danger-color), #dc2626);
}

/* line 2632, app/assets/stylesheets/rental_dashboard_modern.scss */
.market-factors .factor-item .factor-icon.neutral {
  background: linear-gradient(135deg, var(--secondary-color), #6c757d);
}

/* line 2637, app/assets/stylesheets/rental_dashboard_modern.scss */
.market-factors .factor-item .factor-content {
  flex: 1;
}

/* line 2640, app/assets/stylesheets/rental_dashboard_modern.scss */
.market-factors .factor-item .factor-content .factor-name {
  display: block;
  font-weight: 600;
  color: var(--dark-color);
  font-size: 0.875rem;
  margin-bottom: 0.25rem;
}

/* line 2648, app/assets/stylesheets/rental_dashboard_modern.scss */
.market-factors .factor-item .factor-content .factor-impact {
  display: block;
  font-size: 0.75rem;
  color: var(--secondary-color);
}

/* line 2655, app/assets/stylesheets/rental_dashboard_modern.scss */
.market-factors .factor-item .factor-indicator {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

/* line 2661, app/assets/stylesheets/rental_dashboard_modern.scss */
.market-factors .factor-item .factor-indicator.positive {
  background: var(--success-color);
}

/* line 2665, app/assets/stylesheets/rental_dashboard_modern.scss */
.market-factors .factor-item .factor-indicator.negative {
  background: var(--danger-color);
}

/* line 2669, app/assets/stylesheets/rental_dashboard_modern.scss */
.market-factors .factor-item .factor-indicator.neutral {
  background: var(--secondary-color);
}

/* line 2677, app/assets/stylesheets/rental_dashboard_modern.scss */
.accuracy-summary {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 2682, app/assets/stylesheets/rental_dashboard_modern.scss */
.accuracy-summary .accuracy-label {
  font-size: 0.875rem;
  color: var(--secondary-color);
}

/* line 2687, app/assets/stylesheets/rental_dashboard_modern.scss */
.accuracy-summary .accuracy-value {
  font-weight: 700;
  color: var(--success-color);
  font-size: 1rem;
}

/* line 2693, app/assets/stylesheets/rental_dashboard_modern.scss */
.accuracy-summary .accuracy-trend {
  font-size: 0.875rem;
  font-weight: 600;
}

/* line 2699, app/assets/stylesheets/rental_dashboard_modern.scss */
.last-update {
  font-size: 0.875rem;
  color: var(--secondary-color);
}

@media (max-width: 768px) {
  /* line 2706, app/assets/stylesheets/rental_dashboard_modern.scss */
  .forecasting-grid {
    grid-template-columns: 1fr;
  }
  /* line 2710, app/assets/stylesheets/rental_dashboard_modern.scss */
  .ai-status-banner {
    flex-direction: column;
    text-align: center;
    gap: 1rem;
  }
  /* line 2716, app/assets/stylesheets/rental_dashboard_modern.scss */
  .chart-header {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 2721, app/assets/stylesheets/rental_dashboard_modern.scss */
  .insight-card {
    flex-direction: column;
    text-align: center;
  }
  /* line 2726, app/assets/stylesheets/rental_dashboard_modern.scss */
  .insight-impact {
    text-align: center;
    min-width: auto;
  }
  /* line 2731, app/assets/stylesheets/rental_dashboard_modern.scss */
  .factors-grid {
    grid-template-columns: 1fr;
  }
  /* line 2735, app/assets/stylesheets/rental_dashboard_modern.scss */
  .accuracy-summary {
    justify-content: center;
    margin-bottom: 1rem;
  }
}
@charset "UTF-8";
/* Rental Items Styles */
/* line 3, app/assets/stylesheets/rental_items.scss */
.rental-items-container {
  background: #fff;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Formulário inline compacto */
/* line 11, app/assets/stylesheets/rental_items.scss */
.rental-items-container .rental-item-form-row {
  background: linear-gradient(135deg, #e3f2fd 0%, #f1f8e9 100%) !important;
  border: 2px solid #2196f3 !important;
  box-shadow: 0 2px 8px rgba(33, 150, 243, 0.15);
  animation: formSlideIn 0.3s ease-out;
}

/* line 18, app/assets/stylesheets/rental_items.scss */
.rental-items-container .rental-item-form-row td {
  padding: 12px 8px !important;
  vertical-align: middle;
  border-color: #2196f3 !important;
}

/* line 24, app/assets/stylesheets/rental_items.scss */
.rental-items-container .rental-item-form-row .form-control {
  transition: all 0.2s ease;
}

/* line 28, app/assets/stylesheets/rental_items.scss */
.rental-items-container .rental-item-form-row .form-control:focus {
  border-color: #2196f3 !important;
  box-shadow: 0 0 0 0.2rem rgba(33, 150, 243, 0.25) !important;
  transform: scale(1.02);
}

/* line 34, app/assets/stylesheets/rental_items.scss */
.rental-items-container .rental-item-form-row .btn {
  transition: all 0.2s ease;
}

/* line 38, app/assets/stylesheets/rental_items.scss */
.rental-items-container .rental-item-form-row .btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
}

/* Animação para entrada do formulário */
@keyframes slideInForm {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Formulário inline legacy (mantido para compatibilidade) */
/* line 56, app/assets/stylesheets/rental_items.scss */
.rental-items-container .card {
  border: 2px dashed #28a745;
  background: #f8fff9;
}

/* line 61, app/assets/stylesheets/rental_items.scss */
.rental-items-container .card-header {
  background: linear-gradient(90deg, #28a745, #20c997) !important;
  color: white;
  border-bottom: none;
}

/* Campo de busca de equipamento */
/* line 68, app/assets/stylesheets/rental_items.scss */
.rental-items-container .dropdown-menu {
  border: 1px solid #ddd;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  z-index: 1050;
}

/* line 74, app/assets/stylesheets/rental_items.scss */
.rental-items-container .dropdown-item {
  padding: 10px 15px;
  border-bottom: 1px solid #f8f9fa;
}

/* line 79, app/assets/stylesheets/rental_items.scss */
.rental-items-container .dropdown-item:hover {
  background-color: #f8f9fa;
}

/* line 83, app/assets/stylesheets/rental_items.scss */
.rental-items-container .dropdown-item:last-child {
  border-bottom: none;
}

/* Estilos específicos para formulário compacto */
/* line 88, app/assets/stylesheets/rental_items.scss */
.rental-items-container .rental-item-form-row .input-group-text {
  font-size: 0.8rem;
  padding: 0.25rem 0.5rem;
}

/* line 93, app/assets/stylesheets/rental_items.scss */
.rental-items-container .rental-item-form-row .badge {
  font-size: 0.75rem;
  padding: 0.35rem 0.5rem;
  border-radius: 12px;
}

/* line 99, app/assets/stylesheets/rental_items.scss */
.rental-items-container .rental-item-form-row .btn-group .btn {
  font-size: 0.8rem;
  padding: 0.4rem 0.8rem;
  font-weight: 500;
}

/* Indicadores visuais especiais */
/* line 106, app/assets/stylesheets/rental_items.scss */
.rental-items-container .rental-item-form-row .border-primary {
  border-color: #007bff !important;
  box-shadow: 0 0 0 1px rgba(0, 123, 255, 0.25);
}

/* line 111, app/assets/stylesheets/rental_items.scss */
.rental-items-container .rental-item-form-row .border-success {
  border-color: #28a745 !important;
}

/* line 115, app/assets/stylesheets/rental_items.scss */
.rental-items-container .rental-item-form-row .bg-transparent {
  background-color: transparent !important;
}

/* Tabela responsiva */
/* line 120, app/assets/stylesheets/rental_items.scss */
.rental-items-container .table {
  font-size: 0.9rem;
}

/* line 124, app/assets/stylesheets/rental_items.scss */
.rental-items-container .table th {
  background-color: #f8f9fa;
  border-top: none;
  font-weight: 600;
  color: #495057;
  white-space: nowrap;
}

/* line 132, app/assets/stylesheets/rental_items.scss */
.rental-items-container .table td {
  vertical-align: middle;
}

/* Badges e indicadores */
/* line 137, app/assets/stylesheets/rental_items.scss */
.rental-items-container .badge-lg {
  font-size: 0.9rem;
  padding: 0.5rem 0.75rem;
}

/* line 142, app/assets/stylesheets/rental_items.scss */
.rental-items-container .badge-secondary {
  background-color: #6c757d;
}

/* line 146, app/assets/stylesheets/rental_items.scss */
.rental-items-container .badge-success {
  background-color: #28a745;
}

/* line 150, app/assets/stylesheets/rental_items.scss */
.rental-items-container .badge-warning {
  background-color: #ffc107;
  color: #212529;
}

/* line 155, app/assets/stylesheets/rental_items.scss */
.rental-items-container .badge-info {
  background-color: #17a2b8;
}

/* Botões de ação */
/* line 160, app/assets/stylesheets/rental_items.scss */
.rental-items-container .btn-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.7rem;
}

/* Indicadores de validação */
/* line 166, app/assets/stylesheets/rental_items.scss */
.rental-items-container .alert-sm {
  font-size: 0.8rem;
  padding: 0.375rem 0.75rem;
}

/* line 171, app/assets/stylesheets/rental_items.scss */
.rental-items-container .is-valid {
  border-color: #28a745;
}

/* line 175, app/assets/stylesheets/rental_items.scss */
.rental-items-container .is-invalid {
  border-color: #dc3545;
}

/* Responsividade */
@media (max-width: 768px) {
  /* line 181, app/assets/stylesheets/rental_items.scss */
  .rental-items-container .table-responsive {
    font-size: 0.8rem;
  }
  /* line 185, app/assets/stylesheets/rental_items.scss */
  .rental-items-container .btn-group-sm > .btn {
    padding: 0.2rem 0.4rem;
    font-size: 0.65rem;
  }
  /* line 190, app/assets/stylesheets/rental_items.scss */
  .rental-items-container .badge {
    font-size: 0.7rem;
  }
  /* Esconder colunas menos importantes em mobile */
  /* line 195, app/assets/stylesheets/rental_items.scss */
  .rental-items-container .table td:nth-child(2),
.rental-items-container .table th:nth-child(2) {
    display: none;
  }
}

@media (max-width: 576px) {
  /* line 202, app/assets/stylesheets/rental_items.scss */
  .rental-items-container .table td:nth-child(6),
.rental-items-container .table th:nth-child(6),
.rental-items-container .table td:nth-child(7),
.rental-items-container .table th:nth-child(7) {
    display: none;
  }
}

/* Animações */
/* line 211, app/assets/stylesheets/rental_items.scss */
.rental-items-container .fade-in {
  animation: fadeIn 0.3s ease-in;
}

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

/* Estados de loading */
/* line 221, app/assets/stylesheets/rental_items.scss */
.rental-items-container .loading {
  opacity: 0.6;
  pointer-events: none;
}

/* line 226, app/assets/stylesheets/rental_items.scss */
.rental-items-container .spinner-border-sm {
  width: 1rem;
  height: 1rem;
}

/* Melhorias visuais para campos de formulário */
/* line 232, app/assets/stylesheets/rental_items.scss */
.rental-items-container .form-control:focus {
  border-color: #28a745;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

/* line 237, app/assets/stylesheets/rental_items.scss */
.rental-items-container .input-group-text {
  background-color: #f8f9fa;
  border-color: #ced4da;
}

/* Card de resumo */
/* line 243, app/assets/stylesheets/rental_items.scss */
.rental-items-container .card.bg-light {
  border: 1px solid #dee2e6;
}

/* line 247, app/assets/stylesheets/rental_items.scss */
.rental-items-container .card.bg-info {
  border: 1px solid #17a2b8;
}

/* Linha vazia estilizada */
/* line 252, app/assets/stylesheets/rental_items.scss */
.rental-items-container .text-muted .fa-inbox {
  color: #6c757d;
  opacity: 0.5;
}

/* Formulário de inserção compacto */
/* line 258, app/assets/stylesheets/rental_items.scss */
.rental-form-container {
  background: linear-gradient(135deg, #e3f2fd 0%, #f8f9fa 100%);
  border: 2px solid #28a745;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(40, 167, 69, 0.15);
}

/* line 265, app/assets/stylesheets/rental_items.scss */
.rental-form-container .form-control:focus {
  border-color: #28a745;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

/* line 270, app/assets/stylesheets/rental_items.scss */
.rental-form-container .input-group-text {
  background-color: #28a745;
  border-color: #28a745;
  color: white;
  font-weight: bold;
}

/* line 277, app/assets/stylesheets/rental_items.scss */
.rental-form-container .btn-success {
  background: linear-gradient(45deg, #28a745, #20c997);
  border: none;
  box-shadow: 0 2px 4px rgba(40, 167, 69, 0.3);
}

/* line 283, app/assets/stylesheets/rental_items.scss */
.rental-form-container .btn-success:hover {
  background: linear-gradient(45deg, #218838, #1e7e34);
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(40, 167, 69, 0.4);
}

/* line 289, app/assets/stylesheets/rental_items.scss */
.rental-form-container .badge-secondary {
  background-color: #6c757d;
  padding: 0.5rem;
  font-size: 0.8rem;
}

/* Formulário de inserção na tabela - linha destacada */
/* line 296, app/assets/stylesheets/rental_items.scss */
.rental-items-container .table-success {
  background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%) !important;
  animation: formSlideIn 0.3s ease-out;
}

/* line 301, app/assets/stylesheets/rental_items.scss */
.rental-items-container .table-success td {
  border-color: #28a745 !important;
  padding: 12px 8px !important;
}

/* line 306, app/assets/stylesheets/rental_items.scss */
.rental-items-container .table-success .form-control:focus {
  border-color: #28a745;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
  transform: scale(1.02);
}

/* line 312, app/assets/stylesheets/rental_items.scss */
.rental-items-container .table-success .input-group-text {
  background-color: #28a745;
  border-color: #28a745;
  color: white;
  font-weight: bold;
}

/* line 319, app/assets/stylesheets/rental_items.scss */
.rental-items-container .table-success .btn-success {
  background: linear-gradient(45deg, #28a745, #20c997);
  border: none;
  box-shadow: 0 2px 4px rgba(40, 167, 69, 0.3);
}

/* line 325, app/assets/stylesheets/rental_items.scss */
.rental-items-container .table-success .btn-success:hover {
  background: linear-gradient(45deg, #218838, #1e7e34);
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(40, 167, 69, 0.4);
}

/* line 331, app/assets/stylesheets/rental_items.scss */
.rental-items-container .table-success .badge-secondary {
  background-color: #6c757d;
  padding: 0.5rem;
  font-size: 0.8rem;
}

@keyframes formSlideIn {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@charset "UTF-8";
/* ================================================
   ESTILOS PARA MODAL DE EQUIPAMENTOS - SWEETALERT2
   ================================================ */
/* Modal pequeno - padrão do sistema */
/* line 6, app/assets/stylesheets/rental_items_modal.scss */
.swal2-small-modal {
  font-size: 0.875rem !important;
}

/* line 10, app/assets/stylesheets/rental_items_modal.scss */
.swal2-small-modal .swal2-title {
  font-size: 1.25rem !important;
  margin-bottom: 1rem !important;
}

/* line 15, app/assets/stylesheets/rental_items_modal.scss */
.swal2-actions-small {
  gap: 0.5rem !important;
}

/* line 19, app/assets/stylesheets/rental_items_modal.scss */
.swal2-actions-small .btn {
  padding: 0.375rem 0.75rem !important;
  font-size: 0.875rem !important;
}

/* ================================================
   ESTILOS PARA TABELA - PADRÃO DO SISTEMA
   ================================================ */
/* Painel de controle - seguindo padrão works */
/* line 29, app/assets/stylesheets/rental_items_modal.scss */
.main-container .control-panel {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  margin-bottom: 1rem;
  overflow: visible !important;
}

/* line 37, app/assets/stylesheets/rental_items_modal.scss */
.panel-header {
  display: flex;
  justify-content: between;
  align-items: center;
  padding: 1.5rem;
  border-bottom: 1px solid #dee2e6;
}

/* line 45, app/assets/stylesheets/rental_items_modal.scss */
.panel-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #495057;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 55, app/assets/stylesheets/rental_items_modal.scss */
.panel-actions {
  display: flex;
  gap: 0.5rem;
}

/* line 60, app/assets/stylesheets/rental_items_modal.scss */
.btn-panel {
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  font-weight: 500;
  text-decoration: none;
  border: 1px solid transparent;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  transition: all 0.2s ease;
  cursor: pointer;
  background: none;
}

/* line 75, app/assets/stylesheets/rental_items_modal.scss */
.btn-panel.btn-success {
  background-color: #28a745;
  border-color: #28a745;
  color: #fff;
}

/* line 81, app/assets/stylesheets/rental_items_modal.scss */
.btn-panel.btn-success:hover {
  background-color: #218838;
  border-color: #1e7e34;
  color: #fff;
}

/* Stats row - seguindo padrão works */
/* line 88, app/assets/stylesheets/rental_items_modal.scss */
.stats-row {
  display: flex;
  gap: 1rem;
  padding: 1rem 1.5rem;
  flex-wrap: wrap;
}

/* line 95, app/assets/stylesheets/rental_items_modal.scss */
.stat-item {
  flex: 1;
  min-width: 140px;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  background: #f8f9fa;
  border-radius: 0.5rem;
  border-left: 4px solid #dee2e6;
}

/* line 107, app/assets/stylesheets/rental_items_modal.scss */
.stat-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1rem;
}

/* line 118, app/assets/stylesheets/rental_items_modal.scss */
.stat-icon.total {
  background-color: #6c757d;
}

/* line 119, app/assets/stylesheets/rental_items_modal.scss */
.stat-icon.progress {
  background-color: #17a2b8;
}

/* line 120, app/assets/stylesheets/rental_items_modal.scss */
.stat-icon.completed {
  background-color: #28a745;
}

/* line 121, app/assets/stylesheets/rental_items_modal.scss */
.stat-icon.info {
  background-color: #17a2b8;
}

/* line 122, app/assets/stylesheets/rental_items_modal.scss */
.stat-icon.cancelled {
  background-color: #ffc107;
  color: #212529;
}

/* line 124, app/assets/stylesheets/rental_items_modal.scss */
.stat-content h4 {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0;
  color: #495057;
}

/* line 131, app/assets/stylesheets/rental_items_modal.scss */
.stat-content p {
  font-size: 0.75rem;
  margin: 0;
  color: #6c757d;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Tabela - seguindo padrão works */
/* line 140, app/assets/stylesheets/rental_items_modal.scss */
.table.data-table {
  margin-bottom: 0;
}

/* line 144, app/assets/stylesheets/rental_items_modal.scss */
.table.data-table thead th {
  background-color: #f8f9fa;
  border-bottom: 2px solid #dee2e6;
  font-weight: 600;
  color: #495057;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 0.75rem;
}

/* line 155, app/assets/stylesheets/rental_items_modal.scss */
.table.data-table tbody tr {
  transition: background-color 0.2s ease;
}

/* line 159, app/assets/stylesheets/rental_items_modal.scss */
.table.data-table tbody tr:hover {
  background-color: #f8f9fa;
}

/* line 163, app/assets/stylesheets/rental_items_modal.scss */
.table.data-table tbody td {
  padding: 0.75rem;
  vertical-align: middle;
  border-top: 1px solid #dee2e6;
  font-size: 0.8rem;
}

/* Botões de ação - seguindo padrão works */
/* line 171, app/assets/stylesheets/rental_items_modal.scss */
.actions-cell {
  white-space: nowrap;
}

/* line 175, app/assets/stylesheets/rental_items_modal.scss */
.action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.25rem;
  border: 1px solid transparent;
  margin-right: 0.25rem;
  cursor: pointer;
  transition: all 0.2s ease;
  background: none;
  font-size: 0.8rem;
}

/* line 190, app/assets/stylesheets/rental_items_modal.scss */
.action-btn.view {
  color: #17a2b8;
  border-color: #17a2b8;
}

/* line 195, app/assets/stylesheets/rental_items_modal.scss */
.action-btn.view:hover {
  background-color: #17a2b8;
  color: #fff;
}

/* line 200, app/assets/stylesheets/rental_items_modal.scss */
.action-btn.edit {
  color: #ffc107;
  border-color: #ffc107;
}

/* line 205, app/assets/stylesheets/rental_items_modal.scss */
.action-btn.edit:hover {
  background-color: #ffc107;
  color: #212529;
}

/* line 210, app/assets/stylesheets/rental_items_modal.scss */
.action-btn.delete {
  color: #dc3545;
  border-color: #dc3545;
}

/* line 215, app/assets/stylesheets/rental_items_modal.scss */
.action-btn.delete:hover {
  background-color: #dc3545;
  color: #fff;
}

/* line 220, app/assets/stylesheets/rental_items_modal.scss */
.action-btn.disabled {
  color: #6c757d;
  border-color: #6c757d;
  cursor: not-allowed;
  opacity: 0.6;
}

/* line 227, app/assets/stylesheets/rental_items_modal.scss */
.action-btn.disabled:hover {
  background-color: transparent;
  color: #6c757d;
}

/* Botões bloqueados */
/* line 233, app/assets/stylesheets/rental_items_modal.scss */
.btn-outline-secondary:disabled {
  background-color: #f8f9fa;
  border-color: #dee2e6;
  color: #6c757d;
  cursor: not-allowed;
}

/* line 240, app/assets/stylesheets/rental_items_modal.scss */
.btn-outline-secondary:disabled .fa-lock {
  color: #ffc107;
}

/* Badge de bloqueio */
/* line 245, app/assets/stylesheets/rental_items_modal.scss */
.badge-warning {
  background-color: #ffc107;
  color: #212529;
}

/* line 250, app/assets/stylesheets/rental_items_modal.scss */
.badge-warning .fa-exclamation-triangle {
  margin-right: 0.25rem;
}

/* Tooltip personalizado para itens bloqueados */
/* line 255, app/assets/stylesheets/rental_items_modal.scss */
.blocked-item-tooltip {
  background-color: #dc3545;
  color: white;
  border-radius: 0.375rem;
  padding: 0.5rem;
  font-size: 0.875rem;
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);
}

/* Modal de equipamento com layout personalizado */
/* line 265, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal {
  max-width: 100%;
  font-size: 0.875rem;
}

/* line 270, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .form-group {
  margin-bottom: 0.75rem;
}

/* line 274, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .form-label {
  font-weight: 600;
  margin-bottom: 0.375rem;
  color: #495057;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
}

/* line 284, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .form-label i {
  width: 16px;
  text-align: center;
}

/* Dropdown de equipamentos no modal */
/* line 290, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .dropdown-menu {
  border: 1px solid #dee2e6;
  border-radius: 0.375rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  z-index: 9999;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  left: 0 !important;
  right: 0 !important;
  position: absolute !important;
  box-sizing: border-box !important;
}

/* line 304, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .dropdown-item {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #f8f9fa;
  transition: all 0.2s ease;
}

/* line 310, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .dropdown-item:last-child {
  border-bottom: none;
}

/* line 314, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .dropdown-item:hover {
  background-color: #e9ecef;
  transform: translateX(2px);
}

/* line 319, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .dropdown-item strong {
  color: #495057;
  display: block;
  margin-bottom: 0.25rem;
}

/* line 325, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .dropdown-item small {
  color: #6c757d;
  font-size: 0.875rem;
}

/* Alert de equipamento selecionado */
/* line 331, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .alert-success {
  background-color: #d1edff;
  border-color: #bee5eb;
  color: #0c5460;
  border-radius: 0.375rem;
  padding: 0.75rem;
}

/* line 339, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .alert-success i {
  color: #28a745;
  margin-right: 0.5rem;
}

/* Alertas de disponibilidade */
/* line 345, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .alert-sm {
  padding: 0.375rem 0.5rem;
  font-size: 0.8125rem;
  border-radius: 0.25rem;
}

/* line 351, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .alert-success {
  background-color: #d4edda;
  border-color: #c3e6cb;
  color: #155724;
}

/* line 357, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .alert-warning {
  background-color: #fff3cd;
  border-color: #ffeaa7;
  color: #856404;
}

/* line 363, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .alert-danger {
  background-color: #f8d7da;
  border-color: #f5c6cb;
  color: #721c24;
}

/* Campos de entrada */
/* line 370, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .form-control {
  border-radius: 0.375rem;
  border: 1px solid #dee2e6;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

/* line 376, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .form-control:focus {
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

/* line 382, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .input-group-text {
  background-color: #f8f9fa;
  border: 1px solid #dee2e6;
  color: #495057;
  font-weight: 500;
}

/* line 389, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .input-group-text.bg-success {
  background-color: #28a745 !important;
  border-color: #28a745;
  color: white;
}

/* Campo readonly para total */
/* line 396, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal input[readonly] {
  background-color: #f8f9fa !important;
  opacity: 1;
  font-weight: bold;
  color: #28a745;
}

/* Textarea para observações */
/* line 404, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal textarea.form-control {
  resize: vertical;
  min-height: 60px;
}

/* Texto de ajuda */
/* line 410, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .form-text {
  font-size: 0.75rem;
  color: #6c757d;
  margin-top: 0.25rem;
}

/* Layout responsivo para campos de preço */
/* line 417, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .row {
  margin-left: 0;
  margin-right: 0;
}

/* line 422, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .row > [class*="col-"] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

/* ====================================================
   ESTILOS PARA TABELA DE EQUIPAMENTOS REFATORADA
   ==================================================== */
/* Container principal */
/* line 432, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container {
  background: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  overflow: hidden;
}

/* Cabeçalho da seção */
/* line 440, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container h5 {
  font-weight: 600;
  color: #495057;
}

/* line 445, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container h5 i {
  color: #007bff;
  margin-right: 0.5rem;
}

/* line 450, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .text-muted {
  font-weight: normal;
  font-size: 0.875rem;
}

/* Botão adicionar equipamento */
/* line 456, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .btn-success {
  background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
  border: none;
  font-weight: 500;
  transition: all 0.3s ease;
  box-shadow: 0 0.125rem 0.25rem rgba(40, 167, 69, 0.25);
}

/* line 464, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .btn-success:hover {
  transform: translateY(-1px);
  box-shadow: 0 0.25rem 0.5rem rgba(40, 167, 69, 0.35);
}

/* Tabela de equipamentos */
/* line 470, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .table {
  margin-bottom: 0;
  border-collapse: separate;
  border-spacing: 0;
}

/* line 476, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .table thead th {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-bottom: 2px solid #dee2e6;
  font-weight: 600;
  color: #495057;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 1rem 0.75rem;
}

/* line 487, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .table tbody tr {
  transition: all 0.2s ease;
}

/* line 491, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .table tbody tr:hover {
  background-color: #f8f9fa;
  transform: scale(1.001);
}

/* line 496, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .table tbody td {
  padding: 0.875rem 0.75rem;
  vertical-align: middle;
  border-top: 1px solid #e9ecef;
}

/* Badges e indicadores */
/* line 503, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .badge {
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.375rem 0.625rem;
  border-radius: 0.375rem;
}

/* line 510, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .badge-primary {
  background: linear-gradient(135deg, #007bff 0%, #0056b3 100%);
  color: white;
  font-size: 0.875rem;
  font-weight: 600;
}

/* line 517, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .badge-secondary {
  background-color: #6c757d;
  color: white;
}

/* line 522, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .badge-success {
  background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
  color: white;
}

/* line 527, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .badge-warning {
  background: linear-gradient(135deg, #ffc107 0%, #e0a800 100%);
  color: #212529;
}

/* Botões de ação */
/* line 533, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .btn-group-sm .btn {
  padding: 0.375rem 0.625rem;
  font-size: 0.875rem;
  border-radius: 0.375rem;
  margin: 0 0.125rem;
  transition: all 0.2s ease;
}

/* line 541, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .btn-outline-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 0.25rem 0.5rem rgba(0, 123, 255, 0.25);
}

/* line 546, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .btn-outline-danger:hover {
  transform: translateY(-1px);
  box-shadow: 0 0.25rem 0.5rem rgba(220, 53, 69, 0.25);
}

/* Estado vazio */
/* line 552, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .text-muted {
  color: #8e9297 !important;
}

/* line 556, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .fa-inbox {
  color: #dee2e6;
  margin-bottom: 1rem;
}

/* Cards de resumo */
/* line 562, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .card {
  border: none;
  border-radius: 0.5rem;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  transition: transform 0.2s ease;
}

/* line 569, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .card:hover {
  transform: translateY(-2px);
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.15);
}

/* line 574, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .card-body {
  padding: 1.25rem;
}

/* line 578, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .bg-info {
  background: linear-gradient(135deg, #17a2b8 0%, #138496 100%) !important;
}

/* Responsividade */
@media (max-width: 768px) {
  /* line 584, app/assets/stylesheets/rental_items_modal.scss */
  .stats-row {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 589, app/assets/stylesheets/rental_items_modal.scss */
  .stat-item {
    min-width: auto;
  }
  /* line 593, app/assets/stylesheets/rental_items_modal.scss */
  .panel-header {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }
  /* line 599, app/assets/stylesheets/rental_items_modal.scss */
  .panel-actions {
    justify-content: center;
  }
  /* line 603, app/assets/stylesheets/rental_items_modal.scss */
  .action-btn {
    width: 1.75rem;
    height: 1.75rem;
    font-size: 0.75rem;
  }
  /* line 609, app/assets/stylesheets/rental_items_modal.scss */
  .table.data-table {
    font-size: 0.75rem;
  }
  /* line 613, app/assets/stylesheets/rental_items_modal.scss */
  .table.data-table tbody td {
    padding: 0.5rem 0.25rem;
  }
}

/* ===============================================
   ESTILOS ESPECÍFICOS PARA EQUIPAMENTOS BLOQUEADOS
   =============================================== */
/* Linha de equipamento bloqueado */
/* line 623, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container tr.equipment-locked {
  background-color: rgba(248, 249, 250, 0.8);
  opacity: 0.8;
}

/* line 628, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container tr.equipment-locked td {
  position: relative;
}

/* Ícone de cadeado */
/* line 633, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .lock-icon {
  color: #dc3545;
  font-size: 0.875rem;
  margin-left: 0.5rem;
  cursor: help;
  transition: transform 0.2s ease;
}

/* line 641, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .lock-icon:hover {
  transform: scale(1.1);
  color: #c82333;
}

/* Botão bloqueado */
/* line 647, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .btn-locked {
  background-color: #6c757d;
  border-color: #6c757d;
  color: white;
  cursor: not-allowed;
  opacity: 0.6;
}

/* line 655, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .btn-locked:hover {
  background-color: #6c757d;
  border-color: #6c757d;
  transform: none;
  box-shadow: none;
}

/* Tooltip para equipamentos bloqueados */
/* line 663, app/assets/stylesheets/rental_items_modal.scss */
.rental-items-container .equipment-status-tooltip {
  font-size: 0.75rem;
  max-width: 200px;
}

/* Ajustes para inputs no modal pequeno */
/* line 669, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .form-control-sm {
  font-size: 0.875rem;
  padding: 0.25rem 0.5rem;
}

/* line 674, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .input-group-sm > .form-control {
  font-size: 0.875rem;
}

/* line 678, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .input-group-sm > .input-group-prepend > .input-group-text,
.equipment-form-modal .input-group-sm > .input-group-append > .input-group-text {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
}

/* line 684, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .form-text {
  font-size: 0.75rem;
  margin-top: 0.25rem;
}

/* Ajustes para alertas no modal pequeno */
/* line 690, app/assets/stylesheets/rental_items_modal.scss */
.equipment-form-modal .alert-sm {
  padding: 0.375rem 0.5rem;
  font-size: 0.8125rem;
  border-radius: 0.25rem;
}
/* line 4, app/assets/stylesheets/rental_services.scss */
.action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 4px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.2s ease;
  background: transparent;
  font-size: 0.875rem;
  text-decoration: none;
  color: #6c757d;
}

/* line 19, app/assets/stylesheets/rental_services.scss */
.action-btn:hover {
  background: rgba(0, 123, 255, 0.1);
  color: #007bff;
  border-color: #007bff;
  transform: scale(1.1);
}

/* line 26, app/assets/stylesheets/rental_services.scss */
.action-btn.edit {
  color: #ffc107;
  border-color: #ffc107;
}

/* line 30, app/assets/stylesheets/rental_services.scss */
.action-btn.edit:hover {
  background-color: #ffc107;
  color: #212529;
}

/* line 38, app/assets/stylesheets/rental_services.scss */
.swal2-popup-custom {
  border-radius: 0.375rem !important;
  padding: 1.5rem !important;
}

/* line 43, app/assets/stylesheets/rental_services.scss */
.swal2-title-custom {
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  color: #212529 !important;
  padding-bottom: 1rem !important;
  border-bottom: 1px solid #dee2e6 !important;
  margin-bottom: 1rem !important;
}

/* line 52, app/assets/stylesheets/rental_services.scss */
.swal2-html-custom {
  margin: 0 !important;
  padding: 0 !important;
}

/* line 58, app/assets/stylesheets/rental_services.scss */
.swal2-popup .form-control,
.swal2-popup .form-control-sm {
  background-color: #ffffff !important;
  border: 1px solid #ced4da !important;
  color: #495057 !important;
  border-radius: 0.25rem !important;
  font-size: 0.875rem !important;
  padding: 0.375rem 0.75rem !important;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
}

/* line 69, app/assets/stylesheets/rental_services.scss */
.swal2-popup .form-control:focus,
.swal2-popup .form-control-sm:focus {
  border-color: #80bdff !important;
  outline: 0 !important;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25) !important;
}

/* line 76, app/assets/stylesheets/rental_services.scss */
.swal2-popup .form-control:disabled,
.swal2-popup .form-control[readonly] {
  background-color: #e9ecef !important;
  opacity: 1 !important;
}

/* line 83, app/assets/stylesheets/rental_services.scss */
.swal2-popup .input-group-text {
  background-color: #e9ecef !important;
  border: 1px solid #ced4da !important;
  color: #495057 !important;
  font-size: 0.875rem !important;
  padding: 0.375rem 0.75rem !important;
}

/* line 91, app/assets/stylesheets/rental_services.scss */
.swal2-popup .input-group-prepend .input-group-text {
  border-right: 0 !important;
  border-radius: 0.25rem 0 0 0.25rem !important;
}

/* line 96, app/assets/stylesheets/rental_services.scss */
.swal2-popup .input-group-append .input-group-text {
  border-left: 0 !important;
  border-radius: 0 0.25rem 0.25rem 0 !important;
}

/* line 101, app/assets/stylesheets/rental_services.scss */
.swal2-popup .input-group .form-control:not(:first-child) {
  border-left: 0 !important;
  border-radius: 0 0.25rem 0.25rem 0 !important;
}

/* line 106, app/assets/stylesheets/rental_services.scss */
.swal2-popup .input-group .form-control:not(:last-child) {
  border-right: 0 !important;
  border-radius: 0.25rem 0 0 0.25rem !important;
}

/* line 112, app/assets/stylesheets/rental_services.scss */
.swal2-popup .form-label {
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: #495057 !important;
  margin-bottom: 0.5rem !important;
}

/* line 120, app/assets/stylesheets/rental_services.scss */
.swal2-popup .alert-info {
  background-color: #d1ecf1 !important;
  border: 1px solid #bee5eb !important;
  color: #0c5460 !important;
  border-radius: 0.25rem !important;
}

/* line 128, app/assets/stylesheets/rental_services.scss */
.swal2-validation-message {
  background-color: #f8d7da !important;
  border-color: #f5c6cb !important;
  color: #721c24 !important;
  font-size: 0.875rem !important;
}
/* line 4, app/assets/stylesheets/rentals.scss */
.person-card {
  overflow: visible !important;
  position: relative;
}

/* line 9, app/assets/stylesheets/rentals.scss */
.person-card-content {
  overflow: visible !important;
}

/* line 13, app/assets/stylesheets/rentals.scss */
.person-tabs-container,
.person-tabs-wrapper {
  overflow: visible !important;
}

/* line 19, app/assets/stylesheets/rentals.scss */
body > .ts-dropdown {
  z-index: 10000 !important;
  position: fixed !important;
  max-height: 400px !important;
  overflow-y: auto !important;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

/* line 28, app/assets/stylesheets/rentals.scss */
.person-tab.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: #f8f9fa !important;
  color: #6c757d !important;
}

/* line 34, app/assets/stylesheets/rentals.scss */
.person-tab.disabled:hover {
  background-color: #f8f9fa !important;
  color: #6c757d !important;
}

/* line 41, app/assets/stylesheets/rentals.scss */
.person-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
  background: #f8f9fa;
  border-top: 1px solid #dee2e6;
  border-radius: 0 0 8px 8px;
}

/* line 52, app/assets/stylesheets/rentals.scss */
.footer-info {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 11px;
  color: #6c757d;
  flex: 1;
}

/* line 61, app/assets/stylesheets/rentals.scss */
.footer-flow-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  flex: 2;
}

/* line 69, app/assets/stylesheets/rentals.scss */
.footer-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
  justify-content: flex-end;
}

/* line 77, app/assets/stylesheets/rentals.scss */
.status-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
}

/* line 84, app/assets/stylesheets/rentals.scss */
.status-actions .btn,
.status-actions .btn-disabled {
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 100px;
  font-size: 0.85rem;
  padding: 0.375rem 0.75rem;
}

/* line 96, app/assets/stylesheets/rentals.scss */
.btn-disabled {
  background: #e9ecef;
  color: #6c757d;
  border-radius: 4px;
  cursor: not-allowed;
  text-align: center;
  position: relative;
  max-width: 200px;
  word-wrap: break-word;
}

/* line 107, app/assets/stylesheets/rentals.scss */
.btn-disabled:hover::after {
  content: attr(title);
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: #333;
  color: white;
  padding: 0.5rem;
  border-radius: 4px;
  font-size: 0.8rem;
  white-space: nowrap;
  z-index: 1000;
  margin-bottom: 0.5rem;
  max-width: 300px;
  word-wrap: break-word;
  white-space: normal;
  text-align: center;
}

/* line 127, app/assets/stylesheets/rentals.scss */
.btn-disabled:hover::before {
  content: '';
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: #333;
  margin-bottom: -5px;
  z-index: 1000;
}

/* line 141, app/assets/stylesheets/rentals.scss */
.equipment-status-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

/* line 148, app/assets/stylesheets/rentals.scss */
.equipment-status-card {
  background: white;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  padding: 1rem;
  transition: all 0.2s ease;
}

/* line 155, app/assets/stylesheets/rentals.scss */
.equipment-status-card:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}

/* line 161, app/assets/stylesheets/rentals.scss */
.equipment-name {
  font-weight: 600;
  color: #495057;
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 170, app/assets/stylesheets/rentals.scss */
.equipment-quantities {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

/* line 177, app/assets/stylesheets/rentals.scss */
.quantity-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  color: #6c757d;
}

/* line 185, app/assets/stylesheets/rentals.scss */
.equipment-status {
  text-align: center;
}

/* line 189, app/assets/stylesheets/rentals.scss */
.rental-progress {
  margin-bottom: 1.5rem;
}

/* line 193, app/assets/stylesheets/rentals.scss */
.rental-status-badge {
  margin-left: 1rem;
  font-size: 0.85rem;
}

/* line 199, app/assets/stylesheets/rentals.scss */
.input-group-text {
  font-size: 0.875rem;
  padding: 0.25rem 0.5rem;
}

/* line 205, app/assets/stylesheets/rentals.scss */
.rental-filter-col {
  min-width: 120px;
}

/* line 208, app/assets/stylesheets/rentals.scss */
.rental-filter-col:first-child {
  min-width: 140px;
}

/* line 212, app/assets/stylesheets/rentals.scss */
.rental-filter-col:nth-child(2) {
  min-width: 170px;
}

/* line 216, app/assets/stylesheets/rentals.scss */
.rental-filter-col:nth-child(3) {
  min-width: 320px;
}

/* line 221, app/assets/stylesheets/rentals.scss */
.prebilling-panel {
  height: 100%;
  padding: 1rem;
  border: 1px solid #dfe7ec;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfd 100%);
  box-shadow: 0 6px 18px rgba(44, 62, 80, 0.06);
}

/* line 230, app/assets/stylesheets/rentals.scss */
.prebilling-panel-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.9rem;
}

/* line 238, app/assets/stylesheets/rentals.scss */
.prebilling-panel-header.compact {
  margin-bottom: 0.75rem;
}

/* line 242, app/assets/stylesheets/rentals.scss */
.prebilling-panel-title {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: #2c3e50;
}

/* line 251, app/assets/stylesheets/rentals.scss */
.prebilling-panel-title i {
  color: #3498db;
}

/* line 255, app/assets/stylesheets/rentals.scss */
.prebilling-panel-subtitle {
  font-size: 0.78rem;
  line-height: 1.35;
  color: #6c7a86;
}

/* line 261, app/assets/stylesheets/rentals.scss */
.prebilling-panel-badge {
  flex-shrink: 0;
}

/* line 265, app/assets/stylesheets/rentals.scss */
.prebilling-metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 0.65rem;
  margin-bottom: 0.9rem;
}

/* line 272, app/assets/stylesheets/rentals.scss */
.prebilling-metric-card {
  display: flex;
  flex-direction: column;
  gap: 0.18rem;
  padding: 0.75rem 0.8rem;
  border: 1px solid #e4ebf0;
  border-radius: 10px;
  background: #f9fbfc;
}

/* line 282, app/assets/stylesheets/rentals.scss */
.prebilling-metric-card.primary {
  border-color: #cfe2f3;
  background: #f3f9ff;
}

/* line 287, app/assets/stylesheets/rentals.scss */
.prebilling-metric-label {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #7a8a97;
}

/* line 295, app/assets/stylesheets/rentals.scss */
.prebilling-metric-value {
  font-size: 1rem;
  line-height: 1.2;
  color: #22313f;
}

/* line 301, app/assets/stylesheets/rentals.scss */
.prebilling-metric-meta {
  font-size: 0.75rem;
  color: #6e7d88;
}

/* line 306, app/assets/stylesheets/rentals.scss */
.prebilling-info-groups {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 312, app/assets/stylesheets/rentals.scss */
.prebilling-info-group {
  padding: 0.8rem;
  border: 1px solid #e7edf1;
  border-radius: 10px;
  background: #fff;
}

/* line 319, app/assets/stylesheets/rentals.scss */
.prebilling-info-group-title,
.prebilling-action-section-title {
  display: block;
  margin-bottom: 0.55rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #81909b;
}

/* line 330, app/assets/stylesheets/rentals.scss */
.prebilling-info-grid,
.prebilling-action-grid,
.prebilling-billing-split-grid {
  display: grid;
  gap: 0.6rem;
}

/* line 337, app/assets/stylesheets/rentals.scss */
.prebilling-info-grid.two-columns,
.prebilling-action-grid.two-columns,
.prebilling-billing-split-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* line 343, app/assets/stylesheets/rentals.scss */
.prebilling-info-item {
  display: flex;
  flex-direction: column;
  gap: 0.14rem;
  min-width: 0;
}

/* line 350, app/assets/stylesheets/rentals.scss */
.prebilling-info-label {
  font-size: 0.72rem;
  color: #8694a0;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* line 357, app/assets/stylesheets/rentals.scss */
.prebilling-info-value {
  font-size: 0.86rem;
  color: #24323d;
  line-height: 1.35;
  word-break: break-word;
}

/* line 364, app/assets/stylesheets/rentals.scss */
.prebilling-actions-panel {
  display: flex;
  flex-direction: column;
}

/* line 369, app/assets/stylesheets/rentals.scss */
.prebilling-action-sections {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

/* line 375, app/assets/stylesheets/rentals.scss */
.prebilling-action-section {
  padding: 0.75rem;
  border: 1px solid #e6edf2;
  border-radius: 10px;
  background: #fcfdfe;
}

/* line 382, app/assets/stylesheets/rentals.scss */
.prebilling-action-section.emphasis {
  border-color: #d7e5ef;
  background: #f7fbfe;
}

/* line 387, app/assets/stylesheets/rentals.scss */
.prebilling-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 34px;
  padding: 0.35rem 0.6rem;
  font-weight: 600;
  white-space: normal;
  text-align: center;
}

/* line 399, app/assets/stylesheets/rentals.scss */
.prebilling-action-btn.span-2 {
  grid-column: span 2;
}

/* line 403, app/assets/stylesheets/rentals.scss */
.prebilling-action-btn-primary {
  width: 100%;
}

/* line 407, app/assets/stylesheets/rentals.scss */
.prebilling-billing-split-card {
  margin-top: 0.75rem;
  padding: 0.75rem;
  border: 1px solid #d9e6f1;
  border-radius: 10px;
  background: #fff;
}

/* line 415, app/assets/stylesheets/rentals.scss */
.prebilling-billing-split-header {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  margin-bottom: 0.65rem;
}

/* line 422, app/assets/stylesheets/rentals.scss */
.prebilling-billing-split-header strong {
  color: #2c3e50;
  font-size: 0.85rem;
}

/* line 427, app/assets/stylesheets/rentals.scss */
.prebilling-billing-split-header span,
.prebilling-split-option span {
  font-size: 0.76rem;
  color: #74828d;
}

/* line 433, app/assets/stylesheets/rentals.scss */
.prebilling-split-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.65rem;
  border: 1px solid #e6edf2;
  border-radius: 9px;
  background: #fafcfd;
}

/* line 444, app/assets/stylesheets/rentals.scss */
.prebilling-split-option.primary {
  border-color: #d5e4f2;
}

/* line 448, app/assets/stylesheets/rentals.scss */
.prebilling-split-option.success {
  border-color: #d8eadf;
}

/* line 452, app/assets/stylesheets/rentals.scss */
.prebilling-split-option strong {
  display: block;
  font-size: 0.84rem;
  color: #22313f;
}

/* line 458, app/assets/stylesheets/rentals.scss */
.signature-management-card {
  --signature-surface: #ffffff;
  --signature-surface-soft: #f7fafb;
  --signature-surface-soft-strong: #eff5f7;
  --signature-border: #dbe5ea;
  --signature-border-strong: #c8d6dd;
  --signature-text: #243743;
  --signature-muted: #6f808b;
  --signature-accent: #2f6f86;
  --signature-accent-strong: #275c70;
  --signature-success: #2f6a4c;
  --signature-success-bg: #edf8f1;
  --signature-success-border: #cfe5d7;
  --signature-warning: #8a6c2d;
  --signature-warning-bg: #fff8eb;
  --signature-warning-border: #efdfb8;
  --signature-danger: #a65b55;
  --signature-danger-bg: #fff4f3;
  --signature-danger-border: #efd2cf;
  border: 1px solid var(--signature-border);
  border-radius: 14px;
  overflow: hidden;
  background: linear-gradient(180deg, #fbfcfd 0%, #ffffff 24%, #ffffff 100%);
  box-shadow: 0 10px 28px rgba(31, 51, 68, 0.06);
}

/* line 483, app/assets/stylesheets/rentals.scss */
.signature-management-card .card-body {
  padding: 0.875rem;
}

/* line 487, app/assets/stylesheets/rentals.scss */
.signature-management-card .text-primary {
  color: var(--signature-accent) !important;
}

/* line 491, app/assets/stylesheets/rentals.scss */
.signature-management-card .text-success {
  color: var(--signature-success) !important;
}

/* line 495, app/assets/stylesheets/rentals.scss */
.signature-management-card .text-danger {
  color: var(--signature-danger) !important;
}

/* line 499, app/assets/stylesheets/rentals.scss */
.signature-management-card .text-muted {
  color: var(--signature-muted) !important;
}

/* line 503, app/assets/stylesheets/rentals.scss */
.signature-management-card .badge {
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 0.35rem 0.62rem;
  font-weight: 600;
  box-shadow: none;
}

/* line 511, app/assets/stylesheets/rentals.scss */
.signature-management-card .badge-secondary {
  background: #eef2f5;
  border-color: #d7e0e5;
  color: #51616d;
}

/* line 517, app/assets/stylesheets/rentals.scss */
.signature-management-card .badge-warning {
  background: var(--signature-warning-bg);
  border-color: var(--signature-warning-border);
  color: var(--signature-warning);
}

/* line 523, app/assets/stylesheets/rentals.scss */
.signature-management-card .badge-success {
  background: var(--signature-success-bg);
  border-color: var(--signature-success-border);
  color: var(--signature-success);
}

/* line 529, app/assets/stylesheets/rentals.scss */
.signature-management-card .badge-danger {
  background: var(--signature-danger-bg);
  border-color: var(--signature-danger-border);
  color: var(--signature-danger);
}

/* line 535, app/assets/stylesheets/rentals.scss */
.signature-management-card .form-control,
.signature-management-card .form-control-sm,
.signature-management-card .custom-select,
.signature-management-card input[type='datetime-local'] {
  border-color: var(--signature-border-strong);
  color: var(--signature-text);
  background-color: #fff;
}

/* line 544, app/assets/stylesheets/rentals.scss */
.signature-management-card .form-control:focus,
.signature-management-card .form-control-sm:focus,
.signature-management-card .custom-select:focus,
.signature-management-card input[type='datetime-local']:focus {
  border-color: #b9cfd8;
  box-shadow: 0 0 0 0.12rem rgba(47, 111, 134, 0.14);
}

/* line 552, app/assets/stylesheets/rentals.scss */
.signature-management-card .form-label-sm,
.signature-management-card .form-check-label {
  color: var(--signature-text);
}

/* line 557, app/assets/stylesheets/rentals.scss */
.signature-management-card .form-text,
.signature-management-card small {
  color: var(--signature-muted);
}

@media (max-width: 991.98px) {
  /* line 564, app/assets/stylesheets/rentals.scss */
  .prebilling-panel {
    margin-bottom: 1rem;
  }
}

@media (max-width: 767.98px) {
  /* line 570, app/assets/stylesheets/rentals.scss */
  .prebilling-panel {
    padding: 0.85rem;
  }
  /* line 574, app/assets/stylesheets/rentals.scss */
  .prebilling-panel-header,
.prebilling-split-option {
    flex-direction: column;
    align-items: stretch;
  }
  /* line 580, app/assets/stylesheets/rentals.scss */
  .prebilling-metric-grid,
.prebilling-info-grid.two-columns,
.prebilling-action-grid.two-columns,
.prebilling-billing-split-grid {
    grid-template-columns: 1fr;
  }
  /* line 587, app/assets/stylesheets/rentals.scss */
  .prebilling-action-btn.span-2 {
    grid-column: span 1;
  }
}

/* line 592, app/assets/stylesheets/rentals.scss */
.signature-management-header {
  background: linear-gradient(135deg, #edf4f7 0%, #f7fafb 100%);
  color: #243743;
  border-bottom: 1px solid #dbe5ea;
}

/* line 598, app/assets/stylesheets/rentals.scss */
.signature-provider-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.34rem 0.72rem;
  border-radius: 999px;
  border: 1px solid #cad9e0;
  background: rgba(255, 255, 255, 0.9);
  color: #2f6f86;
  font-size: 0.78rem;
  font-weight: 700;
}

/* line 610, app/assets/stylesheets/rentals.scss */
.signature-header-meta {
  gap: 0.25rem;
}

/* line 614, app/assets/stylesheets/rentals.scss */
.signature-quickbar {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 0.65rem;
}

/* line 622, app/assets/stylesheets/rentals.scss */
.signature-quick-info {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  flex: 1;
  min-width: 0;
}

/* line 630, app/assets/stylesheets/rentals.scss */
.signature-chip {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 112px;
  padding: 0.45rem 0.65rem;
  background: #f7fafb;
  border: 1px solid #dbe5ea;
  border-radius: 10px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
  line-height: 1.2;
}

/* line 643, app/assets/stylesheets/rentals.scss */
.signature-chip-status {
  min-width: 138px;
  background: #f2f7f9;
}

/* line 648, app/assets/stylesheets/rentals.scss */
.signature-chip-meta {
  min-width: 96px;
}

/* line 652, app/assets/stylesheets/rentals.scss */
.signature-chip-label {
  font-size: 0.66rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #7b8c97;
}

/* line 660, app/assets/stylesheets/rentals.scss */
.signature-chip-value {
  font-size: 0.94rem;
  font-weight: 600;
  color: #243743;
  line-height: 1.3;
}

/* line 666, app/assets/stylesheets/rentals.scss */
.signature-chip-value a {
  color: #2f6f86;
}

/* line 670, app/assets/stylesheets/rentals.scss */
.signature-chip-value .badge {
  font-size: 0.78rem;
}

/* line 675, app/assets/stylesheets/rentals.scss */
.signature-actions-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
  justify-content: flex-end;
  flex-shrink: 0;
}

/* line 683, app/assets/stylesheets/rentals.scss */
.signature-actions-group form {
  margin: 0;
}

/* line 688, app/assets/stylesheets/rentals.scss */
.signature-action-button,
.signature-link-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  border-radius: 999px;
  font-weight: 600;
  padding: 0.38rem 0.85rem;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
  box-shadow: none;
}

/* line 700, app/assets/stylesheets/rentals.scss */
.signature-action-button:hover, .signature-action-button:focus,
.signature-link-button:hover,
.signature-link-button:focus {
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(31, 51, 68, 0.08);
}

/* line 707, app/assets/stylesheets/rentals.scss */
.signature-action-button-primary {
  background: #2f6f86;
  border-color: #2f6f86;
  color: #fff;
}

/* line 712, app/assets/stylesheets/rentals.scss */
.signature-action-button-primary:hover, .signature-action-button-primary:focus {
  background: #275c70;
  border-color: #275c70;
  color: #fff;
}

/* line 720, app/assets/stylesheets/rentals.scss */
.signature-action-button-neutral {
  background: #f1f6f8;
  border-color: #cfdae0;
  color: #365260;
}

/* line 725, app/assets/stylesheets/rentals.scss */
.signature-action-button-neutral:hover, .signature-action-button-neutral:focus {
  background: #e8eff3;
  border-color: #c4d2d9;
  color: #2c4552;
}

/* line 733, app/assets/stylesheets/rentals.scss */
.signature-action-button-danger {
  background: #fff4f3;
  border-color: #efd2cf;
  color: #a65b55;
}

/* line 738, app/assets/stylesheets/rentals.scss */
.signature-action-button-danger:hover, .signature-action-button-danger:focus {
  background: #fdeceb;
  border-color: #e7c2be;
  color: #964c46;
}

/* line 746, app/assets/stylesheets/rentals.scss */
.signature-action-button-success {
  background: #edf8f1;
  border-color: #cfe5d7;
  color: #2f6a4c;
}

/* line 751, app/assets/stylesheets/rentals.scss */
.signature-action-button-success:hover, .signature-action-button-success:focus {
  background: #e5f3ea;
  border-color: #bfdacb;
  color: #275a40;
}

/* line 759, app/assets/stylesheets/rentals.scss */
.signature-link-button-primary {
  background: #fff;
  border-color: #cbdbe2;
  color: #2f6f86;
}

/* line 764, app/assets/stylesheets/rentals.scss */
.signature-link-button-primary:hover, .signature-link-button-primary:focus {
  background: #f5fafb;
  border-color: #bdd0d8;
  color: #275c70;
}

/* line 772, app/assets/stylesheets/rentals.scss */
.signature-link-button-success {
  background: #fff;
  border-color: #cfe5d7;
  color: #2f6a4c;
}

/* line 777, app/assets/stylesheets/rentals.scss */
.signature-link-button-success:hover, .signature-link-button-success:focus {
  background: #f4fbf7;
  border-color: #bfdacb;
  color: #275a40;
}

/* line 785, app/assets/stylesheets/rentals.scss */
.signature-next-step-success {
  background: #edf8f1;
  border-color: #cfe5d7;
  color: #2f6a4c;
}

/* line 791, app/assets/stylesheets/rentals.scss */
.signature-next-step-info {
  background: #edf5f8;
  border-color: #cfdfe7;
  color: #2c6278;
}

/* line 797, app/assets/stylesheets/rentals.scss */
.signature-next-step-warning {
  background: #fff8eb;
  border-color: #efdfb8;
  color: #8a6c2d;
}

/* line 803, app/assets/stylesheets/rentals.scss */
.signature-next-step-neutral {
  background: #f5f8fa;
  border-color: #d9e4e9;
  color: #4a5f69;
}

/* line 809, app/assets/stylesheets/rentals.scss */
.signature-compact-strip {
  display: grid;
  grid-template-columns: minmax(240px, 1.2fr) minmax(280px, 1fr) minmax(280px, 1fr);
  gap: 0.65rem;
}

/* line 815, app/assets/stylesheets/rentals.scss */
.signature-inline-card {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  min-width: 0;
  padding: 0.75rem 0.85rem;
  background: #fff;
  border: 1px solid #dbe5ea;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(31, 51, 68, 0.05);
}

/* line 827, app/assets/stylesheets/rentals.scss */
.signature-inline-card-step {
  justify-content: center;
}

/* line 831, app/assets/stylesheets/rentals.scss */
.signature-inline-label {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #7b8c97;
}

/* line 839, app/assets/stylesheets/rentals.scss */
.signature-inline-text {
  font-size: 0.84rem;
  font-weight: 500;
  line-height: 1.35;
}

/* line 845, app/assets/stylesheets/rentals.scss */
.signature-inline-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
}

/* line 853, app/assets/stylesheets/rentals.scss */
.signature-inline-copy {
  flex: 1;
  min-width: 0;
}

/* line 858, app/assets/stylesheets/rentals.scss */
.signature-inline-copy {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
  line-height: 1.2;
  color: #243743;
}

/* line 866, app/assets/stylesheets/rentals.scss */
.signature-inline-copy i {
  flex-shrink: 0;
}

/* line 870, app/assets/stylesheets/rentals.scss */
.signature-inline-copy strong {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 879, app/assets/stylesheets/rentals.scss */
.signature-inline-meta {
  flex-shrink: 1;
  min-width: 0;
  font-size: 0.8rem;
  color: #6f808b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 889, app/assets/stylesheets/rentals.scss */
.signature-inline-empty {
  justify-content: flex-start;
}

/* line 893, app/assets/stylesheets/rentals.scss */
.signature-collapse-card {
  border: 1px solid #dbe5ea;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(31, 51, 68, 0.04);
}

/* line 899, app/assets/stylesheets/rentals.scss */
.signature-collapse-card .card-header {
  background: #f8fbfc;
  border-bottom: 0;
}

/* line 904, app/assets/stylesheets/rentals.scss */
.signature-collapse-card .card-body {
  background: linear-gradient(180deg, #fcfdfd 0%, #f8fbfc 100%);
}

/* line 909, app/assets/stylesheets/rentals.scss */
.signature-collapse-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0;
  color: #243743;
  text-decoration: none;
}

/* line 919, app/assets/stylesheets/rentals.scss */
.signature-collapse-trigger:hover, .signature-collapse-trigger:focus {
  text-decoration: none;
  color: #243743;
}

/* line 926, app/assets/stylesheets/rentals.scss */
.signature-collapse-accent-icon {
  color: #2f6f86;
}

/* line 930, app/assets/stylesheets/rentals.scss */
.signature-collapse-success-icon {
  color: #2f6a4c;
}

/* line 934, app/assets/stylesheets/rentals.scss */
.signature-collapse-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

/* line 941, app/assets/stylesheets/rentals.scss */
.signature-collapse-title {
  font-size: 0.92rem;
  font-weight: 600;
}

/* line 946, app/assets/stylesheets/rentals.scss */
.signature-collapse-description,
.signature-collapse-meta {
  font-size: 0.78rem;
  color: #6f808b;
}

/* line 952, app/assets/stylesheets/rentals.scss */
.signature-collapse-side {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
  text-align: right;
}

/* line 960, app/assets/stylesheets/rentals.scss */
.signature-collapse-icon {
  color: #7d8d98;
  transition: transform 0.2s ease;
}

/* line 965, app/assets/stylesheets/rentals.scss */
.signature-collapse-trigger.collapsed .signature-collapse-icon {
  transform: rotate(-90deg);
}

/* line 969, app/assets/stylesheets/rentals.scss */
.signature-form-panel {
  padding: 1rem;
  border: 1px solid #dbe5ea;
  border-radius: 12px;
  background: #f7fafb;
}

/* line 976, app/assets/stylesheets/rentals.scss */
.signature-form-panel-subtle {
  background: #fff;
}

@media (max-width: 768px) {
  /* line 982, app/assets/stylesheets/rentals.scss */
  .person-card-footer {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
    gap: 1rem;
  }
  /* line 989, app/assets/stylesheets/rentals.scss */
  .footer-flow-actions {
    order: 1;
  }
  /* line 993, app/assets/stylesheets/rentals.scss */
  .footer-info {
    order: 2;
    justify-content: center;
  }
  /* line 998, app/assets/stylesheets/rentals.scss */
  .footer-actions {
    order: 3;
    justify-content: center;
  }
  /* line 1003, app/assets/stylesheets/rentals.scss */
  .status-actions {
    justify-content: center;
  }
  /* line 1007, app/assets/stylesheets/rentals.scss */
  .equipment-status-grid {
    grid-template-columns: 1fr;
  }
  /* line 1011, app/assets/stylesheets/rentals.scss */
  .signature-quickbar {
    flex-direction: column;
  }
  /* line 1015, app/assets/stylesheets/rentals.scss */
  .signature-actions-group {
    width: 100%;
    justify-content: flex-start;
  }
  /* line 1020, app/assets/stylesheets/rentals.scss */
  .signature-compact-strip {
    grid-template-columns: 1fr;
  }
  /* line 1024, app/assets/stylesheets/rentals.scss */
  .signature-inline-main,
.signature-collapse-trigger,
.signature-collapse-side {
    align-items: flex-start;
  }
  /* line 1030, app/assets/stylesheets/rentals.scss */
  .signature-inline-main,
.signature-collapse-trigger {
    flex-direction: column;
  }
  /* line 1035, app/assets/stylesheets/rentals.scss */
  .signature-collapse-side {
    width: 100%;
    justify-content: space-between;
  }
  /* line 1040, app/assets/stylesheets/rentals.scss */
  .quantity-item {
    font-size: 0.85rem;
  }
}

@media (max-width: 576px) {
  /* line 1046, app/assets/stylesheets/rentals.scss */
  .signature-chip {
    width: 100%;
  }
  /* line 1050, app/assets/stylesheets/rentals.scss */
  .signature-inline-copy {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.2rem;
  }
}
/* line 6, app/assets/stylesheets/service_dashboard.scss */
:root {
  --primary-color: #007bff;
  --secondary-color: #6c757d;
  --success-color: #28a745;
  --danger-color: #dc3545;
  --warning-color: #ffc107;
  --info-color: #17a2b8;
  --light-color: #f8f9fa;
  --dark-color: #343a40;
  --white: #ffffff;
  --primary-light: rgba(0, 123, 255, 0.1);
  --success-light: rgba(40, 167, 69, 0.1);
  --danger-light: rgba(220, 53, 69, 0.1);
  --warning-light: rgba(255, 193, 7, 0.1);
  --info-light: rgba(23, 162, 184, 0.1);
  --shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --transition-fast: all 0.15s ease-in-out;
  --transition-normal: all 0.3s ease-in-out;
  --transition-slow: all 0.5s ease-in-out;
  --border-radius: 0.375rem;
  --border-radius-lg: 0.5rem;
  --border-radius-xl: 1rem;
}

/* line 66, app/assets/stylesheets/service_dashboard.scss */
.erp-ui.service-dashboard-module .sd-export-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 77, app/assets/stylesheets/service_dashboard.scss */
.email-dashboard-header-compact {
  background: #ffffff;
  padding: 0.875rem 0;
  margin-bottom: 1.25rem;
  border-bottom: 2px solid #e9ecef;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

/* line 85, app/assets/stylesheets/service_dashboard.scss */
.email-dashboard-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 93, app/assets/stylesheets/service_dashboard.scss */
.email-dashboard-header-title-section {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: 1;
  min-width: 0;
}

/* line 101, app/assets/stylesheets/service_dashboard.scss */
.email-dashboard-icon-compact {
  width: 38px;
  height: 38px;
  background: linear-gradient(135deg, #17a2b8, #138496);
  border-radius: var(--border-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1rem;
  box-shadow: 0 2px 6px rgba(23, 162, 184, 0.2);
  flex-shrink: 0;
}

/* line 115, app/assets/stylesheets/service_dashboard.scss */
.email-dashboard-text-compact {
  flex: 1;
  min-width: 0;
}

/* line 120, app/assets/stylesheets/service_dashboard.scss */
.email-dashboard-title-compact {
  font-size: 1.375rem;
  font-weight: 700;
  color: #212529;
  margin-bottom: 0.125rem;
  line-height: 1.3;
}

/* line 128, app/assets/stylesheets/service_dashboard.scss */
.email-dashboard-subtitle-compact {
  font-size: 0.8rem;
  color: #6c757d;
  margin-bottom: 0;
  font-weight: 400;
  line-height: 1.3;
}

/* line 136, app/assets/stylesheets/service_dashboard.scss */
.email-dashboard-header-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  flex-shrink: 0;
}

/* line 144, app/assets/stylesheets/service_dashboard.scss */
.email-dashboard-period-buttons {
  display: inline-flex;
  background: #f8f9fa;
  border-radius: var(--border-radius);
  padding: 0.25rem;
  gap: 0.25rem;
}

/* line 152, app/assets/stylesheets/service_dashboard.scss */
.email-dashboard-period-btn {
  padding: 0.375rem 0.75rem;
  border: none;
  background: transparent;
  color: #6c757d;
  font-size: 0.8rem;
  font-weight: 500;
  border-radius: calc(var(--border-radius) - 1px);
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
  user-select: none;
}

/* line 165, app/assets/stylesheets/service_dashboard.scss */
.email-dashboard-period-btn:hover {
  background: #e9ecef;
  color: #495057;
}

/* line 170, app/assets/stylesheets/service_dashboard.scss */
.email-dashboard-period-btn.active {
  background: #17a2b8;
  color: #ffffff;
  box-shadow: 0 2px 4px rgba(23, 162, 184, 0.2);
}

/* line 177, app/assets/stylesheets/service_dashboard.scss */
.btn-compact-email {
  padding: 0.35rem 0.65rem;
  font-size: 0.8rem;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border-radius: var(--border-radius);
}

/* line 186, app/assets/stylesheets/service_dashboard.scss */
.btn-compact-email i {
  font-size: 0.8rem;
}

/* line 190, app/assets/stylesheets/service_dashboard.scss */
.btn-compact-email .btn-text {
  white-space: nowrap;
}

@media (max-width: 768px) {
  /* line 197, app/assets/stylesheets/service_dashboard.scss */
  .email-dashboard-header-compact {
    padding: 0.875rem 0;
  }
  /* line 201, app/assets/stylesheets/service_dashboard.scss */
  .email-dashboard-header-row {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }
  /* line 207, app/assets/stylesheets/service_dashboard.scss */
  .email-dashboard-header-title-section {
    gap: 0.75rem;
  }
  /* line 211, app/assets/stylesheets/service_dashboard.scss */
  .email-dashboard-icon-compact {
    width: 36px;
    height: 36px;
    font-size: 0.9rem;
  }
  /* line 217, app/assets/stylesheets/service_dashboard.scss */
  .email-dashboard-title-compact {
    font-size: 1.25rem;
  }
  /* line 221, app/assets/stylesheets/service_dashboard.scss */
  .email-dashboard-subtitle-compact {
    font-size: 0.75rem;
  }
  /* line 225, app/assets/stylesheets/service_dashboard.scss */
  .email-dashboard-header-actions {
    justify-content: flex-start;
    width: 100%;
  }
  /* line 230, app/assets/stylesheets/service_dashboard.scss */
  .email-dashboard-period-buttons {
    flex: 1;
    justify-content: stretch;
  }
  /* line 235, app/assets/stylesheets/service_dashboard.scss */
  .email-dashboard-period-btn {
    flex: 1;
    text-align: center;
  }
  /* line 240, app/assets/stylesheets/service_dashboard.scss */
  .btn-compact-email {
    flex: 1;
    justify-content: center;
    min-width: 0;
  }
}
/* Melhorias Mobile-First para Service Order Show */

/* Header compacto */
@media (max-width: 768px) {
  .content-header {
    padding: 0.75rem 0 !important;
  }
  
  .content-header h1 {
    font-size: 1.1rem !important;
    line-height: 1.3;
  }
  
  /* Dropdown mobile */
  .dropdown-menu {
    min-width: 200px;
    border-radius: 0.375rem;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  }
  
  .dropdown-item {
    padding: 0.5rem 1rem;
    font-size: 0.9rem;
  }
  
  /* Cards mobile */
  .card {
    border-radius: 0.5rem;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    margin-bottom: 1rem;
  }
  
  .card-header {
    padding: 0.75rem 1rem;
    background-color: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
  }
  
  .card-body {
    padding: 1rem;
  }
  
  /* Badges responsive */
  .badge {
    font-size: 0.75rem;
    padding: 0.375rem 0.5rem;
    margin-bottom: 0.25rem;
  }
  
  /* Lista de itens mobile */
  .border-bottom {
    border-bottom: 1px solid #e9ecef !important;
  }
  
  /* Botões mobile */
  .btn {
    border-radius: 0.375rem;
  }
  
  .btn-sm {
    padding: 0.375rem 0.75rem;
    font-size: 0.875rem;
  }
  
  /* Grid mobile */
  .row > [class*="col-"] {
    margin-bottom: 0.5rem;
  }
  
  /* Assinatura mobile */
  .signature-preview img {
    border: 2px solid #e9ecef;
    border-radius: 0.375rem;
    padding: 0.5rem;
  }
  
  /* Anexos mobile */
  .img-thumbnail {
    border-radius: 0.375rem;
    border: 1px solid #dee2e6;
  }
}

/* Melhorias gerais */
.card-header h6 {
  margin: 0;
  font-weight: 600;
  color: #495057;
}

.text-muted {
  color: #6c757d !important;
}

.badge {
  font-weight: 500;
}

.alert {
  border-radius: 0.375rem;
}

/* Botões com ícones */
.btn i {
  margin-right: 0.25rem;
}

/* Responsividade para imagens */
.img-fluid {
  max-width: 100%;
  height: auto;
}

/* Lista compacta */
.list-group-item {
  border-radius: 0.375rem !important;
  margin-bottom: 0.25rem;
}

/* Melhor contraste */
.text-success {
  color: #198754 !important;
}

.text-primary {
  color: #0d6efd !important;
}

.text-warning {
  color: #fd7e14 !important;
}

.text-info {
  color: #0dcaf0 !important;
}

/* Grid mobile otimizado */
@media (max-width: 576px) {
  .col-6 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  
  /* Texto menor em mobile */
  small {
    font-size: 0.75rem !important;
  }
  
  /* Botões mobile maiores */
  .btn-sm {
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
  }
  
  /* Assinatura compacta */
  .signature-preview img {
    max-height: 100px !important;
  }
  
  /* Fotos em grid 2x2 */
  .col-6.col-md-4 {
    max-width: 50%;
    flex: 0 0 50%;
  }
}

/* Melhorias para valores monetários */
.text-success {
  font-weight: 600 !important;
}

/* Spacing otimizado */
.mb-3 {
  margin-bottom: 0.75rem !important;
}

/* Container fluid com padding reduzido em mobile */
@media (max-width: 768px) {
  .container-fluid {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
}

/* Estilos para Status Badges de Orçamentos */
.status-badge.draft {
  background-color: #6c757d;
  color: white;
}

.status-badge.pending {
  background-color: #ffc107;
  color: #212529;
}

.status-badge.approved {
  background-color: #28a745;
  color: white;
}

.status-badge.rejected {
  background-color: #dc3545;
  color: white;
}

.status-badge.expired {
  background-color: #6c757d;
  color: white;
}

.status-badge.converted {
  background-color: #17a2b8;
  color: white;
}

.status-badge.cancelled {
  background-color: #343a40;
  color: white;
}

.status-badge.lost {
  background-color: #dc3545;
  color: white;
}

/* Ajuste para badges sem cantos arredondados */
.status-badge {
  border-radius: 0 !important;
}

/* Ícones nos Stats para Orçamentos */
.stat-icon.draft {
  background-color: #6c757d;
}

.stat-icon.approved {
  background-color: #28a745;
}

/* Botões de ação específicos para orçamentos */
.action-btn.duplicate {
  color: #17a2b8;
  border-color: #17a2b8;
}

.action-btn.duplicate:hover {
  background-color: #17a2b8;
  color: white;
}

.action-btn.convert {
  color: #28a745;
  border-color: #28a745;
}

.action-btn.convert:hover {
  background-color: #28a745;
  color: white;
}

/* Botão de atender para solicitações de atendimento */
.action-btn.attend {
  color: #28a745 !important;
  background: transparent !important;
  border: none !important;
}

.action-btn.attend:hover {
  color: #1e7e34 !important;
  background: rgba(40, 167, 69, 0.1) !important;
}

.action-btn.attend:active,
.action-btn.attend:focus {
  color: #1e7e34 !important;
  background: rgba(40, 167, 69, 0.15) !important;
  box-shadow: none !important;
}

/* Remoção global de cantos arredondados para todos os badges */
.badge,
.status-badge,
.priority-badge,
.badge-primary,
.badge-secondary,
.badge-success,
.badge-danger,
.badge-warning,
.badge-info,
.badge-light,
.badge-dark,
.badge-pill {
  border-radius: 0 !important;
}

/* Estatísticas específicas para pessoas */
.stat-icon.active {
  background: #28a745;
}

.stat-icon.inactive {
  background: #6c757d;
}

.stat-icon.blocked {
  background: #dc3545;
}

.stat-icon.customers {
  background: #17a2b8;
}

.stat-icon.companies {
  background: #007bff;
}

/* Estatísticas específicas para equipamentos */
.stat-icon.rented {
  background: #17a2b8;
}

.stat-icon.maintenance {
  background: #ffc107;
}

.stat-icon.sold {
  background: #28a745;
}

/* Badges de status dos equipamentos */
.status-badge.active {
  background: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

.status-badge.inactive {
  background: #f8f9fa;
  color: #6c757d;
  border: 1px solid #dee2e6;
}

.status-badge.maintenance {
  background: #fff3cd;
  color: #856404;
  border: 1px solid #ffeaa7;
}

.status-badge.rented {
  background: #d1ecf1;
  color: #0c5460;
  border: 1px solid #bee5eb;
}

.status-badge.sold {
  background: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

.status-badge.scrapped {
  background: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

/* Badges de status das obras */
.status-badge.finished {
  background: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

/* Estatísticas específicas para categorias */
.stat-icon.with-description {
  background: #17a2b8;
}

.stat-icon.without-description {
  background: #6c757d;
}

.stat-icon.recent {
  background: #28a745;
}

/* Seção de ações em lote */
.bulk-actions-section {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  padding: 15px;
  margin-bottom: 20px;
}

.bulk-actions-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.bulk-actions-info {
  font-weight: 500;
  color: #495057;
}

.bulk-actions-buttons {
  display: flex;
  gap: 10px;
}

@media (max-width: 768px) {
  .bulk-actions-content {
    flex-direction: column;
    gap: 15px;
    align-items: stretch;
  }
  
  .bulk-actions-buttons {
    justify-content: center;
  }
}

/* Tabelas compactas específicas para mobile */
@media (max-width: 768px) {
  .data-table thead th {
    padding: 6px 8px !important;
    font-size: 12px;
  }
  
  .data-table tbody td {
    padding: 5px 8px !important;
    font-size: 12px;
  }
  
  .action-btn {
    padding: 3px 5px !important;
    font-size: 11px !important;
    min-width: 26px;
    height: 26px;
  }
}

/* Ajustes específicos para altura das estatísticas e filtros */
.stats-row {
  padding: 12px;
}

.stat-item {
  padding: 6px;
}

.stat-content h4 {
  font-size: 18px;
}

.stat-content p {
  font-size: 11px;
}

/* Filtros mais compactos */
.filters-section {
  padding: 12px 16px;
}

.filter-group label {
  font-size: 12px;
  margin-bottom: 2px;
}

.filter-group .form-control {
  padding: 6px 10px;
  font-size: 13px;
  height: auto;
}

/* Botões de filtro menores */
.btn-panel {
  padding: 6px 12px;
  font-size: 13px;
}

/* Footer mais compacto */
.table-footer {
  padding: 8px 16px;
}

.table-footer .records-info {
  font-size: 13px;
}

/* Legendas mais compactas */
.table-legends {
  padding: 8px 12px;
  font-size: 12px;
}

.legend-section {
  margin-right: 20px;
  margin-bottom: 6px;
}

.legend-title {
  font-size: 12px;
  font-weight: 600;
}

.legend-items .status-badge,
.legend-items .priority-badge,
.legend-items .badge {
  font-size: 10px !important;
  padding: 2px 5px !important;
  margin-right: 8px;
}

.legend-items .status-badge i,
.legend-items .priority-badge i,
.legend-items .badge i {
  font-size: 9px !important;
  margin-right: 2px !important;
}
@charset "UTF-8";
/* line 4, app/assets/stylesheets/service_orders.scss */
.custom-tabs .nav-link {
  color: #495057;
  border: 1px solid transparent;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
  cursor: pointer;
  transition: all 0.15s ease-in-out;
}

/* line 12, app/assets/stylesheets/service_orders.scss */
.custom-tabs .nav-link:hover {
  border-color: #e9ecef #e9ecef #dee2e6;
  color: #007bff;
}

/* line 17, app/assets/stylesheets/service_orders.scss */
.custom-tabs .nav-link.active {
  color: #495057;
  background-color: #fff;
  border-color: #dee2e6 #dee2e6 #fff;
}

/* line 25, app/assets/stylesheets/service_orders.scss */
.tab-content {
  border: 1px solid #dee2e6;
  border-top: none;
  padding: 1rem;
  background-color: #fff;
}

/* line 31, app/assets/stylesheets/service_orders.scss */
.tab-content .tab-pane {
  display: none;
}

/* line 34, app/assets/stylesheets/service_orders.scss */
.tab-content .tab-pane.active {
  display: block;
}

/* line 38, app/assets/stylesheets/service_orders.scss */
.tab-content .tab-pane.show.active {
  display: block;
}

/* line 44, app/assets/stylesheets/service_orders.scss */
.ts-wrapper.service-order-technicians-select {
  width: 100%;
  height: 82px !important;
  min-height: 82px !important;
  max-height: 82px !important;
}

/* line 51, app/assets/stylesheets/service_orders.scss */
.ts-wrapper.service-order-technicians-select .ts-control {
  min-height: 82px !important;
  height: 82px !important;
  max-height: 82px !important;
  padding: 6px 8px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  align-content: flex-start;
  box-sizing: border-box !important;
}

/* line 65, app/assets/stylesheets/service_orders.scss */
.ts-wrapper.service-order-technicians-select .ts-control .items {
  white-space: normal !important;
  overflow: visible !important;
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
}

/* line 73, app/assets/stylesheets/service_orders.scss */
.ts-wrapper.service-order-technicians-select.multi .ts-control > div.item {
  margin-bottom: 4px;
}

/* line 78, app/assets/stylesheets/service_orders.scss */
.service-order-items-panel .service-order-items-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid #d9e3ee;
  border-radius: 0.55rem;
  background: linear-gradient(180deg, #f8fbff 0%, #f4f8fc 100%);
}

/* line 90, app/assets/stylesheets/service_orders.scss */
.service-order-items-panel .service-order-items-hint {
  color: #5f6b7a;
  font-size: 0.78rem;
  line-height: 1.35;
  max-width: 42rem;
}

/* line 97, app/assets/stylesheets/service_orders.scss */
.service-order-items-panel .service-order-add-item-btn {
  white-space: nowrap;
  border-radius: 0.45rem;
  font-weight: 600;
  padding: 0.35rem 0.75rem;
}

/* line 104, app/assets/stylesheets/service_orders.scss */
.service-order-items-panel .service-order-items-list {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

/* line 110, app/assets/stylesheets/service_orders.scss */
.service-order-items-panel .service-order-item {
  border: 1px solid #d8e1eb;
  border-left: 3px solid #17a2b8;
  border-radius: 0.55rem;
  background: #fff;
  padding: 0.65rem 0.75rem;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* line 120, app/assets/stylesheets/service_orders.scss */
.service-order-items-panel .service-order-item:hover {
  border-color: #b7c6d8;
  box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08);
}

/* line 125, app/assets/stylesheets/service_orders.scss */
.service-order-items-panel .service-order-item__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.6rem;
}

/* line 133, app/assets/stylesheets/service_orders.scss */
.service-order-items-panel .service-order-item__chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.1rem 0.4rem;
  margin-right: 0.4rem;
  border-radius: 999px;
  background: #e7f5f8;
  border: 1px solid #bfe6ed;
  color: #0f6f80;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

/* line 148, app/assets/stylesheets/service_orders.scss */
.service-order-items-panel .service-order-item__meta {
  color: #718096;
  font-size: 0.74rem;
  font-weight: 500;
}

/* line 154, app/assets/stylesheets/service_orders.scss */
.service-order-items-panel .service-order-item__header-actions {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

/* line 160, app/assets/stylesheets/service_orders.scss */
.service-order-items-panel .service-order-item .form-label {
  font-size: 0.66rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #5b6776;
}

/* line 168, app/assets/stylesheets/service_orders.scss */
.service-order-items-panel .service-order-item input.form-control-sm,
.service-order-items-panel .service-order-item select.form-control-sm,
.service-order-items-panel .service-order-item .input-group-sm .input-group-text {
  height: 2rem !important;
  min-height: 2rem;
  font-size: 0.78rem;
}

/* line 176, app/assets/stylesheets/service_orders.scss */
.service-order-items-panel .service-order-item .input-group-sm .input-group-text {
  padding: 0 0.45rem;
  font-weight: 600;
  color: #4f5d6b;
  background: #f2f5f8;
  border-color: #d6e0ea;
}

/* line 184, app/assets/stylesheets/service_orders.scss */
.service-order-items-panel .service-order-item .quantity-field {
  text-align: center;
  font-weight: 600;
}

/* line 189, app/assets/stylesheets/service_orders.scss */
.service-order-items-panel .service-order-item .unit-price-field,
.service-order-items-panel .service-order-item .total-amount-field {
  text-align: right;
}

/* line 194, app/assets/stylesheets/service_orders.scss */
.service-order-items-panel .service-order-item .total-amount-field {
  font-weight: 700;
  color: #155724;
  background-color: #ecf9f1;
}

/* line 200, app/assets/stylesheets/service_orders.scss */
.service-order-items-panel .service-order-item .toggle-description-btn {
  color: #516172;
  font-size: 0.72rem;
  text-decoration: none;
}

/* line 206, app/assets/stylesheets/service_orders.scss */
.service-order-items-panel .service-order-item .toggle-description-btn:hover {
  color: #243343;
  text-decoration: none;
}

/* line 211, app/assets/stylesheets/service_orders.scss */
.service-order-items-panel .service-order-item__remove {
  border-radius: 0.4rem;
  line-height: 1;
  padding: 0.25rem 0.45rem;
}

/* line 217, app/assets/stylesheets/service_orders.scss */
.service-order-items-panel .service-order-item__description-wrap {
  margin-top: 0.6rem;
  padding-top: 0.6rem;
  border-top: 1px dashed #d6e0ea;
}

/* line 223, app/assets/stylesheets/service_orders.scss */
.service-order-items-panel .service-order-item .description-field {
  min-height: 5.5rem;
  resize: vertical;
  line-height: 1.4;
  padding-top: 0.45rem;
}

@media (max-width: 991.98px) {
  /* line 233, app/assets/stylesheets/service_orders.scss */
  .service-order-items-panel .service-order-items-toolbar {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 238, app/assets/stylesheets/service_orders.scss */
  .service-order-items-panel .service-order-add-item-btn {
    width: 100%;
  }
}

/* line 246, app/assets/stylesheets/service_orders.scss */
.badge.bg-orange {
  background-color: #fd7e14 !important;
}

/* line 252, app/assets/stylesheets/service_orders.scss */
.form-group {
  margin-bottom: 1rem;
}

/* line 255, app/assets/stylesheets/service_orders.scss */
.form-group label {
  font-weight: 500;
  margin-bottom: 0.5rem;
}

/* line 259, app/assets/stylesheets/service_orders.scss */
.form-group label .text-danger {
  font-weight: normal;
}

@media (max-width: 768px) {
  /* line 266, app/assets/stylesheets/service_orders.scss */
  .table-responsive {
    font-size: 0.875rem;
  }
  /* line 270, app/assets/stylesheets/service_orders.scss */
  .table-responsive .btn {
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
  }
}

/* line 278, app/assets/stylesheets/service_orders.scss */
select.form-control-sm {
  height: calc(1.5em + 0.5rem + 2px) !important;
  padding: 3px 0.5rem !important;
  font-size: 0.875rem !important;
  background-color: #fff;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23666' d='m2 0-2 2h4zm0 5 2-2h-4z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
  background-size: 8px 10px;
  padding-right: 2rem;
  appearance: none;
}

/* line 292, app/assets/stylesheets/service_orders.scss */
select.form-control-sm:focus {
  border-color: #17a2b8;
  box-shadow: 0 0 0 0.15rem rgba(23, 162, 184, 0.15);
  outline: none;
}

/* line 298, app/assets/stylesheets/service_orders.scss */
select.form-control-sm[multiple] {
  height: auto !important;
  background-image: none;
  padding-right: 0.5rem;
}

/* line 306, app/assets/stylesheets/service_orders.scss */
#show_deleted option[value="true"],
#show_deleted option[value="all"] {
  font-weight: 600;
}

/* line 333, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-show-body {
  padding: 16px;
}

/* line 336, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-show-body > .an-section:last-child {
  margin-bottom: 0;
}

/* line 349, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-show-body .an-section-head {
  padding-bottom: 8px;
  margin-bottom: 12px;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 358, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-show-body .grid > [class*="c"] > .an-section:last-child {
  margin-bottom: 0;
}

/* line 360, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-show-body .card {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}

/* line 369, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-show-body .table-scroll,
.erp-ui.service-orders-module .so-show-body table.data {
  border-top: 1px solid var(--erp-ui-hairline);
}

/* line 395, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-quick-filters {
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 404, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-quick-filters .segmented {
  flex-wrap: wrap;
  height: auto;
}

/* line 412, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-quick-filters .seg-btn .count {
  margin-left: 7px;
}

/* line 420, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-quick-filters .seg-btn[aria-pressed="true"] .count {
  background: var(--erp-ui-accent-ink);
  border-color: var(--erp-ui-accent-ink);
  color: var(--erp-ui-accent);
}

/* line 432, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .field-static {
  min-height: 34px;
  padding: 7px 10px;
  border-radius: 6px;
  background: var(--erp-ui-surface-2);
  color: var(--erp-ui-ink);
  font-size: 13.5px;
  line-height: 1.5;
}

/* line 441, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .field-static p:last-child {
  margin-bottom: 0;
}

/* line 450, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-actions-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

/* line 457, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-actions-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-end;
}

/* line 479, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-triage-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

/* line 485, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-triage-list {
  margin: 0;
  padding-left: 18px;
}

/* line 493, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-photo-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* line 498, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-photo-grid img {
  width: 96px;
  height: 96px;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid var(--erp-ui-hairline);
}

/* line 506, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-document-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 514, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-document-row:last-child {
  border-bottom: 0;
}

/* line 517, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-signature-image {
  max-height: 150px;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 6px;
  margin-bottom: 10px;
}

/* line 523, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-signature-invite {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--erp-ui-hairline);
}

/* line 528, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-signature-feedback.d-none {
  display: none;
}

/* line 565, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .kanban-column[data-status="pending"] .kanban-column-title,
.erp-ui.service-orders-module .kanban-card[data-status="pending"] .so-card-number {
  color: var(--erp-ui-warning-text);
}

/* line 568, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .kanban-column[data-status="in_progress"] .kanban-column-title,
.erp-ui.service-orders-module .kanban-card[data-status="in_progress"] .so-card-number {
  color: var(--erp-ui-accent);
}

/* line 571, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .kanban-column[data-status="completed"] .kanban-column-title,
.erp-ui.service-orders-module .kanban-card[data-status="completed"] .so-card-number {
  color: var(--erp-ui-good-text);
}

/* line 574, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .kanban-column[data-status="cancelled"] .kanban-column-title,
.erp-ui.service-orders-module .kanban-card[data-status="cancelled"] .so-card-number {
  color: var(--erp-ui-critical-text);
}

/* line 580, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

/* line 587, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-card-number {
  font-size: 13px;
  font-weight: 700;
  color: var(--erp-ui-ink);
}

/* line 593, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-card-title {
  margin: 0;
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
}

/* line 599, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-card-work {
  margin: 0;
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
}

/* line 605, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  color: var(--erp-ui-ink-3);
}

/* line 614, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-card-foot {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* line 620, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-card-actions {
  display: flex;
  gap: 2px;
}

/* line 640, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-focus {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
}

/* line 662, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-focus-main {
  flex: 1 1 0;
  min-width: 240px;
}

/* line 672, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-focus-heading {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 700;
  color: var(--erp-ui-ink);
}

/* line 679, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-focus-desc {
  margin: 0 0 10px;
  font-size: 13px;
  color: var(--erp-ui-ink-2);
}

/* line 685, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-focus-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  font-size: 12.5px;
  color: var(--erp-ui-ink-2);
}

/* line 694, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-focus-actions {
  display: flex;
  align-items: center;
  gap: 4px;
}

/* line 705, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-cell-stack {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* line 714, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-row-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

/* line 719, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-row-link:hover {
  text-decoration: none;
  color: var(--erp-ui-accent);
}

/* line 727, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-secondary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: start;
}

@media (max-width: 900px) {
  /* line 735, app/assets/stylesheets/service_orders.scss */
  .erp-ui.service-orders-module .so-secondary-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* line 763, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-rental-summary {
  margin-top: 6px;
  font-size: 12px;
  color: var(--erp-ui-ink-2);
}

/* line 768, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-rental-summary .badge {
  margin-right: 4px;
}

/* line 771, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-items-toolbar {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 12px;
}

/* line 777, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-items-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* line 783, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .service-order-item {
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-surface);
  padding: 12px;
}

/* line 790, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .service-order-item__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}

/* line 798, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .service-order-item__meta {
  font-size: 12px;
  color: var(--erp-ui-ink-2);
}

/* line 803, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .service-order-item__toggle {
  margin-top: 4px;
}

/* line 807, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .service-order-item__description {
  display: none;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed var(--erp-ui-hairline);
}

/* line 813, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .service-order-item__description.is-open {
  display: block;
}

/* line 816, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .service-price-source {
  display: block;
  margin-top: 4px;
  color: var(--erp-ui-ink-2);
}

/* line 822, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-dropzone {
  border: 1px dashed var(--erp-ui-hairline-strong);
  border-radius: var(--erp-ui-radius);
  padding: 14px;
  background: var(--erp-ui-surface-2);
}

/* line 829, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-dropzone-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

/* line 837, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-dropzone-title {
  font-weight: 600;
}

/* line 838, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-dropzone-hint {
  font-size: 12px;
  color: var(--erp-ui-ink-2);
}

/* line 840, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-dropzone-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 846, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-dropzone-list {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--erp-ui-hairline);
}

/* line 852, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-dropzone-empty {
  font-size: 12px;
  color: var(--erp-ui-ink-2);
}

/* line 857, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-attachment-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}

/* line 864, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-attachment-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
}

/* line 873, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-attachment-row.is-marked-for-deletion {
  opacity: 0.55;
  text-decoration: line-through;
}

/* line 887, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-picker {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px;
  margin-bottom: 12px;
}

/* line 895, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-picker__warehouse {
  flex: 0 0 220px;
}

/* line 896, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-picker__search {
  flex: 1 1 320px;
  position: relative;
}

/* line 897, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-picker__qty {
  flex: 0 0 90px;
}

/* line 898, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-picker__action {
  flex: 0 0 auto;
}

/* line 900, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-results {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  z-index: 20;
  max-height: 320px;
  overflow-y: auto;
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
  background: var(--erp-ui-surface);
  border: 1px solid var(--erp-ui-hairline-strong);
  border-radius: var(--erp-ui-radius);
  box-shadow: var(--erp-ui-shadow-overlay);
}

/* line 917, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-results__option {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 12px;
  border-bottom: 1px solid var(--erp-ui-hairline);
  cursor: pointer;
}

/* line 925, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-results__option:last-child {
  border-bottom: 0;
}

/* line 926, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-results__option:hover, .erp-ui.service-orders-module .so-parts-results__option.is-active {
  background: var(--erp-ui-accent-soft);
}

/* line 929, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-results__option.is-avulsa {
  color: var(--erp-ui-accent);
  font-weight: 600;
}

/* line 935, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-results__name {
  display: block;
  font-weight: 600;
}

/* line 940, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-results__code,
.erp-ui.service-orders-module .so-parts-results__empty {
  display: block;
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 947, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-results__empty {
  padding: 8px 12px;
}

/* line 949, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-results__stock {
  font-size: 12px;
  color: var(--erp-ui-ink-2);
  text-align: right;
}

/* line 955, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-feedback {
  flex: 1 1 100%;
  margin: 0;
  font-size: 12px;
  color: var(--erp-ui-critical-text);
}

/* line 963, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-table td:first-child {
  min-width: 220px;
}

/* line 964, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-table td.num {
  white-space: nowrap;
}

/* line 965, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-table .so-part-qty {
  width: 72px;
  text-align: right;
}

/* line 966, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-table .field-unit {
  min-width: 120px;
}

/* line 967, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-table select {
  min-width: 160px;
}

/* line 970, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-part-meta {
  display: block;
}

/* line 974, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-part-warning {
  display: block;
  margin-top: 3px;
  font-size: 12px;
  color: var(--erp-ui-warning-text);
}

/* line 980, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-part-warning::before {
  content: "Atenção: ";
  font-weight: 700;
}

/* line 985, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-part-warning[hidden] {
  display: none;
}

/* line 988, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-part-billable {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-weight: 400;
}

/* line 996, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-part-row[hidden] {
  display: none;
}

/* line 998, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-empty {
  margin: 10px 0 0;
  font-size: 13px;
  color: var(--erp-ui-ink-2);
}

/* line 1004, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-totals {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 28px;
  margin-top: 12px;
}

/* line 1011, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-totals > div {
  text-align: right;
}

/* line 1014, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-totals__label {
  display: block;
  font-size: 12px;
  color: var(--erp-ui-ink-3);
}

/* line 1020, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-totals__value {
  font-size: 16px;
  font-weight: 700;
}

/* line 1024, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-totals__value.is-muted {
  color: var(--erp-ui-ink-2);
  font-weight: 600;
}

/* line 1031, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-pending-action {
  display: flex;
  justify-content: flex-end;
  margin: -4px 0 12px;
}

/* line 1038, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-suggestions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: -2px 0 12px;
}

/* line 1046, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-suggestions__label {
  font-size: 12px;
  color: var(--erp-ui-ink-2);
}

/* line 1051, app/assets/stylesheets/service_orders.scss */
.erp-ui.service-orders-module .so-parts-suggestions__list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
/* line 48, app/assets/stylesheets/service_orders_dashboard.scss */
.erp-ui.service-orders-module .so-export-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
@charset "UTF-8";
/* Estilos específicos para Solicitações de Atendimento */
/* Grupos de Informação */
/* line 4, app/assets/stylesheets/service_requests.scss */
.info-group {
  margin-bottom: 1.5rem;
  padding: 1rem;
  background: #f8f9fa;
  border-radius: 8px;
  border-left: 4px solid #17a2b8;
}

/* line 12, app/assets/stylesheets/service_requests.scss */
.info-label {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  color: #6c757d;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.5rem;
}

/* line 22, app/assets/stylesheets/service_requests.scss */
.info-value {
  font-size: 1rem;
  color: #495057;
  line-height: 1.4;
  word-break: break-word;
}

/* Timeline Customizado */
/* line 30, app/assets/stylesheets/service_requests.scss */
.timeline {
  position: relative;
  padding: 0;
  margin: 0;
}

/* line 36, app/assets/stylesheets/service_requests.scss */
.timeline::before {
  content: '';
  position: absolute;
  left: 20px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #dee2e6;
}

/* line 46, app/assets/stylesheets/service_requests.scss */
.timeline-item {
  position: relative;
  margin-bottom: 2rem;
  padding-left: 60px;
}

/* line 52, app/assets/stylesheets/service_requests.scss */
.timeline-marker {
  position: absolute;
  left: 11px;
  top: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 0.8rem;
  z-index: 1;
}

/* line 67, app/assets/stylesheets/service_requests.scss */
.timeline-content {
  background: white;
  padding: 1rem;
  border-radius: 8px;
  border: 1px solid #e9ecef;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

/* line 75, app/assets/stylesheets/service_requests.scss */
.timeline-title {
  font-size: 1rem;
  font-weight: 600;
  color: #495057;
  margin: 0 0 0.5rem 0;
}

/* line 82, app/assets/stylesheets/service_requests.scss */
.timeline-text {
  color: #6c757d;
  margin: 0 0 0.5rem 0;
  line-height: 1.4;
}

/* Melhorias nos Badges */
/* line 89, app/assets/stylesheets/service_requests.scss */
.badge {
  font-size: 0.75em;
  padding: 0.375em 0.75em;
  border-radius: 0.375rem;
  font-weight: 500;
}

/* line 96, app/assets/stylesheets/service_requests.scss */
.badge-lg {
  font-size: 0.875em;
  padding: 0.5em 1em;
}

/* Status Colors para Atendimentos */
/* line 102, app/assets/stylesheets/service_requests.scss */
.badge-pending {
  background-color: #ffc107;
  color: #212529;
}

/* line 107, app/assets/stylesheets/service_requests.scss */
.badge-in_progress {
  background-color: #007bff;
  color: white;
}

/* line 112, app/assets/stylesheets/service_requests.scss */
.badge-completed {
  background-color: #28a745;
  color: white;
}

/* line 117, app/assets/stylesheets/service_requests.scss */
.badge-cancelled {
  background-color: #dc3545;
  color: white;
}

/* Priority Colors */
/* line 123, app/assets/stylesheets/service_requests.scss */
.badge-low {
  background-color: #17a2b8;
  color: white;
}

/* line 128, app/assets/stylesheets/service_requests.scss */
.badge-medium {
  background-color: #ffc107;
  color: #212529;
}

/* line 133, app/assets/stylesheets/service_requests.scss */
.badge-high {
  background-color: #fd7e14;
  color: white;
}

/* line 138, app/assets/stylesheets/service_requests.scss */
.badge-urgent {
  background-color: #dc3545;
  color: white;
}

/* Melhorias nos Botões (telas legadas do módulo — kanban/triagem/PWA, ainda
   fora do design system erp-ui). `.btn` é seletor sem namespace e chega a
   TODA página via `require_tree` (ver .claude/skills/ui-padroes/references/
   acoes.md, "Armadilhas do CSS legado"); sem o `:not(.erp-ui *)` ele também
   pintava o `.btn` do kit nas telas migradas desta onda (index/show/_form),
   que não declaram `transform`/`box-shadow` nenhum no hover — a propriedade
   que a regra nova não declara não entra em disputa, e a legada vencia. */
/* line 150, app/assets/stylesheets/service_requests.scss */
.btn:not(.erp-ui *) {
  border-radius: 6px;
  font-weight: 500;
  transition: all 0.2s ease;
}

/* line 156, app/assets/stylesheets/service_requests.scss */
.btn:hover:not(.erp-ui *) {
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Responsividade */
@media (max-width: 768px) {
  /* line 163, app/assets/stylesheets/service_requests.scss */
  .person-card-header {
    flex-direction: column;
    gap: 1rem;
    align-items: flex-start;
  }
  /* line 169, app/assets/stylesheets/service_requests.scss */
  .person-card-user-info {
    flex-direction: column;
    gap: 0.5rem;
    align-items: flex-start;
  }
  /* line 175, app/assets/stylesheets/service_requests.scss */
  .person-card-footer {
    flex-direction: column;
    gap: 1rem;
    align-items: stretch;
  }
  /* line 181, app/assets/stylesheets/service_requests.scss */
  .footer-right {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 187, app/assets/stylesheets/service_requests.scss */
  .timeline-item {
    padding-left: 40px;
  }
  /* line 191, app/assets/stylesheets/service_requests.scss */
  .timeline-marker {
    left: 6px;
    width: 16px;
    height: 16px;
    font-size: 0.7rem;
  }
  /* line 198, app/assets/stylesheets/service_requests.scss */
  .timeline::before {
    left: 14px;
  }
}

/* Animações */
/* line 204, app/assets/stylesheets/service_requests.scss */
.tab-pane.fade {
  transition: opacity 0.15s linear;
}

/* line 208, app/assets/stylesheets/service_requests.scss */
.tab-pane.fade.show {
  opacity: 1;
}

/* Melhorias na Acessibilidade */
/* line 213, app/assets/stylesheets/service_requests.scss */
.person-tab:focus {
  outline: 2px solid #17a2b8;
  outline-offset: 2px;
}

/* line 218, app/assets/stylesheets/service_requests.scss */
.info-group:hover {
  background: #e9ecef;
  transition: background-color 0.2s ease;
}

/* Estados de Loading */
/* line 224, app/assets/stylesheets/service_requests.scss */
.loading {
  opacity: 0.6;
  pointer-events: none;
}

/* line 229, app/assets/stylesheets/service_requests.scss */
.loading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
  border: 2px solid #f3f3f3;
  border-top: 2px solid #17a2b8;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Estilos para tabela de atendimentos - Descrição */
/* line 249, app/assets/stylesheets/service_requests.scss */
.service-requests-index {
  /* Responsividade para descrição */
  /* Melhorar legibilidade da descrição truncada */
  /* Estilos para o link "Ver mais" */
  /* Estilos para o link "Ver mais" */
}

/* line 250, app/assets/stylesheets/service_requests.scss */
.service-requests-index .data-table {
  /* Estilo para coluna de descrição */
  /* Tooltip melhorado para descrição */
}

/* line 251, app/assets/stylesheets/service_requests.scss */
.service-requests-index .data-table td {
  vertical-align: middle;
}

/* line 256, app/assets/stylesheets/service_requests.scss */
.service-requests-index .data-table td .text-truncate {
  cursor: help;
  position: relative;
  display: inline-block;
  max-width: 100%;
}

/* line 262, app/assets/stylesheets/service_requests.scss */
.service-requests-index .data-table td .text-truncate:hover {
  color: #007bff;
}

/* line 268, app/assets/stylesheets/service_requests.scss */
.service-requests-index .data-table td[title] {
  position: relative;
}

@media (max-width: 1200px) {
  /* line 276, app/assets/stylesheets/service_requests.scss */
  .service-requests-index .data-table th:nth-child(4),
.service-requests-index .data-table td:nth-child(4) {
    max-width: 250px;
  }
}

@media (max-width: 992px) {
  /* line 285, app/assets/stylesheets/service_requests.scss */
  .service-requests-index .data-table th:nth-child(4),
.service-requests-index .data-table td:nth-child(4) {
    max-width: 200px;
  }
  /* line 289, app/assets/stylesheets/service_requests.scss */
  .service-requests-index .data-table th:nth-child(4) .text-truncate,
.service-requests-index .data-table td:nth-child(4) .text-truncate {
    font-size: 0.9rem;
  }
}

@media (max-width: 768px) {
  /* line 297, app/assets/stylesheets/service_requests.scss */
  .service-requests-index .data-table {
    /* Esconder descrição em mobile, mas manter em tablet */
  }
  /* line 299, app/assets/stylesheets/service_requests.scss */
  .service-requests-index .data-table th:nth-child(4),
.service-requests-index .data-table td:nth-child(4) {
    display: none;
  }
}

/* line 307, app/assets/stylesheets/service_requests.scss */
.service-requests-index .text-truncate {
  line-height: 1.4;
  word-break: break-word;
}

/* line 313, app/assets/stylesheets/service_requests.scss */
.service-requests-index .description-cell {
  position: relative;
}

/* line 316, app/assets/stylesheets/service_requests.scss */
.service-requests-index .description-cell .description-view-more {
  display: inline-block;
  margin-top: 4px;
  color: #007bff;
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: color 0.2s ease;
}

/* line 326, app/assets/stylesheets/service_requests.scss */
.service-requests-index .description-cell .description-view-more:hover {
  color: #0056b3;
  text-decoration: underline;
}

/* line 331, app/assets/stylesheets/service_requests.scss */
.service-requests-index .description-cell .description-view-more i {
  margin-right: 4px;
  font-size: 0.75rem;
}

/* line 339, app/assets/stylesheets/service_requests.scss */
.service-requests-index .description-cell {
  position: relative;
}

/* line 342, app/assets/stylesheets/service_requests.scss */
.service-requests-index .description-cell .description-view-more {
  display: inline-block;
  margin-top: 4px;
  color: #007bff;
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: color 0.2s ease;
}

/* line 352, app/assets/stylesheets/service_requests.scss */
.service-requests-index .description-cell .description-view-more:hover {
  color: #0056b3;
  text-decoration: underline;
}

/* line 357, app/assets/stylesheets/service_requests.scss */
.service-requests-index .description-cell .description-view-more i {
  margin-right: 4px;
  font-size: 0.75rem;
}

/* line 382, app/assets/stylesheets/service_requests.scss */
.erp-ui.service-requests-module .sr-actions-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

/* line 390, app/assets/stylesheets/service_requests.scss */
.erp-ui.service-requests-module .sr-actions-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-end;
}

/* line 400, app/assets/stylesheets/service_requests.scss */
.erp-ui.service-requests-module .sr-attachment-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* line 406, app/assets/stylesheets/service_requests.scss */
.erp-ui.service-requests-module .sr-attachment-card {
  width: 160px;
  padding: 8px;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
}

/* line 412, app/assets/stylesheets/service_requests.scss */
.erp-ui.service-requests-module .sr-attachment-card img, .erp-ui.service-requests-module .sr-attachment-card video {
  display: block;
  width: 100%;
  height: 120px;
  object-fit: cover;
  border-radius: calc(var(--erp-ui-radius) - 2px);
  margin-bottom: 6px;
}

/* line 422, app/assets/stylesheets/service_requests.scss */
.erp-ui.service-requests-module .sr-attachment-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* line 427, app/assets/stylesheets/service_requests.scss */
.erp-ui.service-requests-module .sr-attachment-meta .sub {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 439, app/assets/stylesheets/service_requests.scss */
.erp-ui.service-requests-module .sr-timeline {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* line 448, app/assets/stylesheets/service_requests.scss */
.erp-ui.service-requests-module .sr-timeline-item {
  padding-left: 16px;
  border-left: 2px solid var(--erp-ui-hairline);
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* line 455, app/assets/stylesheets/service_requests.scss */
.erp-ui.service-requests-module .sr-timeline-item .main {
  font-weight: 600;
  color: var(--erp-ui-ink);
}

/* line 460, app/assets/stylesheets/service_requests.scss */
.erp-ui.service-requests-module .sr-timeline-item .sub {
  color: var(--erp-ui-ink-2);
  font-size: 12.5px;
}
/* line 29, app/assets/stylesheets/settings_tenants.scss */
.erp-ui.tenants-module .footer-image-preview,
.erp-ui .tenants-module .footer-image-preview {
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 6px;
  background: var(--erp-ui-surface-2);
  padding: 10px;
  margin-top: 8px;
}

/* line 37, app/assets/stylesheets/settings_tenants.scss */
.erp-ui.tenants-module .footer-image-actions,
.erp-ui .tenants-module .footer-image-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
}

/* line 44, app/assets/stylesheets/settings_tenants.scss */
.erp-ui.tenants-module .document-preview,
.erp-ui .tenants-module .document-preview {
  border: 1px solid var(--erp-ui-hairline);
  border-radius: var(--erp-ui-radius);
  background: var(--erp-ui-surface);
  min-height: 200px;
  position: relative;
  overflow: hidden;
}

/* line 53, app/assets/stylesheets/settings_tenants.scss */
.erp-ui.tenants-module .document-content,
.erp-ui .tenants-module .document-content {
  padding: 20px;
  min-height: 150px;
  border-bottom: 1px solid var(--erp-ui-hairline);
}

/* line 59, app/assets/stylesheets/settings_tenants.scss */
.erp-ui.tenants-module .document-footer,
.erp-ui .tenants-module .document-footer {
  padding: 10px;
  background: var(--erp-ui-surface-2);
  text-align: center;
  font-size: 12px;
}

/* line 66, app/assets/stylesheets/settings_tenants.scss */
.erp-ui.tenants-module .footer-preview-image,
.erp-ui .tenants-module .footer-preview-image {
  width: auto;
  max-width: 300px;
  max-height: 40px;
  height: auto;
}

/* line 73, app/assets/stylesheets/settings_tenants.scss */
.erp-ui.tenants-module .footer-text-preview,
.erp-ui .tenants-module .footer-text-preview {
  font-size: 11px;
  line-height: 1.2;
  color: var(--erp-ui-ink-2);
}

/* line 86, app/assets/stylesheets/settings_tenants.scss */
.erp-ui.tenants-module .tenant-preview,
.erp-ui .tenants-module .tenant-preview {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 8px;
}

/* line 93, app/assets/stylesheets/settings_tenants.scss */
.erp-ui.tenants-module .tenant-attachment-preview,
.erp-ui .tenants-module .tenant-attachment-preview {
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 6px;
  background: var(--erp-ui-surface);
  padding: 4px;
}

/* line 100, app/assets/stylesheets/settings_tenants.scss */
.erp-ui.tenants-module .tenant-logo-preview,
.erp-ui .tenants-module .tenant-logo-preview {
  width: auto;
  max-width: 200px;
  max-height: 200px;
  height: auto;
}

/* line 107, app/assets/stylesheets/settings_tenants.scss */
.erp-ui.tenants-module .tenant-attachment-unavailable,
.erp-ui .tenants-module .tenant-attachment-unavailable {
  color: var(--erp-ui-ink-2);
  font-size: 12px;
  font-style: italic;
  padding: 8px 0;
}

/* line 116, app/assets/stylesheets/settings_tenants.scss */
.erp-ui.tenants-module .uf-input,
.erp-ui .tenants-module .uf-input {
  text-transform: uppercase;
}

/* line 143, app/assets/stylesheets/settings_tenants.scss */
.erp-ui.tenants-module .provider-choices,
.erp-ui .tenants-module .provider-choices {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 16px;
}

/* line 150, app/assets/stylesheets/settings_tenants.scss */
.erp-ui.tenants-module .field.provider-choice,
.erp-ui .tenants-module .field.provider-choice {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 2px 8px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 6px;
}

/* line 159, app/assets/stylesheets/settings_tenants.scss */
.erp-ui.tenants-module .field.provider-choice .form-check-label,
.erp-ui .tenants-module .field.provider-choice .form-check-label {
  font-weight: 600;
  margin: 0;
}

/* line 164, app/assets/stylesheets/settings_tenants.scss */
.erp-ui.tenants-module .field.provider-choice .hint,
.erp-ui .tenants-module .field.provider-choice .hint {
  grid-column: 2;
  margin: 0;
}

/* line 169, app/assets/stylesheets/settings_tenants.scss */
.erp-ui.tenants-module .field.provider-choice:hover,
.erp-ui .tenants-module .field.provider-choice:hover {
  background: var(--erp-ui-surface-2);
}

/* line 175, app/assets/stylesheets/settings_tenants.scss */
.erp-ui.tenants-module .field.provider-choice:has(input:checked),
.erp-ui .tenants-module .field.provider-choice:has(input:checked) {
  border-color: var(--erp-ui-accent);
  background: var(--erp-ui-accent-soft);
}

/* line 181, app/assets/stylesheets/settings_tenants.scss */
.erp-ui.tenants-module .oauth-status,
.erp-ui .tenants-module .oauth-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--erp-ui-hairline);
  border-radius: 6px;
  background: var(--erp-ui-surface-2);
}
/* Estilos para Assinatura Digital */
.signature-section {
  text-align: center;
}

.signature-pad-container {
  position: relative;
  background-color: #ffffff;
  border: 2px solid #dee2e6;
  border-radius: 8px;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
  transition: border-color 0.3s ease;
}

.signature-pad-container:hover {
  border-color: #0d6efd;
}

.signature-pad-container:focus-within {
  border-color: #0d6efd;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}

#signature-canvas {
  display: block;
  border-radius: 6px;
  cursor: crosshair;
  background-color: #ffffff;
  /* Previne seleção de texto no canvas */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /* Melhora a responsividade em dispositivos touch */
  touch-action: none;
}

/* Indicador visual quando o canvas está ativo */
#signature-canvas:active {
  cursor: crosshair;
}

/* Responsividade para mobile */
@media (max-width: 768px) {
  .signature-pad-container {
    width: 100% !important;
    max-width: 100% !important;
    height: 200px !important;
  }
  
  .signature-section {
    margin-bottom: 1.5rem;
  }
  
  .signature-section .form-label {
    font-size: 0.95rem;
    margin-bottom: 0.75rem;
  }
  
  .signature-section small {
    font-size: 0.8rem;
  }
}

/* Melhorias para telas muito pequenas */
@media (max-width: 480px) {
  .signature-pad-container {
    height: 180px !important;
    margin-bottom: 1rem;
  }
  
  .card-body {
    padding: 1rem;
  }
  
  .d-flex.justify-content-between {
    flex-direction: column;
    gap: 1rem;
  }
  
  .d-flex.justify-content-between > div {
    display: flex;
    gap: 0.5rem;
  }
}

/* Estados de loading e erro */
.signature-loading {
  position: relative;
}

.signature-loading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 2rem;
  height: 2rem;
  border: 2px solid #f3f3f3;
  border-top: 2px solid #0d6efd;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: translate(-50%, -50%) rotate(0deg); }
  100% { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Melhora a aparência dos botões na tela de assinatura */
.signature-section + form .btn {
  min-width: 120px;
}

/* Destaque para o botão de salvar */
.signature-section + form .btn-success {
  font-weight: 600;
  box-shadow: 0 2px 4px rgba(25, 135, 84, 0.3);
}

.signature-section + form .btn-success:hover {
  box-shadow: 0 4px 8px rgba(25, 135, 84, 0.4);
  transform: translateY(-1px);
}

/* Animação suave nos botões */
.signature-section + form .btn {
  transition: all 0.2s ease;
}

.signature-section + form .btn:hover {
  transform: translateY(-1px);
}
/* line 5, app/assets/stylesheets/soft_clean/_variables.scss */
:root {
  --sc-bg: #f8fafc;
  --sc-surface: #ffffff;
  --sc-text-primary: #0f172a;
  --sc-text-secondary: #475569;
  --sc-text-light: #94a3b8;
  --sc-slate-navy: #0f172a;
  --sc-slate-dark: #16202a;
  --sc-slate-card: #1e293b;
  --sc-sky-accent: #38bdf8;
  --sc-primary: #2c3e50;
  --sc-primary-hover: #1e293b;
  --sc-secondary: #64748b;
  --sc-success: #10b981;
  --sc-success-wash: #ecfdf5;
  --sc-warning: #f59e0b;
  --sc-warning-wash: #fffbeb;
  --sc-danger: #ef4444;
  --sc-danger-wash: #fef2f2;
  --sc-info: #0284c7;
  --sc-info-wash: #f0f9ff;
  --sc-border: #e2e8f0;
  --sc-border-subtle: #f1f5f9;
  --sc-radius: 12px;
  --sc-radius-sm: 8px;
  --sc-radius-pill: 9999px;
  --sc-shadow-sm: 0 1px 3px 0 rgba(15, 23, 42, 0.04), 0 1px 2px -1px rgba(15, 23, 42, 0.02);
  --sc-shadow: 0 8px 24px -4px rgba(15, 23, 42, 0.06), 0 2px 6px -1px rgba(15, 23, 42, 0.03);
  --sc-shadow-lg: 0 16px 32px -6px rgba(15, 23, 42, 0.08), 0 4px 12px -2px rgba(15, 23, 42, 0.04);
}

/* line 8, app/assets/stylesheets/soft_clean/_components.scss */
.sc-header {
  background: var(--sc-surface);
  padding: 1.1rem 1.5rem;
  margin-bottom: 1.5rem;
  border-radius: var(--sc-radius);
  border: 1px solid var(--sc-border);
  box-shadow: var(--sc-shadow);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

/* line 20, app/assets/stylesheets/soft_clean/_components.scss */
.sc-header .header-title {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

/* line 25, app/assets/stylesheets/soft_clean/_components.scss */
.sc-header .header-title i {
  font-size: 1.35rem;
  color: var(--sc-primary);
}

/* line 30, app/assets/stylesheets/soft_clean/_components.scss */
.sc-header .header-title h2 {
  font-size: 1.2rem;
  font-weight: 700;
  margin: 0;
  letter-spacing: -0.015em;
  color: var(--sc-text-primary);
}

/* line 41, app/assets/stylesheets/soft_clean/_components.scss */
.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
  position: relative;
}

/* line 48, app/assets/stylesheets/soft_clean/_components.scss */
.status-dot.success {
  background-color: var(--sc-success);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
}

/* line 52, app/assets/stylesheets/soft_clean/_components.scss */
.status-dot.warning {
  background-color: var(--sc-warning);
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.2);
}

/* line 56, app/assets/stylesheets/soft_clean/_components.scss */
.status-dot.danger {
  background-color: var(--sc-danger);
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2);
}

/* line 60, app/assets/stylesheets/soft_clean/_components.scss */
.status-dot.info {
  background-color: var(--sc-info);
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.2);
}

/* line 67, app/assets/stylesheets/soft_clean/_components.scss */
.sc-badge {
  padding: 0.25rem 0.6rem;
  border-radius: var(--sc-radius-pill);
  font-size: 0.725rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  line-height: 1.2;
}

/* line 77, app/assets/stylesheets/soft_clean/_components.scss */
.sc-badge.success {
  background-color: var(--sc-success-wash);
  color: #065f46;
  border: 1px solid rgba(16, 185, 129, 0.2);
}

/* line 82, app/assets/stylesheets/soft_clean/_components.scss */
.sc-badge.warning {
  background-color: var(--sc-warning-wash);
  color: #92400e;
  border: 1px solid rgba(245, 158, 11, 0.2);
}

/* line 87, app/assets/stylesheets/soft_clean/_components.scss */
.sc-badge.danger {
  background-color: var(--sc-danger-wash);
  color: #991b1b;
  border: 1px solid rgba(239, 68, 68, 0.2);
}

/* line 92, app/assets/stylesheets/soft_clean/_components.scss */
.sc-badge.info {
  background-color: var(--sc-info-wash);
  color: #075985;
  border: 1px solid rgba(2, 132, 199, 0.2);
}

/* line 97, app/assets/stylesheets/soft_clean/_components.scss */
.sc-badge.secondary {
  background-color: #f1f5f9;
  color: #475569;
  border: 1px solid #e2e8f0;
}

/* line 105, app/assets/stylesheets/soft_clean/_components.scss */
.sc-stats-strip {
  display: flex;
  gap: 1rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}

/* line 111, app/assets/stylesheets/soft_clean/_components.scss */
.sc-stats-strip .sc-stat-item {
  flex: 1;
  min-width: 170px;
  background: var(--sc-surface);
  padding: 0.9rem 1.15rem;
  border-radius: var(--sc-radius);
  border: 1px solid var(--sc-border);
  display: flex;
  align-items: center;
  gap: 0.85rem;
  box-shadow: var(--sc-shadow);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* line 124, app/assets/stylesheets/soft_clean/_components.scss */
.sc-stats-strip .sc-stat-item:hover {
  transform: translateY(-2px);
  box-shadow: var(--sc-shadow-lg);
}

/* line 129, app/assets/stylesheets/soft_clean/_components.scss */
.sc-stats-strip .sc-stat-item .icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
}

/* line 141, app/assets/stylesheets/soft_clean/_components.scss */
.sc-stats-strip .sc-stat-item .info .label {
  font-size: 0.68rem;
  color: var(--sc-text-secondary);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* line 149, app/assets/stylesheets/soft_clean/_components.scss */
.sc-stats-strip .sc-stat-item .info .value {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--sc-text-primary);
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}

/* line 161, app/assets/stylesheets/soft_clean/_components.scss */
.sc-card {
  background: var(--sc-surface);
  border-radius: var(--sc-radius);
  border: 1px solid var(--sc-border);
  box-shadow: var(--sc-shadow);
  overflow: hidden;
  margin-bottom: 1.5rem;
  height: 100%;
  transition: box-shadow 0.2s ease;
}

/* line 171, app/assets/stylesheets/soft_clean/_components.scss */
.sc-card:hover {
  box-shadow: var(--sc-shadow-lg);
}

/* line 175, app/assets/stylesheets/soft_clean/_components.scss */
.sc-card .card-header {
  padding: 1rem 1.35rem;
  background: #ffffff;
  border-bottom: 1px solid var(--sc-border-subtle);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

/* line 184, app/assets/stylesheets/soft_clean/_components.scss */
.sc-card .card-header h4, .sc-card .card-header h5 {
  font-size: 1rem;
  font-weight: 700;
  margin: 0;
  color: var(--sc-text-primary);
  letter-spacing: -0.01em;
}

/* line 192, app/assets/stylesheets/soft_clean/_components.scss */
.sc-card .card-header i {
  color: var(--sc-primary);
  font-size: 1.05rem;
}

/* line 198, app/assets/stylesheets/soft_clean/_components.scss */
.sc-card .card-body {
  padding: 1.35rem;
}

/* line 204, app/assets/stylesheets/soft_clean/_components.scss */
.sc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  font-weight: 600;
  font-size: 0.8rem;
  border-radius: var(--sc-radius-sm);
  padding: 0.45rem 0.85rem;
  transition: all 0.2s ease;
  border: 1px solid transparent;
}

/* line 216, app/assets/stylesheets/soft_clean/_components.scss */
.sc-btn.soft-primary {
  background-color: #f1f5f9;
  color: var(--sc-primary);
  border-color: #e2e8f0;
}

/* line 221, app/assets/stylesheets/soft_clean/_components.scss */
.sc-btn.soft-primary:hover {
  background-color: var(--sc-primary);
  color: #ffffff;
  border-color: var(--sc-primary);
}

/* line 228, app/assets/stylesheets/soft_clean/_components.scss */
.sc-btn.btn-icon {
  width: 32px;
  height: 32px;
  padding: 0;
  border-radius: 6px;
  background: transparent;
  border: 1px solid transparent;
  color: var(--sc-text-secondary);
}

/* line 237, app/assets/stylesheets/soft_clean/_components.scss */
.sc-btn.btn-icon:hover {
  background: #f1f5f9;
  color: var(--sc-text-primary);
  border-color: #e2e8f0;
}

/* line 246, app/assets/stylesheets/soft_clean/_components.scss */
.sc-table-container {
  background: var(--sc-surface);
  border-radius: var(--sc-radius);
  border: 1px solid var(--sc-border);
  box-shadow: var(--sc-shadow);
  overflow: hidden;
  margin-bottom: 1.5rem;
}

/* line 255, app/assets/stylesheets/soft_clean/_components.scss */
.sc-table-container .sc-table-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--sc-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 262, app/assets/stylesheets/soft_clean/_components.scss */
.sc-table-container .sc-table-header h5 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 270, app/assets/stylesheets/soft_clean/_components.scss */
.sc-table-container .sc-table-header h5 i {
  color: var(--sc-primary);
}

/* line 277, app/assets/stylesheets/soft_clean/_components.scss */
.sc-table {
  width: 100%;
  margin-bottom: 0;
}

/* line 281, app/assets/stylesheets/soft_clean/_components.scss */
.sc-table th {
  background: #f8fafc;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--sc-text-secondary);
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--sc-border);
}

/* line 291, app/assets/stylesheets/soft_clean/_components.scss */
.sc-table td {
  padding: 0.6rem 1rem;
  vertical-align: middle;
  border-bottom: 1px solid #f1f5f9;
  font-size: 0.8rem;
}

/* line 298, app/assets/stylesheets/soft_clean/_components.scss */
.sc-table tr:last-child td {
  border-bottom: none;
}

/* line 302, app/assets/stylesheets/soft_clean/_components.scss */
.sc-table tr:hover td {
  background-color: #f8fafc;
}

/* line 308, app/assets/stylesheets/soft_clean/_components.scss */
.sc-grid-lg {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 1.25rem;
  margin-bottom: 1.5rem;
}

@media (max-width: 480px) {
  /* line 308, app/assets/stylesheets/soft_clean/_components.scss */
  .sc-grid-lg {
    grid-template-columns: 1fr;
  }
}

/* line 319, app/assets/stylesheets/soft_clean/_components.scss */
.sc-lazy-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 1.5rem;
}

/* line 325, app/assets/stylesheets/soft_clean/_components.scss */
.sc-lazy-grid .lazy-item {
  background: #f8fafc;
  border-radius: var(--sc-radius-sm);
  border: 1px solid var(--sc-border);
  padding: 1rem;
  text-align: center;
}

/* line 332, app/assets/stylesheets/soft_clean/_components.scss */
.sc-lazy-grid .lazy-item .lazy-icon {
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
}

/* line 336, app/assets/stylesheets/soft_clean/_components.scss */
.sc-lazy-grid .lazy-item .lazy-icon.success {
  color: var(--sc-success);
}

/* line 340, app/assets/stylesheets/soft_clean/_components.scss */
.sc-lazy-grid .lazy-item .lazy-icon.warning {
  color: var(--sc-warning);
}

/* line 344, app/assets/stylesheets/soft_clean/_components.scss */
.sc-lazy-grid .lazy-item .lazy-icon.info {
  color: var(--sc-info);
}

/* line 349, app/assets/stylesheets/soft_clean/_components.scss */
.sc-lazy-grid .lazy-item h5 {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0;
  color: var(--sc-text-primary);
}

/* line 356, app/assets/stylesheets/soft_clean/_components.scss */
.sc-lazy-grid .lazy-item p {
  font-size: 0.75rem;
  color: var(--sc-text-secondary);
  margin: 0;
}

/* line 366, app/assets/stylesheets/soft_clean/_components.scss */
.sc-resource-monitor .resource-item {
  margin-bottom: 1rem;
}

/* line 369, app/assets/stylesheets/soft_clean/_components.scss */
.sc-resource-monitor .resource-item .resource-info {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.4rem;
}

/* line 374, app/assets/stylesheets/soft_clean/_components.scss */
.sc-resource-monitor .resource-item .resource-info span {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--sc-text-secondary);
}

/* line 380, app/assets/stylesheets/soft_clean/_components.scss */
.sc-resource-monitor .resource-item .resource-info .value {
  color: var(--sc-text-primary);
  font-weight: 700;
}

/* line 386, app/assets/stylesheets/soft_clean/_components.scss */
.sc-resource-monitor .resource-item .sc-progress {
  height: 8px;
  background: #f1f5f9;
  border-radius: 4px;
  overflow: hidden;
}

/* line 392, app/assets/stylesheets/soft_clean/_components.scss */
.sc-resource-monitor .resource-item .sc-progress .progress-bar {
  height: 100%;
  border-radius: 4px;
  transition: width 0.6s ease;
}

/* line 397, app/assets/stylesheets/soft_clean/_components.scss */
.sc-resource-monitor .resource-item .sc-progress .progress-bar.success {
  background: var(--sc-success);
}

/* line 401, app/assets/stylesheets/soft_clean/_components.scss */
.sc-resource-monitor .resource-item .sc-progress .progress-bar.warning {
  background: var(--sc-warning);
}

/* line 405, app/assets/stylesheets/soft_clean/_components.scss */
.sc-resource-monitor .resource-item .sc-progress .progress-bar.danger {
  background: var(--sc-danger);
}

/* line 409, app/assets/stylesheets/soft_clean/_components.scss */
.sc-resource-monitor .resource-item .sc-progress .progress-bar.info {
  background: var(--sc-info);
}

/* line 418, app/assets/stylesheets/soft_clean/_components.scss */
.form-group {
  margin-bottom: 1rem;
}

/* line 421, app/assets/stylesheets/soft_clean/_components.scss */
.form-group label {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--sc-text-secondary);
  text-transform: uppercase;
  margin-bottom: 0.5rem;
  display: block;
}

/* line 430, app/assets/stylesheets/soft_clean/_components.scss */
.form-group .form-control {
  border-radius: 8px;
  border: 1px solid var(--sc-border);
  padding: 0.6rem 0.75rem;
  font-size: 0.85rem;
  transition: all 0.2s;
}

/* line 437, app/assets/stylesheets/soft_clean/_components.scss */
.form-group .form-control:focus {
  border-color: var(--sc-primary);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

/* line 444, app/assets/stylesheets/soft_clean/_components.scss */
.sc-switch {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0;
}

/* line 450, app/assets/stylesheets/soft_clean/_components.scss */
.sc-switch .custom-control-label {
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  padding-top: 2px;
}

/* line 465, app/assets/stylesheets/soft_clean/_components.scss */
.admin-performance-monitor-module .sc-stat-item,
.admin-performance-monitor-module .resource-item,
.admin-performance-monitor-module .sc-metric-box {
  position: relative;
}

/* line 471, app/assets/stylesheets/soft_clean/_components.scss */
.admin-performance-monitor-module .sc-info-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-left: 0.35rem;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--sc-text-light);
  cursor: pointer;
  font-size: 0.72rem;
  line-height: 1;
  vertical-align: middle;
  transition: color 0.15s ease;
}

/* line 488, app/assets/stylesheets/soft_clean/_components.scss */
.admin-performance-monitor-module .sc-info-btn:hover, .admin-performance-monitor-module .sc-info-btn[aria-expanded="true"] {
  color: var(--sc-primary);
}

/* line 494, app/assets/stylesheets/soft_clean/_components.scss */
.admin-performance-monitor-module .sc-popover {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 30;
  width: 260px;
  max-width: 86vw;
  background: var(--sc-surface);
  border: 1px solid var(--sc-border);
  border-radius: var(--sc-radius-sm);
  box-shadow: var(--sc-shadow-lg);
  padding: 0.85rem 1rem;
  font-size: 0.78rem;
  line-height: 1.5;
  color: var(--sc-text-secondary);
}

/* line 511, app/assets/stylesheets/soft_clean/_components.scss */
.admin-performance-monitor-module .sc-popover.is-open {
  display: block;
}

/* line 515, app/assets/stylesheets/soft_clean/_components.scss */
.admin-performance-monitor-module .sc-popover h4 {
  margin: 0 0 0.35rem;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--sc-text-primary);
}

/* line 522, app/assets/stylesheets/soft_clean/_components.scss */
.admin-performance-monitor-module .sc-popover p {
  margin: 0;
}

/* line 526, app/assets/stylesheets/soft_clean/_components.scss */
.admin-performance-monitor-module .sc-popover .sc-popover-how {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid var(--sc-border-subtle);
}

/* line 531, app/assets/stylesheets/soft_clean/_components.scss */
.admin-performance-monitor-module .sc-popover .sc-popover-how .eyebrow {
  display: block;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--sc-text-light);
  margin-bottom: 2px;
}

/* line 545, app/assets/stylesheets/soft_clean/_components.scss */
.admin-performance-monitor-module .sc-stats-strip .sc-stat-item:last-child .sc-popover,
.admin-performance-monitor-module .sc-metrics-grid .sc-metric-box:last-child .sc-popover {
  left: auto;
  right: 0;
}
/* line 5, app/assets/stylesheets/soft_clean/_variables.scss */
:root {
  --sc-bg: #f8fafc;
  --sc-surface: #ffffff;
  --sc-text-primary: #0f172a;
  --sc-text-secondary: #475569;
  --sc-text-light: #94a3b8;
  --sc-slate-navy: #0f172a;
  --sc-slate-dark: #16202a;
  --sc-slate-card: #1e293b;
  --sc-sky-accent: #38bdf8;
  --sc-primary: #2c3e50;
  --sc-primary-hover: #1e293b;
  --sc-secondary: #64748b;
  --sc-success: #10b981;
  --sc-success-wash: #ecfdf5;
  --sc-warning: #f59e0b;
  --sc-warning-wash: #fffbeb;
  --sc-danger: #ef4444;
  --sc-danger-wash: #fef2f2;
  --sc-info: #0284c7;
  --sc-info-wash: #f0f9ff;
  --sc-border: #e2e8f0;
  --sc-border-subtle: #f1f5f9;
  --sc-radius: 12px;
  --sc-radius-sm: 8px;
  --sc-radius-pill: 9999px;
  --sc-shadow-sm: 0 1px 3px 0 rgba(15, 23, 42, 0.04), 0 1px 2px -1px rgba(15, 23, 42, 0.02);
  --sc-shadow: 0 8px 24px -4px rgba(15, 23, 42, 0.06), 0 2px 6px -1px rgba(15, 23, 42, 0.03);
  --sc-shadow-lg: 0 16px 32px -6px rgba(15, 23, 42, 0.08), 0 4px 12px -2px rgba(15, 23, 42, 0.04);
}

/* line 9, app/assets/stylesheets/soft_clean/_layout.scss */
html,
body {
  height: auto !important;
  min-height: 100vh !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

/* line 17, app/assets/stylesheets/soft_clean/_layout.scss */
.wrapper {
  height: auto !important;
  min-height: 100vh !important;
  overflow: visible !important;
}

/* line 23, app/assets/stylesheets/soft_clean/_layout.scss */
.content-wrapper {
  height: auto !important;
  min-height: calc(100vh - var(--header-height, 57px)) !important;
  overflow: visible !important;
  background-color: var(--sc-bg) !important;
}

/* line 31, app/assets/stylesheets/soft_clean/_layout.scss */
body.layout-fixed {
  height: 100vh !important;
  overflow: hidden !important;
}

/* line 35, app/assets/stylesheets/soft_clean/_layout.scss */
body.layout-fixed .wrapper {
  height: 100vh !important;
  max-height: 100vh !important;
  overflow: hidden !important;
}

/* line 41, app/assets/stylesheets/soft_clean/_layout.scss */
body.layout-fixed .content-wrapper {
  height: calc(100vh - var(--footer-height, 57px)) !important;
  max-height: calc(100vh - var(--footer-height, 57px)) !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}

/* line 51, app/assets/stylesheets/soft_clean/_layout.scss */
.softclean-container {
  padding: 1.5rem;
  padding-bottom: 6rem;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  color: var(--sc-text-primary);
  width: 100%;
  display: block;
}

/* line 61, app/assets/stylesheets/soft_clean/_layout.scss */
.main-sidebar.admin-sidebar {
  background-color: var(--sc-slate-navy) !important;
  border-right: 1px solid rgba(255, 255, 255, 0.05);
}

/* line 65, app/assets/stylesheets/soft_clean/_layout.scss */
.main-sidebar.admin-sidebar .brand-link {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  background-color: transparent !important;
  padding: 0.9rem 1.25rem;
}

/* line 70, app/assets/stylesheets/soft_clean/_layout.scss */
.main-sidebar.admin-sidebar .brand-link .brand-text {
  font-weight: 600 !important;
  letter-spacing: -0.01em;
  color: #ffffff !important;
}

/* line 78, app/assets/stylesheets/soft_clean/_layout.scss */
.main-sidebar.admin-sidebar .nav-sidebar .nav-item {
  margin-bottom: 2px;
}

/* line 81, app/assets/stylesheets/soft_clean/_layout.scss */
.main-sidebar.admin-sidebar .nav-sidebar .nav-item .nav-link {
  border-radius: 8px;
  color: #94a3b8 !important;
  font-weight: 500;
  font-size: 0.85rem;
  padding: 0.55rem 0.85rem;
  transition: all 0.2s ease;
  position: relative;
}

/* line 90, app/assets/stylesheets/soft_clean/_layout.scss */
.main-sidebar.admin-sidebar .nav-sidebar .nav-item .nav-link i.nav-icon {
  color: #64748b;
  transition: color 0.2s ease;
}

/* line 95, app/assets/stylesheets/soft_clean/_layout.scss */
.main-sidebar.admin-sidebar .nav-sidebar .nav-item .nav-link:hover {
  background-color: rgba(255, 255, 255, 0.05) !important;
  color: #f1f5f9 !important;
}

/* line 99, app/assets/stylesheets/soft_clean/_layout.scss */
.main-sidebar.admin-sidebar .nav-sidebar .nav-item .nav-link:hover i.nav-icon {
  color: var(--sc-sky-accent);
}

/* line 104, app/assets/stylesheets/soft_clean/_layout.scss */
.main-sidebar.admin-sidebar .nav-sidebar .nav-item .nav-link.active {
  background-color: #1e293b !important;
  color: #ffffff !important;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* line 110, app/assets/stylesheets/soft_clean/_layout.scss */
.main-sidebar.admin-sidebar .nav-sidebar .nav-item .nav-link.active i.nav-icon {
  color: var(--sc-sky-accent) !important;
}

/* line 114, app/assets/stylesheets/soft_clean/_layout.scss */
.main-sidebar.admin-sidebar .nav-sidebar .nav-item .nav-link.active::before {
  content: '';
  position: absolute;
  left: -4px;
  top: 6px;
  bottom: 6px;
  width: 3px;
  background-color: var(--sc-sky-accent);
  border-radius: 0 2px 2px 0;
}

/* line 131, app/assets/stylesheets/soft_clean/_layout.scss */
.sc-navbar.navbar {
  background-color: rgba(255, 255, 255, 0.85) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--sc-border) !important;
  box-shadow: var(--sc-shadow-sm) !important;
}

/* line 140, app/assets/stylesheets/soft_clean/_layout.scss */
.sticky-sidebar {
  position: -webkit-sticky;
  position: sticky;
  top: 1.5rem;
  z-index: 1000;
}

/* line 147, app/assets/stylesheets/soft_clean/_layout.scss */
.settings-section {
  scroll-margin-top: 100px;
}
/* line 26, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page {
  --preview-bg: #f8fafc;
  --preview-surface: #ffffff;
  --preview-border: #dbe4ee;
  --preview-text: #0f172a;
  --preview-muted: #64748b;
  --preview-shadow: 0 20px 45px rgba(15, 23, 42, 0.08);
  --preview-shadow-soft: 0 12px 30px rgba(15, 23, 42, 0.05);
  margin: 0;
  min-height: 100vh;
  background: radial-gradient(circle at top left, rgba(37, 99, 235, 0.12), transparent 28%), radial-gradient(circle at top right, rgba(14, 165, 233, 0.1), transparent 22%), linear-gradient(180deg, #f8fbff 0%, #f8fafc 45%, #eef4fb 100%);
  color: var(--preview-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* line 49, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page * {
  box-sizing: border-box;
}

/* line 53, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-shell {
  max-width: 1480px;
  margin: 0 auto;
  padding: 24px;
}

/* line 59, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-hero {
  margin-bottom: 20px;
  padding: 24px 28px;
  border-radius: 24px;
  border: 1px solid rgba(219, 228, 238, 0.95);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: var(--preview-shadow-soft);
  backdrop-filter: blur(10px);
}

/* line 69, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-hero .header-title {
  gap: 16px;
  align-items: flex-start;
}

/* line 74, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-hero-icon {
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--preview-accent-soft);
  color: var(--preview-accent);
  font-size: 1.25rem;
  flex-shrink: 0;
}

/* line 87, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-title-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

/* line 95, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-title-row h1 {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.2;
  color: var(--preview-text);
}

/* line 102, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-hero p {
  margin: 0;
  max-width: 820px;
  color: var(--preview-muted);
  font-size: 0.95rem;
}

/* line 109, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-stats {
  margin-bottom: 20px;
}

/* line 113, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-meta-bar {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--preview-border);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.98), rgba(255, 255, 255, 0.98));
}

/* line 122, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-meta-item {
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid var(--preview-border);
  background: var(--preview-surface);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

/* line 130, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-meta-item.span-2 {
  grid-column: span 2;
}

/* line 134, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-meta-label {
  display: block;
  margin-bottom: 6px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--preview-muted);
}

/* line 144, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-meta-value {
  display: block;
  color: var(--preview-text);
  font-weight: 600;
  word-break: break-word;
}

/* line 151, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-card {
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(219, 228, 238, 0.95);
  box-shadow: var(--preview-shadow);
}

/* line 158, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-card .card-header {
  padding: 20px 22px 16px;
}

/* line 162, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-card .card-header h4 {
  margin: 0;
}

/* line 166, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-frame {
  background: #d9e3ee;
  padding: 16px;
}

/* line 171, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-frame iframe {
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.12);
}

/* line 176, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-side-card {
  border-radius: 20px;
  border: 1px solid rgba(219, 228, 238, 0.95);
  box-shadow: var(--preview-shadow-soft);
}

/* line 182, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-info-list {
  display: flex;
  flex-direction: column;
}

/* line 187, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-info-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--preview-border);
}

/* line 196, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-info-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

/* line 201, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-info-row:first-child {
  padding-top: 0;
}

/* line 205, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-info-row strong,
body.saas-email-preview-page .preview-info-row span {
  color: var(--preview-text);
  text-align: right;
}

/* line 211, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-info-row .label {
  color: var(--preview-muted);
  text-align: left;
  font-weight: 500;
}

/* line 217, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-token-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* line 223, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-token {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--preview-border);
  background: #f8fafc;
  color: #334155;
  font-size: 0.82rem;
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

/* line 235, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-note {
  margin: 0;
  color: var(--preview-muted);
  line-height: 1.65;
}

/* line 241, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
body.saas-email-preview-page .preview-chip-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

@media (max-width: 991.98px) {
  /* line 251, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
  body.saas-email-preview-page .preview-shell {
    padding: 16px;
  }
  /* line 255, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
  body.saas-email-preview-page .preview-hero {
    padding: 20px;
  }
  /* line 259, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
  body.saas-email-preview-page .preview-meta-bar {
    grid-template-columns: 1fr;
  }
  /* line 263, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
  body.saas-email-preview-page .preview-meta-item.span-2 {
    grid-column: span 1;
  }
}

@media print {
  /* line 270, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
  body.saas-email-preview-page {
    background: #fff;
  }
  /* line 273, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
  body.saas-email-preview-page .preview-hero,
body.saas-email-preview-page .preview-stats,
body.saas-email-preview-page .preview-sidebar,
body.saas-email-preview-page .preview-actions {
    display: none !important;
  }
  /* line 280, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
  body.saas-email-preview-page .preview-shell {
    max-width: none;
    padding: 0;
  }
  /* line 285, app/assets/stylesheets/soft_clean/_saas_email_preview.scss */
  body.saas-email-preview-page .preview-card,
body.saas-email-preview-page .preview-frame {
    border: 0;
    box-shadow: none;
    padding: 0;
  }
}
/* line 4, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module {
  padding: 0.75rem 1rem 3rem;
}

/* line 7, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-header {
  padding: 0.625rem 1rem;
  margin-bottom: 0.75rem;
}

/* line 11, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-header .header-title {
  gap: 0.5rem;
}

/* line 14, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-header .header-title i {
  font-size: 1rem;
}

/* line 18, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-header .header-title h2 {
  font-size: 1rem;
  line-height: 1.2;
}

/* line 23, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-header .header-title p {
  font-size: 0.7rem !important;
  margin-top: 1px;
}

/* line 30, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-stats-strip {
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

/* line 34, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-stats-strip .sc-stat-item {
  min-width: 120px;
  padding: 0.5rem 0.75rem;
  gap: 0.5rem;
}

/* line 39, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-stats-strip .sc-stat-item .icon {
  width: 26px;
  height: 26px;
  font-size: 0.75rem;
}

/* line 46, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-stats-strip .sc-stat-item .info .label {
  font-size: 0.6rem;
}

/* line 50, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-stats-strip .sc-stat-item .info .value {
  font-size: 0.875rem;
}

/* line 57, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-card {
  margin-bottom: 0.75rem;
}

/* line 60, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-card .card-header {
  padding: 0.5rem 0.875rem;
}

/* line 63, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-card .card-header h4 {
  font-size: 0.8rem;
}

/* line 67, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-card .card-header i {
  font-size: 0.85rem;
}

/* line 72, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-card .card-body {
  padding: 0.875rem;
}

/* line 77, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-table {
  font-size: 0.8rem;
}

/* line 80, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-table th,
.softclean-container.admin-storage-configs-module .sc-table td {
  padding: 0.4rem 0.5rem;
  vertical-align: middle;
}

/* line 87, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-form-footer {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.625rem 0.875rem;
  background: var(--sc-surface);
  border: 1px solid var(--sc-border);
  border-radius: var(--sc-radius-sm);
  margin-top: 0.25rem;
}

/* line 99, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-field-label {
  display: block;
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--sc-text-secondary);
  margin-bottom: 0.2rem;
  letter-spacing: 0.02em;
}

/* line 109, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-field-hint {
  display: block;
  font-size: 0.68rem;
  color: var(--sc-text-secondary);
  margin-top: 0.15rem;
  line-height: 1.3;
}

/* line 117, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-provider-hint {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  padding: 0.4rem 0.625rem;
  margin-bottom: 0.625rem;
  font-size: 0.72rem;
  line-height: 1.35;
  color: #1e40af;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: 6px;
}

/* line 130, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-provider-hint i {
  margin-top: 2px;
  flex-shrink: 0;
}

/* line 135, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-provider-hint.warning {
  color: #92400e;
  background: #fffbeb;
  border-color: #fde68a;
}

/* line 142, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-provider-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 0.5rem;
}

/* line 147, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-provider-grid .sc-provider-chip {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.625rem;
  border: 1px solid var(--sc-border);
  border-radius: 6px;
  background: var(--sc-surface);
  font-size: 0.75rem;
}

/* line 157, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-provider-grid .sc-provider-chip i {
  font-size: 1rem;
  width: 1.25rem;
  text-align: center;
}

/* line 163, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-provider-grid .sc-provider-chip strong {
  display: block;
  font-size: 0.78rem;
  line-height: 1.2;
}

/* line 169, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .sc-provider-grid .sc-provider-chip small {
  color: var(--sc-text-secondary);
  font-size: 0.65rem;
}

/* line 176, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .form-group {
  margin-bottom: 0.625rem;
}

/* line 180, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .form-control-sm {
  font-size: 0.8rem;
  height: calc(1.5em + 0.5rem + 2px);
  padding: 0.25rem 0.5rem;
}

/* line 186, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .custom-control-label {
  font-size: 0.8rem;
}

/* line 190, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .alert {
  padding: 0.4rem 0.625rem;
  margin-bottom: 0.625rem;
  font-size: 0.75rem;
}

/* line 195, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module .alert ul {
  margin-bottom: 0;
  padding-left: 1rem;
}

/* line 201, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module.admin-storage-configs-form-page {
  padding-bottom: 2rem;
}

/* line 206, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module.admin-storage-configs-show-page .sc-show-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-bottom: 0.75rem;
}

/* line 213, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module.admin-storage-configs-show-page .sc-detail-table td {
  padding: 0.35rem 0.5rem;
  font-size: 0.8rem;
}

/* line 218, app/assets/stylesheets/soft_clean/_storage_configs.scss */
.softclean-container.admin-storage-configs-module.admin-storage-configs-show-page .sc-detail-table td:first-child {
  width: 32%;
  color: var(--sc-text-secondary);
  font-weight: 600;
  font-size: 0.72rem;
  text-transform: uppercase;
}
/* line 5, app/assets/stylesheets/soft_clean/_variables.scss */
:root {
  --sc-bg: #f8fafc;
  --sc-surface: #ffffff;
  --sc-text-primary: #0f172a;
  --sc-text-secondary: #475569;
  --sc-text-light: #94a3b8;
  --sc-slate-navy: #0f172a;
  --sc-slate-dark: #16202a;
  --sc-slate-card: #1e293b;
  --sc-sky-accent: #38bdf8;
  --sc-primary: #2c3e50;
  --sc-primary-hover: #1e293b;
  --sc-secondary: #64748b;
  --sc-success: #10b981;
  --sc-success-wash: #ecfdf5;
  --sc-warning: #f59e0b;
  --sc-warning-wash: #fffbeb;
  --sc-danger: #ef4444;
  --sc-danger-wash: #fef2f2;
  --sc-info: #0284c7;
  --sc-info-wash: #f0f9ff;
  --sc-border: #e2e8f0;
  --sc-border-subtle: #f1f5f9;
  --sc-radius: 12px;
  --sc-radius-sm: 8px;
  --sc-radius-pill: 9999px;
  --sc-shadow-sm: 0 1px 3px 0 rgba(15, 23, 42, 0.04), 0 1px 2px -1px rgba(15, 23, 42, 0.02);
  --sc-shadow: 0 8px 24px -4px rgba(15, 23, 42, 0.06), 0 2px 6px -1px rgba(15, 23, 42, 0.03);
  --sc-shadow-lg: 0 16px 32px -6px rgba(15, 23, 42, 0.08), 0 4px 12px -2px rgba(15, 23, 42, 0.04);
}

/* line 8, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  border-radius: 6px;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
}

/* line 18, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-badge.lg {
  padding: 0.5rem 1rem;
  font-size: 0.85rem;
}

/* line 24, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-badge.primary {
  background: #eff6ff;
  color: #3b82f6;
}

/* line 29, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-badge.success {
  background: #ecfdf5;
  color: #10b981;
}

/* line 34, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-badge.warning {
  background: #fffbeb;
  color: #f59e0b;
}

/* line 39, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-badge.danger {
  background: #fef2f2;
  color: #ef4444;
}

/* line 44, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-badge.info {
  background: #f0f9ff;
  color: #06b6d4;
}

/* line 49, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-badge.secondary {
  background: #f1f5f9;
  color: #64748b;
}

/* line 55, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-badge.high {
  background: #fef2f2;
  color: #ef4444;
}

/* line 60, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-badge.excellent {
  background: #ecfdf5;
  color: #10b981;
}

/* line 65, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-badge.good {
  background: #f0f9ff;
  color: #06b6d4;
}

/* line 73, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn {
  padding: 0.5rem 1rem;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
  line-height: 1.5;
}

/* line 88, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn:hover {
  text-decoration: none;
  transform: translateY(-1px);
}

/* line 93, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn:active {
  transform: translateY(0);
}

/* line 98, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.primary {
  background: var(--sc-primary);
  color: white;
  box-shadow: 0 1px 2px rgba(59, 130, 246, 0.3);
}

/* line 103, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.primary:hover {
  background: #2563eb;
  box-shadow: 0 4px 6px -1px rgba(59, 130, 246, 0.4);
}

/* line 109, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.secondary {
  background: white;
  border: 1px solid var(--sc-border);
  color: var(--sc-text-secondary);
  box-shadow: var(--sc-shadow-sm);
}

/* line 115, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.secondary:hover {
  background: #f8fafc;
  border-color: #cbd5e1;
  color: var(--sc-text-primary);
}

/* line 122, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.success {
  background: var(--sc-success);
  color: white;
  box-shadow: 0 1px 2px rgba(16, 185, 129, 0.3);
}

/* line 127, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.success:hover {
  background: #059669;
  box-shadow: 0 4px 6px -1px rgba(16, 185, 129, 0.4);
}

/* line 133, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.warning {
  background: var(--sc-warning);
  color: white;
  box-shadow: 0 1px 2px rgba(245, 158, 11, 0.3);
}

/* line 138, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.warning:hover {
  background: #d97706;
  box-shadow: 0 4px 6px -1px rgba(245, 158, 11, 0.4);
}

/* line 144, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.info {
  background: var(--sc-info);
  color: white;
  box-shadow: 0 1px 2px rgba(6, 182, 212, 0.3);
}

/* line 149, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.info:hover {
  background: #0891b2;
  box-shadow: 0 4px 6px -1px rgba(6, 182, 212, 0.4);
}

/* line 156, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.soft-primary {
  background: #eff6ff;
  color: #3b82f6;
}

/* line 160, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.soft-primary:hover {
  background: #dbeafe;
  color: #2563eb;
}

/* line 166, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.soft-success {
  background: #ecfdf5;
  color: #10b981;
}

/* line 170, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.soft-success:hover {
  background: #d1fae5;
  color: #059669;
}

/* line 176, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.soft-warning {
  background: #fffbeb;
  color: #f59e0b;
}

/* line 180, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.soft-warning:hover {
  background: #fef3c7;
  color: #d97706;
}

/* line 186, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.soft-danger {
  background: #fef2f2;
  color: #ef4444;
}

/* line 190, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.soft-danger:hover {
  background: #fee2e2;
  color: #dc2626;
}

/* line 196, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.soft-info {
  background: #ecfeff;
  color: #06b6d4;
}

/* line 200, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.soft-info:hover {
  background: #cffafe;
  color: #0891b2;
}

/* line 206, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.soft-secondary {
  background: #f8fafc;
  color: #64748b;
}

/* line 210, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.soft-secondary:hover {
  background: #f1f5f9;
  color: #475569;
}

/* line 217, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.sm {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  border-radius: 6px;
}

/* line 223, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.btn-icon {
  width: 32px;
  height: 32px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
}

/* line 232, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.btn-icon.sm {
  width: 28px;
  height: 28px;
  font-size: 0.8rem;
}

/* line 238, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-btn.btn-icon.rounded-circle {
  border-radius: 50%;
}

/* line 245, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-actions {
  display: flex;
  gap: 0.5rem;
}

/* line 249, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-actions .sc-action-btn {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--sc-border);
  background: white;
  color: var(--sc-text-secondary);
  transition: all 0.2s;
  text-decoration: none;
  padding: 0;
}

/* line 263, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-actions .sc-action-btn:hover {
  background: var(--sc-bg);
  color: var(--sc-primary);
  border-color: var(--sc-primary);
}

/* line 269, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-actions .sc-action-btn.delete:hover {
  color: var(--sc-danger);
  border-color: var(--sc-danger);
  background: #fef2f2;
}

/* line 278, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-metrics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}

/* line 284, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-metrics-grid .sc-metric-box {
  background: var(--sc-surface);
  padding: 1rem;
  border-radius: var(--sc-radius-sm);
  border: 1px solid var(--sc-border);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  box-shadow: var(--sc-shadow-sm);
}

/* line 294, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-metrics-grid .sc-metric-box .metric-label {
  font-size: 0.65rem;
  font-weight: 700;
  color: var(--sc-text-secondary);
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 303, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-metrics-grid .sc-metric-box .metric-label i {
  color: var(--sc-primary);
  font-size: 0.8rem;
}

/* line 309, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-metrics-grid .sc-metric-box .metric-value {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--sc-text-primary);
  letter-spacing: -0.02em;
}

/* line 315, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-metrics-grid .sc-metric-box .metric-value small {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--sc-text-light);
}

/* line 325, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-search-input {
  width: 240px;
}

/* line 329, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-search-text {
  border-radius: 8px 0 0 8px !important;
}

/* line 333, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-search-field {
  border-radius: 0 8px 8px 0 !important;
  font-size: 0.8rem !important;
}

/* line 338, app/assets/stylesheets/soft_clean/_utilities.scss */
.kbd-sm {
  font-size: 0.65rem !important;
}

/* line 342, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-avatar-md {
  width: 35px;
  height: 35px;
  font-weight: 700;
}

/* line 348, app/assets/stylesheets/soft_clean/_utilities.scss */
.w-icon {
  width: 20px;
  display: inline-block;
  text-align: center;
}

/* line 354, app/assets/stylesheets/soft_clean/_utilities.scss */
.chart-height-300 {
  height: 300px;
}

/* line 359, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-stat-icon.info {
  background: var(--sc-info-wash) !important;
  color: var(--sc-info) !important;
}

/* line 363, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-stat-icon.success {
  background: var(--sc-success-wash) !important;
  color: var(--sc-success) !important;
}

/* line 367, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-stat-icon.warning {
  background: var(--sc-warning-wash) !important;
  color: var(--sc-warning) !important;
}

/* line 371, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-stat-icon.danger {
  background: var(--sc-danger-wash) !important;
  color: var(--sc-danger) !important;
}

/* line 377, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-user-avatar-sm {
  width: 32px;
  height: 32px;
  font-size: 12px;
  color: var(--sc-text-secondary);
}

/* line 384, app/assets/stylesheets/soft_clean/_utilities.scss */
.sc-json-pre {
  color: #334155;
}
/* line 5, app/assets/stylesheets/soft_clean/_variables.scss */
:root {
  --sc-bg: #f8fafc;
  --sc-surface: #ffffff;
  --sc-text-primary: #0f172a;
  --sc-text-secondary: #475569;
  --sc-text-light: #94a3b8;
  --sc-slate-navy: #0f172a;
  --sc-slate-dark: #16202a;
  --sc-slate-card: #1e293b;
  --sc-sky-accent: #38bdf8;
  --sc-primary: #2c3e50;
  --sc-primary-hover: #1e293b;
  --sc-secondary: #64748b;
  --sc-success: #10b981;
  --sc-success-wash: #ecfdf5;
  --sc-warning: #f59e0b;
  --sc-warning-wash: #fffbeb;
  --sc-danger: #ef4444;
  --sc-danger-wash: #fef2f2;
  --sc-info: #0284c7;
  --sc-info-wash: #f0f9ff;
  --sc-border: #e2e8f0;
  --sc-border-subtle: #f1f5f9;
  --sc-radius: 12px;
  --sc-radius-sm: 8px;
  --sc-radius-pill: 9999px;
  --sc-shadow-sm: 0 1px 3px 0 rgba(15, 23, 42, 0.04), 0 1px 2px -1px rgba(15, 23, 42, 0.02);
  --sc-shadow: 0 8px 24px -4px rgba(15, 23, 42, 0.06), 0 2px 6px -1px rgba(15, 23, 42, 0.03);
  --sc-shadow-lg: 0 16px 32px -6px rgba(15, 23, 42, 0.08), 0 4px 12px -2px rgba(15, 23, 42, 0.04);
}
@charset "UTF-8";
/* =============================================================================
   OTIMIZAÇÕES DE ESPAÇAMENTO GLOBAL
   Remove espaços desnecessários entre:
   1. Barra superior (content-header) ↔ Página exibida (content)
   2. Sidebar ↔ Página exibida (margin/padding horizontal)
   ============================================================================= */
/* 1. Remove padding do .content (era 1rem, agora 0) */
/* Isso remove a distância entre barra superior e página exibida */
/* line 10, app/assets/stylesheets/spacing_optimizations.scss */
.wrapper .content-wrapper .content,
.content-wrapper .content,
.content {
  padding: 0 !important;
}

/* 2. Remove padding do .container-fluid (era 1rem, agora 0) */
/* Isso remove a distância entre sidebar e página exibida */
/* line 18, app/assets/stylesheets/spacing_optimizations.scss */
.content-wrapper .container-fluid,
.content .container-fluid,
.main-container .container-fluid,
.container-fluid {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* 3. Remove margem entre content-header e content, mas preserva margin-top para header fixo */
/* line 29, app/assets/stylesheets/spacing_optimizations.scss */
.wrapper .content-wrapper .content-header,
.content-wrapper .content-header,
.content-header {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  /* Preserva margin-top para compensar header fixo - não remover! */
  /* margin-top é definido em layout_fixes.css como var(--header-height) */
}

/* 4. Garante que main-container tenha padding zero também */
/* Aplicar APENAS dentro do contexto da aplicação web (.content-wrapper) para não afetar PDFs */
/* line 40, app/assets/stylesheets/spacing_optimizations.scss */
.content-wrapper .main-container,
.wrapper .main-container {
  padding: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* 5. Remove espaçamento extra de rows dentro do container */
/* Aplicar APENAS dentro do contexto da aplicação web para não afetar PDFs */
/* line 49, app/assets/stylesheets/spacing_optimizations.scss */
.content-wrapper .container-fluid > .row:first-child,
.content-wrapper .content > .row:first-child,
.content-wrapper .main-container > .row:first-child,
.wrapper .container-fluid > .row:first-child,
.wrapper .content > .row:first-child,
.wrapper .main-container > .row:first-child {
  margin-top: 0 !important;
}

/* 6. Ajusta os cards para ocuparem todo espaço (sem margens extras) */
/* line 59, app/assets/stylesheets/spacing_optimizations.scss */
.control-panel,
.form-container,
.card {
  margin-top: 0 !important;
}

/* 7. Remove padding top do primeiro elemento dentro de .content */
/* line 66, app/assets/stylesheets/spacing_optimizations.scss */
.content > *:first-child,
.container-fluid > *:first-child {
  margin-top: 0 !important;
}

/* 8. Mobile - mantém zero padding */
@media (max-width: 767.98px) {
  /* line 73, app/assets/stylesheets/spacing_optimizations.scss */
  .content {
    padding: 0 !important;
  }
  /* line 77, app/assets/stylesheets/spacing_optimizations.scss */
  .container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* line 82, app/assets/stylesheets/spacing_optimizations.scss */
  .content-header {
    padding: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* 9. Tablets - mantém zero padding */
@media (max-width: 991.98px) {
  /* line 90, app/assets/stylesheets/spacing_optimizations.scss */
  .content {
    padding: 0 !important;
  }
  /* line 94, app/assets/stylesheets/spacing_optimizations.scss */
  .container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* 10. Desktop - mantém zero padding */
@media (min-width: 992px) {
  /* line 102, app/assets/stylesheets/spacing_optimizations.scss */
  .content {
    padding: 0 !important;
  }
  /* line 106, app/assets/stylesheets/spacing_optimizations.scss */
  .container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* 11. Garante que o espaçamento interno seja controlado pelos componentes ERP */
/* Aplicar APENAS dentro do contexto da aplicação web (.content-wrapper) para não afetar PDFs */
/* line 114, app/assets/stylesheets/spacing_optimizations.scss */
.content-wrapper .main-container.works-module,
.content-wrapper .main-container.categories-module,
.content-wrapper .main-container.services-module,
.content-wrapper .main-container.equipments-module,
.content-wrapper .main-container.people-module,
.content-wrapper .main-container.users-module,
.content-wrapper .main-container.roles-module,
.content-wrapper .main-container.tenants-module,
.content-wrapper .main-container.rentals-module,
.content-wrapper .main-container.financial-module,
.content-wrapper .main-container.payables-module,
.content-wrapper .main-container.receivables-module,
.content-wrapper .main-container.default-risks-module,
.wrapper .main-container.works-module,
.wrapper .main-container.categories-module,
.wrapper .main-container.services-module,
.wrapper .main-container.equipments-module,
.wrapper .main-container.people-module,
.wrapper .main-container.users-module,
.wrapper .main-container.roles-module,
.wrapper .main-container.tenants-module,
.wrapper .main-container.rentals-module,
.wrapper .main-container.financial-module,
.wrapper .main-container.payables-module,
.wrapper .main-container.receivables-module,
.wrapper .main-container.default-risks-module {
  padding: 12px !important;
  /* Padding controlado pelo módulo */
  margin-left: 0 !important;
  /* Remove qualquer margin-left que possa estar sendo aplicado */
}

/* 12. Remove gap entre content-header e primeiro card */
/* line 145, app/assets/stylesheets/spacing_optimizations.scss */
.content-header + .content .control-panel,
.content-header + .content .form-container,
.content-header + .content .main-container {
  margin-top: 0 !important;
}

/* 13. Ajusta breadcrumbs para não ter espaço extra */
/* line 152, app/assets/stylesheets/spacing_optimizations.scss */
.content-header .breadcrumb {
  margin-bottom: 0 !important;
  padding: 0.75rem 1rem !important;
}

/* 14. Remove espaço do content quando tem content-header */
/* line 158, app/assets/stylesheets/spacing_optimizations.scss */
.content-wrapper:has(.content-header) .content {
  padding-top: 0 !important;
}

/* 15. Otimiza o espaço vertical total */
/* line 163, app/assets/stylesheets/spacing_optimizations.scss */
.content-wrapper .content-header + .content {
  margin-top: 0 !important;
}

/* 16. Garantir que dropdowns do Tom Select apareçam */
/* Aplicar APENAS dentro do contexto da aplicação web para não afetar PDFs */
/* line 169, app/assets/stylesheets/spacing_optimizations.scss */
.content-wrapper,
.content-wrapper .content,
.content-wrapper .container-fluid,
.content-wrapper .main-container,
.wrapper .content,
.wrapper .container-fluid,
.wrapper .main-container {
  overflow: visible !important;
}
@charset "UTF-8";
/*
 * SweetAlert2 Light Theme Customization - ERP FluxoLoc
 *
 * Estilização personalizada para garantir que o SweetAlert2 use o tema light
 * e se integre bem com o AdminLTE e Bootstrap 4.
 *
 * TEMA LEGADO: este arquivo é o tema antigo do SweetAlert2, escopado com
 * `:not(.erp-swal)` porque suas declarações usam `!important` e venceriam
 * por especificidade o tema novo em `components/erp_ui.scss` (que não usa
 * `!important`, por regra do projeto). Diálogos que já migraram para o
 * erpDialog recebem a classe `erp-swal` no popup e ficam de fora daqui.
 * Remover este arquivo inteiro na fase F4, quando não houver mais nenhum
 * diálogo fora do erpDialog.
 */
/* Forçar tema light para o SweetAlert2 */
/* line 17, app/assets/stylesheets/sweet_alerts.scss */
.swal2-popup:not(.erp-swal) {
  background-color: #ffffff !important;
  color: #495057 !important;
  border: 1px solid #dee2e6;
  border-radius: 0.375rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

/* Customizações para o cabeçalho */
/* line 26, app/assets/stylesheets/sweet_alerts.scss */
.swal2-popup:not(.erp-swal) .swal2-light-header {
  border-bottom: 1px solid #dee2e6;
  padding-bottom: 1rem;
}

/* Customizações para o título */
/* line 32, app/assets/stylesheets/sweet_alerts.scss */
.swal2-popup:not(.erp-swal) .swal2-title {
  color: #212529 !important;
  font-weight: 600;
  font-size: 1.25rem;
}

/* Customizações para o conteúdo */
/* line 39, app/assets/stylesheets/sweet_alerts.scss */
.swal2-popup:not(.erp-swal) .swal2-content {
  color: #6c757d !important;
  font-size: 1rem;
  line-height: 1.5;
}

/* Customizações para os ícones */
/* line 46, app/assets/stylesheets/sweet_alerts.scss */
.swal2-popup:not(.erp-swal) .swal2-icon {
  border: none !important;
  margin: 1rem auto 1.5rem;
}

/* line 51, app/assets/stylesheets/sweet_alerts.scss */
.swal2-popup:not(.erp-swal) .swal2-icon.swal2-success {
  color: #28a745 !important;
  border-color: #28a745 !important;
}

/* line 56, app/assets/stylesheets/sweet_alerts.scss */
.swal2-popup:not(.erp-swal) .swal2-icon.swal2-error {
  color: #dc3545 !important;
  border-color: #dc3545 !important;
}

/* line 61, app/assets/stylesheets/sweet_alerts.scss */
.swal2-popup:not(.erp-swal) .swal2-icon.swal2-warning {
  color: #ffc107 !important;
  border-color: #ffc107 !important;
}

/* line 66, app/assets/stylesheets/sweet_alerts.scss */
.swal2-popup:not(.erp-swal) .swal2-icon.swal2-info {
  color: #17a2b8 !important;
  border-color: #17a2b8 !important;
}

/* line 71, app/assets/stylesheets/sweet_alerts.scss */
.swal2-popup:not(.erp-swal) .swal2-icon.swal2-question {
  color: #6c757d !important;
  border-color: #6c757d !important;
}

/* Customizações para os botões */
/* line 77, app/assets/stylesheets/sweet_alerts.scss */
.swal2-popup:not(.erp-swal) .swal2-actions {
  margin-top: 1.5rem;
  gap: 0.5rem;
}

/* line 82, app/assets/stylesheets/sweet_alerts.scss */
.swal2-popup:not(.erp-swal) .swal2-confirm {
  background-color: #007bff !important;
  border-color: #007bff !important;
  color: #ffffff !important;
  font-weight: 500;
  padding: 0.5rem 1rem;
  border-radius: 0.25rem;
  border: 1px solid transparent;
  text-decoration: none;
  display: inline-block;
  font-size: 0.875rem;
  line-height: 1.5;
  transition: all 0.15s ease-in-out;
}

/* line 97, app/assets/stylesheets/sweet_alerts.scss */
.swal2-popup:not(.erp-swal) .swal2-confirm:hover {
  background-color: #0056b3 !important;
  border-color: #004085 !important;
  transform: translateY(-1px);
}

/* line 103, app/assets/stylesheets/sweet_alerts.scss */
.swal2-popup:not(.erp-swal) .swal2-cancel {
  background-color: #6c757d !important;
  border-color: #6c757d !important;
  color: #ffffff !important;
  font-weight: 500;
  padding: 0.5rem 1rem;
  border-radius: 0.25rem;
  border: 1px solid transparent;
  text-decoration: none;
  display: inline-block;
  font-size: 0.875rem;
  line-height: 1.5;
  transition: all 0.15s ease-in-out;
}

/* line 118, app/assets/stylesheets/sweet_alerts.scss */
.swal2-popup:not(.erp-swal) .swal2-cancel:hover {
  background-color: #545b62 !important;
  border-color: #4e555b !important;
  transform: translateY(-1px);
}

/* line 124, app/assets/stylesheets/sweet_alerts.scss */
.swal2-popup:not(.erp-swal) .swal2-deny {
  background-color: #dc3545 !important;
  border-color: #dc3545 !important;
  color: #ffffff !important;
  font-weight: 500;
  padding: 0.5rem 1rem;
  border-radius: 0.25rem;
  border: 1px solid transparent;
  text-decoration: none;
  display: inline-block;
  font-size: 0.875rem;
  line-height: 1.5;
  transition: all 0.15s ease-in-out;
}

/* line 139, app/assets/stylesheets/sweet_alerts.scss */
.swal2-popup:not(.erp-swal) .swal2-deny:hover {
  background-color: #c82333 !important;
  border-color: #bd2130 !important;
  transform: translateY(-1px);
}

/* Customizações para toasts */
/* line 146, app/assets/stylesheets/sweet_alerts.scss */
.swal2-toast:not(.erp-swal) {
  background-color: #ffffff !important;
  color: #495057 !important;
  border: 1px solid #dee2e6;
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1) !important;
}

/* line 153, app/assets/stylesheets/sweet_alerts.scss */
.swal2-toast:not(.erp-swal) .swal2-title {
  color: #212529 !important;
  font-size: 0.875rem;
  font-weight: 500;
}

/* Timer progress bar */
/* line 160, app/assets/stylesheets/sweet_alerts.scss */
.swal2-popup:not(.erp-swal) .swal2-timer-progress-bar {
  background-color: #007bff !important;
}

/* Loading spinner customization */
/* line 165, app/assets/stylesheets/sweet_alerts.scss */
.swal2-popup:not(.erp-swal) .swal2-loading .swal2-loader {
  border-color: #007bff transparent #007bff transparent !important;
}

/* Input field customizations (se usados) */
/* line 170, app/assets/stylesheets/sweet_alerts.scss */
.swal2-popup:not(.erp-swal) .swal2-input,
.swal2-popup:not(.erp-swal) .swal2-textarea {
  background-color: #ffffff !important;
  border: 1px solid #ced4da !important;
  color: #495057 !important;
  border-radius: 0.25rem;
  padding: 0.375rem 0.75rem;
}

/* line 179, app/assets/stylesheets/sweet_alerts.scss */
.swal2-popup:not(.erp-swal) .swal2-input:focus,
.swal2-popup:not(.erp-swal) .swal2-textarea:focus {
  border-color: #80bdff !important;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25) !important;
}

/* Validação de inputs */
/* line 187, app/assets/stylesheets/sweet_alerts.scss */
.swal2-popup:not(.erp-swal) .swal2-input.swal2-inputerror,
.swal2-popup:not(.erp-swal) .swal2-textarea.swal2-inputerror {
  border-color: #dc3545 !important;
}

/* Overlay/backdrop customization
 * A própria lib zera o backdrop em modo toast via
 * `body.swal2-toast-shown .swal2-container { background-color: transparent }`,
 * mas sem !important — então o !important abaixo sempre vencia e escurecia a
 * tela inteira atrás dos toasts. Escopamos o background para não valer em
 * modo toast. O z-index continua global: toasts também precisam ficar acima
 * de modais do Bootstrap, e a lib não define z-index para o modo toast. */
/* line 199, app/assets/stylesheets/sweet_alerts.scss */
.swal2-container {
  z-index: 2100 !important;
}

/* line 203, app/assets/stylesheets/sweet_alerts.scss */
body:not(.swal2-toast-shown) .swal2-container {
  background-color: rgba(0, 0, 0, 0.4) !important;
}

/* Responsive adjustments */
@media (max-width: 576px) {
  /* line 209, app/assets/stylesheets/sweet_alerts.scss */
  .swal2-popup {
    width: 90% !important;
    margin: 1rem;
  }
  /* line 214, app/assets/stylesheets/sweet_alerts.scss */
  .swal2-title {
    font-size: 1.1rem;
  }
  /* line 218, app/assets/stylesheets/sweet_alerts.scss */
  .swal2-content {
    font-size: 0.9rem;
  }
  /* line 222, app/assets/stylesheets/sweet_alerts.scss */
  .swal2-actions {
    flex-direction: column;
  }
  /* line 226, app/assets/stylesheets/sweet_alerts.scss */
  .swal2-confirm, .swal2-cancel, .swal2-deny {
    width: 100%;
    margin: 0.25rem 0;
  }
}

/* Animações suaves */
/* line 233, app/assets/stylesheets/sweet_alerts.scss */
.swal2-popup:not(.erp-swal) {
  animation-duration: 0.3s;
}

/* line 237, app/assets/stylesheets/sweet_alerts.scss */
.swal2-backdrop-show {
  animation-duration: 0.3s;
}

/* line 241, app/assets/stylesheets/sweet_alerts.scss */
.swal2-backdrop-hide {
  animation-duration: 0.15s;
}

/* Modal styles for movement view */
/* line 247, app/assets/stylesheets/sweet_alerts.scss */
.movement-view-container .info-card {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  padding: 15px;
  margin-bottom: 15px;
}

/* line 254, app/assets/stylesheets/sweet_alerts.scss */
.movement-view-container .info-card .info-header {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  font-weight: 600;
  color: #495057;
  font-size: 0.9rem;
}

/* line 262, app/assets/stylesheets/sweet_alerts.scss */
.movement-view-container .info-card .info-header i {
  margin-right: 8px;
  color: #6c757d;
}

/* line 268, app/assets/stylesheets/sweet_alerts.scss */
.movement-view-container .info-card .info-value {
  font-size: 1rem;
  color: #212529;
}

/* line 272, app/assets/stylesheets/sweet_alerts.scss */
.movement-view-container .info-card .info-value.text-muted {
  color: #6c757d !important;
}

/*
 * Bootstrap 4 remove o max-height do .modal-content quando
 * .modal-dialog-centered e .modal-dialog-scrollable são combinados,
 * o que impede a rolagem interna e esconde os botões do modal-footer
 * em telas menores. Restauramos o limite para preservar a rolagem.
 */
/* line 287, app/assets/stylesheets/sweet_alerts.scss */
.rental-billing-form-modal .modal-dialog-centered.modal-dialog-scrollable .modal-content,
.service-billing-form-modal .modal-dialog-centered.modal-dialog-scrollable .modal-content {
  max-height: calc(100vh - 3.5rem);
}

/* Estilos específicos para o modal de cobrança */
/* line 293, app/assets/stylesheets/sweet_alerts.scss */
.rental-billing-form-modal {
  /* Melhorar espaçamento das colunas */
  /* Ajustar tamanho do textarea */
}

/* line 294, app/assets/stylesheets/sweet_alerts.scss */
.rental-billing-form-modal .form-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #495057;
  margin-bottom: 0.5rem;
}

/* line 300, app/assets/stylesheets/sweet_alerts.scss */
.rental-billing-form-modal .form-label i {
  margin-right: 0.5rem;
  width: 16px;
  text-align: center;
}

/* line 307, app/assets/stylesheets/sweet_alerts.scss */
.rental-billing-form-modal .form-control-sm {
  height: calc(1.5em + 0.5rem + 2px);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  border: 1px solid #ced4da;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

/* line 316, app/assets/stylesheets/sweet_alerts.scss */
.rental-billing-form-modal .form-control-sm:focus {
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

/* line 324, app/assets/stylesheets/sweet_alerts.scss */
.rental-billing-form-modal .input-group-sm .input-group-text {
  font-size: 0.875rem;
  padding: 0.25rem 0.5rem;
  line-height: 1.5;
  border-radius: 0.25rem 0 0 0.25rem;
  border: 1px solid #ced4da;
  background-color: #e9ecef;
  color: #495057;
}

/* line 334, app/assets/stylesheets/sweet_alerts.scss */
.rental-billing-form-modal .input-group-sm .form-control {
  border-radius: 0 0.25rem 0.25rem 0;
}

/* line 339, app/assets/stylesheets/sweet_alerts.scss */
.rental-billing-form-modal .form-group {
  margin-bottom: 1rem;
}

/* line 342, app/assets/stylesheets/sweet_alerts.scss */
.rental-billing-form-modal .form-group:last-child {
  margin-bottom: 0;
}

/* line 347, app/assets/stylesheets/sweet_alerts.scss */
.rental-billing-form-modal .form-text {
  font-size: 0.75rem;
  color: #6c757d;
  margin-top: 0.25rem;
}

/* line 354, app/assets/stylesheets/sweet_alerts.scss */
.rental-billing-form-modal .row {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}

/* line 358, app/assets/stylesheets/sweet_alerts.scss */
.rental-billing-form-modal .row > [class*="col-"] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

/* line 365, app/assets/stylesheets/sweet_alerts.scss */
.rental-billing-form-modal textarea.form-control-sm {
  resize: vertical;
  min-height: 80px;
}

/* Classes para tamanhos de modal */
/* line 372, app/assets/stylesheets/sweet_alerts.scss */
.swal2-medium-modal {
  max-width: 700px !important;
  width: 90% !important;
}

/* line 377, app/assets/stylesheets/sweet_alerts.scss */
.swal2-large-modal {
  max-width: 800px !important;
  width: 90% !important;
}

/* line 382, app/assets/stylesheets/sweet_alerts.scss */
.swal2-actions-medium {
  margin-top: 1.5rem;
  gap: 0.75rem;
}

/* line 387, app/assets/stylesheets/sweet_alerts.scss */
.swal2-actions-large {
  margin-top: 1.5rem;
  gap: 0.75rem;
}

/* Estilos específicos para o modal de movimentação */
/* line 393, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal {
  /* Dropdown de equipamentos */
}

/* line 394, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container {
  padding: 0.5rem;
  /* Estilos específicos para componentes */
}

/* line 397, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .form-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #495057;
  margin-bottom: 0.25rem;
}

/* line 403, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .form-label.small {
  font-size: 0.7rem;
}

/* line 408, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .form-control-sm {
  height: calc(1.5em + 0.5rem + 2px);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  border: 1px solid #ced4da;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

/* line 417, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .form-control-sm:focus {
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

/* line 424, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .movement-item-row {
  background-color: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 0.25rem;
  padding: 0.75rem;
  margin-bottom: 0.5rem;
}

/* line 431, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .movement-item-row:last-child {
  margin-bottom: 0;
}

/* line 435, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .movement-item-row .form-label {
  font-size: 0.7rem;
  margin-bottom: 0.25rem;
}

/* line 440, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .movement-item-row .btn-sm {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  line-height: 1.2;
  border-radius: 0.2rem;
}

/* line 448, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .row {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}

/* line 452, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .row > [class*="col-"] {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

/* line 458, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .mb-2 {
  margin-bottom: 0.5rem !important;
}

/* line 462, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .mb-1 {
  margin-bottom: 0.25rem !important;
}

/* line 466, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .mt-1 {
  margin-top: 0.25rem !important;
}

/* line 470, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container textarea.form-control-sm {
  resize: vertical;
  min-height: 60px;
}

/* line 475, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .btn-outline-primary.btn-sm {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  line-height: 1.2;
}

/* line 481, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .btn-outline-danger.btn-sm {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  line-height: 1.2;
}

/* line 488, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section {
  border-top: 1px solid #dee2e6;
  padding-top: 0.75rem;
  margin-top: 0.75rem;
  /* Garantir que a tabela mantenha a largura correta */
  /* Forçar largura da tabela de componentes */
  /* Estilos para botões de ação seguindo o padrão do sistema */
  /* Estilos para formulário de componentes em remessas */
}

/* line 494, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .table-responsive {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto;
  display: block !important;
}

/* line 500, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .table-responsive table {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed;
  margin: 0 !important;
}

/* line 507, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .table-responsive table th {
  font-weight: 600;
  padding: 0.75rem;
  vertical-align: top;
  border-top: 1px solid #dee2e6;
  background-color: #f8f9fa;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 518, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .table-responsive table td {
  padding: 0.75rem;
  vertical-align: top;
  border-top: 1px solid #dee2e6;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 527, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .table-responsive table th:last-child,
.movement-form-modal .movement-form-container .components-section .table-responsive table td:last-child {
  width: 120px;
  min-width: 120px;
  max-width: 120px;
}

/* line 537, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section #components-table {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
}

/* line 544, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .components-section .actions-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  width: 120px;
  min-width: 120px;
  max-width: 120px;
}

/* line 554, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .components-section .action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.25rem;
  border: 1px solid transparent;
  margin-right: 0.25rem;
  cursor: pointer;
  transition: all 0.2s ease;
  background: none;
  font-size: 0.8rem;
  text-decoration: none;
}

/* line 570, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .components-section .action-btn.edit {
  color: #ffc107;
  border-color: #ffc107;
}

/* line 575, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .components-section .action-btn.edit:hover {
  background-color: #ffc107;
  color: #212529;
}

/* line 580, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .components-section .action-btn.delete {
  color: #dc3545;
  border-color: #dc3545;
}

/* line 585, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .components-section .action-btn.delete:hover {
  background-color: #dc3545;
  color: #fff;
}

/* line 591, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .components-form {
  background-color: #f8f9fa !important;
  border: 1px solid #dee2e6 !important;
  border-radius: 0.375rem;
  margin-top: 0.5rem;
}

/* line 598, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .components-form .components-list .component-item {
  background-color: #ffffff;
  border: 1px solid #e9ecef;
  border-radius: 0.25rem;
  transition: all 0.2s ease;
}

/* line 604, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .components-form .components-list .component-item:hover {
  border-color: #007bff;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 123, 255, 0.075);
}

/* line 609, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .components-form .components-list .component-item .component-quantity {
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  text-align: center;
}

/* line 616, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .components-form .components-list .component-item .component-quantity:focus {
  border-color: #007bff;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

/* line 624, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .components-form .components-summary {
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  font-size: 0.8rem;
}

/* line 630, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .components-form .components-summary .badge {
  font-size: 0.75rem;
  padding: 0.2rem 0.4rem;
}

/* line 638, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .components-list .component-item {
  background-color: #ffffff;
  border: 1px solid #e9ecef;
  border-radius: 0.25rem;
  padding: 0.5rem;
  margin-bottom: 0.5rem;
}

/* line 645, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .components-list .component-item:last-child {
  margin-bottom: 0;
}

/* line 649, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .components-list .component-item .form-label {
  font-size: 0.65rem;
  font-weight: 600;
  color: #495057;
  margin-bottom: 0.2rem;
}

/* line 656, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .components-list .component-item .text-muted {
  font-size: 0.6rem;
  color: #6c757d;
}

/* line 662, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .components-list .component-item .input-group-sm .input-group-text {
  font-size: 0.7rem;
  padding: 0.2rem 0.4rem;
  line-height: 1.2;
  border-radius: 0.2rem;
  border: 1px solid #ced4da;
  background-color: #f8f9fa;
  color: #495057;
}

/* line 672, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .components-list .component-item .input-group-sm .form-control {
  border-radius: 0 0.2rem 0.2rem 0;
  font-size: 0.7rem;
  padding: 0.2rem 0.4rem;
  height: calc(1.2em + 0.4rem + 2px);
}

/* line 679, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .components-list .component-item .input-group-sm .btn {
  border-radius: 0.2rem;
  font-size: 0.7rem;
  padding: 0.2rem 0.4rem;
  line-height: 1.2;
}

/* line 685, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .components-list .component-item .input-group-sm .btn:first-child {
  border-radius: 0.2rem 0 0 0.2rem;
}

/* line 689, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .components-list .component-item .input-group-sm .btn:last-child {
  border-radius: 0 0.2rem 0.2rem 0;
}

/* line 695, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .movement-form-container .components-section .components-list .component-item .badge {
  font-size: 0.6rem;
  padding: 0.2rem 0.4rem;
}

/* line 705, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .equipment-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1000;
  background: white;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  max-height: 200px;
  overflow-y: auto;
}

/* line 718, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .equipment-dropdown .dropdown-item {
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  border-bottom: 1px solid #f8f9fa;
}

/* line 723, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .equipment-dropdown .dropdown-item:hover {
  background-color: #f8f9fa;
}

/* line 727, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .equipment-dropdown .dropdown-item:last-child {
  border-bottom: none;
}

/* line 731, app/assets/stylesheets/sweet_alerts.scss */
.movement-form-modal .equipment-dropdown .dropdown-item .badge {
  font-size: 0.6rem;
  padding: 0.2rem 0.4rem;
}

/* Estilos específicos para o modal de equipamento */
/* line 741, app/assets/stylesheets/sweet_alerts.scss */
.equipment-form-modal .equipment-form-container {
  padding: 0.5rem;
  /* Dropdown de equipamentos */
  /* Info do equipamento selecionado */
}

/* line 744, app/assets/stylesheets/sweet_alerts.scss */
.equipment-form-modal .equipment-form-container .form-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #495057;
  margin-bottom: 0.25rem;
}

/* line 751, app/assets/stylesheets/sweet_alerts.scss */
.equipment-form-modal .equipment-form-container .form-control-sm {
  height: calc(1.5em + 0.5rem + 2px);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.25rem;
}

/* line 760, app/assets/stylesheets/sweet_alerts.scss */
.equipment-form-modal .equipment-form-container .dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1050;
  background: white;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  max-height: 200px;
  overflow-y: auto;
  margin-top: 0.125rem;
}

/* line 774, app/assets/stylesheets/sweet_alerts.scss */
.equipment-form-modal .equipment-form-container .dropdown-menu .dropdown-item {
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  border-bottom: 1px solid #f8f9fa;
  cursor: pointer;
}

/* line 780, app/assets/stylesheets/sweet_alerts.scss */
.equipment-form-modal .equipment-form-container .dropdown-menu .dropdown-item:hover {
  background-color: #f8f9fa;
}

/* line 784, app/assets/stylesheets/sweet_alerts.scss */
.equipment-form-modal .equipment-form-container .dropdown-menu .dropdown-item:last-child {
  border-bottom: none;
}

/* line 788, app/assets/stylesheets/sweet_alerts.scss */
.equipment-form-modal .equipment-form-container .dropdown-menu .dropdown-item .badge {
  font-size: 0.6rem;
  padding: 0.2rem 0.4rem;
}

/* line 793, app/assets/stylesheets/sweet_alerts.scss */
.equipment-form-modal .equipment-form-container .dropdown-menu .dropdown-item strong {
  font-size: 0.875rem;
  color: #495057;
}

/* line 798, app/assets/stylesheets/sweet_alerts.scss */
.equipment-form-modal .equipment-form-container .dropdown-menu .dropdown-item small {
  font-size: 0.75rem;
  color: #6c757d;
}

/* line 807, app/assets/stylesheets/sweet_alerts.scss */
.equipment-form-modal .equipment-form-container #equipment-info .alert-success {
  background-color: #d4edda;
  border-color: #c3e6cb;
  color: #155724;
  font-size: 0.875rem;
  padding: 0.5rem;
  border-radius: 0.25rem;
}

/* line 815, app/assets/stylesheets/sweet_alerts.scss */
.equipment-form-modal .equipment-form-container #equipment-info .alert-success i {
  margin-right: 0.25rem;
}

/* line 819, app/assets/stylesheets/sweet_alerts.scss */
.equipment-form-modal .equipment-form-container #equipment-info .alert-success strong {
  font-weight: 600;
}

/* line 823, app/assets/stylesheets/sweet_alerts.scss */
.equipment-form-modal .equipment-form-container #equipment-info .alert-success small {
  font-size: 0.75rem;
  opacity: 0.8;
}
/* SweetAlert2 11.14.5 base CSS — https://cdn.jsdelivr.net/npm/sweetalert2@11.14.5/dist/sweetalert2.min.css (MIT) */
.swal2-popup.swal2-toast{box-sizing:border-box;grid-column:1/4 !important;grid-row:1/4 !important;grid-template-columns:min-content auto min-content;padding:1em;overflow-y:hidden;background:#fff;box-shadow:0 0 1px rgba(0,0,0,.075),0 1px 2px rgba(0,0,0,.075),1px 2px 4px rgba(0,0,0,.075),1px 3px 8px rgba(0,0,0,.075),2px 4px 16px rgba(0,0,0,.075);pointer-events:all}.swal2-popup.swal2-toast>*{grid-column:2}.swal2-popup.swal2-toast .swal2-title{margin:.5em 1em;padding:0;font-size:1em;text-align:initial}.swal2-popup.swal2-toast .swal2-loading{justify-content:center}.swal2-popup.swal2-toast .swal2-input{height:2em;margin:.5em;font-size:1em}.swal2-popup.swal2-toast .swal2-validation-message{font-size:1em}.swal2-popup.swal2-toast .swal2-footer{margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-popup.swal2-toast .swal2-close{grid-column:3/3;grid-row:1/99;align-self:center;width:.8em;height:.8em;margin:0;font-size:2em}.swal2-popup.swal2-toast .swal2-html-container{margin:.5em 1em;padding:0;overflow:initial;font-size:1em;text-align:initial}.swal2-popup.swal2-toast .swal2-html-container:empty{padding:0}.swal2-popup.swal2-toast .swal2-loader{grid-column:1;grid-row:1/99;align-self:center;width:2em;height:2em;margin:.25em}.swal2-popup.swal2-toast .swal2-icon{grid-column:1;grid-row:1/99;align-self:center;width:2em;min-width:2em;height:2em;margin:0 .5em 0 0}.swal2-popup.swal2-toast .swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:1.8em;font-weight:bold}.swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:.875em;width:1.375em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-popup.swal2-toast .swal2-actions{justify-content:flex-start;height:auto;margin:0;margin-top:.5em;padding:0 .5em}.swal2-popup.swal2-toast .swal2-styled{margin:.25em .5em;padding:.4em .6em;font-size:1em}.swal2-popup.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line]{position:absolute;width:1.6em;height:3em;border-radius:50%}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.8em;left:-0.5em;transform:rotate(-45deg);transform-origin:2em 2em;border-radius:4em 0 0 4em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.25em;left:.9375em;transform-origin:0 1.5em;border-radius:0 4em 4em 0}.swal2-popup.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-toast-animate-success-line-tip .75s}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-toast-animate-success-line-long .75s}.swal2-popup.swal2-toast.swal2-show{animation:swal2-toast-show .5s}.swal2-popup.swal2-toast.swal2-hide{animation:swal2-toast-hide .1s forwards}div:where(.swal2-container){display:grid;position:fixed;z-index:1060;inset:0;box-sizing:border-box;grid-template-areas:"top-start     top            top-end" "center-start  center         center-end" "bottom-start  bottom-center  bottom-end";grid-template-rows:minmax(min-content, auto) minmax(min-content, auto) minmax(min-content, auto);height:100%;padding:.625em;overflow-x:hidden;transition:background-color .1s;-webkit-overflow-scrolling:touch}div:where(.swal2-container).swal2-backdrop-show,div:where(.swal2-container).swal2-noanimation{background:rgba(0,0,0,.4)}div:where(.swal2-container).swal2-backdrop-hide{background:rgba(0,0,0,0) !important}div:where(.swal2-container).swal2-top-start,div:where(.swal2-container).swal2-center-start,div:where(.swal2-container).swal2-bottom-start{grid-template-columns:minmax(0, 1fr) auto auto}div:where(.swal2-container).swal2-top,div:where(.swal2-container).swal2-center,div:where(.swal2-container).swal2-bottom{grid-template-columns:auto minmax(0, 1fr) auto}div:where(.swal2-container).swal2-top-end,div:where(.swal2-container).swal2-center-end,div:where(.swal2-container).swal2-bottom-end{grid-template-columns:auto auto minmax(0, 1fr)}div:where(.swal2-container).swal2-top-start>.swal2-popup{align-self:start}div:where(.swal2-container).swal2-top>.swal2-popup{grid-column:2;place-self:start center}div:where(.swal2-container).swal2-top-end>.swal2-popup,div:where(.swal2-container).swal2-top-right>.swal2-popup{grid-column:3;place-self:start end}div:where(.swal2-container).swal2-center-start>.swal2-popup,div:where(.swal2-container).swal2-center-left>.swal2-popup{grid-row:2;align-self:center}div:where(.swal2-container).swal2-center>.swal2-popup{grid-column:2;grid-row:2;place-self:center center}div:where(.swal2-container).swal2-center-end>.swal2-popup,div:where(.swal2-container).swal2-center-right>.swal2-popup{grid-column:3;grid-row:2;place-self:center end}div:where(.swal2-container).swal2-bottom-start>.swal2-popup,div:where(.swal2-container).swal2-bottom-left>.swal2-popup{grid-column:1;grid-row:3;align-self:end}div:where(.swal2-container).swal2-bottom>.swal2-popup{grid-column:2;grid-row:3;place-self:end center}div:where(.swal2-container).swal2-bottom-end>.swal2-popup,div:where(.swal2-container).swal2-bottom-right>.swal2-popup{grid-column:3;grid-row:3;place-self:end end}div:where(.swal2-container).swal2-grow-row>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-column:1/4;width:100%}div:where(.swal2-container).swal2-grow-column>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-row:1/4;align-self:stretch}div:where(.swal2-container).swal2-no-transition{transition:none !important}div:where(.swal2-container) div:where(.swal2-popup){display:none;position:relative;box-sizing:border-box;grid-template-columns:minmax(0, 100%);width:32em;max-width:100%;padding:0 0 1.25em;border:none;border-radius:5px;background:#fff;color:hsl(0,0%,33%);font-family:inherit;font-size:1rem}div:where(.swal2-container) div:where(.swal2-popup):focus{outline:none}div:where(.swal2-container) div:where(.swal2-popup).swal2-loading{overflow-y:hidden}div:where(.swal2-container) h2:where(.swal2-title){position:relative;max-width:100%;margin:0;padding:.8em 1em 0;color:inherit;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;word-wrap:break-word}div:where(.swal2-container) div:where(.swal2-actions){display:flex;z-index:1;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;width:auto;margin:1.25em auto 0;padding:0}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled[disabled]{opacity:.4}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled:hover{background-image:linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1))}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled:active{background-image:linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2))}div:where(.swal2-container) div:where(.swal2-loader){display:none;align-items:center;justify-content:center;width:2.2em;height:2.2em;margin:0 1.875em;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border-width:.25em;border-style:solid;border-radius:100%;border-color:#2778c4 rgba(0,0,0,0) #2778c4 rgba(0,0,0,0)}div:where(.swal2-container) button:where(.swal2-styled){margin:.3125em;padding:.625em 1.1em;transition:box-shadow .1s;box-shadow:0 0 0 3px rgba(0,0,0,0);font-weight:500}div:where(.swal2-container) button:where(.swal2-styled):not([disabled]){cursor:pointer}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm){border:0;border-radius:.25em;background:initial;background-color:#7066e0;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):focus-visible{box-shadow:0 0 0 3px rgba(112,102,224,.5)}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny){border:0;border-radius:.25em;background:initial;background-color:#dc3741;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):focus-visible{box-shadow:0 0 0 3px rgba(220,55,65,.5)}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel){border:0;border-radius:.25em;background:initial;background-color:#6e7881;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):focus-visible{box-shadow:0 0 0 3px rgba(110,120,129,.5)}div:where(.swal2-container) button:where(.swal2-styled).swal2-default-outline:focus-visible{box-shadow:0 0 0 3px rgba(100,150,200,.5)}div:where(.swal2-container) button:where(.swal2-styled):focus-visible{outline:none}div:where(.swal2-container) button:where(.swal2-styled)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-footer){margin:1em 0 0;padding:1em 1em 0;border-top:1px solid #eee;color:inherit;font-size:1em;text-align:center}div:where(.swal2-container) .swal2-timer-progress-bar-container{position:absolute;right:0;bottom:0;left:0;grid-column:auto !important;overflow:hidden;border-bottom-right-radius:5px;border-bottom-left-radius:5px}div:where(.swal2-container) div:where(.swal2-timer-progress-bar){width:100%;height:.25em;background:rgba(0,0,0,.2)}div:where(.swal2-container) img:where(.swal2-image){max-width:100%;margin:2em auto 1em}div:where(.swal2-container) button:where(.swal2-close){z-index:2;align-items:center;justify-content:center;width:1.2em;height:1.2em;margin-top:0;margin-right:0;margin-bottom:-1.2em;padding:0;overflow:hidden;transition:color .1s,box-shadow .1s;border:none;border-radius:5px;background:rgba(0,0,0,0);color:#ccc;font-family:monospace;font-size:2.5em;cursor:pointer;justify-self:end}div:where(.swal2-container) button:where(.swal2-close):hover{transform:none;background:rgba(0,0,0,0);color:#f27474}div:where(.swal2-container) button:where(.swal2-close):focus-visible{outline:none;box-shadow:inset 0 0 0 3px rgba(100,150,200,.5)}div:where(.swal2-container) button:where(.swal2-close)::-moz-focus-inner{border:0}div:where(.swal2-container) .swal2-html-container{z-index:1;justify-content:center;margin:0;padding:1em 1.6em .3em;overflow:auto;color:inherit;font-size:1.125em;font-weight:normal;line-height:normal;text-align:center;word-wrap:break-word;word-break:break-word}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea),div:where(.swal2-container) select:where(.swal2-select),div:where(.swal2-container) div:where(.swal2-radio),div:where(.swal2-container) label:where(.swal2-checkbox){margin:1em 2em 3px}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea){box-sizing:border-box;width:auto;transition:border-color .1s,box-shadow .1s;border:1px solid hsl(0,0%,85%);border-radius:.1875em;background:rgba(0,0,0,0);box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px rgba(0,0,0,0);color:inherit;font-size:1.125em}div:where(.swal2-container) input:where(.swal2-input).swal2-inputerror,div:where(.swal2-container) input:where(.swal2-file).swal2-inputerror,div:where(.swal2-container) textarea:where(.swal2-textarea).swal2-inputerror{border-color:#f27474 !important;box-shadow:0 0 2px #f27474 !important}div:where(.swal2-container) input:where(.swal2-input):focus,div:where(.swal2-container) input:where(.swal2-file):focus,div:where(.swal2-container) textarea:where(.swal2-textarea):focus{border:1px solid #b4dbed;outline:none;box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px rgba(100,150,200,.5)}div:where(.swal2-container) input:where(.swal2-input)::placeholder,div:where(.swal2-container) input:where(.swal2-file)::placeholder,div:where(.swal2-container) textarea:where(.swal2-textarea)::placeholder{color:#ccc}div:where(.swal2-container) .swal2-range{margin:1em 2em 3px;background:#fff}div:where(.swal2-container) .swal2-range input{width:80%}div:where(.swal2-container) .swal2-range output{width:20%;color:inherit;font-weight:600;text-align:center}div:where(.swal2-container) .swal2-range input,div:where(.swal2-container) .swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}div:where(.swal2-container) .swal2-input{height:2.625em;padding:0 .75em}div:where(.swal2-container) .swal2-file{width:75%;margin-right:auto;margin-left:auto;background:rgba(0,0,0,0);font-size:1.125em}div:where(.swal2-container) .swal2-textarea{height:6.75em;padding:.75em}div:where(.swal2-container) .swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;background:rgba(0,0,0,0);color:inherit;font-size:1.125em}div:where(.swal2-container) .swal2-radio,div:where(.swal2-container) .swal2-checkbox{align-items:center;justify-content:center;background:#fff;color:inherit}div:where(.swal2-container) .swal2-radio label,div:where(.swal2-container) .swal2-checkbox label{margin:0 .6em;font-size:1.125em}div:where(.swal2-container) .swal2-radio input,div:where(.swal2-container) .swal2-checkbox input{flex-shrink:0;margin:0 .4em}div:where(.swal2-container) label:where(.swal2-input-label){display:flex;justify-content:center;margin:1em auto 0}div:where(.swal2-container) div:where(.swal2-validation-message){align-items:center;justify-content:center;margin:1em 0 0;padding:.625em;overflow:hidden;background:hsl(0,0%,94%);color:#666;font-size:1em;font-weight:300}div:where(.swal2-container) div:where(.swal2-validation-message)::before{content:"!";display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center}div:where(.swal2-container) .swal2-progress-steps{flex-wrap:wrap;align-items:center;max-width:100%;margin:1.25em auto;padding:0;background:rgba(0,0,0,0);font-weight:600}div:where(.swal2-container) .swal2-progress-steps li{display:inline-block;position:relative}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step{z-index:20;flex-shrink:0;width:2em;height:2em;border-radius:2em;background:#2778c4;color:#fff;line-height:2em;text-align:center}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#2778c4}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:#add8e6;color:#fff}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:#add8e6}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step-line{z-index:10;flex-shrink:0;width:2.5em;height:.4em;margin:0 -1px;background:#2778c4}div:where(.swal2-icon){position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:2.5em auto .6em;border:0.25em solid rgba(0,0,0,0);border-radius:50%;border-color:#000;font-family:inherit;line-height:5em;cursor:default;user-select:none}div:where(.swal2-icon) .swal2-icon-content{display:flex;align-items:center;font-size:3.75em}div:where(.swal2-icon).swal2-error{border-color:#f27474;color:#f27474}div:where(.swal2-icon).swal2-error .swal2-x-mark{position:relative;flex-grow:1}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-error.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-error.swal2-icon-show .swal2-x-mark{animation:swal2-animate-error-x-mark .5s}div:where(.swal2-icon).swal2-warning{border-color:rgb(249.95234375,205.965625,167.74765625);color:#f8bb86}div:where(.swal2-icon).swal2-warning.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-warning.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .5s}div:where(.swal2-icon).swal2-info{border-color:rgb(156.7033492823,224.2822966507,246.2966507177);color:#3fc3ee}div:where(.swal2-icon).swal2-info.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-info.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .8s}div:where(.swal2-icon).swal2-question{border-color:rgb(200.8064516129,217.9677419355,225.1935483871);color:#87adbd}div:where(.swal2-icon).swal2-question.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-question.swal2-icon-show .swal2-icon-content{animation:swal2-animate-question-mark .8s}div:where(.swal2-icon).swal2-success{border-color:#a5dc86;color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;border-radius:50%}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}div:where(.swal2-icon).swal2-success .swal2-success-ring{position:absolute;z-index:2;top:-0.25em;left:-0.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}div:where(.swal2-icon).swal2-success .swal2-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-animate-success-line-tip .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-animate-success-line-long .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-circular-line-right{animation:swal2-rotate-success-circular-line 4.25s ease-in}[class^=swal2]{-webkit-tap-highlight-color:rgba(0,0,0,0)}.swal2-show{animation:swal2-show .3s}.swal2-hide{animation:swal2-hide .15s forwards}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.swal2-rtl .swal2-close{margin-right:initial;margin-left:0}.swal2-rtl .swal2-timer-progress-bar{right:0;left:auto}@keyframes swal2-toast-show{0%{transform:translateY(-0.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(0.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0deg)}}@keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-0.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}@keyframes swal2-show{0%{transform:scale(0.7)}45%{transform:scale(1.05)}80%{transform:scale(0.95)}100%{transform:scale(1)}}@keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(0.5);opacity:0}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-0.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(0.4);opacity:0}50%{margin-top:1.625em;transform:scale(0.4);opacity:0}80%{margin-top:-0.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0deg);opacity:1}}@keyframes swal2-rotate-loading{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes swal2-animate-question-mark{0%{transform:rotateY(-360deg)}100%{transform:rotateY(0)}}@keyframes swal2-animate-i-mark{0%{transform:rotateZ(45deg);opacity:0}25%{transform:rotateZ(-25deg);opacity:.4}50%{transform:rotateZ(15deg);opacity:.8}75%{transform:rotateZ(-5deg);opacity:1}100%{transform:rotateX(0);opacity:1}}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto !important}body.swal2-no-backdrop .swal2-container{background-color:rgba(0,0,0,0) !important;pointer-events:none}body.swal2-no-backdrop .swal2-container .swal2-popup{pointer-events:all}body.swal2-no-backdrop .swal2-container .swal2-modal{box-shadow:0 0 10px rgba(0,0,0,.4)}@media print{body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow-y:scroll !important}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown) .swal2-container{position:static !important}}body.swal2-toast-shown .swal2-container{box-sizing:border-box;width:360px;max-width:100%;background-color:rgba(0,0,0,0);pointer-events:none}body.swal2-toast-shown .swal2-container.swal2-top{inset:0 auto auto 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{inset:0 0 auto auto}body.swal2-toast-shown .swal2-container.swal2-top-start,body.swal2-toast-shown .swal2-container.swal2-top-left{inset:0 auto auto 0}body.swal2-toast-shown .swal2-container.swal2-center-start,body.swal2-toast-shown .swal2-container.swal2-center-left{inset:50% auto auto 0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{inset:50% auto auto 50%;transform:translate(-50%, -50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{inset:50% 0 auto auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-start,body.swal2-toast-shown .swal2-container.swal2-bottom-left{inset:auto auto 0 0}body.swal2-toast-shown .swal2-container.swal2-bottom{inset:auto auto 0 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{inset:auto 0 0 auto}
/* ========================================
   SISTEMA UNIVERSAL DE ABAS
   ======================================== */

/* Container principal das abas */
.tabs-container {
  background: #ffffff;
  border-bottom: 1px solid #dee2e6;
}

/* Wrapper das abas com scroll horizontal */
.tabs-wrapper {
  display: flex;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  background: #ffffff;
}

.tabs-wrapper::-webkit-scrollbar {
  display: none;
}

/* Estilo base das abas */
.tab {
  background: #ffffff;
  border: none;
  color: #6c757d;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
  position: relative;
  outline: none;
  text-decoration: none;
}

.tab:hover {
  background: #f8f9fa;
  color: #495057;
  text-decoration: none;
}

.tab.active {
  background: #ffffff;
  color: #495057;
  font-weight: 500;
}

/* Linha indicadora da aba ativa */
.tab.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: #17a2b8;
}

/* Ícones das abas */
.tab i {
  font-size: 0.85rem;
  flex-shrink: 0;
}

/* Texto das abas */
.tab-text {
  flex-shrink: 0;
}

/* Conteúdo das abas */
.tabs-content {
  background: #ffffff;
  padding: 20px;
  min-height: 400px;
}

.tabs-content .tab-pane {
  padding: 0;
}

.tabs-content .tab-pane h4,
.tabs-content .tab-pane h5 {
  color: #495057;
  font-weight: bold;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.tabs-content .tab-pane h4 i,
.tabs-content .tab-pane h5 i {
  color: #495057;
  font-size: 0.9em;
}

/* ========================================
   VARIAÇÕES DE ESTILO
   ======================================== */

/* Estilo para abas de pessoas */
.tabs-container.person-style .tab {
  background: #ffffff;
  color: #6c757d;
}

.tabs-container.person-style .tab.active::after {
  background: #010127;
}

/* Estilo para abas de serviços */
.tabs-container.service-style .tab {
  background: #ffffff;
  color: #6c757d;
}

.tabs-container.service-style .tab.active::after {
  background: #28a745;
}

/* Estilo para abas de equipamentos */
.tabs-container.equipment-style .tab {
  background: #ffffff;
  color: #6c757d;
}

.tabs-container.equipment-style .tab.active::after {
  background: #ffc107;
}

/* Estilo para abas financeiras */
.tabs-container.financial-style .tab {
  background: #ffffff;
  color: #6c757d;
}

.tabs-container.financial-style .tab.active::after {
  background: #dc3545;
}

/* ========================================
   RESPONSIVIDADE
   ======================================== */

@media (max-width: 768px) {
  .tab {
    padding: 10px 12px;
    font-size: 0.8rem;
  }
  
  .tab i {
    font-size: 0.8rem;
  }
  
  .tabs-content {
    padding: 15px;
  }
}

@media (max-width: 576px) {
  .tab {
    padding: 8px 10px;
    font-size: 0.75rem;
  }
  
  .tab i {
    font-size: 0.75rem;
  }
  
  .tabs-content {
    padding: 10px;
  }
}

/* ========================================
   ESTADOS ESPECIAIS
   ======================================== */

/* Aba desabilitada */
.tab:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.tab:disabled:hover {
  background: #ffffff;
  color: #6c757d;
}

/* Aba com badge/contador */
.tab .badge {
  margin-left: 4px;
  font-size: 0.7rem;
  padding: 2px 6px;
}

/* Foco para acessibilidade */
.tab:focus {
  outline: 2px solid #17a2b8;
  outline-offset: 2px;
}

/* ========================================
   ANIMAÇÕES
   ======================================== */

/* Transição suave entre abas */
.tab-pane {
  transition: opacity 0.3s ease;
}

.tab-pane.fade {
  opacity: 0;
  display: none;
}

.tab-pane.fade.show {
  opacity: 1;
  display: block;
}

/* Garantir que as tabs funcionem corretamente - sobrescrever Bootstrap */
.tab-content > .tab-pane:not(.show):not(.active) {
  display: none !important;
}

.tab-content > .tab-pane.show,
.tab-content > .tab-pane.active {
  display: block !important;
  opacity: 1 !important;
}

/* Sobrescrever regras específicas do Bootstrap */
.tab-content > .tab-pane {
  display: none;
}

.tab-content > .tab-pane.show,
.tab-content > .tab-pane.active {
  display: block !important;
}

/* Hover suave */
.tab {
  transition: all 0.2s ease;
}

/* ========================================
   UTILITÁRIOS
   ======================================== */

/* Centralizar abas */
.tabs-wrapper.center {
  justify-content: center;
}

/* Abas com largura igual */
.tabs-wrapper.equal-width .tab {
  flex: 1;
  text-align: center;
  justify-content: center;
}

/* Abas com scroll */
.tabs-wrapper.scrollable {
  overflow-x: auto;
  overflow-y: hidden;
}

/* Indicador de loading */
.tab.loading {
  position: relative;
}

.tab.loading::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin: -8px 0 0 -8px;
  border: 2px solid #f3f3f3;
  border-top: 2px solid #17a2b8;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* line 6, app/assets/stylesheets/tooltips_custom.scss */
.tooltip {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  font-size: 0.85rem;
  line-height: 1.4;
}

/* line 11, app/assets/stylesheets/tooltips_custom.scss */
.tooltip .tooltip-inner {
  background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
  color: #fff;
  border-radius: 8px;
  padding: 10px 15px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  max-width: 300px;
  text-align: center;
  font-weight: 400;
  border: none;
}

/* line 23, app/assets/stylesheets/tooltips_custom.scss */
.tooltip .arrow::before {
  border-top-color: #2c3e50;
}

/* line 27, app/assets/stylesheets/tooltips_custom.scss */
.tooltip.bs-tooltip-top .arrow::before {
  border-top-color: #2c3e50;
}

/* line 31, app/assets/stylesheets/tooltips_custom.scss */
.tooltip.bs-tooltip-bottom .arrow::before {
  border-bottom-color: #2c3e50;
}

/* line 35, app/assets/stylesheets/tooltips_custom.scss */
.tooltip.bs-tooltip-left .arrow::before {
  border-left-color: #2c3e50;
}

/* line 39, app/assets/stylesheets/tooltips_custom.scss */
.tooltip.bs-tooltip-right .arrow::before {
  border-right-color: #2c3e50;
}

/* line 45, app/assets/stylesheets/tooltips_custom.scss */
[data-toggle="tooltip"] {
  cursor: help;
  transition: all 0.3s ease;
}

/* line 49, app/assets/stylesheets/tooltips_custom.scss */
[data-toggle="tooltip"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15) !important;
}

/* line 58, app/assets/stylesheets/tooltips_custom.scss */
.small-box[data-toggle="tooltip"]:hover .inner {
  transform: scale(1.02);
  transition: transform 0.3s ease;
}

/* line 68, app/assets/stylesheets/tooltips_custom.scss */
.info-box[data-toggle="tooltip"]:hover .info-box-content {
  transform: scale(1.02);
  transition: transform 0.3s ease;
}

/* line 76, app/assets/stylesheets/tooltips_custom.scss */
.tooltip.fade {
  transition: opacity 0.3s ease-in-out;
}

/* line 80, app/assets/stylesheets/tooltips_custom.scss */
.tooltip.show {
  opacity: 1;
}

@media (max-width: 768px) {
  /* line 87, app/assets/stylesheets/tooltips_custom.scss */
  .tooltip .tooltip-inner {
    font-size: 0.8rem;
    padding: 8px 12px;
    max-width: 250px;
  }
  /* line 95, app/assets/stylesheets/tooltips_custom.scss */
  [data-toggle="tooltip"]:hover {
    transform: none;
  }
}

/* line 105, app/assets/stylesheets/tooltips_custom.scss */
.info-popover {
  max-width: 420px;
  min-width: 320px;
  border: 2px solid #007bff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  border-radius: 10px;
}

/* line 112, app/assets/stylesheets/tooltips_custom.scss */
.info-popover .popover-body {
  padding: 0;
  font-size: 0.9rem;
  background: #ffffff;
  border-radius: 8px;
}

/* line 119, app/assets/stylesheets/tooltips_custom.scss */
.info-popover .arrow::before {
  border-bottom-color: #007bff !important;
}

/* line 123, app/assets/stylesheets/tooltips_custom.scss */
.info-popover .popover-info-header {
  display: flex;
  align-items: center;
  padding: 15px;
  background: linear-gradient(135deg, #007bff 0%, #0056b3 100%);
  color: white;
  border-radius: 8px 8px 0 0;
  margin: 0;
  border: none;
}

/* line 133, app/assets/stylesheets/tooltips_custom.scss */
.info-popover .popover-info-header i {
  font-size: 1.5rem;
  margin-right: 12px;
  opacity: 0.9;
}

/* line 139, app/assets/stylesheets/tooltips_custom.scss */
.info-popover .popover-info-header strong {
  font-size: 1.05rem;
  color: white;
  font-weight: 600;
  line-height: 1.3;
}

/* line 147, app/assets/stylesheets/tooltips_custom.scss */
.info-popover .popover-info-body {
  padding: 15px;
}

/* line 151, app/assets/stylesheets/tooltips_custom.scss */
.info-popover .popover-info-body .info-section {
  margin-bottom: 10px;
}

/* line 154, app/assets/stylesheets/tooltips_custom.scss */
.info-popover .popover-info-body .info-section:last-child {
  margin-bottom: 0;
}

/* line 158, app/assets/stylesheets/tooltips_custom.scss */
.info-popover .popover-info-body .info-section .info-label {
  font-weight: 700;
  color: #6c757d;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 3px;
}

/* line 167, app/assets/stylesheets/tooltips_custom.scss */
.info-popover .popover-info-body .info-section .info-value {
  color: #212529;
  font-weight: 500;
  font-size: 0.9rem;
  line-height: 1.4;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* line 177, app/assets/stylesheets/tooltips_custom.scss */
.info-popover .popover-info-body .service-order-popover-group {
  padding: 10px 12px;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  background: #f8fbff;
  margin-bottom: 10px;
}

/* line 184, app/assets/stylesheets/tooltips_custom.scss */
.info-popover .popover-info-body .service-order-popover-group:last-child {
  margin-bottom: 0;
}

/* line 189, app/assets/stylesheets/tooltips_custom.scss */
.info-popover .popover-info-body .service-order-popover-equipment {
  font-weight: 700;
}

/* line 193, app/assets/stylesheets/tooltips_custom.scss */
.info-popover .popover-info-body .service-order-popover-services {
  margin: 0;
  padding-left: 18px;
  color: #212529;
}

/* line 198, app/assets/stylesheets/tooltips_custom.scss */
.info-popover .popover-info-body .service-order-popover-services li {
  margin-bottom: 4px;
  line-height: 1.4;
}

/* line 202, app/assets/stylesheets/tooltips_custom.scss */
.info-popover .popover-info-body .service-order-popover-services li:last-child {
  margin-bottom: 0;
}

/* line 209, app/assets/stylesheets/tooltips_custom.scss */
.info-popover .popover-info-body .contacts-section-title {
  font-weight: 700;
  color: #6c757d;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-top: 15px;
  margin-bottom: 10px;
  padding-top: 15px;
  border-top: 2px solid #e9ecef;
}

/* line 222, app/assets/stylesheets/tooltips_custom.scss */
.info-popover .popover-info-body .contact-card {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  padding: 10px 12px;
  border-radius: 8px;
  margin-bottom: 8px;
  border-left: 4px solid #007bff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

/* line 230, app/assets/stylesheets/tooltips_custom.scss */
.info-popover .popover-info-body .contact-card:last-child {
  margin-bottom: 0;
}

/* line 234, app/assets/stylesheets/tooltips_custom.scss */
.info-popover .popover-info-body .contact-card .contact-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

/* line 240, app/assets/stylesheets/tooltips_custom.scss */
.info-popover .popover-info-body .contact-card .contact-header strong {
  color: #2c3e50;
  font-size: 0.9rem;
  flex: 1;
  margin-right: 8px;
}

/* line 247, app/assets/stylesheets/tooltips_custom.scss */
.info-popover .popover-info-body .contact-card .contact-header .badge {
  font-size: 0.65rem;
  padding: 3px 8px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  white-space: nowrap;
}

/* line 255, app/assets/stylesheets/tooltips_custom.scss */
.info-popover .popover-info-body .contact-card .contact-header .badge.badge-primary {
  background: #007bff;
}

/* line 262, app/assets/stylesheets/tooltips_custom.scss */
.info-popover .popover-info-body .contact-card .contact-info div {
  color: #495057;
  font-size: 0.85rem;
  line-height: 1.6;
  margin-top: 2px;
}

/* line 268, app/assets/stylesheets/tooltips_custom.scss */
.info-popover .popover-info-body .contact-card .contact-info div i {
  margin-right: 6px;
  width: 16px;
  text-align: center;
  color: #007bff;
}

/* line 287, app/assets/stylesheets/tooltips_custom.scss */
.popover.bs-popover-bottom .arrow::before, .popover.bs-popover-top .arrow::before, .popover.bs-popover-left .arrow::before, .popover.bs-popover-right .arrow::before {
  border-width: 0.6rem;
}

@media (max-width: 768px) {
  /* line 295, app/assets/stylesheets/tooltips_custom.scss */
  .info-popover {
    max-width: 90vw;
    min-width: 280px;
  }
  /* line 299, app/assets/stylesheets/tooltips_custom.scss */
  .info-popover .popover-info-header {
    padding: 12px;
  }
  /* line 302, app/assets/stylesheets/tooltips_custom.scss */
  .info-popover .popover-info-header i {
    font-size: 1.3rem;
    margin-right: 10px;
  }
  /* line 307, app/assets/stylesheets/tooltips_custom.scss */
  .info-popover .popover-info-header strong {
    font-size: 0.95rem;
  }
  /* line 312, app/assets/stylesheets/tooltips_custom.scss */
  .info-popover .popover-info-body {
    padding: 12px;
  }
  /* line 315, app/assets/stylesheets/tooltips_custom.scss */
  .info-popover .popover-info-body .info-section {
    margin-bottom: 8px;
  }
  /* line 318, app/assets/stylesheets/tooltips_custom.scss */
  .info-popover .popover-info-body .info-section .info-label {
    font-size: 0.65rem;
  }
  /* line 322, app/assets/stylesheets/tooltips_custom.scss */
  .info-popover .popover-info-body .info-section .info-value {
    font-size: 0.85rem;
  }
  /* line 327, app/assets/stylesheets/tooltips_custom.scss */
  .info-popover .popover-info-body .contacts-section-title {
    font-size: 0.65rem;
    margin-top: 12px;
    margin-bottom: 8px;
    padding-top: 12px;
  }
  /* line 334, app/assets/stylesheets/tooltips_custom.scss */
  .info-popover .popover-info-body .contact-card {
    padding: 8px 10px;
  }
  /* line 338, app/assets/stylesheets/tooltips_custom.scss */
  .info-popover .popover-info-body .contact-card .contact-header strong {
    font-size: 0.85rem;
  }
  /* line 342, app/assets/stylesheets/tooltips_custom.scss */
  .info-popover .popover-info-body .contact-card .contact-header .badge {
    font-size: 0.6rem;
    padding: 2px 6px;
  }
  /* line 348, app/assets/stylesheets/tooltips_custom.scss */
  .info-popover .popover-info-body .contact-card .contact-info div {
    font-size: 0.8rem;
  }
}
/* Estilos específicos para o sistema de trial */
/* Inclui estilos da página trial/new (hero, steps, cards, botões) */

/* Hero Section - contraste acessível (text-shadow no texto claro) */
.hero-section {
  background: linear-gradient(135deg, #007bff 0%, #0056b3 100%);
  position: relative;
  overflow: hidden;
}

.hero-section .display-4,
.hero-section .lead,
.hero-section .feature-item small {
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.hero-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="white" opacity="0.1"/><circle cx="75" cy="75" r="1" fill="white" opacity="0.1"/><circle cx="50" cy="10" r="0.5" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(/%23grain)"/></svg>');
  opacity: 0.3;
  pointer-events: none;
}

.hero-features .feature-item {
  opacity: 0.9;
}

.hero-icon {
  animation: trial-float 3s ease-in-out infinite;
}

@keyframes trial-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

/* Main Content */
.main-content {
  background: #f8f9fa;
  min-height: 100vh;
}

/* Progress Steps (página trial) */
.trial-form ~ * .step-indicator,
.card.border-primary .step-indicator {
  position: relative;
  text-align: center;
}

.card.border-primary .step-circle {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e9ecef;
  color: #6c757d;
  margin: 0 auto 10px;
  transition: all 0.3s ease;
  font-size: 20px;
  border: 3px solid #e9ecef;
}

.card.border-primary .step-indicator.active .step-circle {
  background: #007bff;
  color: white;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.2);
}

.card.border-primary .step-indicator.completed .step-circle {
  background: #28a745;
  color: white;
  border-color: #28a745;
}

.card.border-primary .step-label {
  font-weight: 600;
  color: #495057;
  font-size: 14px;
}

.card.border-primary .step-indicator.active .step-label {
  color: #007bff;
}

.card.border-primary .step-line {
  position: absolute;
  top: 30px;
  left: 50%;
  width: 100%;
  height: 2px;
  background: #e9ecef;
  z-index: -1;
}

.card.border-primary .step-indicator:last-child .step-line {
  display: none;
}

/* Cards da página trial */
.main-content .card {
  border: none;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  border-radius: 0.5rem;
}

.main-content .card .card-header {
  background: #f8f9fa;
  border-bottom: 1px solid #dee2e6;
  padding: 1rem 1.5rem;
}

.main-content .card .card-title {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
}

.main-content .card .card-body {
  padding: 1.5rem;
}

.main-content .card .card-footer {
  border-top: 1px solid #dee2e6;
  padding: 1rem 1.5rem;
}

/* Form Controls (trial page) */
.main-content .trial-form .form-control {
  border-radius: 0.25rem;
  border: 1px solid #ced4da;
  padding: 0.5rem 0.75rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.main-content .trial-form .form-control:focus {
  border-color: #007bff;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.main-content .trial-form .form-control.is-invalid {
  border-color: #dc3545;
}

.main-content .trial-form .form-control.is-invalid:focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

/* Buttons (trial page) */
.main-content .trial-form .btn {
  border-radius: 0.25rem;
  font-weight: 500;
  padding: 0.5rem 1rem;
  transition: all 0.15s ease-in-out;
}

/* Feature Cards (trial page) */
.main-content .feature-card {
  transition: transform 0.2s ease-in-out;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.main-content .feature-card:hover {
  transform: translateY(-5px);
}

.main-content .feature-card h5 {
  margin-bottom: 1rem;
  font-size: 1.1rem;
  font-weight: 600;
}

.main-content .feature-card p {
  font-size: 0.9rem;
  line-height: 1.4;
}

/* CEP: campo com espaço para 00000-000 e botão lupa alinhado à altura do input */
.input-group-cep .trial-cep-input {
  min-width: 7.5rem;
  flex: 1;
}
.input-group-cep .input-group-append .btn-cep-search {
  padding: 0.375rem 0.65rem;
  line-height: 1.5;
  border-left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.input-group-cep .btn-cep-search i {
  margin: 0;
  font-size: 1rem;
}

/* Password strength bar */
.password-strength .progress-bar {
  transition: width 0.2s ease;
}

.password-strength .progress-bar.bg-danger { background-color: #dc3545; }
.password-strength .progress-bar.bg-warning { background-color: #ffc107; }
.password-strength .progress-bar.bg-info { background-color: #17a2b8; }
.password-strength .progress-bar.bg-success { background-color: #28a745; }

/* Responsive trial page */
@media (max-width: 768px) {
  .hero-section {
    padding: 3rem 0;
  }
  .hero-section .display-4 {
    font-size: 2rem;
  }
  .card.border-primary .step-circle {
    width: 50px;
    height: 50px;
    font-size: 16px;
  }
  .main-content .card .card-body {
    padding: 1rem;
  }
  .main-content .feature-card {
    margin-bottom: 1rem;
  }
}

/* Layout Principal */
.trial-container {
  min-height: 100vh;
  padding: 2rem 0;
}

/* Cabeçalho */
.trial-header {
  margin-bottom: 2rem;
}

.trial-logo {
  width: 80px;
  height: 80px;
  background: #667eea;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  font-size: 2rem;
  color: white;
  box-shadow: 0 4px 8px rgba(102, 126, 234, 0.2);
  transition: transform 0.3s ease;
}

.trial-logo:hover {
  transform: scale(1.1);
}

.trial-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: #2c3e50;
  margin-bottom: 1rem;
}

.trial-subtitle {
  font-size: 1.1rem;
  color: #6c757d;
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.6;
}

/* Card Principal */
.trial-card {
  border: none;
  border-radius: 20px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.1);
  overflow: hidden;
  background: white;
}

.trial-card-header {
  background: #667eea;
  border: none;
  padding: 2rem;
}

.trial-card-body {
  padding: 2.5rem;
}

/* Progress Steps */
.progress-steps {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}

.progress-steps::before {
  content: '';
  position: absolute;
  top: 25px;
  left: 10%;
  right: 10%;
  height: 2px;
  background: rgba(255,255,255,0.3);
  z-index: 1;
}

.step {
  text-align: center;
  position: relative;
  z-index: 2;
}

.step-number {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: rgba(255,255,255,0.3);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 1.1rem;
  margin: 0 auto 0.5rem;
  transition: all 0.3s ease;
}

.step.active .step-number {
  background: white;
  color: #667eea;
  box-shadow: 0 0 0 4px rgba(255,255,255,0.3);
  transform: scale(1.1);
}

.step.completed .step-number {
  background: #28a745;
  color: white;
}

.step.completed .step-number::before {
  content: '\f00c';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
}

.step-label {
  color: rgba(255,255,255,0.8);
  font-size: 0.9rem;
  font-weight: 500;
}

.step.active .step-label {
  color: white;
  font-weight: 600;
}

/* Form Steps */
.trial-step {
  display: none;
  animation: fadeInUp 0.5s ease-out;
}

.trial-step.active {
  display: block;
}

.step-content {
  max-width: 100%;
}

.step-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #2c3e50;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
}

.step-description {
  color: #6c757d;
  margin-bottom: 2rem;
  font-size: 1rem;
  line-height: 1.5;
}

/* Form Styling */
.form-label {
  font-weight: 600;
  color: #495057;
  margin-bottom: 0.5rem;
  font-size: 0.9rem;
}

.form-label.required::after {
  content: ' *';
  color: #dc3545;
  font-weight: normal;
}

/* Estilos específicos para formulários de trial - não afetam o sistema global */
.trial-card .form-control {
  border: 2px solid #e9ecef;
  border-radius: 10px;
  padding: 0.75rem 1rem;
  font-size: 0.95rem;
  transition: all 0.3s ease;
  background-color: #fff;
}

.trial-card .form-control:focus {
  border-color: #667eea;
  box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.25);
  background-color: #fff;
}

.trial-card .form-control:hover {
  border-color: #c3d0f0;
}

.trial-card .form-control.is-invalid {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.invalid-feedback {
  display: block;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: #dc3545;
}

/* Info Cards na Confirmação */
.info-card {
  background: #f8f9fa;
  border-radius: 15px;
  padding: 1.5rem;
  margin-bottom: 1rem;
  border-left: 4px solid #667eea;
  transition: transform 0.3s ease;
}

.info-card:hover {
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.info-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #2c3e50;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
}

.info-item {
  padding: 0.5rem 0;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  font-size: 0.9rem;
}

.info-item:last-child {
  border-bottom: none;
}

.info-item strong {
  color: #495057;
  min-width: 80px;
  display: inline-block;
}

/* Trial Benefits */
.trial-benefits {
  background: #f8f9fa;
  border-radius: 15px;
  padding: 2rem;
  border-left: 4px solid #28a745;
}

.benefits-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.benefits-list li {
  padding: 0.5rem 0;
  font-size: 0.95rem;
  color: #495057;
  display: flex;
  align-items: center;
}

.benefits-list li i {
  margin-right: 0.5rem;
  width: 16px;
}

/* Terms Agreement */
.terms-agreement {
  background: #fff3cd;
  padding: 1.5rem;
  border-radius: 10px;
  border-left: 4px solid #ffc107;
  margin-top: 1.5rem;
}

.terms-agreement .form-check-label {
  font-size: 0.9rem;
  line-height: 1.5;
}

.terms-agreement a {
  color: #667eea;
  text-decoration: none;
  font-weight: 600;
}

.terms-agreement a:hover {
  text-decoration: underline;
}

/* Navigation Buttons */
.trial-navigation {
  padding-top: 2rem;
  border-top: 1px solid #e9ecef;
}

.btn {
  padding: 0.75rem 2rem;
  border-radius: 10px;
  font-weight: 600;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.btn-primary {
  background: #667eea;
  border: none;
  color: white;
}

.btn-primary:hover {
  background: #5a6fd8;
  color: white;
}

.btn-success {
  background: #28a745;
  border: none;
  color: white;
}

.btn-success:hover {
  background: #218838;
  color: white;
}

.btn-outline-secondary {
  border: 2px solid #6c757d;
  color: #6c757d;
  background: transparent;
}

.btn-outline-secondary:hover {
  background: #6c757d;
  color: white;
}

/* Loading States */
.loading {
  opacity: 0.7;
  pointer-events: none;
}

.spinner-border-sm {
  width: 1rem;
  height: 1rem;
}

/* Animations */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(102, 126, 234, 0.7);
  }
  70% {
    box-shadow: 0 0 0 4px rgba(102, 126, 234, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(102, 126, 234, 0);
  }
}

.pulse {
  animation: pulse 2s infinite;
}

/* Form Check Styling */
.form-check-input {
  border: 2px solid #dee2e6;
  border-radius: 4px;
}

.form-check-input:checked {
  background-color: #667eea;
  border-color: #667eea;
}

.form-check-input:focus {
  border-color: #667eea;
  box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.25);
}

.form-check-label {
  font-size: 0.9rem;
  color: #495057;
  line-height: 1.5;
}

/* Responsive Design */
@media (max-width: 768px) {
  .trial-title {
    font-size: 2rem;
  }
  
  .trial-card-body {
    padding: 1.5rem;
  }
  
  .trial-card-header {
    padding: 1.5rem;
  }
  
  .step-number {
    width: 40px;
    height: 40px;
    font-size: 1rem;
  }
  
  .step-label {
    font-size: 0.8rem;
  }
  
  .btn {
    padding: 0.6rem 1.5rem;
    font-size: 0.9rem;
  }
  
  .step-title {
    font-size: 1.3rem;
  }
  
  .info-card {
    padding: 1rem;
  }
  
  .trial-benefits {
    padding: 1.5rem;
  }
}

@media (max-width: 576px) {
  .trial-container {
    padding: 1rem 0;
  }
  
  .trial-logo {
    width: 60px;
    height: 60px;
    font-size: 1.5rem;
  }
  
  .trial-title {
    font-size: 1.8rem;
  }
  
  .trial-subtitle {
    font-size: 1rem;
  }
  
  .trial-card-body, .trial-card-header {
    padding: 1rem;
  }
  
  .progress-steps::before {
    left: 15%;
    right: 15%;
  }
}

/* Dark mode support (opcional) */
@media (prefers-color-scheme: dark) {
  .trial-card {
    background: #2c3e50;
    color: #ecf0f1;
  }
  
  .step-title, .info-title {
    color: #ecf0f1;
  }
  
  .step-description {
    color: #bdc3c7;
  }
  
  .trial-card .form-control {
    background-color: #34495e;
    border-color: #4a5f7a;
    color: #ecf0f1;
  }
  
  .trial-card .form-control:focus {
    background-color: #34495e;
    border-color: #667eea;
  }
  
  .info-card {
    background: #34495e;
  }
}
@charset "UTF-8";
/* User Menu Styles */
/* Avatar Placeholder */
/* line 4, app/assets/stylesheets/user_menu.scss */
.avatar-placeholder {
  width: 2.1rem;
  height: 2.1rem;
  background: linear-gradient(135deg, #007bff, #0056b3);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 0.9rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* line 17, app/assets/stylesheets/user_menu.scss */
.avatar-placeholder-large {
  width: 2.5rem;
  height: 2.5rem;
  background: linear-gradient(135deg, #007bff, #0056b3);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* User Menu Button */
/* line 31, app/assets/stylesheets/user_menu.scss */
.user-menu .nav-link {
  padding: 0.5rem 1rem !important;
  border-radius: 0.375rem;
  transition: all 0.2s ease-in-out;
  border: 1px solid transparent;
  display: flex !important;
  align-items: center !important;
}

/* line 39, app/assets/stylesheets/user_menu.scss */
.user-menu .nav-link:hover {
  background-color: rgba(0, 123, 255, 0.1);
  border-color: rgba(0, 123, 255, 0.2);
}

/* line 45, app/assets/stylesheets/user_menu.scss */
.user-menu .dropdown-toggle::after {
  display: none;
}

/* User Panel Container */
/* line 50, app/assets/stylesheets/user_menu.scss */
.user-panel {
  align-items: center !important;
  min-height: 40px;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Avatar Image Container */
/* line 58, app/assets/stylesheets/user_menu.scss */
.user-panel .image {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  margin: 0 !important;
}

/* User Info in Navbar */
/* line 68, app/assets/stylesheets/user_menu.scss */
.user-panel .info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.2;
}

/* line 75, app/assets/stylesheets/user_menu.scss */
.user-name {
  font-weight: 500;
  font-size: 0.9rem;
  color: #495057;
  margin: 0;
  display: flex;
  align-items: center;
  line-height: 1.3;
}

/* line 85, app/assets/stylesheets/user_menu.scss */
.user-company {
  font-size: 0.75rem;
  color: #6c757d !important;
  line-height: 1.2;
  margin: 0;
  margin-top: 2px;
}

/* Dropdown Menu */
/* line 94, app/assets/stylesheets/user_menu.scss */
.user-dropdown {
  min-width: 280px;
  max-width: 320px;
  border: none;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  border-radius: 0.5rem;
  overflow: hidden;
  margin-top: 0.5rem;
}

/* line 104, app/assets/stylesheets/user_menu.scss */
.user-dropdown .dropdown-header.user-dropdown-header {
  background: linear-gradient(135deg, #f8f9fa, #e9ecef);
  padding: 0.875rem 1rem;
  border-bottom: 1px solid #dee2e6;
}

/* Dropdown Header Layout */
/* line 111, app/assets/stylesheets/user_menu.scss */
.user-dropdown .dropdown-header.user-dropdown-header .d-flex {
  align-items: flex-start !important;
}

/* line 115, app/assets/stylesheets/user_menu.scss */
.user-dropdown .dropdown-header.user-dropdown-header .position-relative {
  flex-shrink: 0;
}

/* line 119, app/assets/stylesheets/user_menu.scss */
.user-dropdown .dropdown-header.user-dropdown-header > div > div:last-child {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-width: 0;
  /* Permite truncamento */
}

/* line 127, app/assets/stylesheets/user_menu.scss */
.user-dropdown .dropdown-header.user-dropdown-header strong {
  font-size: 0.95rem;
  line-height: 1.3;
}

/* line 132, app/assets/stylesheets/user_menu.scss */
.user-dropdown .dropdown-header.user-dropdown-header small {
  font-size: 0.8rem;
  line-height: 1.4;
}

/* line 137, app/assets/stylesheets/user_menu.scss */
.user-dropdown .dropdown-header.user-dropdown-header .badge-sm {
  font-size: 0.65rem;
  padding: 0.15rem 0.4rem;
  font-weight: 600;
}

/* line 143, app/assets/stylesheets/user_menu.scss */
.user-dropdown .dropdown-item {
  padding: 0.75rem 1rem;
  font-size: 0.9rem;
  transition: all 0.2s ease-in-out;
  border-left: 3px solid transparent;
}

/* line 149, app/assets/stylesheets/user_menu.scss */
.user-dropdown .dropdown-item:hover {
  background-color: #f8f9fa;
  border-left-color: #007bff;
  transform: translateX(2px);
}

/* line 155, app/assets/stylesheets/user_menu.scss */
.user-dropdown .dropdown-item i {
  width: 1.2rem;
  text-align: center;
  opacity: 0.7;
}

/* line 161, app/assets/stylesheets/user_menu.scss */
.user-dropdown .dropdown-item.text-danger:hover {
  background-color: rgba(220, 53, 69, 0.1);
  border-left-color: #dc3545;
  color: #dc3545;
}

/* line 168, app/assets/stylesheets/user_menu.scss */
.user-dropdown .dropdown-divider {
  margin: 0.25rem 0;
  border-top: 1px solid #e9ecef;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  /* line 175, app/assets/stylesheets/user_menu.scss */
  .user-menu .info {
    display: none !important;
  }
  /* line 179, app/assets/stylesheets/user_menu.scss */
  .user-panel {
    justify-content: center;
  }
  /* line 183, app/assets/stylesheets/user_menu.scss */
  .user-dropdown {
    min-width: 240px;
    max-width: 280px;
    margin-top: 0.25rem;
  }
  /* line 189, app/assets/stylesheets/user_menu.scss */
  .user-dropdown .dropdown-header.user-dropdown-header {
    padding: 0.75rem;
  }
  /* line 193, app/assets/stylesheets/user_menu.scss */
  .user-dropdown .dropdown-header.user-dropdown-header .position-relative {
    margin-right: 0.5rem;
  }
  /* line 197, app/assets/stylesheets/user_menu.scss */
  .user-dropdown .dropdown-header.user-dropdown-header strong {
    font-size: 0.9rem;
    max-width: 120px !important;
  }
  /* line 202, app/assets/stylesheets/user_menu.scss */
  .user-dropdown .dropdown-header.user-dropdown-header .text-truncate {
    max-width: 180px !important;
  }
}

/* Animation for dropdown */
/* line 208, app/assets/stylesheets/user_menu.scss */
.user-dropdown {
  animation: slideDown 0.3s ease-out;
}

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

/* Status Indicators - Apenas para o menu do usuário */
/* line 224, app/assets/stylesheets/user_menu.scss */
.user-menu .user-status,
.navbar .user-status,
.user-dropdown .user-status {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #28a745;
  border: 2px solid white;
  position: absolute;
  bottom: 0;
  right: 0;
}

/* line 238, app/assets/stylesheets/user_menu.scss */
.user-menu .user-status.offline,
.navbar .user-status.offline,
.user-dropdown .user-status.offline {
  background-color: #6c757d;
}

/* line 244, app/assets/stylesheets/user_menu.scss */
.user-menu .user-status.busy,
.navbar .user-status.busy,
.user-dropdown .user-status.busy {
  background-color: #ffc107;
}

/* Badge for admin/super admin */
/* line 251, app/assets/stylesheets/user_menu.scss */
.user-badge {
  font-size: 0.65rem;
  padding: 0.2rem 0.4rem;
  border-radius: 0.25rem;
  background-color: #007bff;
  color: white;
  margin-left: 0.5rem;
}

/* line 260, app/assets/stylesheets/user_menu.scss */
.user-badge.super-admin {
  background-color: #dc3545;
}

/* line 264, app/assets/stylesheets/user_menu.scss */
.user-badge.admin {
  background-color: #fd7e14;
}

/* Correção específica para o padding-top identificado */
/* line 269, app/assets/stylesheets/user_menu.scss */
.navbar-nav .nav-item.dropdown.user-menu .nav-link {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

/* line 274, app/assets/stylesheets/user_menu.scss */
.navbar-nav .nav-item.dropdown.user-menu .user-panel {
  padding: 0 !important;
  margin: 0 !important;
}

/* Correção para elementos filhos do user-panel */
/* line 280, app/assets/stylesheets/user_menu.scss */
.user-panel .image,
.user-panel .info {
  align-self: center !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Específico para o texto da empresa */
/* line 288, app/assets/stylesheets/user_menu.scss */
.user-panel .user-company {
  padding-top: 0 !important;
  margin-top: 2px !important;
}

/* Correção adicional para herança de estilos AdminLTE */
/* line 294, app/assets/stylesheets/user_menu.scss */
.main-header .navbar-nav .nav-item.user-menu .nav-link .user-panel {
  padding: 0 !important;
  margin: 0 !important;
  align-items: center !important;
}

/* line 300, app/assets/stylesheets/user_menu.scss */
.main-header .navbar-nav .nav-item.user-menu .nav-link .user-panel * {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *





 *
 * O require_tree puxa a pasta inteira, então as folhas abaixo ficam de fora
 * com stub. Cada uma já chega à página por outro caminho, e mais tarde na
 * cascata, que é a cópia que vale:
 * - adminlte.min, bootstrap.min, fontawesome.min: <link> próprios em
 *   layouts/application.html.erb, depois desta folha; o admin e o devise
 *   carregam o AdminLTE do CDN, também depois; o public os carrega antes
 *   desta folha, na posição em que o tree os punha. O adminlte.min sozinho
 *   tem 1,4 MB e traz outro Bootstrap inteiro dentro.
 * - application.bootstrap: é a fonte do application.css (cssbundling), que
 *   todo layout já carrega; aqui ele era recompilado por inteiro (~3 MB).
 *   Ele importa admin_email_dashboard, e essa cópia reaplicava as regras
 *   .sc-* do painel de e-mails por cima das folhas que vêm depois dela no
 *   tree e também definem .sc-* (admin_email_metrics, admin_focus_nfe_config,
 *   admin_soft_clean, admin_system_alert_configs). Por isso essas quatro são
 *   exigidas ANTES do require_tree: o admin_email_dashboard do tree continua
 *   vindo depois delas, como antes.
 * - tom-select.bootstrap4.min: o layout carrega a cópia local depois (stylesheet_link_tag próprio).
 *
 * pwa-*, expedition-pwa, pdf e trial NÃO estão aqui de propósito, embora
 * sejam de outros layouts: têm regras globais que o desktop herdou (borda
 * de td, flex-grow das colunas, padding de option) e sem elas as telas
 * mudam. Somam ~150 KB; tirá-las é trabalho da migração para o .erp-ui.
 *








 */

/* Classes utilitárias para substituir estilos inline */
.w-80 {
  width: 80px !important;
}

.w-90 {
  width: 90px !important;
}

/* Oculta flash messages temporariamente para evitar "flash" visual 
   durante conversão para SweetAlert */
.alert:not([class*="border"]):not([class*="mb-"]):not(.section-header .alert):not(.analytics-dashboard .section .alert):not(.erp-card-body .alert):not(.rental-amendment-banner):not([data-permanent-alert]) {
  opacity: 0;
  transition: opacity 0.1s ease-in-out;
}

/* Mostra alertas que devem permanecer (instruções, etc.) */
.alert.border,
.alert.mb-4,
.alert.mb-3,
.section-header .alert,
.analytics-dashboard .section .alert,
.erp-card-body .alert,
.alert.rental-amendment-banner,
.alert[data-permanent-alert] {
  opacity: 1 !important;
}

.w-100 {
  width: 100px !important;
}

.w-120 {
  width: 120px !important;
}

.w-140 {
  width: 140px !important;
}

.w-150 {
  width: 150px !important;
}

.w-300 {
  width: 300px !important;
}

.w-400 {
  width: 400px !important;
}

.h-200 {
  height: 200px !important;
}

.max-height-120 {
  max-height: 120px !important;
}

.font-size-10 {
  font-size: 10px !important;
}

.font-size-11 {
  font-size: 11px !important;
}

/* Classes para assinatura digital */
.signature-canvas-container {
  border: 2px solid #dee2e6;
  border-radius: 8px;
  background-color: #ffffff;
  width: 100%;
  max-width: 500px;
  height: 250px;
  position: relative;
  margin: 0 auto;
  display: block;
}

.signature-canvas {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 6px;
  cursor: crosshair;
}

/* Estilos personalizados */
.info-box {
  min-height: 90px;
}

.info-box-icon {
  font-size: 1.5rem;
}

.table th {
  font-weight: 600;
}

.badge {
  font-size: 0.85em;
  padding: 0.35em 0.65em;
  border-radius: 0 !important;
}

/* Ajustes para inputs pequenos */
.form-control-sm {
  height: calc(1.5em + 0.5rem + 2px);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.375rem;
}

/* Ajustes para botões pequenos */
.btn-sm {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0;
}

/* Ajustes para cards */
.card {
  box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .2);
  margin-bottom: 1rem;
}

.card-header {
  background-color: transparent;
  border-bottom: 1px solid rgba(0, 0, 0, .125);
  padding: 0.75rem 1.25rem;
  position: relative;
  display: flex;
  align-items: center;
}

/* Ajustes para tabelas */
.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.table td,
.table th {
  padding: 0.75rem;
  vertical-align: top;
  border-top: 1px solid #dee2e6;
}

/* Ajustes para gráficos */
.chart {
  position: relative;
  height: 300px;
  width: 100%;
}

/* Corrige aviso de filter: alpha do Select2 em navegadores modernos */
.select2-close-mask {
  filter: none !important;
}

/* Service Order Actions */
.service-order-actions .btn {
  border-radius: 0.375rem;
  font-weight: 500;
  transition: all 0.2s ease-in-out;
}

.service-order-actions .btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.service-order-actions .btn i {
  margin-right: 8px;
}

.service-order-actions h5 {
  color: #495057;
  font-weight: 600;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #dee2e6;
}

/* Estilo para imagem de assinatura na OS Show */
.signature-image {
  max-width: 400px;
  max-height: 200px;
  background-color: #f8f9fa;
}

/* Estilo para preview de fotos na OS Show */
.service-order-photo-preview {
  height: 200px;
  object-fit: cover;
}

/* Estilos para o lookup de CNPJ */
.cnpj-field.loading {
  background-image: url('data:image/gif;base64,R0lGODlhEAAQAPIAAP///wAAAMLCwkJCQgAAAGJiYoKCgpKSkiH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAADMwi63P4wyklrE2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQJCgAAACwAAAAAEAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUkKhIAIfkECQoAAAAsAAAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkECQoAAAAsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYumCYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkECQoAAAAsAAAAABAAEAAAAzIIunInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQJCgAAACwAAAAAEAAQAAADMwi6IMKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJibufbSlKAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P7wjRDYIGBHZnU7FIW2IkJhRUaYlGIhFiSQhHBKqhYAJQlPNHSUBVJlZphHEQAh+QQFCgAAACwAAAAAEAAQAAADMgi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUkKhIAOw==');
  background-repeat: no-repeat;
  background-position: right 5px center;
  background-size: 16px 16px;
}

/* Feedback visual de sucesso/erro */
.form-control.is-valid {
  border-color: #28a745;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='m2.3 6.73l.4-.4L4.1 4.9 6.5 2.5l.4.4-2.8 2.8-1.4 1.4-.4.4z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 5px center;
  background-size: 16px 16px;
}

.form-control.is-invalid {
  border-color: #dc3545;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 5px center;
  background-size: 16px 16px;
}

/* Estilo para campo CNPJ obrigatório quando tipo for empresa */
.person-type-company .cnpj-field {
  border-left: 3px solid #17a2b8;
}

/* Animação sutil para campos preenchidos */
.auto-filled {
  animation: highlight 0.3s ease-in-out;
  border-color: #28a745;
}

@keyframes highlight {
  0% {
    background-color: #d4edda;
  }

  100% {
    background-color: transparent;
  }
}

/* ===== CARD PRINCIPAL CADASTRO DE PESSOA ===== */

/* Card Principal */
.person-card {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border: 1px solid #dee2e6;
  border-radius: 4px;
  background: #ffffff;
  overflow: hidden;
}

/* Header Escuro */
.person-card-header {
  background: #f8f9fa;
  padding: 16px 20px;
  border-bottom: 1px solid #dee2e6;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.person-card-title {
  font-weight: 600;
  font-size: 16px;
  color: var(--gray-800);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.person-card-header:not(.bg-dark) .person-card-title small {
  color: var(--gray-600) !important;
}

.person-card-title i {
  margin-right: 8px;
  font-size: 1rem;
}

.person-card-user-info {
  display: flex;
  align-items: center;
  gap: 15px;
  color: #adb5bd;
  font-size: 0.85rem;
}

.person-card-user-info span {
  display: flex;
  align-items: center;
  gap: 5px;
}

.person-card-user-info i {
  font-size: 0.8rem;
}

/* Sistema de Abas */
.person-tabs-container {
  background: #ffffff;
  border-bottom: 1px solid #dee2e6;
}

.person-tabs-wrapper {
  display: flex;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  background: #ffffff;
}

.person-tabs-wrapper::-webkit-scrollbar {
  display: none;
}

.person-tab {
  background: #ffffff;
  border: none;
  color: #6c757d;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
  position: relative;
  outline: none;
}

.person-tab:hover {
  background: #f8f9fa;
  color: #495057;
}

.person-tab.active {
  background: #ffffff;
  color: #495057;
  font-weight: 500;
}

.person-tab.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: #17a2b8;
}

.person-tab i {
  font-size: 0.85rem;
  flex-shrink: 0;
}

.tab-text {
  flex-shrink: 0;
}

/* Conteúdo das Abas */
.person-card-content {
  background: #ffffff;
  padding: 20px;
  min-height: 400px;
}

.person-card-content .tab-pane {
  padding: 0;
}

.people-module .person-card-content .tab-pane {
  scroll-margin-top: calc(var(--header-height, 57px) + 7rem);
}

.person-card-content .tab-pane h4,
.person-card-content .tab-pane h5 {
  color: #495057;
  font-weight: bold;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.person-card-content .tab-pane h4 i,
.person-card-content .tab-pane h5 i {
  color: #495057;
  font-size: 0.9em;
}

/* Footer e Botões de Ação */
.person-card-footer {
  background: #f8f9fa;
  border-top: 1px solid #dee2e6;
  padding: 15px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.people-module .person-card-footer {
  background: #f8f9fa;
  border-top: 1px solid #dee2e6;
  padding: 16px 20px;
  border-radius: 0 0 4px 4px;
  box-shadow: none;
}

.footer-info {
  color: #6c757d;
  font-size: 11px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.footer-info i {
  font-size: 0.8rem;
}

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

/* Botões do Footer */
.btn-voltar,
.btn-visualizar,
.btn-editar,
.btn-imprimir,
.btn-pdf,
.btn-salvar,
.btn-excluir {
  padding: 6px 12px;
  font-size: 0.85rem;
  border-radius: 4px;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  transition: all 0.2s ease;
  font-weight: 500;
}

.btn-voltar {
  background: #e9ecef;
  color: #495057;
}

.btn-voltar:hover {
  background: #d1d5db;
  color: #495057;
  text-decoration: none;
}

.btn-salvar {
  background: #28a745;
  color: #ffffff;
}

.btn-salvar:hover {
  background: #218838;
  color: #ffffff;
}

.btn-excluir {
  background: #dc3545;
  color: #ffffff;
}

.btn-excluir:hover {
  background: #c82333;
  color: #ffffff;
  text-decoration: none;
}

.btn-visualizar {
  background: #17a2b8;
  color: #ffffff;
}

.btn-visualizar:hover {
  background: #138496;
  color: #ffffff;
  text-decoration: none;
}

.btn-editar {
  background: #fd7e14;
  color: #ffffff;
}

.btn-editar:hover {
  background: #e96500;
  color: #ffffff;
  text-decoration: none;
}

/* Aplicar cor laranja para todos os botões de Editar, exceto os de index/tabelas.
   ATENÇÃO: esta regra seleciona por URL (`href` contém "/edit"), não por classe,
   e usa !important — então alcança qualquer link de edição do sistema e não pode
   ser vencida por especificidade. O `:not(.table a)` pretendia poupar as tabelas,
   mas não alcança as do design system novo, que usam `table.data`.
   Por isso o `:not(.action-btn)`: o componente `.action-btn` do erp-ui define a
   própria cor por classe de consequência (ver components/erp_ui.scss e
   .claude/skills/ui-padroes/references/acoes.md). Remover quando esta regra
   legada sair, na F4. */
/* `.erp-ui *` no `:not()`: este bloco pinta de laranja, com `!important`,
   QUALQUER link cuja href contenha "/edit" — o que alcançava botões neutros
   de telas já migradas só porque apontam para uma rota de edição (o "Voltar"
   do cadastro de patrimônio apontava para `edit_equipment_path(..., aba:
   "patrimonios")` e saía laranja; medido no navegador em 11/08/2026,
   `rgb(253,126,20)` contra o branco esperado). Dentro de `.erp-ui` quem manda
   é `components/erp_ui.scss`, onde a cor vem da CLASSE do botão
   (`btn`/`btn-primary`/`btn-danger`), nunca do destino do link. Some com o
   bloco inteiro na F4. Ver docs/redesign-ui-erp/COLISOES-CSS.md. */
a[href*="/edit"]:not(.btn-sm):not(.dropdown-item):not(.action-btn):not(.table a):not(.erp-ui *),
a[href$="/edit"]:not(.btn-sm):not(.dropdown-item):not(.action-btn):not(.table a):not(.erp-ui *) {
  background: #fd7e14 !important;
  color: #ffffff !important;
  border-color: #fd7e14 !important;
  padding: 6px 12px;
  font-size: 0.85rem;
  border-radius: 4px;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  transition: all 0.2s ease;
  font-weight: 500;
}

a[href*="/edit"]:not(.btn-sm):not(.dropdown-item):not(.action-btn):not(.table a):not(.erp-ui *):hover,
a[href$="/edit"]:not(.btn-sm):not(.dropdown-item):not(.action-btn):not(.table a):not(.erp-ui *):hover {
  background: #e96500 !important;
  color: #ffffff !important;
  border-color: #e96500 !important;
  text-decoration: none !important;
}

/* Específico para botões em footers de formulários */
.person-card-footer a[href*="edit"]:not(.erp-ui *),
.card-footer a[href*="edit"]:not(.erp-ui *),
.footer-actions a[href*="edit"]:not(.erp-ui *) {
  background: #fd7e14 !important;
  color: #ffffff !important;
  border-color: #fd7e14 !important;
}

.person-card-footer a[href*="edit"]:not(.erp-ui *):hover,
.card-footer a[href*="edit"]:not(.erp-ui *):hover,
.footer-actions a[href*="edit"]:not(.erp-ui *):hover {
  background: #e96500 !important;
  color: #ffffff !important;
  border-color: #e96500 !important;
  text-decoration: none !important;
}

/* Regras adicionais para outros contextos de botões editar */
.btn[href*="/edit"]:not(.btn-sm):not(.dropdown-item):not(.table .btn):not(.erp-ui *),
.btn[href$="/edit"]:not(.btn-sm):not(.dropdown-item):not(.table .btn):not(.erp-ui *),
input[type="submit"][value*="Editar"]:not(.btn-sm):not(.erp-ui *),
button[formaction*="/edit"]:not(.btn-sm):not(.dropdown-item):not(.erp-ui *) {
  background: #fd7e14 !important;
  color: #ffffff !important;
  border-color: #fd7e14 !important;
}

.btn[href*="/edit"]:not(.btn-sm):not(.dropdown-item):not(.table .btn):not(.erp-ui *):hover,
.btn[href$="/edit"]:not(.btn-sm):not(.dropdown-item):not(.table .btn):not(.erp-ui *):hover,
input[type="submit"][value*="Editar"]:not(.btn-sm):not(.erp-ui *):hover,
button[formaction*="/edit"]:not(.btn-sm):not(.dropdown-item):not(.erp-ui *):hover {
  background: #e96500 !important;
  color: #ffffff !important;
  border-color: #e96500 !important;
  text-decoration: none !important;
}

/* Garantir que botões de tabelas/index mantenham seus estilos originais */
.table .btn-sm,
.table .dropdown-item,
.card-body .table .btn,
.card-body .btn-group .btn {
  background: revert !important;
  color: revert !important;
  border-color: revert !important;
}

/* Aplicar para classes específicas de edit */
.btn-edit:not(.btn-sm):not(.dropdown-item):not(.table *),
.edit-btn:not(.btn-sm):not(.dropdown-item):not(.table *),
.btn-edit-item:not(.btn-sm):not(.dropdown-item):not(.table *) {
  background: #fd7e14 !important;
  color: #ffffff !important;
  border-color: #fd7e14 !important;
}

.btn-edit:not(.btn-sm):not(.dropdown-item):not(.table *):hover,
.edit-btn:not(.btn-sm):not(.dropdown-item):not(.table *):hover,
.btn-edit-item:not(.btn-sm):not(.dropdown-item):not(.table *):hover {
  background: #e96500 !important;
  color: #ffffff !important;
  border-color: #e96500 !important;
  text-decoration: none !important;
}

.btn-imprimir {
  background: #6c757d;
  color: #ffffff;
}

.btn-imprimir:hover {
  background: #5a6268;
  color: #ffffff;
  text-decoration: none;
}

.btn-pdf {
  background: #007bff;
  color: #ffffff;
}

.btn-pdf:hover {
  background: #0056b3;
  color: #ffffff;
  text-decoration: none;
}

/* Botão Salvar Rascunho (Draft) */
.btn-draft {
  background: #e9ecef;
  color: #495057;
  border: none;
  padding: 6px 12px;
  font-size: 0.85rem;
  border-radius: 4px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s ease;
  box-shadow: none;
}

.btn-draft i {
  color: #495057;
  font-size: 0.8rem;
}

.btn-draft:hover,
.btn-draft:focus {
  background: #d1d5db;
  color: #343a40;
  text-decoration: none;
}

.btn-draft:active {
  background: #cfd8dc;
  color: #343a40;
}

.btn-voltar i,
.btn-visualizar i,
.btn-editar i,
.btn-imprimir i,
.btn-pdf i,
.btn-salvar i,
.btn-excluir i {
  font-size: 0.8rem;
}

/* Garantir que os botões das abas funcionem corretamente */
.person-tab:focus {
  outline: 1px solid #2c3e50;
  outline-offset: -2px;
}

.person-tab:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Melhorar a visibilidade do estado ativo */
.person-tab.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: #2c3e50;
  border-radius: 2px 2px 0 0;
}

/* Ajustar o z-index para garantir que as abas estejam sempre clicáveis */
.person-tabs-container {
  position: relative;
  z-index: 10;
}

.person-tab {
  position: relative;
  z-index: 11;
}

/* Garantir que o conteúdo das abas não interfira com as abas */
.person-card-content {
  position: relative;
  z-index: 1;
}

/* Adicionar uma transição suave para a troca de abas */
.tab-pane {
  transition: opacity 0.15s ease-in-out;
}

/* Sobrescrever regras do Bootstrap para tabs */
.tab-content>.tab-pane:not(.show):not(.active) {
  display: none !important;
}

.tab-content>.tab-pane.show,
.tab-content>.tab-pane.active {
  display: block !important;
  opacity: 1 !important;
}

/* Ajustes adicionais para o form */
.person-card .form-group {
  margin-bottom: 1rem;
}

.person-card .form-control {
  border-radius: 4px;
  border: 1px solid #ced4da;
  padding: 0.5rem 0.75rem;
  font-size: 0.9rem;
}

.person-card .form-control:focus {
  border-color: #17a2b8;
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.25);
}

.person-card label {
  font-weight: 500;
  color: #495057;
  margin-bottom: 0.5rem;
  font-size: 0.9rem;
}

/* Ajustes para campos obrigatórios */
.person-card .required label::after {
  content: ' *';
  color: #dc3545;
}

/* Melhorias para select2 dentro do card */
.person-card .select2-container .select2-selection--single {
  height: calc(1.5em + 1rem + 2px);
  border: 1px solid #ced4da;
  border-radius: 4px;
}

.person-card .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: calc(1.5em + 1rem);
  padding-left: 0.75rem;
  font-size: 0.9rem;
}

/* Ajustes para checkbox e radio */
.person-card .form-check {
  margin-bottom: 0.5rem;
}

.person-card .form-check-label {
  font-size: 0.9rem;
  color: #495057;
}

/* Ajustes para textarea */
.person-card textarea.form-control {
  min-height: 80px;
  resize: vertical;
}

.service-module .person-card-header,
.service-form .person-card-header {
  align-items: flex-start;
  gap: 1rem;
}

.service-module .person-card-title,
.service-form .person-card-title {
  flex: 1 1 auto;
  flex-wrap: wrap;
  line-height: 1.35;
  min-width: 0;
}

.service-module .person-card-user-info,
.service-form .person-card-user-info {
  flex-wrap: wrap;
  row-gap: 0.5rem;
  justify-content: flex-end;
}

.service-module .form-label,
.service-form .form-label {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  flex-wrap: nowrap;
}

.service-module .service-readonly-field,
.service-form .service-readonly-field {
  background-color: #f8f9fa;
  border: 1px solid #dee2e6;
  min-height: calc(1.5em + 0.5rem + 2px);
  height: auto;
  display: block;
  line-height: 1.45;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.service-module .service-readonly-field--multiline,
.service-form .service-readonly-field--multiline {
  min-height: 96px;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  white-space: pre-wrap;
}

.service-module .service-readonly-field--multiline p:last-child,
.service-form .service-readonly-field--multiline p:last-child {
  margin-bottom: 0;
}

.service-module .service-description-input,
.service-form .service-description-input {
  min-height: 88px;
  resize: vertical;
}

/* Separadores de seção dentro das abas */
.person-card .section-divider {
  border-bottom: 1px solid #dee2e6;
  margin: 20px 0;
  padding-bottom: 10px;
}

.person-card .section-title {
  color: #495057;
  font-weight: bold;
  font-size: 1rem;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.person-card .section-title i {
  color: #17a2b8;
  font-size: 0.9em;
}

/* Status e Type Badges */
.status-badge,
.priority-badge,
.type-badge {
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

.status-badge i,
.priority-badge i,
.type-badge i {
  font-size: 10px;
}

/* Status Badge Colors */
.status-badge.draft {
  background-color: #f8f9fa;
  color: #6c757d;
}

.status-badge.active {
  background-color: #d4edda;
  color: #155724;
}

.status-badge.inactive {
  background-color: #f8d7da;
  color: #721c24;
}

.status-badge.pending {
  background-color: #fff3cd;
  color: #856404;
}

.status-badge.approved {
  background-color: #d4edda;
  color: #155724;
}

.status-badge.rejected {
  background-color: #f8d7da;
  color: #721c24;
}

.status-badge.in_progress {
  background-color: #cce5ff;
  color: #004085;
}

.status-badge.completed {
  background-color: #d4edda;
  color: #155724;
}

.status-badge.cancelled {
  background-color: #f8d7da;
  color: #721c24;
}

.status-badge.lost {
  background-color: #f8d7da;
  color: #721c24;
}

.status-badge.finished {
  background-color: #d4edda;
  color: #155724;
}

.status-badge.suspended {
  background-color: #ffeaa7;
  color: #856404;
}

/* Priority Badge Colors */
.priority-badge.low {
  background-color: #d4edda;
  color: #155724;
}

.priority-badge.medium {
  background-color: #fff3cd;
  color: #856404;
}

.priority-badge.high {
  background-color: #f8d7da;
  color: #721c24;
}

.priority-badge.urgent {
  background-color: #dc3545;
  color: #fff;
}

/* Type Badge Colors */
.type-badge.labor {
  background-color: #e3f2fd;
  color: #1976d2;
}

.type-badge.material {
  background-color: #f3e5f5;
  color: #7b1fa2;
}

.type-badge.equipment {
  background-color: #e8f5e8;
  color: #388e3c;
}

.type-badge.other {
  background-color: #fff3e0;
  color: #f57c00;
}

.type-badge.revenue {
  background-color: #e8f5e8;
  color: #2e7d32;
}

.type-badge.expense {
  background-color: #ffebee;
  color: #c62828;
}

/* Stat Icons Colors */
.stat-icon.revenue {
  background-color: #e8f5e8;
  color: #2e7d32;
}

.stat-icon.expense {
  background-color: #ffebee;
  color: #c62828;
}

.stat-icon.roots {
  background-color: #e3f2fd;
  color: #1976d2;
}

/* Cores específicas para ícones de estatísticas com base no orçamento */
.stat-icon.with-budget {
  background-color: #fff3cd;
  color: #856404;
}

.stat-icon.without-budget {
  background-color: #f8d7da;
  color: #721c24;
}

/* Price Table Badge Colors */
.status-badge.draft {
  background-color: #f8f9fa;
  color: #6c757d;
}

.status-badge.expired {
  background-color: #f8d7da;
  color: #721c24;
}

.status-badge.warning {
  background-color: #fff3cd;
  color: #856404;
}

/* Additional Stat Icons Colors for Price Tables */
.stat-icon.draft {
  background-color: #f8f9fa;
  color: #6c757d;
}

.stat-icon.expired {
  background-color: #f8d7da;
  color: #721c24;
}

.stat-icon.with-items {
  background-color: #e3f2fd;
  color: #1976d2;
}

/* Equipment Movement Stats Icons */
.stat-icon.entry {
  background: linear-gradient(45deg, #28a745, #20c997);
  color: white;
}

.stat-icon.exit {
  background: linear-gradient(45deg, #dc3545, #fd7e14);
  color: white;
}

.stat-icon.transfer {
  background: linear-gradient(45deg, #17a2b8, #6f42c1);
  color: white;
}

.stat-icon.adjustment {
  background: linear-gradient(45deg, #ffc107, #fd7e14);
  color: white;
}

/* Equipment Movement Badges */
.status-badge.entry {
  background-color: #28a745;
  color: white;
}

.status-badge.exit {
  background-color: #dc3545;
  color: white;
}

.status-badge.transfer {
  background-color: #17a2b8;
  color: white;
}

.status-badge.adjustment {
  background-color: #ffc107;
  color: #212529;
}

.action-badge.view {
  background-color: #17a2b8;
  color: white;
}

.action-badge.edit {
  background-color: #ffc107;
  color: #212529;
}

.action-badge.danger {
  background-color: #dc3545;
  color: white;
}

/* Responsividade */
@media (max-width: 768px) {
  .person-card-header {
    flex-direction: column;
    height: auto;
    padding: 15px 20px;
    gap: 10px;
  }

  .person-card-user-info {
    font-size: 0.8rem;
    gap: 10px;
  }

  .person-tab .tab-text {
    display: none;
  }

  .person-tab {
    min-width: 40px;
    justify-content: center;
    padding: 12px 8px;
  }

  .person-card-content {
    padding: 15px;
  }

  .person-card-footer {
    flex-direction: column;
    gap: 15px;
    padding: 15px 20px;
  }

  .footer-info {
    order: 2;
    font-size: 0.8rem;
    text-align: center;
  }

  .footer-actions {
    order: 1;
    justify-content: center;
    flex-wrap: wrap;
  }

  .service-module .person-card-user-info,
  .service-form .person-card-user-info {
    justify-content: flex-start;
  }
}

@media (max-width: 576px) {
  .person-card-header {
    padding: 12px 15px;
  }

  .person-card-title {
    font-size: 1rem;
  }

  .person-card-content {
    padding: 15px;
  }

  .person-card-footer {
    padding: 12px 15px;
  }
}

/* Classes específicas para alertas de estoque */
.alert-card-danger {
  border-left: 4px solid #dc3545;
  background-color: #f8d7da;
}

.alert-card-warning {
  border-left: 4px solid #ffc107;
  background-color: #fff3cd;
}

.alert-card-info {
  border-left: 4px solid #17a2b8;
  background-color: #d1ecf1;
}

.alert-card-default {
  border-left: 4px solid #6c757d;
  background-color: #f8f9fa;
}

/* Badges para quantidades de estoque */
.badge.badge-danger {
  background-color: #dc3545;
  color: white;
}

.badge.badge-warning {
  background-color: #ffc107;
  color: #212529;
}

.badge.badge-info {
  background-color: #17a2b8;
  color: white;
}

.badge.badge-success {
  background-color: #28a745;
  color: white;
}

.badge.badge-secondary {
  background-color: #6c757d;
  color: white;
}

/* Estados vazios específicos para alertas */
.empty-state .empty-state-icon .fa-check-circle {
  font-size: 3rem;
  opacity: 0.7;
}

/* Ícones de alertas */
.text-warning {
  color: #ffc107 !important;
}

.text-danger {
  color: #dc3545 !important;
}

.text-info {
  color: #17a2b8 !important;
}

.text-success {
  color: #28a745 !important;
}

.text-secondary {
  color: #6c757d !important;
}

.text-primary {
  color: #007bff !important;
}

.text-muted {
  color: #6c757d !important;
}

/* Melhorias na responsividade das tabelas de alertas */
@media (max-width: 768px) {
  .table-container {
    font-size: 0.85rem;
  }

  .badge {
    font-size: 0.7rem;
    padding: 0.2rem 0.4rem;
  }

  .action-buttons {
    flex-direction: column;
    gap: 0.2rem;
  }

  .action-buttons .btn {
    padding: 0.2rem 0.4rem;
    font-size: 0.7rem;
  }
}

/* Seções vazias para alertas */
.empty-section {
  text-align: center;
  padding: 3rem 1rem;
  background-color: #f8f9fa;
  border-radius: 8px;
  margin: 1rem 0;
}

.empty-icon {
  margin-bottom: 1rem;
}

.empty-icon i {
  font-size: 3rem;
  opacity: 0.7;
}

.empty-content h4 {
  color: #495057;
  margin-bottom: 0.5rem;
  font-weight: 600;
}

.empty-content p {
  color: #6c757d;
  margin: 0;
  font-size: 0.9rem;
}

/* Seções de tabela com headers */
.table-section {
  margin-bottom: 2rem;
}

.section-header {
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #e9ecef;
}

.section-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #495057;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* Cores para estatísticas específicas */
.stat-icon.warning {
  background-color: #ffc107;
  color: #212529;
}

.stat-icon.danger {
  background-color: #dc3545;
  color: white;
}

.stat-icon.secondary {
  background-color: #6c757d;
  color: white;
}

/* Responsividade específica para alertas de estoque */
@media (max-width: 576px) {
  .table-section .section-title {
    font-size: 1rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }

  .empty-section {
    padding: 2rem 1rem;
  }

  .empty-icon i {
    font-size: 2rem;
  }

  .empty-content h4 {
    font-size: 1rem;
  }
}

/* =====================================
   SWEETALERT2 ULTRA-CLEAN VALIDATION STYLES
   ===================================== */

/* Container principal do modal ultra-clean */
.swal2-ultra-clean-validation {
  border-radius: 12px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
  border: 1px solid #e9ecef !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif !important;
  background: #ffffff !important;
}

/* Título do modal ultra-clean */
.swal2-ultra-clean-title {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #333333 !important;
  margin-bottom: 8px !important;
  padding: 20px 20px 0 20px !important;
  line-height: 1.3 !important;
}

/* Conteúdo do modal ultra-clean */
.swal2-ultra-clean-content {
  padding: 0 20px 20px 20px !important;
  color: #666666 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

/* Botão do modal ultra-clean */
.swal2-ultra-clean-btn {
  background: #007bff !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 10px 24px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 4px rgba(0, 123, 255, 0.2) !important;
  margin-top: 8px !important;
}

.swal2-ultra-clean-btn:hover {
  background: #0056b3 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 8px rgba(0, 123, 255, 0.3) !important;
}

.swal2-ultra-clean-btn:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 4px rgba(0, 123, 255, 0.2) !important;
}

/* Ícone de erro no modal ultra-clean */
.swal2-ultra-clean-validation .swal2-icon {
  margin: 20px auto 16px auto !important;
  width: 50px !important;
  height: 50px !important;
  border: none !important;
}

.swal2-ultra-clean-validation .swal2-icon.swal2-error {
  color: #dc3545 !important;
}

.swal2-ultra-clean-validation .swal2-icon.swal2-error .swal2-x-mark {
  display: none !important;
}

.swal2-ultra-clean-validation .swal2-icon.swal2-error::before {
  content: "⚠️" !important;
  font-size: 30px !important;
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  line-height: 50px !important;
}

/* Container de ações do modal ultra-clean */
.swal2-ultra-clean-validation .swal2-actions {
  padding: 0 20px 20px 20px !important;
  margin: 0 !important;
  border-top: none !important;
}

/* Animações suaves para o modal ultra-clean */
.swal2-ultra-clean-validation.swal2-show {
  animation: ultraCleanSlideIn 0.3s ease-out !important;
}

.swal2-ultra-clean-validation.swal2-hide {
  animation: ultraCleanSlideOut 0.2s ease-in !important;
}

@keyframes ultraCleanSlideIn {
  from {
    opacity: 0;
    transform: scale(0.95) translateY(-10px);
  }

  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

@keyframes ultraCleanSlideOut {
  from {
    opacity: 1;
    transform: scale(1) translateY(0);
  }

  to {
    opacity: 0;
    transform: scale(0.95) translateY(10px);
  }
}

/* Backdrop mais suave para o modal ultra-clean */
.swal2-container.swal2-backdrop-show .swal2-backdrop {
  background: rgba(0, 0, 0, 0.4) !important;
}

/* Responsividade para o modal ultra-clean */
@media (max-width: 768px) {
  .swal2-ultra-clean-validation {
    width: 90% !important;
    margin: 0 auto !important;
  }

  .swal2-ultra-clean-title {
    font-size: 16px !important;
    padding: 16px 16px 0 16px !important;
  }

  .swal2-ultra-clean-content {
    padding: 0 16px 16px 16px !important;
    font-size: 13px !important;
  }

  .swal2-ultra-clean-validation .swal2-actions {
    padding: 0 16px 16px 16px !important;
  }
}

/* Estilos para o modal compacto de cobrança */
.swal2-compact-modal {
  max-width: 700px !important;
  margin: 1rem auto !important;
}

.swal2-compact-modal .swal2-content {
  padding: 0 !important;
}

.swal2-compact-modal .rental-billing-form-modal {
  padding: 0;
}

.swal2-compact-modal .card {
  border: 1px solid #e3e6f0;
  margin-bottom: 0.75rem;
  box-shadow: 0 0.15rem 1.75rem 0 rgba(58, 59, 69, 0.15);
}

.swal2-compact-modal .card-header {
  background-color: #f8f9fc;
  border-bottom: 1px solid #e3e6f0;
  padding: 0.5rem 0.75rem;
}

.swal2-compact-modal .card-header h6 {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
}

.swal2-compact-modal .card-body {
  padding: 0.75rem;
}

.swal2-compact-modal .form-group {
  margin-bottom: 0.5rem;
}

.swal2-compact-modal .form-label {
  font-size: 0.75rem;
  font-weight: 500;
  margin-bottom: 0.25rem;
  color: #5a5c69;
}

.swal2-compact-modal .form-control-sm {
  height: calc(1.5em + 0.5rem + 2px);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: 0.35rem;
}

.swal2-compact-modal .input-group-sm>.form-control {
  height: calc(1.5em + 0.5rem + 2px);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
}

.swal2-compact-modal .input-group-text {
  font-size: 0.875rem;
  padding: 0.25rem 0.5rem;
}

.swal2-compact-modal textarea.form-control-sm {
  resize: vertical;
  min-height: 60px;
}

.swal2-actions-compact {
  padding: 0.75rem 1rem !important;
  gap: 0.5rem;
}

.swal2-actions-compact .btn {
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  border-radius: 0.35rem;
}

/* Responsividade para o modal compacto */
@media (max-width: 768px) {
  .swal2-compact-modal {
    width: 95% !important;
    margin: 0.5rem auto !important;
  }

  .swal2-compact-modal .card-body {
    padding: 0.5rem;
  }

  .swal2-compact-modal .form-group {
    margin-bottom: 0.75rem;
  }

  .swal2-compact-modal .col-md-4,
  .swal2-compact-modal .col-md-6 {
    margin-bottom: 0.5rem;
  }
}

/* Larguras específicas para melhor apresentação das tabelas */
.w-60 {
  width: 60px !important;
}

/* Estilos específicos para tabela de obras */
.works-table .status-column {
  white-space: nowrap;
  text-align: center;
  width: 60px;
}

.works-table .name-column {
  min-width: 200px;
  max-width: 400px;
  word-wrap: break-word;
}

.works-table th.w-60 {
  width: 60px !important;
  max-width: 60px;
}

/* Otimização dos badges de status */
.status-badge {
  font-size: 0.75rem;
  padding: 0.25rem 0.5rem;
  white-space: nowrap;
  display: inline-block;
}

.work-type-badge {
  font-size: 0.75rem;
  padding: 0.25rem 0.5rem;
  white-space: nowrap;
  display: inline-block;
}

/* Estilos para regras fiscais */
.tax-rules-table th {
  background-color: #f8f9fa;
  font-weight: 600;
  text-align: center;
  vertical-align: middle;
}

.tax-rules-table td {
  text-align: center;
  vertical-align: middle;
}

.tax-rules-table .city-code-column {
  text-align: left;
  min-width: 120px;
}

.tax-rules-table .actions-column {
  width: 120px;
}

.tax-summary-card {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border: 1px solid #dee2e6;
  border-radius: 8px;
}

.tax-rate-input {
  text-align: right;
}

.empty-state {
  text-align: center;
  padding: 3rem 1rem;
  color: #6c757d;
}

.empty-state i {
  font-size: 3rem;
  margin-bottom: 1rem;
  opacity: 0.5;
}

.empty-state h4 {
  margin-bottom: 0.5rem;
  color: #495057;
}
