/* Dodatkowe style poza Tailwind */

.main-shell {
  position: relative;
  isolation: isolate;
  border-radius: 16px;
  background-color: #f1f3ef;
  background-image:
    radial-gradient(120% 120% at 0% 0%, rgba(206, 214, 223, 0.55), rgba(240, 242, 239, 0.95)),
    radial-gradient(140% 140% at 100% 100%, rgba(188, 200, 212, 0.35), rgba(240, 242, 239, 0.98));
  box-shadow: 0 45px 120px rgba(160, 170, 184, 0.22);
  overflow: hidden;
}

.main-shell::before,
.main-shell::after {
  content: '';
  position: absolute;
  border-radius: 9999px;
  pointer-events: none;
  mix-blend-mode: screen;
  opacity: 0.6;
  z-index: 0;
}

.main-shell::before {
  top: -180px;
  left: -140px;
  width: 420px;
  height: 420px;
  background: radial-gradient(circle, rgba(192, 202, 214, 0.3), rgba(192, 202, 214, 0) 70%);
}

.main-shell::after {
  bottom: -240px;
  right: -180px;
  width: 520px;
  height: 520px;
  background: radial-gradient(circle, rgba(176, 190, 204, 0.3), rgba(176, 190, 204, 0) 70%);
}

.main-shell > * {
  position: relative;
  z-index: 1;
}

@media (max-width: 768px) {
  .main-shell {
    border-radius: 12px;
  }

  .main-shell::before {
    width: 320px;
    height: 320px;
    top: -200px;
    left: -180px;
  }

  .main-shell::after {
    width: 360px;
    height: 360px;
    bottom: -280px;
    right: -200px;
  }
}

.main-shell .rounded-3xl,
.main-shell .rounded-2xl,
.main-shell .rounded-xl,
.main-shell .rounded-lg {
  border-radius: 0.5rem !important;
}

.linked-card--top {
  margin-bottom: 0;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-bottom-width: 0;
}

.linked-card--bottom {
  margin-top: 0 !important;
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
  border-top-width: 0;
}

.space-y-6 > #facilityCard {
  margin-top: 0 !important;
}

.flow-space > .hidden + * {
  margin-top: 0 !important;
}
@media print {
  .no-print { display: none !important; }
}

input[type="range"] {
  width: 100%;
}

/* Dokumenty do druku */
.doc h1 { font-size:20px; font-weight:700; margin:0 0 8px }
.doc h2 { font-size:14px; color:#555; margin:0 0 10px }
.doc h3 { font-size:12px; font-weight:700; margin:14px 0 6px }
.doc .signs { display:flex; gap:40px; justify-content:space-between; margin-top:30px }
.doc table.check { width:100%; border-collapse:collapse; margin-top:8px }
.doc table.check td, .doc table.check th { border:1px solid #ccc; padding:6px }

/* Intro video overlay */
body.intro-video-open {
  overflow: hidden;
}

.intro-video-overlay {
  position: fixed;
  inset: 0;
  background: rgba(56, 44, 36, 0.92);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  z-index: 9999;
  backdrop-filter: blur(6px);
}

.intro-video-close {
  position: absolute;
  top: clamp(1rem, 2vh, 2.5rem);
  right: clamp(1rem, 2vh, 2.5rem);
  width: 44px;
  height: 44px;
  border-radius: 9999px;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
  color: #fff;
  background: rgba(56, 44, 36, 0.72);
  cursor: pointer;
  transition: background 0.2s ease;
}

.intro-video-close:hover,
.intro-video-close:focus-visible {
  background: rgba(56, 44, 36, 0.88);
  outline: none;
}

.intro-video-dialog {
  position: relative;
  width: min(100%, 520px);
  max-height: calc(100vh - 3rem);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 24px;
}

.intro-video-dialog > * {
  position: relative;
  z-index: 1;
}

.intro-video-blur {
  display: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(48px);
  transform: scale(1.1);
  opacity: 0.65;
  border-radius: inherit;
  z-index: 0;
}

.intro-video-frame {
  width: min(100%, 420px);
  height: min(100%, calc(100vh - 3rem));
  max-height: calc(100vh - 3rem);
  aspect-ratio: 9 / 16;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 25px 50px rgba(15, 23, 42, 0.35);
  background: #000;
}

.intro-video-main {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #000;
}

@media (min-width: 1024px) {
  .intro-video-dialog {
    width: min(90vw, 960px);
    max-height: calc(100vh - 3rem);
  }

  .intro-video-blur {
    display: block;
  }

  .intro-video-frame {
    width: min(40vw, 440px);
    height: min(100%, calc(100vh - 3rem));
  }
}

