:root {
    --app-bg: #f3f6f8;
    --app-primary: #155d82;
}

body { background: var(--app-bg); color: #23313b; }
.bg-primary, .btn-primary { background-color: var(--app-primary) !important; border-color: var(--app-primary) !important; }
.content-wrap { max-width: 1600px; margin-inline: auto; }
.login-card { max-width: 460px; }
.brand-mark { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 18px; background: var(--app-primary); color: white; font-weight: 800; letter-spacing: .05em; }
.card { border: 1px solid #dfe6ea; box-shadow: 0 2px 8px rgb(38 59 73 / 5%); }
.metric-card { border-top: 4px solid var(--app-primary); }
.table th { white-space: nowrap; color: #536570; font-size: .82rem; text-transform: uppercase; letter-spacing: .035em; background: #f8fafb; }
.empty-state { padding: 3rem 1rem; text-align: center; color: #6c7d87; }
.energy-badge { display: inline-grid; place-items: center; min-width: 2rem; height: 2rem; padding: 0 .45rem; border-radius: .45rem; font-weight: 800; color: #122; background: #dde4e8; }
.energy-badge-lg { height: 2.75rem; padding: 0 1rem; }
.energy-a { background: #1aa36f; color: white; }
.energy-b { background: #52b96b; color: white; }
.energy-c { background: #a7c957; }
.energy-d { background: #f2d44c; }
.energy-e { background: #f4aa43; }
.energy-f { background: #e66f3d; color: white; }
.energy-g { background: #c63d37; color: white; }
.energy-badge.ges { background: #8050a4; color: white; }
.energy-check input { position: absolute; opacity: 0; pointer-events: none; }
.energy-check span { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: .4rem; font-weight: 800; opacity: .4; cursor: pointer; border: 2px solid transparent; }
.energy-check input:checked + span { opacity: 1; border-color: #23313b; transform: translateY(-1px); }
.status-pending { background: #6c757d; }
.status-running { background: #0d6efd; }
.status-completed { background: #198754; }
.status-failed, .status-partial_failed { background: #dc3545; }
.detail-list dt { color: #60727d; font-weight: 500; }
.detail-list dd, .detail-list dt { padding-block: .35rem; border-bottom: 1px solid #eef1f3; margin-bottom: 0; }
.select2-container--bootstrap-5 .select2-selection { min-height: 38px; }
@media (max-width: 767px) { .table { font-size: .9rem; } }
