:root { --mb-primary:#c2185b; --mb-dark:#2b1d26; --mb-soft:#fbeef3; }
body { background:#f6f2f4; }
.sidebar { position:fixed; top:0; bottom:0; left:0; width:240px; background:#fff !important; color:#000; display:flex; flex-direction:column; overflow-y:auto; z-index:1045; border-right:1px solid #e5e5e5; }
.sidebar .logo { width:110px; height:110px; object-fit:cover; border-radius:50%; border:3px solid var(--mb-primary); }
.sidebar .empresa-nombre { color:#000; }
.sidebar .nav-link { color:#000; font-weight:500; padding:.45rem 1rem; }
.sidebar .nav-link:hover { background:var(--mb-soft); color:#000; }
.sidebar .nav-link.active { background:var(--mb-primary); color:#fff; }
.sidebar .nav-link .mdi { margin-right:.5rem; }
.topbar { position:fixed; top:0; left:240px; right:0; height:56px; background:#fff; border-bottom:1px solid #e5e5e5; display:flex; align-items:center; padding:0 1.5rem; z-index:1030; }
.content { margin-left:240px; padding:1.5rem; padding-top:calc(56px + 1.5rem); min-height:calc(100vh - 48px); }
.app-footer { margin-left:240px; padding:.9rem 1.5rem; text-align:center; font-size:.85rem; color:#000; background:#fff; border-top:1px solid #e5e5e5; }
.app-footer a { color:var(--mb-primary); font-weight:600; text-decoration:none; }
@media (max-width: 991px) { .app-footer { margin-left:0; } }
@media (max-width: 991px) { .content { margin-left:0; } .topbar { left:0; padding:0 .75rem; } .sidebar { width:260px; } }
.btn-primary { --bs-btn-bg:var(--mb-primary); --bs-btn-border-color:var(--mb-primary); --bs-btn-hover-bg:#a3124b; --bs-btn-hover-border-color:#a3124b; --bs-btn-active-bg:#a3124b; }
.btn-outline-primary { --bs-btn-color:var(--mb-primary); --bs-btn-border-color:var(--mb-primary); --bs-btn-hover-bg:var(--mb-primary); --bs-btn-hover-border-color:var(--mb-primary); }
.card { border:0; border-radius:.9rem; box-shadow:0 4px 14px rgba(0,0,0,.10); overflow:hidden; }
.card-header { background:#fff; font-weight:600; }
.stat { font-size:1.6rem; font-weight:600; }
.auth-wrap { min-height:100vh; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#2b1d26,#c2185b); padding:1rem; }
.auth-card { width:100%; max-width:430px; }
.auth-card img { width:96px; height:96px; object-fit:cover; border-radius:50%; }
.fc .fc-button-primary { background:var(--mb-primary); border-color:var(--mb-primary); }
.fc .fc-button-primary:disabled { background:#a3124b; }
.table-sm td, .table-sm th { vertical-align:middle; }
