* { box-sizing: border-box; }
body { font-family: 'Inter', system-ui, -apple-system, sans-serif; margin: 0; }
.devanagari, .indic { font-family: 'Noto Sans Devanagari', 'Inter', sans-serif; }

.tab-btn {
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    background: #F3F4F6;
    color: #4B5563;
    border: 1px solid transparent;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s ease;
    font-size: 0.9rem;
}
.tab-btn:hover { background: #E5E7EB; }
.tab-btn.active {
    background: #2C3E50;
    color: white;
    border-color: #2C3E50;
}

.tab-content { display: none; }
.tab-content.active { display: block; }

.btn-primary {
    display: inline-flex; align-items: center; gap: 0.4rem;
    background: #2C3E50; color: white;
    padding: 0.6rem 1.2rem;
    border-radius: 0.5rem;
    font-weight: 600;
    text-decoration: none; cursor: pointer;
    border: none;
    transition: background 0.15s;
}
.btn-primary:hover { background: #1F2937; }

.btn-secondary {
    display: inline-flex; align-items: center; gap: 0.4rem;
    background: white;
    color: #2C3E50;
    border: 1px solid #2C3E50;
    padding: 0.55rem 1.15rem;
    border-radius: 0.5rem;
    font-weight: 600;
    text-decoration: none; cursor: pointer;
}
.btn-secondary:hover { background: #F9FAFB; }

/* Praevaleo sub-navigation — a compact tab strip inside the Praevaleo tab.
   Smaller / subtler than the top-level tab buttons so the visual hierarchy
   (top-level tab → sub-feature) is clear. */
.praevaleo-subtab {
    display: inline-flex; align-items: center; gap: 0.35rem;
    background: #F3F4F6;
    color: #374151;
    padding: 0.4rem 0.85rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 500;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.praevaleo-subtab:hover { background: #E5E7EB; }
.praevaleo-subtab-active {
    background: #2C3E50;
    color: #FFFFFF;
    border-color: #2C3E50;
}
.praevaleo-subtab-active:hover { background: #1F2937; }

.status-badge {
    display: inline-block;
    padding: 0.2rem 0.6rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
}
.status-queued     { background: #E5E7EB; color: #4B5563; }
.status-processing { background: #DBEAFE; color: #1E40AF; }
.status-completed  { background: #D1FAE5; color: #065F46; }
.status-failed     { background: #FEE2E2; color: #991B1B; }
.status-cancelled  { background: #FEF3C7; color: #92400E; }
