:root { --alfa-red: #d7191f; --alfa-yellow: #f6d21c; --alfa-dark: #15181d; --bs-font-sans-serif: "Barlow", system-ui, sans-serif; }
body { background: #f6f4f0; font-family: var(--bs-font-sans-serif); }
.titulo, h1, h2, .modal-title { font-family: "Barlow Condensed", sans-serif; font-weight: 800; text-transform: uppercase; letter-spacing: .02em; }
.btn-danger { --bs-btn-bg: var(--alfa-red); --bs-btn-border-color: var(--alfa-red); }
.sidebar { background: var(--alfa-dark); color: #c9cdd3; }
@media (min-width: 992px) { .sidebar { width: 240px; min-height: 100vh; position: sticky; top: 0; height: 100vh; } }
.sidebar .nav-link { color: #c9cdd3; border-radius: .4rem; }
.sidebar .nav-link:hover { background: #262a31; color: #fff; }
.sidebar .nav-link.active { background: var(--alfa-red); color: #fff; }
.offcanvas-lg.sidebar { --bs-offcanvas-bg: var(--alfa-dark); --bs-offcanvas-width: 260px; }
.topbar { background: var(--alfa-dark); z-index: 1030; }
.faixa { height: 6px; background: repeating-linear-gradient(-45deg, var(--alfa-yellow) 0 8px, var(--alfa-dark) 8px 16px); }
.min-vw-0 { min-width: 0; }
.card { border: 1px solid #e8e3da; box-shadow: 0 4px 16px -8px rgba(0,0,0,.12); }
.card-status { cursor: pointer; transition: transform .15s; text-decoration: none; color: inherit; }
.card-status:hover { transform: translateY(-2px); }
.card-status.ativo { outline: 3px solid var(--alfa-red); }
.card-status .num { font-family: "Barlow Condensed"; font-size: 2.6rem; font-weight: 800; line-height: 1; }
.icone { width: 42px; height: 42px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; font-size: 1.3rem; }
.item-linha { background: #f3f0ea; border-radius: .5rem; padding: .5rem; }
.login-bg { background: var(--alfa-dark) linear-gradient(160deg, #1d2128, #0e1013); }
.login-card { max-width: 420px; border-top: 6px solid var(--alfa-red) !important; }
#listaClientes { max-height: 260px; overflow-y: auto; }
.table td, .table th { vertical-align: middle; }
.text-bg-warning { color: #3a2e00 !important; }
.progress { height: 8px; }
@media print { .sidebar, .topbar, .faixa, .no-print { display: none !important; } }
@media (min-width: 992px) { .offcanvas-lg.sidebar { background: var(--alfa-dark) !important; } .offcanvas-lg.sidebar .offcanvas-body, .sidebar > div { width: 100%; } }
.vstack > .card.card-body { flex: 0 0 auto; }
.border-dashed { border-style: dashed !important; }
