.bf-page-loader{position:fixed;inset:0;background:rgba(246,249,252,.86);backdrop-filter:blur(2px);z-index:1050;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}
.bf-page-loader.is-visible{opacity:1;visibility:visible;pointer-events:auto}
.bf-page-loader-card{min-width:220px;max-width:320px;background:#fff;border:1px solid #dbe4ee;border-radius:16px;box-shadow:0 18px 50px rgba(15,23,42,.12);padding:22px 24px;text-align:center}
.bf-loader-spinner{width:38px;height:38px;margin:0 auto 14px;border-radius:50%;border:3px solid #dbeafe;border-top-color:#1167e8;animation:bf-spin .75s linear infinite}
.bf-page-loader strong{display:block;color:#111827;font-size:15px;margin-bottom:4px}.bf-page-loader span{display:block;color:#64748b;font-size:12px;line-height:1.45}
@keyframes bf-spin{to{transform:rotate(360deg)}}
/* App loader covers only the main workspace so the sidebar remains visible and usable. */
body:has(.phiims-shell) .bf-page-loader{left:244px}
body:has(.phiims-shell) .sidebar{z-index:1200}
body.bf-loading{cursor:progress}
body.bf-loading .mk-header{z-index:1200}
@media(max-width:900px){body:has(.phiims-shell) .bf-page-loader{left:0}.sidebar{z-index:1200}}
@media(prefers-reduced-motion:reduce){.bf-loader-spinner{animation-duration:1.5s}.bf-page-loader{transition:none}}
