/**
 * Szata graficzna „Szkło” — Apartamenty Nowa-Tech.
 * Włączana, gdy w Ustawieniach → Szata graficzna wybrano „Szkło”: strony
 * dodają klasę `glass` do <html>. Klasyczny wygląd nie dostaje tych reguł.
 * Wydruki/PDF resetują efekt w @media print.
 */
html.glass body {
  /* !important, bo część stron (właściciel, ekipa) ustawia tło inline. */
  background-color: #dfe9f7 !important;
  background-image:
    radial-gradient(1000px 720px at 4% -10%, color-mix(in srgb, var(--primary, #d97706) 52%, transparent), transparent 60%),
    radial-gradient(900px 680px at 100% -6%, rgba(14, 165, 233, 0.42), transparent 62%),
    radial-gradient(900px 700px at 42% 32%, rgba(129, 140, 248, 0.34), transparent 64%),
    radial-gradient(860px 640px at 88% 88%, rgba(16, 185, 129, 0.26), transparent 64%),
    linear-gradient(165deg, #eef4fc 0%, #dbe7f6 50%, #e7eefb 100%) !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
  background-size: cover !important;
  min-height: 100vh;
}

html.glass .card,
html.glass .panel,
html.glass .cal,
html.glass .tile,
html.glass .stat-card,
html.glass .table-wrap,
html.glass .estimate-box,
html.glass .invoice-panel,
html.glass .tour-sheet {
  background-color: rgba(255, 255, 255, 0.36) !important;
  background-image: linear-gradient(140deg, rgba(255, 255, 255, 0.58) 0%, rgba(255, 255, 255, 0.04) 42%, rgba(255, 255, 255, 0.22) 100%) !important;
  -webkit-backdrop-filter: blur(30px) saturate(200%);
  backdrop-filter: blur(30px) saturate(200%);
  border-color: rgba(255, 255, 255, 0.85) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 1),
    0 22px 48px -22px rgba(15, 23, 42, 0.55) !important;
}

html.glass .site-header {
  background-color: rgba(255, 255, 255, 0.58) !important;
  -webkit-backdrop-filter: blur(26px) saturate(190%);
  backdrop-filter: blur(26px) saturate(190%);
  border-bottom-color: rgba(255, 255, 255, 0.8) !important;
}

html.glass .admin-nav {
  background-color: rgba(15, 23, 42, 0.86) !important;
  -webkit-backdrop-filter: blur(22px) saturate(170%);
  backdrop-filter: blur(22px) saturate(170%);
}

html.glass .nav-drawer {
  background-color: rgba(255, 255, 255, 0.82) !important;
  -webkit-backdrop-filter: blur(24px) saturate(170%);
  backdrop-filter: blur(24px) saturate(170%);
}

html.glass input,
html.glass select,
html.glass textarea {
  background: rgba(255, 255, 255, 0.78) !important;
  border-color: rgba(255, 255, 255, 0.85) !important;
}

html.glass .btn-ghost {
  background: rgba(255, 255, 255, 0.72) !important;
  -webkit-backdrop-filter: blur(10px) saturate(150%);
  backdrop-filter: blur(10px) saturate(150%);
}

html.glass th { background-color: rgba(255, 255, 255, 0.55) !important; }

@media (prefers-reduced-transparency: reduce) {
  html.glass .card,
  html.glass .panel,
  html.glass .cal,
  html.glass .tile,
  html.glass .stat-card,
  html.glass .table-wrap,
  html.glass .estimate-box,
  html.glass .invoice-panel,
  html.glass .tour-sheet {
    background-color: rgba(255, 255, 255, 0.82) !important;
    -webkit-backdrop-filter: blur(8px) saturate(150%);
    backdrop-filter: blur(8px) saturate(150%);
  }
  html.glass input,
  html.glass select,
  html.glass textarea { background: rgba(255, 255, 255, 0.94) !important; }
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  html.glass .card,
  html.glass .panel,
  html.glass .cal,
  html.glass .tile,
  html.glass .stat-card,
  html.glass .table-wrap,
  html.glass .estimate-box,
  html.glass .invoice-panel,
  html.glass .tour-sheet { background-color: rgba(255, 255, 255, 0.92) !important; }
}

@media print {
  html.glass body { background: #fff !important; background-image: none !important; }
  html.glass .card,
  html.glass .panel,
  html.glass .cal,
  html.glass .tile,
  html.glass .stat-card,
  html.glass .table-wrap,
  html.glass .estimate-box,
  html.glass .invoice-panel,
  html.glass .tour-sheet {
    background: #fff !important;
    background-image: none !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    border-color: #e1e0d9 !important;
  }
}
