.asvservicepanel-page {
   max-width: 1200px;
}

.asvservicepanel-page-header {
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   gap: 1rem;
   margin-bottom: 1.25rem;
}

.asvservicepanel-page-header h2 {
   margin-bottom: 0;
}

.asvservicepanel-admin-layout {
   display: grid;
   grid-template-columns: minmax(240px, 260px) minmax(0, 1fr);
   gap: 1rem;
   align-items: start;
}

.asvservicepanel-admin-sidebar {
   position: sticky;
   top: 1rem;
}

.asvservicepanel-admin-content {
   min-width: 0;
}

.asvservicepanel-admin-nav-item {
   display: flex;
   align-items: center;
   gap: 0.65rem;
   border-radius: 10px;
   color: inherit;
}

.asvservicepanel-admin-nav-item i {
   font-size: 1rem;
}

.asvservicepanel-admin-nav-item.active {
   background: rgba(32, 107, 196, 0.08);
   color: var(--tblr-primary, #206bc4);
   font-weight: 600;
}

.asvservicepanel-admin-nav-item:not(.active):hover {
   background: var(--tblr-bg-surface-secondary, #f6f8fb);
}

.asvservicepanel-log {
   max-height: 520px;
   overflow: auto;
   white-space: pre-wrap;
   word-break: break-word;
   margin: 0;
}

.asvservicepanel-technician {
   display: grid;
   gap: 1rem;
}

.asvservicepanel-manager {
   display: grid;
   gap: 1rem;
}

.asvservicepanel-manager-tabs {
   margin-top: -0.25rem;
}

.asvservicepanel-manager-tab-content {
   padding-top: 0;
}

.asvservicepanel-manager-tab-content .tab-pane {
   display: grid;
   gap: 1rem;
}

.asvservicepanel-manager-tab-content .tab-pane:not(.show) {
   display: none;
}

.asvservicepanel-hero {
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   gap: 1rem;
}

.asvservicepanel-hero > .d-flex,
[data-next-ticket-refresh] {
   display: none !important;
}

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

.asvservicepanel-panel-grid {
   display: grid;
   grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
   gap: 1rem;
}

.asvservicepanel-manager-top-grid,
.asvservicepanel-manager-mid-grid,
.asvservicepanel-manager-lists-grid {
   display: grid;
   gap: 1rem;
}

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

.asvservicepanel-manager-mid-grid {
   grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
}

.asvservicepanel-manager-lists-grid {
   grid-template-columns: 1fr;
}

.asvservicepanel-manager-chart-grid,
.asvservicepanel-manager-secondary-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 1rem;
}

.asvservicepanel-stat-card {
   border: 1px solid var(--tblr-border-color, #d9dee7);
   border-radius: 8px;
   padding: 1rem;
   background: var(--tblr-bg-surface, #fff);
   display: flex;
   flex-direction: column;
   justify-content: flex-start;
   min-height: 116px;
}

.asvservicepanel-manager-card {
   min-height: 124px;
}

.asvservicepanel-chart-row,
.asvservicepanel-quality-row {
   display: grid;
   gap: 0.45rem;
}

.asvservicepanel-chart-row + .asvservicepanel-chart-row,
.asvservicepanel-quality-row + .asvservicepanel-quality-row {
   margin-top: 0.9rem;
}

.asvservicepanel-chart-row-header {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 0.75rem;
}

.asvservicepanel-chart-track {
   position: relative;
   height: 10px;
   border-radius: 999px;
   background: var(--tblr-bg-surface-secondary, #eef2f7);
   overflow: hidden;
}

.asvservicepanel-chart-bar {
   display: block;
   height: 100%;
   border-radius: inherit;
   background: var(--tblr-primary, #206bc4);
}

.asvservicepanel-status-excellent,
.asvservicepanel-status-good {
   background: #0ca678;
}

.asvservicepanel-status-warning {
   background: #f59f00;
}

.asvservicepanel-status-critical,
.asvservicepanel-status-danger {
   background: #d63939;
}

.asvservicepanel-goal-chart,
.asvservicepanel-bar-chart,
.asvservicepanel-quality-chart {
   display: grid;
   gap: 0.75rem;
}

.asvservicepanel-quality-bars {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 0.75rem;
}

.asvservicepanel-status-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 0.75rem;
}

.asvservicepanel-mini-status-card {
   border: 1px solid var(--tblr-border-color, #d9dee7);
   border-radius: 10px;
   padding: 0.9rem 1rem;
   background: #fff;
   display: grid;
   gap: 0.35rem;
}

.asvservicepanel-mini-status-card.asvservicepanel-status-excellent,
.asvservicepanel-mini-status-card.asvservicepanel-status-good,
.asvservicepanel-mini-status-card.asvservicepanel-status-warning,
.asvservicepanel-mini-status-card.asvservicepanel-status-critical {
   background: #fff;
}

.asvservicepanel-mini-status-card.asvservicepanel-status-excellent {
   border-color: rgba(12, 166, 120, 0.35);
}

.asvservicepanel-mini-status-card.asvservicepanel-status-good {
   border-color: rgba(43, 138, 62, 0.35);
}

.asvservicepanel-mini-status-card.asvservicepanel-status-warning {
   border-color: rgba(245, 159, 0, 0.35);
}

.asvservicepanel-mini-status-card.asvservicepanel-status-critical {
   border-color: rgba(214, 57, 57, 0.35);
}

.asvservicepanel-insights-grid {
   display: grid;
   gap: 0.9rem;
}

.asvservicepanel-insight-card {
   border: 1px solid var(--tblr-border-color, #d9dee7);
   border-radius: 10px;
   padding: 1rem;
   background: #fff;
}

.asvservicepanel-insight-card h4 {
   margin: 0 0 0.75rem;
   font-size: 0.95rem;
}

.asvservicepanel-insight-card ul {
   list-style: none;
   padding: 0;
   margin: 0;
   display: grid;
   gap: 0.65rem;
}

.asvservicepanel-insight-card li {
   display: grid;
   gap: 0.2rem;
}

.asvservicepanel-score-notes {
   padding-left: 1.15rem;
   display: grid;
   gap: 0.5rem;
}

.asvservicepanel-line-chart {
   display: grid;
   gap: 0.75rem;
}

.asvservicepanel-line-legend {
   display: flex;
   flex-wrap: wrap;
   gap: 0.75rem;
}

.asvservicepanel-line-legend-item {
   display: inline-flex;
   align-items: center;
   gap: 0.45rem;
   font-size: 0.85rem;
   color: var(--tblr-secondary, #6c7a91);
}

.asvservicepanel-line-legend-color {
   width: 12px;
   height: 12px;
   border-radius: 999px;
}

.asvservicepanel-line-chart-svg {
   width: 100%;
   height: auto;
}

.asvservicepanel-line-footer {
   display: grid;
   gap: 0.5rem;
   font-size: 0.75rem;
   color: var(--tblr-secondary, #6c7a91);
}

.asvservicepanel-line-sub {
   display: flex;
   flex-direction: column;
   gap: 0.25rem;
}

.asvservicepanel-line-sub + .asvservicepanel-line-sub {
   margin-top: 0.75rem;
   padding-top: 0.75rem;
   border-top: 1px solid var(--tblr-border-color, #e6e7e9);
}

.asvservicepanel-badge-status-excellent {
   background: rgba(12, 166, 120, 0.12) !important;
   color: #0ca678 !important;
}

.asvservicepanel-badge-status-good {
   background: rgba(43, 138, 62, 0.12) !important;
   color: #2b8a3e !important;
}

.asvservicepanel-badge-status-warning {
   background: rgba(245, 159, 0, 0.14) !important;
   color: #c97a00 !important;
}

.asvservicepanel-badge-status-critical {
   background: rgba(214, 57, 57, 0.12) !important;
   color: #d63939 !important;
}

.asvservicepanel-card-variant-danger {
   border-color: rgba(214, 57, 57, 0.35);
}

.asvservicepanel-card-variant-warning {
   border-color: rgba(245, 159, 0, 0.35);
}

.asvservicepanel-card-variant-success {
   border-color: rgba(12, 166, 120, 0.35);
}

.asvservicepanel-filter-card {
   text-align: left;
   cursor: pointer;
   color: inherit;
   text-decoration: none;
   transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.asvservicepanel-filter-card:focus,
.asvservicepanel-filter-card:hover {
   border-color: var(--tblr-primary, #206bc4);
   box-shadow: 0 8px 24px rgba(32, 107, 196, 0.12);
   color: inherit;
   text-decoration: none;
}

.asvservicepanel-filter-card.is-active {
   border-color: var(--tblr-primary, #206bc4);
   box-shadow: inset 0 0 0 1px rgba(32, 107, 196, 0.18);
   background: rgba(32, 107, 196, 0.06);
}

.asvservicepanel-stat-label {
   display: block;
   font-size: 0.75rem;
   line-height: 1.35;
   text-transform: uppercase;
   color: var(--tblr-secondary, #6c7a91);
   margin-bottom: 0.35rem;
   min-height: 2.1rem;
}

.asvservicepanel-stat-value {
   font-size: 1.5rem;
   line-height: 1.1;
   margin-top: auto;
}

.asvservicepanel-stat-value-sm {
   font-size: 1rem;
   line-height: 1.3;
}

.asvservicepanel-ticket-meta {
   display: flex;
   flex-wrap: wrap;
   gap: 0.5rem;
   margin-bottom: 0.75rem;
}

.asvservicepanel-ticket-title {
   margin-bottom: 0.75rem;
}

.asvservicepanel-reasons {
   margin: 0 0 1rem;
   padding-left: 1.2rem;
}

.asvservicepanel-time-numbers {
   display: grid;
   gap: 1rem;
   grid-template-columns: repeat(2, minmax(0, 1fr));
}

.asvservicepanel-focus-card .card-body {
   min-height: 100%;
}

.asvservicepanel-time-card-body {
   display: grid;
   gap: 1rem;
   align-content: start;
}

.asvservicepanel-time-status {
   display: grid;
   gap: 0.5rem;
}

.asvservicepanel-time-state-sem_apontamentos {
   border-top: 3px solid #c2cbd6;
}

.asvservicepanel-time-state-critico {
   border-top: 3px solid #d63939;
}

.asvservicepanel-time-state-abaixo_da_meta {
   border-top: 3px solid #f59f00;
}

.asvservicepanel-time-state-proximo_da_meta {
   border-top: 3px solid #2b8a3e;
}

.asvservicepanel-time-state-meta_atingida {
   border-top: 3px solid #0ca678;
}

.asvservicepanel-table-header {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 1rem;
   flex-wrap: wrap;
}

.asvservicepanel-manager-filters .form-label {
   margin-bottom: 0.35rem;
}

.asvservicepanel-manager-actions {
   display: flex;
   align-items: center;
   gap: 0.75rem;
   flex-wrap: wrap;
}

.asvservicepanel-subsection-title {
   font-size: 0.95rem;
   font-weight: 600;
   margin: 0 0 0.75rem;
}

.asvservicepanel-manager-risk-list {
   display: grid;
   gap: 0.65rem;
}

.asvservicepanel-manager-risk-item {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 0.75rem;
   width: 100%;
   border: 1px solid var(--tblr-border-color, #d9dee7);
   border-radius: 10px;
   background: var(--tblr-bg-surface, #fff);
   padding: 0.8rem 0.9rem;
   text-align: left;
}

.asvservicepanel-manager-risk-item:hover,
.asvservicepanel-manager-risk-item:focus {
   border-color: var(--tblr-primary, #206bc4);
   background: rgba(32, 107, 196, 0.04);
   outline: none;
}

.asvservicepanel-technician-groups .card + .card {
   margin-top: 1.5rem;
}

.asvservicepanel-autocomplete {
   position: relative;
}

.asvservicepanel-autocomplete-list {
   position: absolute;
   top: calc(100% + 0.25rem);
   left: 0;
   right: 0;
   z-index: 20;
   background: var(--tblr-bg-surface, #fff);
   border: 1px solid var(--tblr-border-color, #d9dee7);
   border-radius: 6px;
   box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12);
   max-height: 280px;
   overflow: auto;
}

.asvservicepanel-autocomplete-item,
.asvservicepanel-autocomplete-empty {
   display: block;
   width: 100%;
   padding: 0.65rem 0.75rem;
   text-align: left;
   background: transparent;
   border: 0;
}

.asvservicepanel-autocomplete-item:hover,
.asvservicepanel-autocomplete-item:focus {
   background: var(--tblr-bg-surface-secondary, #f6f8fb);
   outline: none;
}

.asvservicepanel-autocomplete-empty {
   color: var(--tblr-secondary, #6c7a91);
}

@media (max-width: 991px) {
   .asvservicepanel-page-header,
   .asvservicepanel-admin-layout,
   .asvservicepanel-hero,
   .asvservicepanel-panel-grid,
   .asvservicepanel-manager-top-grid,
   .asvservicepanel-manager-mid-grid,
   .asvservicepanel-manager-chart-grid,
   .asvservicepanel-manager-secondary-grid {
      grid-template-columns: 1fr;
      display: grid;
   }

   .asvservicepanel-admin-sidebar {
      position: static;
   }

   .asvservicepanel-time-numbers {
      grid-template-columns: 1fr;
   }

   .asvservicepanel-quality-bars,
   .asvservicepanel-status-grid {
      grid-template-columns: 1fr;
   }
}

/* ─── Technician name two-line display ──────────────────────────── */

.asvservicepanel-tech-name {
   line-height: 1.3;
}

.asvservicepanel-tech-name small {
   font-size: 0.75rem;
   margin-top: 0.1rem;
}

/* ─── Ranking list ──────────────────────────────────────────────── */

.asvservicepanel-ranking-list {
   display: grid;
   gap: 0;
}

.asvservicepanel-ranking-row {
   display: grid;
   grid-template-columns: 2rem 1fr auto;
   align-items: center;
   gap: 0.75rem;
   padding: 0.65rem 0;
   border-bottom: 1px solid var(--tblr-border-color, #d9dee7);
}

.asvservicepanel-ranking-row:last-child {
   border-bottom: none;
   padding-bottom: 0;
}

.asvservicepanel-ranking-pos {
   font-size: 0.78rem;
   font-weight: 700;
   color: var(--tblr-secondary, #6c7a91);
   text-align: center;
}

.asvservicepanel-ranking-score-col {
   min-width: 110px;
   display: grid;
   gap: 0.2rem;
}

/* ─── Score badge in table ───────────────────────────────────────── */

.asvservicepanel-score-badge {
   font-size: 0.85rem;
   padding: 0.3em 0.65em;
   font-weight: 700;
}

/* ─── Goal progress in table ─────────────────────────────────────── */

.asvservicepanel-goal-progress {
   display: flex;
   align-items: center;
   gap: 0.5rem;
}

.asvservicepanel-goal-progress .asvservicepanel-chart-track {
   min-width: 60px;
}

/* ─── Trend icon ─────────────────────────────────────────────────── */

.asvservicepanel-trend-icon {
   display: inline-flex;
   align-items: center;
   gap: 0.25rem;
   font-size: 0.85rem;
   white-space: nowrap;
}

/* ─── Donut chart (SVG-based) ────────────────────────────────────── */

.asvservicepanel-donut-wrap {
   display: flex;
   align-items: center;
   gap: 1.5rem;
   flex-wrap: wrap;
}

.asvservicepanel-donut-svg {
   width: 160px;
   height: 160px;
   flex-shrink: 0;
   overflow: visible;
}

.asvservicepanel-donut-total-num {
   font-size: 22px;
   font-weight: 700;
   fill: var(--tblr-body-color, #182433);
}

.asvservicepanel-donut-total-lbl {
   font-size: 11px;
   fill: var(--tblr-secondary, #6c7a91);
}

.asvservicepanel-donut-legend {
   display: grid;
   gap: 0.55rem;
   flex: 1;
   min-width: 140px;
}

.asvservicepanel-donut-legend-item {
   display: flex;
   align-items: center;
   gap: 0.5rem;
   font-size: 0.85rem;
}

.asvservicepanel-donut-legend-item strong {
   margin-left: auto;
   font-size: 0.9rem;
}

.asvservicepanel-donut-legend-dot {
   width: 10px;
   height: 10px;
   border-radius: 50%;
   flex-shrink: 0;
}

/* ─── Quality chart columns ──────────────────────────────────────── */

.asvservicepanel-quality-bars-2 {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 0.75rem;
}

.asvservicepanel-quality-bars-3 {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 0.75rem;
}

/* ─── Table improvements ─────────────────────────────────────────── */

.asvservicepanel-manager-table thead th {
   font-weight: 600;
   font-size: 0.72rem;
   text-transform: uppercase;
   letter-spacing: 0.04em;
   color: var(--tblr-secondary, #6c7a91);
   border-bottom: 2px solid var(--tblr-border-color, #d9dee7);
   padding: 0.65rem 0.75rem;
   white-space: nowrap;
}

.asvservicepanel-manager-table tbody td {
   padding: 0.65rem 0.75rem;
   vertical-align: middle;
}

.asvservicepanel-manager-table tbody tr:hover {
   background: var(--tblr-bg-surface-secondary, #f6f8fb);
}

/* ─── Evolution chart footer label ──────────────────────────────── */

.asvservicepanel-line-footer-label {
   font-size: 0.72rem;
   color: var(--tblr-secondary, #6c7a91);
   text-align: center;
   display: block;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
}

.asvservicepanel-line-footer {
   display: grid;
   gap: 0.25rem;
   margin-top: 0.25rem;
}

@media (max-width: 767px) {
   .asvservicepanel-quality-bars-2,
   .asvservicepanel-quality-bars-3 {
      grid-template-columns: 1fr;
   }

   .asvservicepanel-donut-wrap {
      flex-direction: column;
      align-items: flex-start;
   }
}

[data-queue-tabs] {
   border-bottom: 1px solid var(--tblr-border-color, #d9dee7);
   gap: 0;
}

[data-queue-tabs] .nav-link {
   border-bottom: 2px solid transparent;
   padding-bottom: 0.65rem;
}

[data-queue-tabs] .nav-link.active {
   border-bottom-color: var(--tblr-primary, #206bc4);
   font-weight: 600;
}

.badge.bg-red {
   background-color: var(--tblr-red, #d63939) !important;
   color: #fff !important;
}

.bg-red-lt {
   background-color: var(--tblr-red-lt, #f8d7da) !important;
   color: var(--tblr-red, #d63939) !important;
}

/* ============================================================
   Relatórios Operacionais
   ============================================================ */

.asvservicepanel-reports {
   display: flex;
   flex-direction: column;
   gap: 1.25rem;
}

.asvservicepanel-hero {
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
   gap: 1rem;
}

.asvservicepanel-hero-actions {
   display: flex;
   gap: 0.5rem;
   align-items: center;
   flex-shrink: 0;
}

.asvservicepanel-period-shortcuts {
   display: flex;
   flex-wrap: wrap;
   gap: 0.25rem;
}

/* Report chart grid */
.asvservicepanel-reports-chart-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 1.25rem;
}

/* Donut chart */
.asvservicepanel-donut-chart {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 0.75rem;
}

.asvservicepanel-donut-legend {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: 0.5rem 1.25rem;
   font-size: 0.8125rem;
}

.asvservicepanel-donut-legend-item {
   display: flex;
   align-items: center;
   gap: 0.375rem;
}

.asvservicepanel-donut-legend-dot {
   width: 10px;
   height: 10px;
   border-radius: 50%;
   flex-shrink: 0;
}

.asvservicepanel-donut-legend-label {
   color: #555;
}

.asvservicepanel-donut-legend-value {
   font-weight: 600;
   color: #333;
}

/* Bar groups (opened vs closed) */
.asvservicepanel-bar-group-row {
   display: flex;
   align-items: center;
   gap: 0.75rem;
}

.asvservicepanel-bar-group-label {
   font-size: 0.8125rem;
   color: #333;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
   max-width: 200px;
}

.asvservicepanel-bar-group-values {
   flex: 1;
   display: flex;
   gap: 0.25rem;
   align-items: center;
}

.asvservicepanel-bar-group-bar {
   height: 22px;
   border-radius: 4px;
   font-size: 0.6875rem;
   font-weight: 600;
   color: #fff;
   display: flex;
   align-items: center;
   justify-content: flex-end;
   padding-right: 6px;
   min-width: 24px;
   transition: width 0.3s ease;
}

.asvservicepanel-bar-open {
   background-color: #206bc4;
}

.asvservicepanel-bar-closed {
   background-color: #0ca678;
}

.asvservicepanel-bar-single {
   height: 22px;
   border-radius: 4px;
   font-size: 0.6875rem;
   font-weight: 600;
   color: #fff;
   display: flex;
   align-items: center;
   justify-content: flex-end;
   padding-right: 6px;
   min-width: 24px;
   background-color: #206bc4;
   transition: width 0.3s ease;
}

/* Line chart */
.asvservicepanel-line-chart {
   width: 100%;
   overflow-x: auto;
}

/* Pagination */
.asvservicepanel-pagination {
   display: flex;
   align-items: center;
   gap: 0.375rem;
   flex-wrap: wrap;
}

.asvservicepanel-page-btn.active {
   background-color: var(--tblr-primary, #206bc4);
   color: #fff;
   border-color: var(--tblr-primary, #206bc4);
}

/* Responsive */
@media (max-width: 991px) {
   .asvservicepanel-reports-chart-grid {
      grid-template-columns: 1fr;
   }

   .asvservicepanel-hero {
      flex-direction: column;
   }

   .asvservicepanel-bar-group-label {
      max-width: 120px;
   }
}

@media (max-width: 767px) {
   .asvservicepanel-bar-group-label {
      max-width: 80px;
      font-size: 0.75rem;
   }
}

/* Loading overlay */
.asvservicepanel-loading {
   display: none;
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(255, 255, 255, 0.75);
   z-index: 9999;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 1rem;
   font-size: 1rem;
   color: #495057;
}

.asvservicepanel-loading-spinner {
   width: 36px;
   height: 36px;
   border: 3px solid #e5e7eb;
   border-top-color: #206bc4;
   border-radius: 50%;
   animation: asvservicepanel-spin 0.8s linear infinite;
}

@keyframes asvservicepanel-spin {
   to { transform: rotate(360deg); }
}

/* ============================================================
   Ticket AI Toolbar
   ============================================================ */

.asvservicepanel-ticket-ai-toolbar {
   background: var(--tblr-bg-surface-secondary, #f8f9fa);
   border: 1px solid var(--tblr-border-color, #dee2e6);
   border-radius: 0.375rem;
   padding: 0.5rem 0.75rem;
   margin-bottom: 1rem;
}

.asvservicepanel-ticket-ai-toolbar .btn:disabled {
   opacity: 0.6;
}

/* ============================================================
   AI Items in GLPI Action Menu (dropdown next to "Responder")
   ============================================================ */

.asvservicepanel-ai-action-divider {
   list-style: none;
   margin: 0;
   padding: 0;
}

.asvservicepanel-ai-menu-header {
   font-size: 0.7rem;
   font-weight: 600;
   text-transform: uppercase;
   letter-spacing: 0.05em;
   color: #7048e8;
   padding: 0.35rem 1rem 0.25rem;
   display: flex;
   align-items: center;
   gap: 0.35rem;
}

.asvservicepanel-ai-menu-header .ti {
   font-size: 1rem;
}

.asvservicepanel-ai-menu-btn {
   display: flex !important;
   align-items: center;
   gap: 0.6rem;
   padding: 0.5rem 1rem !important;
   border-left: 3px solid transparent;
   transition: background-color 0.15s ease, border-left-color 0.15s ease;
}

.asvservicepanel-ai-menu-btn:hover,
.asvservicepanel-ai-menu-btn:focus {
   background: linear-gradient(90deg, rgba(112, 72, 232, 0.08), rgba(112, 72, 232, 0.02)) !important;
   border-left-color: #7048e8;
   color: #4c1d95 !important;
}

.asvservicepanel-ai-menu-icon {
   color: #7048e8;
   font-size: 1.1rem;
   flex-shrink: 0;
}

.asvservicepanel-ai-menu-btn:hover .asvservicepanel-ai-menu-icon,
.asvservicepanel-ai-menu-btn:focus .asvservicepanel-ai-menu-icon {
   color: #4c1d95;
}

.asvservicepanel-ai-menu-label {
   flex: 1;
   font-weight: 500;
}

.asvservicepanel-ai-menu-badge {
   font-size: 0.65rem;
   font-weight: 700;
   letter-spacing: 0.04em;
   padding: 0.15rem 0.4rem;
   border-radius: 0.25rem;
   background: linear-gradient(135deg, #7048e8, #9775fa);
   color: #fff;
   text-transform: uppercase;
   line-height: 1;
   flex-shrink: 0;
}

/* ── Teams integration ───────────────────────────────────────────────────── */

.asvservicepanel-teams-card-header {
   display: flex;
   align-items: center;
   justify-content: space-between;
   user-select: none;
}

.asvservicepanel-teams-chevron {
   font-size: 1rem;
   color: var(--tblr-muted, #666);
   transition: transform 0.15s ease;
}

.asvservicepanel-teams-status-badge {
   font-size: 0.85rem;
   padding: 0.35em 0.75em;
   white-space: nowrap;
}

.asvservicepanel-teams-masked-url {
   font-size: 0.8em;
   word-break: break-all;
   color: var(--tblr-muted, #777);
}

.asvservicepanel-teams-threshold-input {
   max-width: 90px;
}

.asvservicepanel-teams-integration-tabs {
   display: flex;
   gap: 0.5rem;
   flex-wrap: wrap;
}

@keyframes asvservicepanel-teams-spin {
   to { transform: rotate(360deg); }
}

.asvservicepanel-teams-spin {
   display: inline-block;
   animation: asvservicepanel-teams-spin 0.75s linear infinite;
}

/* ── Manager mode: SLA bar ── */
.asvservicepanel-sla-bar {
   position: relative;
   height: 6px;
   background: var(--tblr-border-color, #e5e7eb);
   border-radius: 3px;
   overflow: hidden;
   min-width: 80px;
}
.asvservicepanel-sla-bar::before {
   content: "";
   position: absolute;
   left: 0; top: 0; bottom: 0;
   width: var(--sla-pct, 0%);
   border-radius: 3px;
   transition: width 0.3s ease;
}
.asvservicepanel-sla-bar__label {
   display: block;
   font-size: 0.7rem;
   color: var(--tblr-muted, #6c757d);
   margin-top: 3px;
   white-space: nowrap;
}
.asvservicepanel-sla-bar--verde::before   { background: var(--tblr-success, #2fb344); }
.asvservicepanel-sla-bar--amarelo::before { background: var(--tblr-warning, #f76707); }
.asvservicepanel-sla-bar--vermelho::before { background: var(--tblr-danger, #d63939); }

/* ── Manager mode: age badge ── */
.asvservicepanel-age-badge {
   display: inline-block;
   padding: 0.2em 0.5em;
   border-radius: 4px;
   font-size: 0.75rem;
   font-weight: 500;
   white-space: nowrap;
}
.asvservicepanel-age-badge--verde   { background: var(--tblr-success-lt, #d4f5dc); color: var(--tblr-success, #2fb344); }
.asvservicepanel-age-badge--amarelo { background: var(--tblr-warning-lt, #fef3e2); color: var(--tblr-warning-fg, #b35900); }
.asvservicepanel-age-badge--vermelho { background: var(--tblr-danger-lt, #fde8e8); color: var(--tblr-danger, #d63939); }

/* ── Manager mode: score pill ── */
.asvservicepanel-score-pill {
   display: inline-block;
   padding: 0.2em 0.6em;
   border-radius: 20px;
   background: var(--tblr-azure-lt, #e8f2fb);
   color: var(--tblr-azure, #4299e1);
   font-size: 0.8rem;
   font-weight: 600;
   cursor: default;
   white-space: nowrap;
}

/* ── Manager mode: sortable header ── */
.asvservicepanel-sortable {
   cursor: pointer;
   user-select: none;
   white-space: nowrap;
}
.asvservicepanel-sortable:hover {
   background: var(--tblr-active-bg, rgba(0,0,0,.04));
}
.asvservicepanel-sortable[data-sort-dir="asc"]::after  { content: " ▲"; font-size: 0.7em; opacity: 0.6; }
.asvservicepanel-sortable[data-sort-dir="desc"]::after { content: " ▼"; font-size: 0.7em; opacity: 0.6; }

