:root {
    --alla-bg: #f4f6f9;
    --alla-surface: #ffffff;
    --alla-surface-elevated: #ffffff;
    --alla-border: #e2e8f0;
    --alla-text: #0f172a;
    --alla-text-muted: #64748b;
    --alla-primary: #1d4ed8;
    --alla-primary-hover: #1e40af;
    --alla-primary-text: #ffffff;
    --alla-danger: #dc2626;
    --alla-success: #16a34a;
    --alla-warning: #d97706;
    --alla-input-bg: #ffffff;
    --alla-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

.alla-shell {
    background: var(--alla-bg);
    color: var(--alla-text);
    min-height: 100vh;
}

.alla-card {
    background: var(--alla-surface);
    border: 1px solid var(--alla-border);
    border-radius: 0.75rem;
    box-shadow: var(--alla-shadow);
}

.alla-muted {
    color: var(--alla-text-muted);
}

.alla-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 2.25rem;
    padding: 0.5rem 0.9rem;
    border-radius: 0.5rem;
    border: 1px solid transparent;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    text-transform: capitalize;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.alla-btn-primary {
    background: var(--alla-primary);
    color: var(--alla-primary-text);
}

.alla-btn-primary:hover {
    background: var(--alla-primary-hover);
}

.alla-btn-secondary {
    background: var(--alla-surface);
    color: var(--alla-text);
    border-color: var(--alla-border);
}

.alla-btn-danger {
    background: var(--alla-danger);
    color: #fff;
}

.alla-btn-success {
    background: #16a34a;
    color: #fff;
    border-color: #16a34a;
}

.alla-btn-success:hover {
    background: #15803d;
    border-color: #15803d;
}

.alla-badge {
    display: inline-flex;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
}

.alla-badge-ativo {
    background: #dcfce7;
    color: #166534;
}

.alla-badge-inativo {
    background: #fee2e2;
    color: #991b1b;
}

.alla-alert {
    padding: 0.75rem 1rem;
    border-radius: 0.5rem;
    margin-bottom: 1rem;
    font-size: 0.875rem;
}

.alla-alert-success {
    background: #dcfce7;
    color: #166534;
    border: 1px solid #bbf7d0;
}

.alla-alert-error {
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fecaca;
}
