/* Pixelhouse — Šebesta notice 1.0.0. All rules are scoped to this module. */
dialog.pxsn {
  --pxsn-green: #008447;
  box-sizing: border-box;
  position: fixed;
  inset: 0;
  width: min(680px, calc(100% - 32px));
  max-width: none;
  height: fit-content;
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 22px;
  overflow: auto;
  overscroll-behavior: contain;
  background: #fff;
  color: #25332e;
  box-shadow: 0 28px 100px #001b2266;
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.65;
  text-align: left;
  text-transform: none;
  letter-spacing: normal;
  color-scheme: light;
}
dialog.pxsn:not([open]) { display: none !important; }
dialog.pxsn::backdrop { background: rgb(5 20 25 / 72%); backdrop-filter: blur(6px); }
dialog.pxsn[open] { animation: pxsn-enter .24s ease-out both; }
.pxsn *, .pxsn *::before, .pxsn *::after { box-sizing: border-box; }
.pxsn .pxsn__panel { border-top: 6px solid var(--pxsn-green); }
.pxsn .pxsn__header { display: flex; align-items: center; gap: 16px; padding: 30px 34px 20px; }
.pxsn .pxsn__icon { display: grid; place-items: center; flex: 0 0 48px; width: 48px; height: 48px; border-radius: 15px; background: #eaf5ee; color: var(--pxsn-green); }
.pxsn .pxsn__icon svg { width: 25px; height: 25px; }
.pxsn .pxsn__title { margin: 0; padding: 0; color: #17382b; font: 800 25px/1.2 "Plus Jakarta Sans", system-ui, sans-serif; text-transform: none; letter-spacing: .02em; overflow-wrap: anywhere; }
.pxsn button { appearance: none; -webkit-appearance: none; cursor: pointer; font-family: inherit; text-transform: none; letter-spacing: 0; touch-action: manipulation; }
.pxsn .pxsn__close { flex: 0 0 44px; display: grid; place-items: center; width: 44px; height: 44px; margin: 0 -8px 0 auto; padding: 10px; border: 0; border-radius: 50%; background: #f2f5f3; color: #46584f; }
.pxsn .pxsn__close svg { width: 22px; height: 22px; }
.pxsn .pxsn__close:hover { background: #e3ece7; color: #183e2b; }
.pxsn .pxsn__content { padding: 0 34px 8px; overflow-wrap: anywhere; }
.pxsn .pxsn__content p { margin: 0 0 18px; padding: 0; color: inherit; font: inherit; }
.pxsn .pxsn__content strong, .pxsn .pxsn__content b { color: inherit; font-weight: 750; }
.pxsn .pxsn__content a { color: #006536; text-decoration: underline; text-underline-offset: 3px; }
.pxsn .pxsn__content img { max-width: 100%; height: auto; }
.pxsn .pxsn__content blockquote { margin: 22px 0; padding: 18px 20px; border: 0; border-left: 4px solid #d3901a; border-radius: 0 12px 12px 0; background: #fff5e4; color: #75420c; font: inherit; text-align: left; }
.pxsn .pxsn__content blockquote::before, .pxsn .pxsn__content blockquote::after { content: none; }
.pxsn .pxsn__content blockquote.pxsn__operational { border-color: #008447; background: #edf7f0; color: #1d5437; }
.pxsn .pxsn__content blockquote > :last-child { margin-bottom: 0; }
.pxsn .pxsn__footer { display: flex; justify-content: flex-end; padding: 20px 34px 26px; border-top: 1px solid #e9eeeb; background: #fafcfb; }
.pxsn .pxsn__confirm { min-width: 152px; min-height: 48px; margin: 0; padding: 12px 28px; border: 1px solid transparent; border-radius: 10px; background: var(--pxsn-green); color: #fff; font-size: 16px; font-weight: 750; line-height: 1.5; text-align: center; }
.pxsn .pxsn__confirm:hover { background: #006535; }
.pxsn button:focus-visible, .pxsn a:focus-visible { outline: 3px solid #dc970b; outline-offset: 4px; }
dialog.pxsn.pxsn--fallback { z-index: 2147483000; box-shadow: 0 0 0 100vmax #051419db, 0 28px 100px #001b2266; }
@keyframes pxsn-enter { from { opacity: 0; transform: translateY(12px) scale(.985); } to { opacity: 1; transform: none; } }
@media (max-width: 520px) {
  dialog.pxsn { width: calc(100% - 24px); max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); border-radius: 17px; font-size: 16px; line-height: 1.6; }
  .pxsn .pxsn__header { gap: 12px; padding: 22px 20px 18px; }
  .pxsn .pxsn__title { font-size: 21px; }
  .pxsn .pxsn__icon { width: 40px; height: 40px; flex-basis: 40px; border-radius: 12px; }
  .pxsn .pxsn__content { padding: 0 20px 6px; }
  .pxsn .pxsn__content blockquote { margin: 18px 0; padding: 14px 16px; }
  .pxsn .pxsn__footer { padding: 17px 20px 21px; }
  .pxsn .pxsn__confirm { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { dialog.pxsn[open] { animation: none; } }
@media print { dialog.pxsn { display: none !important; } }
