:root{
  --msm-marino:#1B2D70; --msm-oscuro:#101B46; --msm-electrico:#326BFA;
  --msm-gris:#F4F6FA; --msm-texto:#667085;
  --bs-primary:#326BFA; --bs-primary-rgb:50,107,250; --bs-link-color:#326BFA; --bs-link-color-rgb:50,107,250;
}
body{background:var(--msm-gris);color:#1d2433;}
.msm-nav{background:linear-gradient(90deg,var(--msm-oscuro),var(--msm-marino));}
.msm-accent{color:#8fb0ff;}
.btn-primary{--bs-btn-bg:#326BFA;--bs-btn-border-color:#326BFA;--bs-btn-hover-bg:#1B2D70;--bs-btn-hover-border-color:#1B2D70;}
.btn-outline-primary{--bs-btn-color:#326BFA;--bs-btn-border-color:#326BFA;--bs-btn-hover-bg:#326BFA;--bs-btn-hover-border-color:#326BFA;}
.card{border:0;border-radius:14px;box-shadow:0 1px 3px rgba(16,27,70,.08);}
.card-header{background:#fff;border-bottom:1px solid #eef0f5;font-weight:600;border-radius:14px 14px 0 0!important;}
.stat .num{font-size:1.8rem;font-weight:700;color:var(--msm-marino);}
.stat .lbl{color:var(--msm-texto);font-size:.85rem;}
.table> :not(caption)>*>*{vertical-align:middle;}
.text-muted2{color:var(--msm-texto);}
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 20% 20%,#22397f 0,var(--msm-oscuro) 60%);padding:16px;}
.auth-card{max-width:420px;width:100%;}
code.dns{word-break:break-all;white-space:pre-wrap;font-size:.8rem;}
#qr img,#qr canvas{margin:auto;}
