:root { --brand: #0b3d91; --brand-dark: #082a66; }
body { background: #f4f6fa; }
.navbar-brand small { opacity: .75; font-weight: 400; }
.bg-brand { background: var(--brand) !important; }
.btn-brand { background: var(--brand); color: #fff; border-color: var(--brand); }
.btn-brand:hover { background: var(--brand-dark); color: #fff; }
.stat-card { border: 0; border-left: 5px solid #adb5bd; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.stat-card .num { font-size: 2rem; font-weight: 700; line-height: 1.1; }
.stat-new { border-left-color: #dc3545; }
.stat-ack { border-left-color: #fd7e14; }
.stat-prog { border-left-color: #0d6efd; }
.stat-done { border-left-color: #198754; }
.stat-on { border-left-color: #20c997; }
.stat-off { border-left-color: #6c757d; }
.table-requests td, .table-requests th { vertical-align: middle; }
.row-new { background: #fff3f3 !important; }
.row-flash { animation: flash 2.2s ease-out 3; }
@keyframes flash { 0%, 100% { background-color: #fff3f3; } 50% { background-color: #ffd1d1; } }
.badge-status-new { background: #dc3545; }
.badge-status-acknowledged { background: #fd7e14; }
.badge-status-in_progress { background: #0d6efd; }
.badge-status-resolved { background: #198754; }
.badge-status-cancelled { background: #6c757d; }
.alerts-stack { position: fixed; top: 70px; right: 16px; z-index: 2000; width: min(420px, calc(100vw - 32px)); display: flex; flex-direction: column; gap: 12px; }
.alert-card { border: 3px solid #dc3545; border-radius: .6rem; background: #fff; box-shadow: 0 8px 28px rgba(220,53,69,.35); animation: pop .35s ease-out; }
.alert-card h5 { background: #dc3545; color: #fff; margin: 0; padding: .6rem .9rem; font-weight: 800; letter-spacing: .02em; border-radius: .35rem .35rem 0 0; }
.alert-card .alert-body { padding: .8rem .9rem; }
@keyframes pop { from { transform: translateY(-12px) scale(.96); opacity: 0; } to { transform: none; opacity: 1; } }
.login-box { max-width: 380px; margin: 12vh auto 0; }
.code-box { font-family: ui-monospace, Consolas, monospace; font-size: 1.4rem; letter-spacing: .08em; user-select: all; }
pre.cmd { background: #0f172a; color: #e2e8f0; padding: .75rem; border-radius: .4rem; white-space: pre-wrap; word-break: break-all; user-select: all; }
