/* HipoNova v7 — ciągły modal pracy i płynne przejścia CRM / FLOW */
.hn-busy-overlay {
  position: fixed;
  inset: 0;
  z-index: 30000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(3, 8, 16, .72);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
}
.hn-busy-overlay.is-open { opacity: 1; pointer-events: all; }
.hn-busy-card {
  width: min(560px, calc(100vw - 40px));
  border-radius: 28px;
  padding: 30px 30px 26px;
  border: 1px solid rgba(86, 184, 255, .30);
  background: linear-gradient(145deg, rgba(12, 20, 34, .98), rgba(12, 27, 35, .98));
  box-shadow: 0 34px 95px rgba(0,0,0,.56), 0 0 55px rgba(86,184,255,.12);
  transform: translateY(10px) scale(.985);
  transition: transform .23s ease;
}
.hn-busy-overlay.is-open .hn-busy-card { transform: translateY(0) scale(1); }
.hn-busy-brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(115,214,79,.34);
  background: rgba(115,214,79,.07);
  color: #8ce86d;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.hn-busy-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #73d64f;
  box-shadow: 0 0 13px rgba(115,214,79,.72);
  animation: hnBusyPulse 1s ease-in-out infinite;
}
.hn-busy-title {
  margin: 0 0 9px;
  color: #f2f7ff;
  font-size: clamp(22px, 2.4vw, 27px);
  line-height: 1.18;
  font-weight: 800;
}
.hn-busy-description {
  margin: 0 0 21px;
  color: #a9bad3;
  font-size: 15px;
  line-height: 1.58;
}
.hn-busy-progress-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
  color: #dae7fb;
  font-size: 13px;
  font-weight: 700;
}
.hn-busy-percent { color: #8de86f; font-variant-numeric: tabular-nums; font-size: 15px; }
.hn-busy-track {
  height: 13px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.07);
}
.hn-busy-bar {
  height: 100%;
  width: 0%;
  border-radius: inherit;
  background: linear-gradient(90deg, #327df6 0%, #4bbcf4 43%, #73d64f 100%);
  box-shadow: 0 0 20px rgba(86,184,255,.44);
  transition: width .35s ease;
  position: relative;
}
.hn-busy-bar::after {
  content: '';
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.34), transparent);
  animation: hnBusyShimmer 1.25s linear infinite;
}
.hn-busy-note {
  margin-top: 17px;
  padding-top: 15px;
  border-top: 1px solid rgba(255,255,255,.08);
  color: #879ab7;
  font-size: 13px;
  line-height: 1.45;
}
.hn-is-busy { cursor: progress; }
.topbar-print-btn.is-busy, .topbar-print-btn:disabled {
  opacity: .72;
  cursor: wait;
  pointer-events: none;
}
@keyframes hnBusyPulse { 0%,100%{ transform: scale(.84); opacity: .66; } 50%{ transform: scale(1.18); opacity: 1; } }
@keyframes hnBusyShimmer { to { transform: translateX(100%); } }
@media (max-width: 620px) { .hn-busy-card { padding: 24px 21px 21px; border-radius: 22px; } }
@media print { .hn-busy-overlay { display: none !important; } }
