.fav-dashboard {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.fav-hero {
    border-radius: 1rem;
    border: 1px solid rgb(var(--gray-200));
    background: linear-gradient(135deg, rgb(var(--gray-50)) 0%, rgb(var(--white)) 60%);
    padding: 1.5rem;
}

.dark .fav-hero {
    border-color: rgb(var(--gray-700));
    background: linear-gradient(135deg, rgb(var(--gray-900)) 0%, rgb(var(--gray-950)) 60%);
}

.fav-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.fav-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.25rem 0.65rem;
    border-radius: 9999px;
    background: rgb(var(--gray-100));
    color: rgb(var(--gray-700));
}

.dark .fav-badge {
    background: rgb(var(--gray-800));
    color: rgb(var(--gray-200));
}

.fav-badge--live {
    background: rgb(var(--success-50));
    color: rgb(var(--success-700));
}

.fav-badge--warn {
    background: rgb(var(--warning-50));
    color: rgb(var(--warning-700));
}

.fav-badge-dot {
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 9999px;
    background: rgb(var(--gray-400));
}

.fav-badge-dot--live {
    background: rgb(var(--success-500));
}

.fav-badge-dot--warn {
    background: rgb(var(--warning-500));
}

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

.fav-hero-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.25rem;
    font-weight: 700;
}

.fav-hero-sub {
    margin-top: 0.35rem;
    color: rgb(var(--gray-600));
    max-width: 42rem;
}

.dark .fav-hero-sub {
    color: rgb(var(--gray-400));
}

.fav-engine-block {
    text-align: right;
}

.fav-engine-version {
    font-size: 1.1rem;
    font-weight: 700;
}

.fav-engine-label {
    font-size: 0.75rem;
    color: rgb(var(--gray-500));
}

.fav-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: 0.75rem;
    margin-top: 1.25rem;
}

.fav-stat {
    border-radius: 0.75rem;
    padding: 0.85rem 1rem;
    border: 1px solid rgb(var(--gray-200));
    background: rgb(var(--white));
}

.dark .fav-stat {
    border-color: rgb(var(--gray-700));
    background: rgb(var(--gray-900));
}

.fav-stat-k {
    font-size: 0.75rem;
    color: rgb(var(--gray-500));
}

.fav-stat-v {
    font-size: 1.5rem;
    font-weight: 700;
    margin-top: 0.15rem;
}

.fav-stat--warn .fav-stat-v { color: rgb(var(--warning-600)); }
.fav-stat--info .fav-stat-v { color: rgb(var(--info-600)); }
.fav-stat--danger .fav-stat-v { color: rgb(var(--danger-600)); }

.fav-section-title {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 0.75rem;
}

.fav-empty {
    padding: 2rem;
    text-align: center;
    color: rgb(var(--gray-500));
    border: 1px dashed rgb(var(--gray-300));
    border-radius: 0.75rem;
}

.fav-table-wrap {
    overflow-x: auto;
    border: 1px solid rgb(var(--gray-200));
    border-radius: 0.75rem;
}

.dark .fav-table-wrap {
    border-color: rgb(var(--gray-700));
}

.fav-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.fav-table th,
.fav-table td {
    padding: 0.65rem 0.85rem;
    text-align: left;
    border-bottom: 1px solid rgb(var(--gray-200));
}

.dark .fav-table th,
.dark .fav-table td {
    border-color: rgb(var(--gray-700));
}

.fav-table th {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: rgb(var(--gray-500));
    background: rgb(var(--gray-50));
}

.dark .fav-table th {
    background: rgb(var(--gray-900));
}

.fav-path {
    max-width: 18rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: ui-monospace, monospace;
    font-size: 0.75rem;
}

.fav-tag {
    display: inline-block;
    padding: 0.15rem 0.45rem;
    border-radius: 0.35rem;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
}

.fav-tag--bad {
    background: rgb(var(--danger-50));
    color: rgb(var(--danger-700));
}

.fav-tag--ok {
    background: rgb(var(--success-50));
    color: rgb(var(--success-700));
}
