@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600;700&display=swap');/* Public unit SPA — modern wellness / clinic landing (2024–2026) */
.upa-spa {
  --upa-spa-font: 'Segoe UI', system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;
  --upa-spa-bg: #f8fafc;
  --upa-spa-bg-soft: #f1f5f9;
  --upa-spa-accent: #0d9488;
  --upa-spa-accent-hover: #0f766e;
  --upa-spa-accent-soft: rgba(13, 148, 136, 0.1);
  --upa-spa-gold: #d97706;
  --upa-spa-text: #0f172a;
  --upa-spa-text-muted: #64748b;
  --upa-spa-nav-bg: rgba(248, 250, 252, 0.88);
  --upa-spa-nav-border: rgba(15, 23, 42, 0.06);
  --upa-spa-card-bg: #ffffff;
  --upa-spa-card-border: rgba(15, 23, 42, 0.08);
  --upa-spa-card-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 24px rgba(15, 23, 42, 0.06);
  --upa-spa-card-radius: 20px;
  --upa-spa-shell-max: min(100%, 1180px);
  --upa-spa-section-gap: 72px;
  --upa-spa-title-font: inherit;
  --upa-spa-hero-gradient: radial-gradient(ellipse 90% 60% at 50% -15%, rgba(13, 148, 136, 0.09), transparent 62%);
  --upa-spa-radius-sm: 10px;
  --upa-spa-radius-md: 14px;
  --upa-spa-radius-lg: 20px;
  --upa-spa-btn-radius: var(--upa-spa-radius-md);
  --upa-spa-nav-height: 72px;
  --upa-spa-surface-muted: #f1f5f9;
  --upa-spa-surface-elevated: #ffffff;
  --upa-spa-focus-ring: 0 0 0 3px rgba(13, 148, 136, 0.28);

  min-height: 100vh;
  font-family: var(--upa-spa-font);
  background:
    var(--upa-spa-hero-gradient),
    linear-gradient(180deg, var(--upa-spa-bg) 0%, var(--upa-spa-bg-soft) 42%, var(--upa-spa-bg) 100%);
  color: var(--upa-spa-text, var(--gabito-text));
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
}

.upa-spa *,
.upa-spa *::before,
.upa-spa *::after {
  box-sizing: border-box;
}

.upa-spa--booting {
  visibility: hidden;
}

.upa-spa-shell {
  width: 100%;
  max-width: var(--upa-spa-shell-max);
  margin: 0 auto;
  padding: 0 clamp(16px, 4vw, 28px) 80px;
}

/* —— Intro (below shop-style header) —— */
.upa-spa-intro {
  position: relative;
  text-align: center;
  padding: clamp(28px, 5vw, 48px) 0 clamp(20px, 4vw, 32px);
}

.upa-spa-intro-inner {
  max-width: 720px;
  margin: 0 auto;
}

.upa-spa-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
  padding: 6px 14px;
  border-radius: 999px;
  background: var(--upa-spa-accent-soft);
  color: var(--upa-spa-accent-hover);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.upa-spa-hero-logo-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

.upa-spa-hero-logo,
.upa-spa-header-logo {
  object-fit: contain;
  border-radius: var(--upa-spa-radius-md);
  border: 1px solid var(--upa-spa-card-border);
  background: var(--upa-spa-surface-elevated);
  box-shadow: var(--upa-spa-card-shadow);
}

.upa-spa-hero-logo {
  max-width: 112px;
  max-height: 112px;
  width: auto;
  height: auto;
}

.upa-spa-header-logo {
  display: block;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
}

.upa-spa-hero-title {
  margin: 0 0 12px;
  font-size: clamp(1.75rem, 5vw, 2.75rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.12;
  color: var(--upa-spa-text);
  font-family: var(--upa-spa-title-font);
}

.upa-spa-hero-lead {
  margin: 0 auto 28px;
  max-width: 580px;
  font-size: clamp(1rem, 2.2vw, 1.125rem);
  line-height: 1.65;
  color: var(--upa-spa-text-muted, var(--gabito-text-secondary));
}

.upa-spa-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  align-items: stretch;
}

.upa-spa-hero-actions > .upa-spa-btn {
  flex: 1 1 12rem;
  max-width: 100%;
}

.upa-spa-hero-actions:has(> .upa-spa-btn:only-child) {
  max-width: min(100%, 320px);
  margin-left: auto;
  margin-right: auto;
}

.upa-spa-hero-actions:has(> .upa-spa-btn:only-child) > .upa-spa-btn {
  flex: 1 1 100%;
  width: 100%;
}

/* —— Site header (shop-style) —— */
.upa-spa-nav {
  position: sticky;
  top: 0;
  z-index: 30;
  background: var(--upa-spa-nav-bg);
  backdrop-filter: blur(14px) saturate(1.2);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  border-bottom: 1px solid var(--upa-spa-nav-border);
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}

.upa-spa-nav-inner {
  display: grid;
  grid-template-columns: minmax(0, max-content) minmax(0, 1fr) auto;
  align-items: center;
  column-gap: clamp(0.5rem, 1.5vw, 1rem);
  width: 100%;
  max-width: var(--upa-spa-shell-max);
  margin: 0 auto;
  min-height: var(--upa-spa-nav-height);
  padding: 0 clamp(16px, 4vw, 28px);
}

.upa-spa-header-brand {
  min-width: 0;
  max-width: min(200px, 28vw);
  position: relative;
  z-index: 2;
  padding-right: 0.25rem;
  background: var(--upa-spa-nav-bg);
}

.upa-spa-header-brand-link {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  max-width: 100%;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  color: var(--upa-spa-accent);
  font: inherit;
  text-align: left;
  transition: opacity 0.18s ease;
}

.upa-spa-header-brand-link:hover {
  opacity: 0.88;
}

.upa-spa-header-brand-link:focus-visible {
  outline: none;
  box-shadow: var(--upa-spa-focus-ring);
  border-radius: var(--upa-spa-radius-sm);
}

.upa-spa-header-title {
  font-size: clamp(0.95rem, 2.2vw, 1.2rem);
  font-weight: 700;
  line-height: 1.2;
  color: var(--upa-spa-text);
  font-family: var(--upa-spa-title-font);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.upa-spa-header-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0.5rem, 1.2vw, 1.25rem);
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.upa-spa-header-nav::-webkit-scrollbar {
  display: none;
}

.upa-spa-header-actions {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: 0.65rem;
  position: relative;
  z-index: 2;
  padding-left: 0.5rem;
  background: var(--upa-spa-nav-bg);
}

.upa-spa-header-action-secondary,
.upa-spa-header-action-primary {
  padding: 0.55rem 1.15rem;
  min-height: 2.75rem;
  font-size: 0.875rem;
  white-space: nowrap;
}

.upa-spa-lang-switcher {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.upa-spa-lang-switcher__trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.15rem;
  min-width: 2.85rem;
  height: 2.15rem;
  padding: 0 0.35rem 0 0.45rem;
  border: 1px solid var(--upa-spa-card-border, rgba(15, 23, 42, 0.12));
  border-radius: 999px;
  background: var(--upa-spa-card-bg, #fff);
  color: var(--upa-spa-text, #0f172a);
  font: inherit;
  line-height: 1;
  cursor: pointer;
}

.upa-spa-lang-switcher__trigger:hover:not(:disabled) {
  border-color: var(--upa-spa-accent, #4f46e5);
}

.upa-spa-lang-switcher__trigger:focus-visible {
  outline: 2px solid var(--upa-spa-accent, #4f46e5);
  outline-offset: 2px;
}

.upa-spa-lang-switcher__trigger:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.upa-spa-lang-switcher__code {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.upa-spa-lang-switcher__chevron {
  width: 0.65rem;
  height: 0.65rem;
  color: var(--upa-spa-text-muted, #64748b);
  transition: transform 0.15s ease;
}

.upa-spa-lang-switcher.is-open .upa-spa-lang-switcher__chevron {
  transform: rotate(180deg);
}

.upa-spa-lang-switcher__menu {
  position: absolute;
  top: calc(100% + 0.35rem);
  right: 0;
  z-index: 50;
  min-width: 9.5rem;
  margin: 0;
  padding: 0.3rem;
  list-style: none;
  border: 1px solid var(--upa-spa-card-border, rgba(15, 23, 42, 0.12));
  border-radius: 0.65rem;
  background: var(--upa-spa-card-bg, #fff);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}

.upa-spa-lang-switcher__option {
  padding: 0.5rem 0.65rem;
  border-radius: 0.45rem;
  font-size: 0.8125rem;
  line-height: 1.25;
  color: var(--upa-spa-text, #0f172a);
  cursor: pointer;
  white-space: nowrap;
}

.upa-spa-lang-switcher__option:hover,
.upa-spa-lang-switcher__option.is-selected {
  background: var(--upa-spa-accent-soft, rgba(79, 70, 229, 0.08));
  color: var(--upa-spa-accent, #4f46e5);
}

.upa-spa-mobile-nav-lang {
  padding: 0.75rem 1rem 0.25rem;
}

.upa-spa-header-menu-toggle {
  display: none;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: 1px solid var(--upa-spa-card-border);
  border-radius: var(--upa-spa-radius-sm);
  background: var(--upa-spa-surface-elevated);
  color: var(--upa-spa-text);
  cursor: pointer;
  transition: border-color 0.18s ease, background 0.18s ease;
}

.upa-spa-header-menu-toggle svg {
  width: 1.35rem;
  height: 1.35rem;
}

.upa-spa-header-menu-toggle:hover {
  border-color: var(--upa-spa-accent);
  background: var(--upa-spa-accent-soft);
}

.upa-spa-header-menu-toggle:focus-visible {
  outline: none;
  box-shadow: var(--upa-spa-focus-ring);
}

.upa-spa-nav-link {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0;
  border: none;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--upa-spa-text-muted, var(--gabito-text-secondary));
  font-size: 0.925rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.18s ease, border-color 0.18s ease;
  font-family: inherit;
}

.upa-spa-nav-link:hover {
  color: var(--upa-spa-accent);
  background: transparent;
}

.upa-spa-nav-link:focus-visible {
  outline: none;
  box-shadow: var(--upa-spa-focus-ring);
  border-radius: var(--upa-spa-radius-sm);
}

.upa-spa-nav-link.is-active {
  color: var(--upa-spa-accent);
  border-bottom-color: var(--upa-spa-accent);
  background: transparent;
  box-shadow: none;
}

.upa-spa-mobile-nav {
  display: none;
  position: fixed;
  inset: 0;
  top: var(--upa-spa-nav-height);
  z-index: 29;
  background: rgba(15, 23, 42, 0.45);
}

.upa-spa-mobile-nav.is-open {
  display: block;
}

.upa-spa-mobile-nav-panel {
  background: var(--upa-spa-surface-elevated);
  padding: 1rem clamp(16px, 4vw, 28px) 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  border-bottom: 1px solid var(--upa-spa-nav-border);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

.upa-spa-mobile-nav-link {
  display: block;
  width: 100%;
  padding: 0.85rem 0.75rem;
  border: none;
  border-radius: var(--upa-spa-radius-sm);
  background: transparent;
  color: var(--upa-spa-text);
  font-size: 0.975rem;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
  transition: background 0.18s ease, color 0.18s ease;
}

.upa-spa-mobile-nav-link:hover,
.upa-spa-mobile-nav-link.is-active {
  background: var(--upa-spa-accent-soft);
  color: var(--upa-spa-accent-hover);
}

.upa-spa-mobile-nav-actions {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--upa-spa-nav-border);
}

.upa-spa-mobile-nav-actions .upa-spa-btn {
  width: 100%;
}

@media (max-width: 1100px) and (min-width: 901px) {
  .upa-spa-header-nav {
    justify-content: flex-start;
  }

  .upa-spa-header-action-secondary,
  .upa-spa-header-action-primary {
    padding-inline: 0.85rem;
    font-size: 0.8125rem;
  }
}

@media (max-width: 900px) {
  .upa-spa-nav-inner {
    grid-template-columns: minmax(0, 1fr) auto auto;
  }

  .upa-spa-header-nav {
    display: none;
  }

  .upa-spa-header-menu-toggle {
    display: inline-flex;
  }

  .upa-spa-header-title {
    max-width: min(42vw, 12rem);
  }
}

@media (min-width: 901px) {
  .upa-spa-mobile-nav {
    display: none !important;
  }
}

@media (max-width: 520px) {
  .upa-spa-nav-inner {
    grid-template-columns: minmax(0, 1fr) auto auto;
  }

  .upa-spa-header-actions {
    display: flex;
    gap: 0.4rem;
    padding-left: 0.25rem;
  }

  .upa-spa-header-actions > .upa-spa-btn {
    display: none;
  }

  .upa-spa-header-title {
    max-width: min(52vw, 10rem);
  }
}

/* —— Sections —— */
.upa-spa-section {
  scroll-margin-top: calc(var(--upa-spa-nav-height) + 20px);
  margin-bottom: var(--upa-spa-section-gap);
}

.upa-spa-section-head {
  margin-bottom: 24px;
}

.upa-spa-section-eyebrow {
  margin: 0 0 8px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--upa-spa-accent);
}

.upa-spa-section-title {
  margin: 0 0 10px;
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  font-weight: 800;
  color: var(--upa-spa-text);
  letter-spacing: -0.02em;
  line-height: 1.2;
  font-family: var(--upa-spa-title-font);
}

.upa-spa-section-lead {
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--upa-spa-text-muted, var(--gabito-text-muted));
  max-width: 640px;
}

/* —— Cards —— */
.upa-spa-card {
  background: var(--upa-spa-card-bg);
  border-radius: var(--upa-spa-card-radius);
  padding: clamp(20px, 3vw, 28px);
  border: 1px solid var(--upa-spa-card-border);
  box-shadow: var(--upa-spa-card-shadow);
  margin-bottom: 16px;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.upa-spa-card:hover {
  box-shadow: 0 2px 4px rgba(15, 23, 42, 0.04), 0 12px 32px rgba(15, 23, 42, 0.08);
}

.upa-spa-card:last-child {
  margin-bottom: 0;
}

.upa-spa-h3 {
  margin: 0 0 14px;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--upa-spa-text);
  font-family: var(--upa-spa-title-font);
}

.upa-spa-muted {
  margin: 0;
  font-size: 0.925rem;
  line-height: 1.55;
  color: var(--upa-spa-text-muted, var(--gabito-text-muted));
}

.upa-spa-state,
.upa-spa-empty {
  text-align: center;
  padding: 36px 20px;
  color: var(--upa-spa-text-muted, var(--gabito-text-muted));
}

.upa-spa-error {
  border-color: var(--gabito-bg-danger-subtle);
  background: var(--gabito-bg-danger-muted);
  color: var(--gabito-color-danger-dark);
  font-weight: 500;
}

/* —— Forms & buttons —— */
.upa-spa-code-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.upa-spa-input {
  flex: 1 1 220px;
  min-width: 180px;
  padding: 12px 16px;
  border: 1px solid var(--upa-spa-card-border);
  border-radius: var(--upa-spa-radius-md);
  font-size: 1rem;
  background: var(--upa-spa-surface-elevated);
  color: var(--upa-spa-text);
  font-family: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.upa-spa-input:focus {
  outline: none;
  border-color: var(--upa-spa-accent);
  box-shadow: var(--upa-spa-focus-ring);
}

.upa-spa-btn {
  padding: 12px 20px;
  border-radius: var(--upa-spa-btn-radius);
  border: 1px solid var(--upa-spa-card-border);
  background: var(--upa-spa-surface-elevated);
  font-weight: 600;
  font-size: 0.925rem;
  cursor: pointer;
  color: var(--upa-spa-text);
  font-family: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.12s ease, box-shadow 0.18s ease;
}

.upa-spa-btn:hover {
  transform: translateY(-1px);
}

.upa-spa-btn:focus-visible {
  outline: none;
  box-shadow: var(--upa-spa-focus-ring);
}

.upa-spa-btn--lg {
  padding: 14px 26px;
  font-size: 1rem;
  border-radius: var(--upa-spa-btn-radius);
}

.upa-spa-btn--primary {
  background: var(--upa-spa-accent);
  border-color: var(--upa-spa-accent);
  color: #fff;
  box-shadow: 0 4px 16px rgba(13, 148, 136, 0.22);
}

.upa-spa-btn--primary:hover {
  background: var(--upa-spa-accent-hover);
  border-color: var(--upa-spa-accent-hover);
  box-shadow: 0 6px 20px rgba(13, 148, 136, 0.3);
}

.upa-spa-btn--outline {
  background: transparent;
  border-color: var(--upa-spa-card-border);
  color: var(--upa-spa-text);
  box-shadow: none;
}

.upa-spa-btn--outline:hover {
  border-color: var(--upa-spa-accent);
  background: var(--upa-spa-accent-soft);
  color: var(--upa-spa-accent-hover);
}

.upa-spa-btn--ghost {
  background: transparent;
  box-shadow: none;
}

/* —— Profile data —— */
.upa-spa-profile-grid {
  display: grid;
  gap: 20px;
}

@media (min-width: 640px) {
  .upa-spa-profile-grid--with-logo {
    grid-template-columns: auto 1fr;
    align-items: start;
  }
}

.upa-spa-dl {
  margin: 0;
  display: grid;
  gap: 12px 20px;
}

@media (min-width: 520px) {
  .upa-spa-dl {
    grid-template-columns: minmax(7rem, 9.5rem) 1fr;
  }
}

.upa-spa-dl dt {
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--upa-spa-text-muted, var(--gabito-text-muted));
  margin: 0;
}

.upa-spa-dl dd {
  margin: 0;
  font-size: 0.975rem;
  color: var(--upa-spa-text, var(--gabito-text));
  word-break: break-word;
  line-height: 1.5;
}

.upa-spa-hours-pre {
  margin: 0;
  font-family: inherit;
  font-size: 0.9rem;
  line-height: 1.6;
  white-space: pre-wrap;
  color: var(--upa-spa-text-muted, var(--gabito-text-secondary));
  background: var(--upa-spa-surface-muted);
  padding: 14px 16px;
  border-radius: var(--upa-spa-radius-md);
  border: 1px solid var(--upa-spa-card-border);
}

/* —— CTA grid —— */
.upa-spa-cta-grid {
  display: grid;
  gap: 16px;
  width: 100%;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}

.upa-spa-cta-grid:has(> :only-child) {
  grid-template-columns: 1fr;
  max-width: min(100%, 480px);
  margin-left: auto;
  margin-right: auto;
}

.upa-spa-cta-grid:has(> :nth-child(2):last-child) {
  grid-template-columns: 1fr;
}

@media (min-width: 640px) {
  .upa-spa-cta-grid:has(> :nth-child(2):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.upa-spa-cta-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 22px;
  border-radius: var(--upa-spa-card-radius);
  border: 1px solid var(--upa-spa-card-border);
  background: var(--upa-spa-card-bg);
  text-decoration: none;
  color: inherit;
  transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
  box-shadow: var(--upa-spa-card-shadow);
}

.upa-spa-cta-card:hover {
  border-color: var(--upa-spa-accent);
  box-shadow: 0 8px 28px rgba(13, 148, 136, 0.12);
  transform: translateY(-2px);
}

.upa-spa-cta-card--button {
  width: 100%;
  text-align: left;
  cursor: pointer;
  font: inherit;
}

.upa-spa-cta-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: var(--upa-spa-accent-soft);
  color: var(--upa-spa-accent);
  font-size: 1rem;
}

.upa-spa-cta-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--upa-spa-text);
  font-family: var(--upa-spa-title-font);
}

.upa-spa-cta-desc {
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--upa-spa-text-muted, var(--gabito-text-muted));
}

/* —— Contact —— */
.upa-spa-contact-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.upa-spa-contact-item {
  display: flex;
  align-items: baseline;
  gap: 12px;
  font-size: 0.975rem;
  padding: 10px 12px;
  border-radius: var(--upa-spa-radius-sm);
  background: var(--upa-spa-surface-muted);
}

.upa-spa-contact-item strong::after {
  content: ' ';
}

.upa-spa-contact-item i {
  color: var(--upa-spa-accent);
  width: 1.15rem;
  text-align: center;
  flex-shrink: 0;
}

.upa-spa-contact-item a {
  color: var(--upa-spa-accent-hover);
  text-decoration: none;
  font-weight: 600;
}

.upa-spa-contact-item a:hover {
  text-decoration: underline;
}

/* —— Services —— */
.upa-spa-rankings {
  border-color: var(--upa-spa-card-border);
}

.upa-spa-rankings-error {
  color: var(--gabito-color-warning-hover);
}

.upa-spa-rankings-list {
  margin: 0;
  padding-left: 1.35rem;
  font-size: 0.925rem;
  line-height: 1.6;
}

.upa-spa-rankings-item {
  display: grid;
  grid-template-columns: 2rem 1fr;
  gap: 8px 10px;
  align-items: baseline;
  padding: 6px 0;
}

.upa-spa-rankings-pos {
  font-weight: 800;
  color: var(--upa-spa-accent);
}

.upa-spa-rankings-name {
  font-weight: 600;
}

.upa-spa-section--promo .upa-spa-featured,
.upa-spa-section--bestseller .upa-spa-featured {
  border-color: var(--upa-spa-accent-soft);
}

.upa-spa-featured .upa-spa-service-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: 14px;
}

.upa-spa-featured {
  border-color: var(--upa-spa-card-border);
}

.upa-spa-service {
  position: relative;
}

.upa-spa-service-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--upa-spa-accent);
  background: var(--upa-spa-accent-soft);
  border: 1px solid rgba(13, 148, 136, 0.18);
}

.upa-spa-section--promo .upa-spa-service-badge {
  color: var(--upa-spa-accent-hover, var(--upa-spa-accent));
}

.upa-spa-section--bestseller .upa-spa-service-badge {
  color: var(--upa-spa-text);
  background: var(--upa-spa-surface-elevated);
}

.upa-spa-category-toggle {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  margin: 0 0 6px;
  padding: 10px 6px;
  text-align: left;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: var(--upa-spa-radius-sm);
  color: inherit;
  font: inherit;
  transition: background 0.15s ease;
}

.upa-spa-category-toggle:hover {
  background: var(--upa-spa-accent-soft);
}

.upa-spa-chevron {
  flex-shrink: 0;
  width: 1.25rem;
  font-size: 0.7rem;
  color: var(--upa-spa-text-muted, var(--gabito-text-muted));
}

.upa-spa-category-toggle-text {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 14px;
}

.upa-spa-category-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--upa-spa-text);
  font-family: var(--upa-spa-title-font);
}

.upa-spa-category-count {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--upa-spa-text-muted, var(--gabito-text-muted));
  padding: 2px 10px;
  border-radius: 999px;
  background: var(--upa-spa-surface-muted);
}

.upa-spa-service-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.upa-spa-service-inner {
  display: flex;
  gap: 16px;
  align-items: stretch;
  padding: 16px;
  background: var(--upa-spa-surface-muted);
  border-radius: var(--upa-spa-radius-md);
  border: 1px solid var(--upa-spa-card-border);
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.upa-spa-service-inner:hover {
  border-color: rgba(13, 148, 136, 0.25);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05);
}

.upa-spa-service-inner--no-photo {
  gap: 0;
}

.upa-spa-service-photo {
  position: relative;
  flex: 0 0 170px;
  width: 170px;
  align-self: stretch;
  min-height: 160px;
  border-radius: var(--upa-spa-radius-md);
  overflow: hidden;
  border: 1px solid var(--upa-spa-card-border);
  background: var(--upa-spa-surface-elevated);
}

.upa-spa-service-photo-img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.upa-spa-service-photo-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--upa-spa-text-muted, var(--gabito-text-muted));
  font-size: 1.75rem;
  background: linear-gradient(145deg, var(--upa-spa-surface-muted) 0%, var(--upa-spa-card-border) 100%);
}

.upa-spa-service-body {
  min-width: 0;
  flex: 1;
}

.upa-spa-service-name {
  margin: 0 0 6px;
  font-size: 1.075rem;
  font-weight: 700;
  color: var(--upa-spa-text);
  font-family: var(--upa-spa-title-font);
}

.upa-spa-service-code {
  margin: 0 0 8px;
  font-size: 0.8rem;
  color: var(--upa-spa-text-muted, var(--gabito-text-muted));
}

.upa-spa-service-desc {
  margin: 0 0 12px;
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--upa-spa-text-muted, var(--gabito-text-secondary));
  white-space: pre-wrap;
}

.upa-spa-service-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.875rem;
  color: var(--upa-spa-text-muted, var(--gabito-text-secondary));
}

.upa-spa-service-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  align-items: baseline;
}

.upa-spa-service-meta-promo {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 10px;
}

.upa-spa-price-line {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 10px;
}

.upa-spa-price-struck {
  text-decoration: line-through;
  color: var(--upa-spa-text-muted, var(--gabito-text-muted));
}

.upa-spa-price-promo {
  color: var(--gabito-color-danger);
  font-weight: 700;
}

.upa-spa-service-extra-line {
  margin: 6px 0 0;
  font-size: 0.84rem;
  line-height: 1.45;
  color: var(--upa-spa-text-muted, var(--gabito-text-secondary));
}

.upa-spa-service-actions {
  margin-top: 14px;
}

@media (max-width: 520px) {
  .upa-spa-service-inner:not(.upa-spa-service-inner--no-photo) {
    flex-direction: column;
  }

  .upa-spa-service-photo {
    flex: none;
    width: 100%;
    align-self: stretch;
    min-height: 190px;
  }
}

/* —— Reviews —— */
.upa-spa-dim-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
}

.upa-spa-dim {
  padding: 14px;
  background: var(--upa-spa-surface-muted);
  border-radius: var(--upa-spa-radius-md);
  border: 1px solid var(--upa-spa-card-border);
}

.upa-spa-dim-label {
  display: block;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--upa-spa-text-muted, var(--gabito-text-muted));
  margin-bottom: 6px;
}

.upa-spa-dim-meta {
  display: block;
  font-size: 0.78rem;
  color: var(--upa-spa-text-muted, var(--gabito-text-muted));
  margin-top: 4px;
}

.upa-spa-review-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.upa-spa-review-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.upa-spa-review-name {
  font-weight: 700;
  color: var(--upa-spa-text);
}

.upa-spa-review-date {
  font-size: 0.85rem;
  color: var(--upa-spa-text-muted, var(--gabito-text-muted));
}

.upa-spa-review-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.9rem;
  color: var(--upa-spa-text-muted, var(--gabito-text-secondary));
  margin-bottom: 10px;
}

.upa-spa-review-overall {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.upa-spa-detail-grid {
  display: grid;
  gap: 8px;
  margin-top: 10px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
}

.upa-spa-detail-label {
  display: block;
  color: var(--upa-spa-text-muted, var(--gabito-text-muted));
  font-size: 0.78rem;
  margin-bottom: 2px;
}

.upa-spa-opinion {
  margin: 14px 0 0;
  padding: 14px 16px;
  border-left: 4px solid var(--upa-spa-accent);
  background: var(--upa-spa-surface-muted);
  border-radius: 0 var(--upa-spa-radius-sm) var(--upa-spa-radius-sm) 0;
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--upa-spa-text-muted, var(--gabito-text-secondary));
  white-space: pre-wrap;
}

.upa-spa-stars {
  font-size: 1.05rem;
  letter-spacing: 2px;
  color: var(--upa-spa-gold);
}

/* —— Footer —— */
.upa-spa-footer {
  margin-top: 48px;
  padding-top: 28px;
  border-top: 1px solid var(--upa-spa-nav-border);
  text-align: center;
}

.upa-spa-shell:not(:has(#kontakt)) .upa-spa-footer {
  margin-top: 24px;
  padding-top: 20px;
}

.upa-spa-footer-text {
  margin: 0;
  font-size: 0.82rem;
  color: var(--upa-spa-text-muted, var(--gabito-text-muted));
  line-height: 1.5;
}

.upa-spa-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* —— Card row (profile/contact + gallery slot) —— */
.upa-spa-card-row {
  display: grid;
  gap: clamp(16px, 3vw, 24px);
  align-items: start;
  margin-bottom: clamp(16px, 3vw, 28px);
}

.upa-spa-card-row__main {
  min-width: 0;
}

@media (min-width: 768px) {
  .upa-spa-card-row--with-gallery {
    grid-template-columns: minmax(0, 1fr) minmax(0, var(--upa-spa-gallery-slot-width, 360px));
  }
}

.upa-spa-card-row .upa-spa-gallery-embed--card-slot {
  margin-bottom: 0;
  scroll-margin-top: calc(var(--upa-spa-nav-height, 72px) + 20px);
}

.upa-spa-card-row .upa-spa-gallery-embed--card-slot .upa-spa-card {
  margin-left: 0;
  margin-right: 0;
  max-width: none;
  width: 100%;
}

@media (max-width: 767px) {
  .upa-spa-card-row--with-gallery {
    grid-template-columns: 1fr;
  }

  .upa-spa-card-row .upa-spa-gallery-embed--card-slot .upa-spa-card {
    max-width: var(--upa-spa-gallery-max-width);
    margin-left: auto;
    margin-right: auto;
  }
}

/* —— Gallery embeds (3 groups, distributed on page) ——
   Inline content accents — not full-width hero blocks. */
.upa-spa-gallery-embed {
  --upa-spa-gallery-max-width: min(100%, 360px);
  --upa-spa-gallery-max-height: 240px;
  scroll-margin-top: var(--upa-spa-nav-height, 72px);
  margin-bottom: clamp(16px, 3vw, 28px);
}

.upa-spa-gallery-embed .upa-spa-card {
  max-width: var(--upa-spa-gallery-max-width);
  margin-bottom: 0;
  padding: 0;
  overflow: hidden;
}

/* Alternate alignment — visual rhythm in stacked flow */
.upa-spa-gallery-embed--1 .upa-spa-card {
  margin-left: auto;
  margin-right: 0;
}

.upa-spa-gallery-embed--2 .upa-spa-card {
  margin-left: 0;
  margin-right: auto;
}

.upa-spa-gallery-embed--3 .upa-spa-card {
  margin-left: auto;
  margin-right: auto;
}

.upa-spa-gallery-carousel-wrap {
  border: none;
  background: transparent;
  box-shadow: none;
}

.upa-spa-gallery-item--carousel {
  display: block;
  width: 100%;
  padding: 0;
  border: 1px solid var(--upa-spa-card-border);
  border-radius: var(--upa-spa-radius-md);
  overflow: hidden;
  background: var(--upa-spa-surface-muted);
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.upa-spa-gallery-item--carousel:hover,
.upa-spa-gallery-item--carousel:focus-visible {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--upa-spa-accent) 35%, var(--upa-spa-card-border));
  box-shadow: var(--upa-spa-card-shadow);
  outline: none;
}

.upa-spa-gallery-item--carousel:focus-visible {
  box-shadow: var(--upa-spa-focus-ring);
}

.upa-spa-gallery-viewport {
  width: min(100%, calc(var(--upa-spa-gallery-max-height) * 4 / 3));
  max-height: var(--upa-spa-gallery-max-height);
  aspect-ratio: 4 / 3;
  margin-inline: auto;
  overflow: hidden;
  position: relative;
}

.upa-spa-gallery-track {
  display: flex;
  height: 100%;
  width: 100%;
  will-change: transform;
}

.upa-spa-gallery-track--animated {
  transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
}

.upa-spa-gallery-slide {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  min-width: 0;
  position: relative;
  overflow: hidden;
}

.upa-spa-gallery-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  user-select: none;
}

@media (prefers-reduced-motion: reduce) {
  .upa-spa-gallery-track--animated {
    transition: none;
  }
}

@media (max-width: 640px) {
  .upa-spa-gallery-embed {
    --upa-spa-gallery-max-width: min(100%, 300px);
    --upa-spa-gallery-max-height: 200px;
  }

  .upa-spa-gallery-embed--1 .upa-spa-card,
  .upa-spa-gallery-embed--2 .upa-spa-card,
  .upa-spa-gallery-embed--3 .upa-spa-card {
    margin-left: auto;
    margin-right: auto;
  }

  .upa-spa-gallery-viewport {
    aspect-ratio: 4 / 3;
    width: min(100%, calc(var(--upa-spa-gallery-max-height) * 4 / 3));
  }

  .upa-spa-gallery-embed .upa-spa-card {
    max-width: var(--upa-spa-gallery-max-width);
    border-radius: var(--upa-spa-radius-md);
  }

  .upa-spa-section {
    margin-bottom: clamp(36px, 7vw, var(--upa-spa-section-gap));
  }

  .upa-spa-shell {
    padding-bottom: clamp(40px, 8vw, 80px);
  }

  .upa-spa-intro {
    padding-bottom: clamp(12px, 3vw, 24px);
  }
}
/* Motywy szablonów SPA — WYŁĄCZNIE tokeny kolorystyczne (tło, tekst, akcent, obramowania,
   cienie kolorowe, gradient hero). NIE ustawiają struktury/układu/odstępów/typografii —
   te należą do unitPublicSpaLayouts.css (układ) i unitPublicSpaEmbellishments.css (upiększenia).

   WYJĄTEK: .upa-spa-theme--luxury-gold celowo zachowuje swój premium wygląd (szeryf + radius),
   patrz blok na końcu sekcji motywów. Nie zmieniać. */

.upa-spa-theme--classic {
  --upa-spa-bg: #f8fafc;
  --upa-spa-bg-soft: #f1f5f9;
  --upa-spa-accent: #4f46e5;
  --upa-spa-accent-hover: #4338ca;
  --upa-spa-accent-soft: rgba(79, 70, 229, 0.1);
  --upa-spa-gold: #6366f1;
  --upa-spa-text: #0f172a;
  --upa-spa-text-muted: #64748b;
  --upa-spa-nav-bg: rgba(248, 250, 252, 0.88);
  --upa-spa-nav-border: rgba(15, 23, 42, 0.06);
  --upa-spa-card-bg: #ffffff;
  --upa-spa-card-border: rgba(15, 23, 42, 0.08);
  --upa-spa-card-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 24px rgba(15, 23, 42, 0.06);
  --upa-spa-hero-gradient: radial-gradient(ellipse 90% 60% at 50% -15%, rgba(79, 70, 229, 0.08), transparent 62%);
  --upa-spa-surface-muted: #f1f5f9;
  --upa-spa-focus-ring: 0 0 0 3px rgba(79, 70, 229, 0.28);
}

.upa-spa-theme--minimal {
  --upa-spa-bg: #ffffff;
  --upa-spa-bg-soft: #fafafa;
  --upa-spa-accent: #18181b;
  --upa-spa-accent-hover: #3f3f46;
  --upa-spa-accent-soft: rgba(24, 24, 27, 0.06);
  --upa-spa-gold: #71717a;
  --upa-spa-text: #18181b;
  --upa-spa-text-muted: #71717a;
  --upa-spa-nav-bg: rgba(255, 255, 255, 0.96);
  --upa-spa-nav-border: #e4e4e7;
  --upa-spa-card-bg: #fafafa;
  --upa-spa-card-border: #e4e4e7;
  --upa-spa-card-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
  --upa-spa-hero-gradient: none;
  --upa-spa-surface-muted: #f4f4f5;
  --upa-spa-focus-ring: 0 0 0 3px rgba(24, 24, 27, 0.14);
}

.upa-spa-theme--spa-wellness {
  --upa-spa-bg: #ecfdf5;
  --upa-spa-bg-soft: #d1fae5;
  --upa-spa-accent: #059669;
  --upa-spa-accent-hover: #047857;
  --upa-spa-accent-soft: rgba(5, 150, 105, 0.12);
  --upa-spa-gold: #34d399;
  --upa-spa-text: #064e3b;
  --upa-spa-text-muted: #047857;
  --upa-spa-nav-bg: rgba(236, 253, 245, 0.92);
  --upa-spa-nav-border: rgba(5, 150, 105, 0.12);
  --upa-spa-card-bg: rgba(255, 255, 255, 0.94);
  --upa-spa-card-border: rgba(5, 150, 105, 0.16);
  --upa-spa-card-shadow: 0 4px 18px rgba(5, 150, 105, 0.08);
  --upa-spa-hero-gradient: radial-gradient(ellipse 100% 70% at 50% -10%, rgba(5, 150, 105, 0.14), transparent 60%);
  --upa-spa-surface-muted: rgba(209, 250, 229, 0.55);
  --upa-spa-focus-ring: 0 0 0 3px rgba(5, 150, 105, 0.24);
}

.upa-spa-theme--modern-dark {
  --upa-spa-bg: #0f172a;
  --upa-spa-bg-soft: #1e293b;
  --upa-spa-accent: #38bdf8;
  --upa-spa-accent-hover: #0ea5e9;
  --upa-spa-accent-soft: rgba(56, 189, 248, 0.14);
  --upa-spa-gold: #fbbf24;
  --upa-spa-text: #f1f5f9;
  --upa-spa-text-muted: #94a3b8;
  --upa-spa-nav-bg: rgba(15, 23, 42, 0.92);
  --upa-spa-nav-border: rgba(56, 189, 248, 0.18);
  --upa-spa-card-bg: rgba(30, 41, 59, 0.96);
  --upa-spa-card-border: rgba(51, 65, 85, 0.9);
  --upa-spa-card-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
  --upa-spa-hero-gradient: radial-gradient(ellipse 90% 60% at 50% 0%, rgba(56, 189, 248, 0.1), transparent 65%);
  --upa-spa-surface-muted: rgba(30, 41, 59, 0.8);
  --upa-spa-surface-elevated: #1e293b;
  color: var(--upa-spa-text);
}

.upa-spa-theme--medical-clean {
  --upa-spa-bg: #f0f9ff;
  --upa-spa-bg-soft: #e0f2fe;
  --upa-spa-accent: #0284c7;
  --upa-spa-accent-hover: #0369a1;
  --upa-spa-accent-soft: rgba(2, 132, 199, 0.1);
  --upa-spa-gold: #38bdf8;
  --upa-spa-text: #0c4a6e;
  --upa-spa-text-muted: #0369a1;
  --upa-spa-nav-bg: rgba(240, 249, 255, 0.96);
  --upa-spa-nav-border: rgba(2, 132, 199, 0.14);
  --upa-spa-card-bg: #ffffff;
  --upa-spa-card-border: #bae6fd;
  --upa-spa-card-shadow: 0 2px 12px rgba(2, 132, 199, 0.06);
  --upa-spa-hero-gradient: radial-gradient(ellipse 90% 55% at 50% -8%, rgba(2, 132, 199, 0.08), transparent 62%);
  --upa-spa-surface-muted: #e0f2fe;
  --upa-spa-focus-ring: 0 0 0 3px rgba(2, 132, 199, 0.22);
}

.upa-spa-theme--warm-organic {
  --upa-spa-bg: #fffbeb;
  --upa-spa-bg-soft: #fef3c7;
  --upa-spa-accent: #b45309;
  --upa-spa-accent-hover: #92400e;
  --upa-spa-accent-soft: rgba(180, 83, 9, 0.1);
  --upa-spa-gold: #d97706;
  --upa-spa-text: #78350f;
  --upa-spa-text-muted: #a16207;
  --upa-spa-nav-bg: rgba(255, 251, 235, 0.96);
  --upa-spa-nav-border: rgba(180, 83, 9, 0.14);
  --upa-spa-card-bg: rgba(255, 255, 255, 0.94);
  --upa-spa-card-border: rgba(251, 191, 36, 0.38);
  --upa-spa-card-shadow: 0 6px 20px rgba(180, 83, 9, 0.06);
  --upa-spa-hero-gradient: radial-gradient(ellipse 85% 55% at 50% -10%, rgba(217, 119, 6, 0.08), transparent 60%);
  --upa-spa-surface-muted: rgba(254, 243, 199, 0.65);
  --upa-spa-focus-ring: 0 0 0 3px rgba(180, 83, 9, 0.2);
}

.upa-spa-theme--bold-colorful {
  --upa-spa-bg: #fdf2f8;
  --upa-spa-bg-soft: #ede9fe;
  --upa-spa-accent: #db2777;
  --upa-spa-accent-hover: #be185d;
  --upa-spa-accent-soft: rgba(219, 39, 119, 0.1);
  --upa-spa-gold: #f472b6;
  --upa-spa-text: #831843;
  --upa-spa-text-muted: #9d174d;
  --upa-spa-nav-bg: rgba(253, 242, 248, 0.94);
  --upa-spa-nav-border: rgba(219, 39, 119, 0.14);
  --upa-spa-card-bg: #ffffff;
  --upa-spa-card-border: #f9a8d4;
  --upa-spa-card-shadow: 0 14px 36px rgba(219, 39, 119, 0.08);
  --upa-spa-hero-gradient: linear-gradient(135deg, rgba(219, 39, 119, 0.06), rgba(99, 102, 241, 0.06));
  --upa-spa-surface-muted: #fce7f3;
}

.upa-spa-theme--elegant-serif {
  --upa-spa-bg: #faf7f2;
  --upa-spa-bg-soft: #f5f0e8;
  --upa-spa-accent: #92400e;
  --upa-spa-accent-hover: #78350f;
  --upa-spa-accent-soft: rgba(146, 64, 14, 0.08);
  --upa-spa-gold: #b45309;
  --upa-spa-text: #44403c;
  --upa-spa-text-muted: #78716c;
  --upa-spa-nav-bg: rgba(250, 247, 242, 0.98);
  --upa-spa-nav-border: #e7e5e4;
  --upa-spa-card-bg: #fffef9;
  --upa-spa-card-border: #e7e5e4;
  --upa-spa-card-shadow: 0 8px 28px rgba(68, 64, 60, 0.06);
  --upa-spa-hero-gradient: radial-gradient(ellipse 80% 50% at 50% -5%, rgba(146, 64, 14, 0.06), transparent 65%);
  --upa-spa-surface-muted: #f5f0e8;
  --upa-spa-focus-ring: 0 0 0 3px rgba(146, 64, 14, 0.18);
}

.upa-spa-theme--compact-mobile {
  --upa-spa-bg: #f8fafc;
  --upa-spa-bg-soft: #f1f5f9;
  --upa-spa-accent: #6366f1;
  --upa-spa-accent-hover: #4f46e5;
  --upa-spa-accent-soft: rgba(99, 102, 241, 0.1);
  --upa-spa-gold: #818cf8;
  --upa-spa-text: #1e293b;
  --upa-spa-text-muted: #64748b;
  --upa-spa-nav-bg: rgba(248, 250, 252, 0.94);
  --upa-spa-nav-border: rgba(99, 102, 241, 0.12);
  --upa-spa-card-bg: #ffffff;
  --upa-spa-card-border: rgba(99, 102, 241, 0.12);
  --upa-spa-card-shadow: 0 2px 10px rgba(99, 102, 241, 0.06);
  --upa-spa-hero-gradient: none;
  --upa-spa-surface-muted: #f1f5f9;
  --upa-spa-focus-ring: 0 0 0 3px rgba(99, 102, 241, 0.22);
}

@media (max-width: 767px) {
  .upa-spa-theme--compact-mobile {
    --upa-spa-section-gap: 44px;
    --upa-spa-card-radius: 14px;
    --upa-spa-shell-max: min(100%, 680px);
  }
}

@media (max-width: 767px) {
  .upa-spa-theme--compact-mobile {
    --upa-spa-shell-max: min(100%, 680px);
  }
}

/* Retro CRT — bursztynowy monochromatyczny terminal */
.upa-spa-theme--amber-crt {
  --upa-spa-bg: #0d0a00;
  --upa-spa-bg-soft: #1a1200;
  --upa-spa-accent: #ffb000;
  --upa-spa-accent-hover: #ffc933;
  --upa-spa-accent-soft: rgba(255, 176, 0, 0.16);
  --upa-spa-gold: #ffcc00;
  --upa-spa-text: #ffb000;
  --upa-spa-text-muted: rgba(255, 176, 0, 0.62);
  --upa-spa-nav-bg: rgba(13, 10, 0, 0.94);
  --upa-spa-nav-border: rgba(255, 176, 0, 0.22);
  --upa-spa-card-bg: rgba(26, 18, 0, 0.96);
  --upa-spa-card-border: rgba(255, 176, 0, 0.28);
  --upa-spa-card-shadow: 0 0 18px rgba(255, 176, 0, 0.08), 0 8px 24px rgba(0, 0, 0, 0.45);
  --upa-spa-hero-gradient: radial-gradient(ellipse 90% 55% at 50% 0%, rgba(255, 176, 0, 0.12), transparent 68%);
  --upa-spa-surface-muted: rgba(31, 22, 0, 0.85);
  --upa-spa-surface-elevated: #1f1600;
  --upa-spa-focus-ring: 0 0 0 3px rgba(255, 176, 0, 0.32);
  color: var(--upa-spa-text);
}

/* Retro CRT — zielony fosfor monochromatyczny */
.upa-spa-theme--green-phosphor {
  --upa-spa-bg: #000a00;
  --upa-spa-bg-soft: #001400;
  --upa-spa-accent: #33ff33;
  --upa-spa-accent-hover: #5cff5c;
  --upa-spa-accent-soft: rgba(51, 255, 51, 0.14);
  --upa-spa-gold: #39ff14;
  --upa-spa-text: #33ff33;
  --upa-spa-text-muted: rgba(51, 255, 51, 0.58);
  --upa-spa-nav-bg: rgba(0, 10, 0, 0.94);
  --upa-spa-nav-border: rgba(51, 255, 51, 0.2);
  --upa-spa-card-bg: rgba(0, 20, 0, 0.96);
  --upa-spa-card-border: rgba(51, 255, 51, 0.26);
  --upa-spa-card-shadow: 0 0 20px rgba(51, 255, 51, 0.07), 0 10px 28px rgba(0, 0, 0, 0.5);
  --upa-spa-hero-gradient: radial-gradient(ellipse 85% 50% at 50% 0%, rgba(51, 255, 51, 0.1), transparent 70%);
  --upa-spa-surface-muted: rgba(0, 26, 0, 0.88);
  --upa-spa-surface-elevated: #001a00;
  --upa-spa-focus-ring: 0 0 0 3px rgba(51, 255, 51, 0.28);
  color: var(--upa-spa-text);
}

.upa-spa-theme--rose-salon {
  --upa-spa-bg: #fff1f2;
  --upa-spa-bg-soft: #ffe4e6;
  --upa-spa-accent: #e11d48;
  --upa-spa-accent-hover: #be123c;
  --upa-spa-accent-soft: rgba(225, 29, 72, 0.1);
  --upa-spa-gold: #fb7185;
  --upa-spa-text: #881337;
  --upa-spa-text-muted: #be123c;
  --upa-spa-nav-bg: rgba(255, 241, 242, 0.96);
  --upa-spa-nav-border: rgba(225, 29, 72, 0.12);
  --upa-spa-card-bg: #ffffff;
  --upa-spa-card-border: rgba(251, 113, 133, 0.35);
  --upa-spa-card-shadow: 0 6px 22px rgba(225, 29, 72, 0.07);
  --upa-spa-hero-gradient: radial-gradient(ellipse 90% 55% at 50% -8%, rgba(225, 29, 72, 0.08), transparent 62%);
  --upa-spa-surface-muted: rgba(255, 228, 230, 0.7);
  --upa-spa-focus-ring: 0 0 0 3px rgba(225, 29, 72, 0.22);
}

.upa-spa-theme--lavender-calm {
  --upa-spa-bg: #f5f3ff;
  --upa-spa-bg-soft: #ede9fe;
  --upa-spa-accent: #7c3aed;
  --upa-spa-accent-hover: #6d28d9;
  --upa-spa-accent-soft: rgba(124, 58, 237, 0.1);
  --upa-spa-gold: #a78bfa;
  --upa-spa-text: #4c1d95;
  --upa-spa-text-muted: #6d28d9;
  --upa-spa-nav-bg: rgba(245, 243, 255, 0.96);
  --upa-spa-nav-border: rgba(124, 58, 237, 0.12);
  --upa-spa-card-bg: rgba(255, 255, 255, 0.96);
  --upa-spa-card-border: rgba(167, 139, 250, 0.32);
  --upa-spa-card-shadow: 0 8px 26px rgba(124, 58, 237, 0.07);
  --upa-spa-hero-gradient: radial-gradient(ellipse 95% 60% at 50% -10%, rgba(124, 58, 237, 0.1), transparent 65%);
  --upa-spa-surface-muted: rgba(237, 233, 254, 0.65);
  --upa-spa-focus-ring: 0 0 0 3px rgba(124, 58, 237, 0.22);
}

.upa-spa-theme--ocean-blue {
  --upa-spa-bg: #ecfeff;
  --upa-spa-bg-soft: #cffafe;
  --upa-spa-accent: #0891b2;
  --upa-spa-accent-hover: #0e7490;
  --upa-spa-accent-soft: rgba(8, 145, 178, 0.1);
  --upa-spa-gold: #22d3ee;
  --upa-spa-text: #164e63;
  --upa-spa-text-muted: #0e7490;
  --upa-spa-nav-bg: rgba(236, 254, 255, 0.96);
  --upa-spa-nav-border: rgba(8, 145, 178, 0.14);
  --upa-spa-card-bg: #ffffff;
  --upa-spa-card-border: rgba(34, 211, 238, 0.35);
  --upa-spa-card-shadow: 0 6px 20px rgba(8, 145, 178, 0.07);
  --upa-spa-hero-gradient: radial-gradient(ellipse 90% 55% at 50% -5%, rgba(8, 145, 178, 0.1), transparent 62%);
  --upa-spa-surface-muted: rgba(207, 250, 254, 0.6);
  --upa-spa-focus-ring: 0 0 0 3px rgba(8, 145, 178, 0.22);
}

.upa-spa-theme--forest-retreat {
  --upa-spa-bg: #14532d;
  --upa-spa-bg-soft: #166534;
  --upa-spa-accent: #86efac;
  --upa-spa-accent-hover: #4ade80;
  --upa-spa-accent-soft: rgba(134, 239, 172, 0.14);
  --upa-spa-gold: #bbf7d0;
  --upa-spa-text: #ecfdf5;
  --upa-spa-text-muted: rgba(236, 253, 245, 0.72);
  --upa-spa-nav-bg: rgba(20, 83, 45, 0.94);
  --upa-spa-nav-border: rgba(134, 239, 172, 0.18);
  --upa-spa-card-bg: rgba(22, 101, 52, 0.96);
  --upa-spa-card-border: rgba(134, 239, 172, 0.22);
  --upa-spa-card-shadow: 0 12px 36px rgba(0, 0, 0, 0.28);
  --upa-spa-hero-gradient: radial-gradient(ellipse 85% 55% at 50% 0%, rgba(134, 239, 172, 0.1), transparent 68%);
  --upa-spa-surface-muted: rgba(22, 101, 52, 0.85);
  --upa-spa-surface-elevated: #166534;
  --upa-spa-focus-ring: 0 0 0 3px rgba(134, 239, 172, 0.28);
  color: var(--upa-spa-text);
}

.upa-spa-theme--coral-vital {
  --upa-spa-bg: #fff7ed;
  --upa-spa-bg-soft: #ffedd5;
  --upa-spa-accent: #ea580c;
  --upa-spa-accent-hover: #c2410c;
  --upa-spa-accent-soft: rgba(234, 88, 12, 0.1);
  --upa-spa-gold: #fb923c;
  --upa-spa-text: #7c2d12;
  --upa-spa-text-muted: #c2410c;
  --upa-spa-nav-bg: rgba(255, 247, 237, 0.96);
  --upa-spa-nav-border: rgba(234, 88, 12, 0.14);
  --upa-spa-card-bg: #ffffff;
  --upa-spa-card-border: rgba(251, 146, 60, 0.38);
  --upa-spa-card-shadow: 0 8px 24px rgba(234, 88, 12, 0.07);
  --upa-spa-hero-gradient: linear-gradient(135deg, rgba(234, 88, 12, 0.06), rgba(249, 115, 22, 0.04));
  --upa-spa-surface-muted: rgba(255, 237, 213, 0.65);
  --upa-spa-focus-ring: 0 0 0 3px rgba(234, 88, 12, 0.2);
}

.upa-spa-theme--pearl-white {
  --upa-spa-bg: #fafafa;
  --upa-spa-bg-soft: #f4f4f5;
  --upa-spa-accent: #71717a;
  --upa-spa-accent-hover: #52525b;
  --upa-spa-accent-soft: rgba(113, 113, 122, 0.08);
  --upa-spa-gold: #a1a1aa;
  --upa-spa-text: #27272a;
  --upa-spa-text-muted: #71717a;
  --upa-spa-nav-bg: rgba(250, 250, 250, 0.98);
  --upa-spa-nav-border: #e4e4e7;
  --upa-spa-card-bg: #ffffff;
  --upa-spa-card-border: #e4e4e7;
  --upa-spa-card-shadow: 0 4px 16px rgba(24, 24, 27, 0.04);
  --upa-spa-hero-gradient: radial-gradient(ellipse 80% 45% at 50% -5%, rgba(161, 161, 170, 0.06), transparent 65%);
  --upa-spa-surface-muted: #f4f4f5;
  --upa-spa-focus-ring: 0 0 0 3px rgba(113, 113, 122, 0.18);
}

.upa-spa-theme--slate-professional {
  --upa-spa-bg: #334155;
  --upa-spa-bg-soft: #475569;
  --upa-spa-accent: #94a3b8;
  --upa-spa-accent-hover: #cbd5e1;
  --upa-spa-accent-soft: rgba(148, 163, 184, 0.14);
  --upa-spa-gold: #e2e8f0;
  --upa-spa-text: #f8fafc;
  --upa-spa-text-muted: #cbd5e1;
  --upa-spa-nav-bg: rgba(51, 65, 85, 0.94);
  --upa-spa-nav-border: rgba(148, 163, 184, 0.2);
  --upa-spa-card-bg: rgba(71, 85, 105, 0.96);
  --upa-spa-card-border: rgba(148, 163, 184, 0.24);
  --upa-spa-card-shadow: 0 10px 32px rgba(0, 0, 0, 0.25);
  --upa-spa-hero-gradient: radial-gradient(ellipse 85% 50% at 50% 0%, rgba(148, 163, 184, 0.08), transparent 68%);
  --upa-spa-surface-muted: rgba(71, 85, 105, 0.88);
  --upa-spa-surface-elevated: #475569;
  --upa-spa-focus-ring: 0 0 0 3px rgba(148, 163, 184, 0.28);
  color: var(--upa-spa-text);
}

.upa-spa-theme--veterinary-fresh {
  --upa-spa-bg: #f0fdfa;
  --upa-spa-bg-soft: #ccfbf1;
  --upa-spa-accent: #0d9488;
  --upa-spa-accent-hover: #0f766e;
  --upa-spa-accent-soft: rgba(13, 148, 136, 0.1);
  --upa-spa-gold: #2dd4bf;
  --upa-spa-text: #134e4a;
  --upa-spa-text-muted: #0f766e;
  --upa-spa-nav-bg: rgba(240, 253, 250, 0.96);
  --upa-spa-nav-border: rgba(13, 148, 136, 0.14);
  --upa-spa-card-bg: #ffffff;
  --upa-spa-card-border: rgba(45, 212, 191, 0.35);
  --upa-spa-card-shadow: 0 6px 20px rgba(13, 148, 136, 0.06);
  --upa-spa-hero-gradient: radial-gradient(ellipse 90% 55% at 50% -8%, rgba(13, 148, 136, 0.08), transparent 62%);
  --upa-spa-surface-muted: rgba(204, 251, 241, 0.6);
  --upa-spa-focus-ring: 0 0 0 3px rgba(13, 148, 136, 0.22);
}

.upa-spa-theme--dental-bright {
  --upa-spa-bg: #ffffff;
  --upa-spa-bg-soft: #f0fdfa;
  --upa-spa-accent: #14b8a6;
  --upa-spa-accent-hover: #0d9488;
  --upa-spa-accent-soft: rgba(20, 184, 166, 0.08);
  --upa-spa-gold: #5eead4;
  --upa-spa-text: #115e59;
  --upa-spa-text-muted: #0f766e;
  --upa-spa-nav-bg: rgba(255, 255, 255, 0.98);
  --upa-spa-nav-border: rgba(20, 184, 166, 0.16);
  --upa-spa-card-bg: #f0fdfa;
  --upa-spa-card-border: rgba(20, 184, 166, 0.22);
  --upa-spa-card-shadow: 0 2px 14px rgba(20, 184, 166, 0.05);
  --upa-spa-hero-gradient: none;
  --upa-spa-surface-muted: #ecfdf5;
  --upa-spa-focus-ring: 0 0 0 3px rgba(20, 184, 166, 0.2);
}

.upa-spa-theme--sunset-warm {
  --upa-spa-bg: #fff7ed;
  --upa-spa-bg-soft: #ffedd5;
  --upa-spa-accent: #f97316;
  --upa-spa-accent-hover: #ea580c;
  --upa-spa-accent-soft: rgba(249, 115, 22, 0.1);
  --upa-spa-gold: #fdba74;
  --upa-spa-text: #9a3412;
  --upa-spa-text-muted: #c2410c;
  --upa-spa-nav-bg: rgba(255, 247, 237, 0.96);
  --upa-spa-nav-border: rgba(249, 115, 22, 0.14);
  --upa-spa-card-bg: #ffffff;
  --upa-spa-card-border: rgba(253, 186, 116, 0.42);
  --upa-spa-card-shadow: 0 8px 26px rgba(249, 115, 22, 0.07);
  --upa-spa-hero-gradient: linear-gradient(160deg, rgba(249, 115, 22, 0.07), rgba(251, 191, 36, 0.04));
  --upa-spa-surface-muted: rgba(255, 237, 213, 0.7);
  --upa-spa-focus-ring: 0 0 0 3px rgba(249, 115, 22, 0.2);
}

.upa-spa-theme--midnight-luxe {
  --upa-spa-bg: #0f172a;
  --upa-spa-bg-soft: #1e293b;
  --upa-spa-accent: #cbd5e1;
  --upa-spa-accent-hover: #e2e8f0;
  --upa-spa-accent-soft: rgba(203, 213, 225, 0.12);
  --upa-spa-gold: #94a3b8;
  --upa-spa-text: #f1f5f9;
  --upa-spa-text-muted: #94a3b8;
  --upa-spa-nav-bg: rgba(15, 23, 42, 0.94);
  --upa-spa-nav-border: rgba(203, 213, 225, 0.16);
  --upa-spa-card-bg: rgba(30, 41, 59, 0.96);
  --upa-spa-card-border: rgba(148, 163, 184, 0.28);
  --upa-spa-card-shadow: 0 14px 40px rgba(0, 0, 0, 0.38);
  --upa-spa-hero-gradient: radial-gradient(ellipse 80% 50% at 50% 0%, rgba(203, 213, 225, 0.08), transparent 70%);
  --upa-spa-surface-muted: rgba(30, 41, 59, 0.88);
  --upa-spa-surface-elevated: #1e293b;
  --upa-spa-focus-ring: 0 0 0 3px rgba(203, 213, 225, 0.24);
  color: var(--upa-spa-text);
}

.upa-spa-theme--sage-natural {
  --upa-spa-bg: #f6f7f4;
  --upa-spa-bg-soft: #ecfccb;
  --upa-spa-accent: #65a30d;
  --upa-spa-accent-hover: #4d7c0f;
  --upa-spa-accent-soft: rgba(101, 163, 13, 0.1);
  --upa-spa-gold: #a3e635;
  --upa-spa-text: #365314;
  --upa-spa-text-muted: #4d7c0f;
  --upa-spa-nav-bg: rgba(246, 247, 244, 0.96);
  --upa-spa-nav-border: rgba(101, 163, 13, 0.14);
  --upa-spa-card-bg: #ffffff;
  --upa-spa-card-border: rgba(163, 230, 53, 0.35);
  --upa-spa-card-shadow: 0 6px 20px rgba(101, 163, 13, 0.06);
  --upa-spa-hero-gradient: radial-gradient(ellipse 85% 50% at 50% -5%, rgba(101, 163, 13, 0.07), transparent 65%);
  --upa-spa-surface-muted: rgba(236, 252, 203, 0.55);
  --upa-spa-focus-ring: 0 0 0 3px rgba(101, 163, 13, 0.2);
}

.upa-spa-theme--cherry-blossom {
  --upa-spa-bg: #fdf2f8;
  --upa-spa-bg-soft: #fce7f3;
  --upa-spa-accent: #db2777;
  --upa-spa-accent-hover: #be185d;
  --upa-spa-accent-soft: rgba(219, 39, 119, 0.1);
  --upa-spa-gold: #f472b6;
  --upa-spa-text: #831843;
  --upa-spa-text-muted: #9d174d;
  --upa-spa-nav-bg: rgba(253, 242, 248, 0.96);
  --upa-spa-nav-border: rgba(219, 39, 119, 0.12);
  --upa-spa-card-bg: #ffffff;
  --upa-spa-card-border: rgba(244, 114, 182, 0.35);
  --upa-spa-card-shadow: 0 8px 24px rgba(219, 39, 119, 0.06);
  --upa-spa-hero-gradient: radial-gradient(ellipse 90% 55% at 50% -8%, rgba(219, 39, 119, 0.07), transparent 62%);
  --upa-spa-surface-muted: rgba(252, 231, 243, 0.65);
  --upa-spa-focus-ring: 0 0 0 3px rgba(219, 39, 119, 0.2);
}

.upa-spa-theme--terracotta-earth {
  --upa-spa-bg: #fef2f2;
  --upa-spa-bg-soft: #fed7aa;
  --upa-spa-accent: #c2410c;
  --upa-spa-accent-hover: #9a3412;
  --upa-spa-accent-soft: rgba(194, 65, 12, 0.1);
  --upa-spa-gold: #ea580c;
  --upa-spa-text: #7c2d12;
  --upa-spa-text-muted: #9a3412;
  --upa-spa-nav-bg: rgba(254, 242, 242, 0.96);
  --upa-spa-nav-border: rgba(194, 65, 12, 0.14);
  --upa-spa-card-bg: #ffffff;
  --upa-spa-card-border: rgba(234, 88, 12, 0.28);
  --upa-spa-card-shadow: 0 8px 24px rgba(194, 65, 12, 0.06);
  --upa-spa-hero-gradient: radial-gradient(ellipse 85% 50% at 50% -5%, rgba(194, 65, 12, 0.07), transparent 65%);
  --upa-spa-surface-muted: rgba(254, 215, 170, 0.55);
  --upa-spa-focus-ring: 0 0 0 3px rgba(194, 65, 12, 0.2);
}

.upa-spa-theme--ice-clinic {
  --upa-spa-bg: #f8fafc;
  --upa-spa-bg-soft: #f1f5f9;
  --upa-spa-accent: #475569;
  --upa-spa-accent-hover: #334155;
  --upa-spa-accent-soft: rgba(71, 85, 105, 0.08);
  --upa-spa-gold: #64748b;
  --upa-spa-text: #1e293b;
  --upa-spa-text-muted: #64748b;
  --upa-spa-nav-bg: rgba(248, 250, 252, 0.98);
  --upa-spa-nav-border: #e2e8f0;
  --upa-spa-card-bg: #ffffff;
  --upa-spa-card-border: #e2e8f0;
  --upa-spa-card-shadow: 0 2px 12px rgba(30, 41, 59, 0.05);
  --upa-spa-hero-gradient: radial-gradient(ellipse 80% 45% at 50% -5%, rgba(71, 85, 105, 0.05), transparent 65%);
  --upa-spa-surface-muted: #f1f5f9;
  --upa-spa-focus-ring: 0 0 0 3px rgba(71, 85, 105, 0.16);
}

.upa-spa-theme--royal-purple {
  --upa-spa-bg: #2e1065;
  --upa-spa-bg-soft: #4c1d95;
  --upa-spa-accent: #c4b5fd;
  --upa-spa-accent-hover: #ddd6fe;
  --upa-spa-accent-soft: rgba(196, 181, 253, 0.14);
  --upa-spa-gold: #fbbf24;
  --upa-spa-text: #ede9fe;
  --upa-spa-text-muted: rgba(237, 233, 254, 0.72);
  --upa-spa-nav-bg: rgba(46, 16, 101, 0.94);
  --upa-spa-nav-border: rgba(196, 181, 253, 0.2);
  --upa-spa-card-bg: rgba(76, 29, 149, 0.96);
  --upa-spa-card-border: rgba(196, 181, 253, 0.28);
  --upa-spa-card-shadow: 0 14px 40px rgba(0, 0, 0, 0.35);
  --upa-spa-hero-gradient: radial-gradient(ellipse 80% 50% at 50% 0%, rgba(196, 181, 253, 0.1), transparent 70%);
  --upa-spa-surface-muted: rgba(76, 29, 149, 0.88);
  --upa-spa-surface-elevated: #4c1d95;
  --upa-spa-focus-ring: 0 0 0 3px rgba(196, 181, 253, 0.28);
  color: var(--upa-spa-text);
}

.upa-spa-theme--copper-industrial {
  --upa-spa-bg: #292524;
  --upa-spa-bg-soft: #44403c;
  --upa-spa-accent: #d97706;
  --upa-spa-accent-hover: #f59e0b;
  --upa-spa-accent-soft: rgba(217, 119, 6, 0.14);
  --upa-spa-gold: #fbbf24;
  --upa-spa-text: #fafaf9;
  --upa-spa-text-muted: #d6d3d1;
  --upa-spa-nav-bg: rgba(41, 37, 36, 0.94);
  --upa-spa-nav-border: rgba(217, 119, 6, 0.22);
  --upa-spa-card-bg: rgba(68, 64, 60, 0.96);
  --upa-spa-card-border: rgba(217, 119, 6, 0.3);
  --upa-spa-card-shadow: 0 12px 36px rgba(0, 0, 0, 0.32);
  --upa-spa-hero-gradient: radial-gradient(ellipse 85% 50% at 50% 0%, rgba(217, 119, 6, 0.1), transparent 68%);
  --upa-spa-surface-muted: rgba(68, 64, 60, 0.9);
  --upa-spa-surface-elevated: #44403c;
  --upa-spa-focus-ring: 0 0 0 3px rgba(217, 119, 6, 0.26);
  color: var(--upa-spa-text);
}

.upa-spa-theme--mint-fresh {
  --upa-spa-bg: #ecfdf5;
  --upa-spa-bg-soft: #d1fae5;
  --upa-spa-accent: #10b981;
  --upa-spa-accent-hover: #059669;
  --upa-spa-accent-soft: rgba(16, 185, 129, 0.1);
  --upa-spa-gold: #34d399;
  --upa-spa-text: #065f46;
  --upa-spa-text-muted: #047857;
  --upa-spa-nav-bg: rgba(236, 253, 245, 0.96);
  --upa-spa-nav-border: rgba(16, 185, 129, 0.14);
  --upa-spa-card-bg: #ffffff;
  --upa-spa-card-border: rgba(52, 211, 153, 0.32);
  --upa-spa-card-shadow: 0 6px 20px rgba(16, 185, 129, 0.06);
  --upa-spa-hero-gradient: radial-gradient(ellipse 90% 55% at 50% -8%, rgba(16, 185, 129, 0.08), transparent 62%);
  --upa-spa-surface-muted: rgba(209, 250, 229, 0.6);
  --upa-spa-focus-ring: 0 0 0 3px rgba(16, 185, 129, 0.22);
}

/* WYJĄTEK: luxury-gold zachowuje swój premium wygląd dokładnie taki jak był —
   szeryfowa typografia (--upa-spa-title-font) i charakterystyczny radius (--upa-spa-card-radius)
   są celowo częścią tego motywu. Nie przenosić do warstwy upiększeń ani nie zmieniać.
   Domyślne wartości upiększeń są no-op, więc nie nadpisują tych reguł. */
.upa-spa-theme--luxury-gold {
  --upa-spa-bg: #1c1917;
  --upa-spa-bg-soft: #292524;
  --upa-spa-accent: #d4af37;
  --upa-spa-accent-hover: #b8962e;
  --upa-spa-accent-soft: rgba(212, 175, 55, 0.12);
  --upa-spa-gold: #fbbf24;
  --upa-spa-text: #fafaf9;
  --upa-spa-text-muted: #d6d3d1;
  --upa-spa-title-font: Georgia, 'Times New Roman', serif;
  --upa-spa-nav-bg: rgba(28, 25, 23, 0.92);
  --upa-spa-nav-border: rgba(212, 175, 55, 0.22);
  --upa-spa-card-bg: rgba(41, 37, 36, 0.96);
  --upa-spa-card-border: rgba(212, 175, 55, 0.3);
  --upa-spa-card-radius: 6px;
  --upa-spa-card-shadow: 0 14px 44px rgba(0, 0, 0, 0.45);
  --upa-spa-hero-gradient: radial-gradient(ellipse 80% 50% at 50% 0%, rgba(212, 175, 55, 0.1), transparent 70%);
  --upa-spa-surface-muted: rgba(41, 37, 36, 0.9);
  --upa-spa-surface-elevated: #292524;
  color: var(--upa-spa-text);
}

/* Zastosowanie zmiennych motywu — wyłącznie kolor (bez struktury/typografii). */
.upa-spa[class*='upa-spa-theme--'] {
  background:
    var(--upa-spa-hero-gradient),
    linear-gradient(180deg, var(--upa-spa-bg) 0%, var(--upa-spa-bg-soft) 42%, var(--upa-spa-bg) 100%);
}

/* Szerokość kolumny treści — token z .upa-spa / układu; bez nadpisywania kolorów motywu. */
.upa-spa[class*='upa-spa-theme--'] .upa-spa-shell,
.upa-spa[class*='upa-spa-theme--'] .upa-spa-nav-inner {
  width: 100%;
  max-width: var(--upa-spa-shell-max);
}

.upa-spa[class*='upa-spa-theme--'] .upa-spa-hero-title,
.upa-spa[class*='upa-spa-theme--'] .upa-spa-section-title,
.upa-spa[class*='upa-spa-theme--'] .upa-spa-h3,
.upa-spa[class*='upa-spa-theme--'] .upa-spa-cta-title,
.upa-spa[class*='upa-spa-theme--'] .upa-spa-service-name,
.upa-spa[class*='upa-spa-theme--'] .upa-spa-category-title {
  color: var(--upa-spa-text);
}

.upa-spa[class*='upa-spa-theme--'] .upa-spa-hero-lead,
.upa-spa[class*='upa-spa-theme--'] .upa-spa-section-lead,
.upa-spa[class*='upa-spa-theme--'] .upa-spa-muted,
.upa-spa[class*='upa-spa-theme--'] .upa-spa-cta-desc,
.upa-spa[class*='upa-spa-theme--'] .upa-spa-footer-text {
  color: var(--upa-spa-text-muted);
}

.upa-spa[class*='upa-spa-theme--'] .upa-spa-nav {
  background: var(--upa-spa-nav-bg);
  border-bottom-color: var(--upa-spa-nav-border);
}

.upa-spa[class*='upa-spa-theme--'] .upa-spa-nav-link:hover {
  color: var(--upa-spa-text);
}

.upa-spa[class*='upa-spa-theme--'] .upa-spa-card {
  background: var(--upa-spa-card-bg);
  border-color: var(--upa-spa-card-border);
  border-radius: var(--upa-spa-card-radius);
  box-shadow: var(--upa-spa-card-shadow);
}

.upa-spa[class*='upa-spa-theme--'] .upa-spa-hero-logo,
.upa-spa[class*='upa-spa-theme--'] .upa-spa-header-logo {
  border-color: var(--upa-spa-card-border);
}

.upa-spa[class*='upa-spa-theme--'] .upa-spa-header-title {
  color: var(--upa-spa-text);
}

.upa-spa[class*='upa-spa-theme--'] .upa-spa-nav-link.is-active {
  color: var(--upa-spa-accent);
  border-bottom-color: var(--upa-spa-accent);
}

.upa-spa[class*='upa-spa-theme--'] .upa-spa-input {
  border-color: var(--upa-spa-card-border);
  background: var(--upa-spa-surface-elevated, var(--upa-spa-card-bg));
}

.upa-spa[class*='upa-spa-theme--'] .upa-spa-cta-card {
  border-color: var(--upa-spa-card-border);
  background: var(--upa-spa-card-bg);
}

.upa-spa[class*='upa-spa-theme--'] .upa-spa-cta-card:hover {
  border-color: var(--upa-spa-accent);
}

.upa-spa[class*='upa-spa-theme--'] .upa-spa-dl dd {
  color: var(--upa-spa-text);
}

.upa-spa[class*='upa-spa-theme--'] .upa-spa-btn--outline {
  color: var(--upa-spa-text);
}

.upa-spa[class*='upa-spa-theme--'] .upa-spa-service-inner,
.upa-spa[class*='upa-spa-theme--'] .upa-spa-dim,
.upa-spa[class*='upa-spa-theme--'] .upa-spa-contact-item,
.upa-spa[class*='upa-spa-theme--'] .upa-spa-hours-pre,
.upa-spa[class*='upa-spa-theme--'] .upa-spa-opinion {
  background: var(--upa-spa-surface-muted);
  border-color: var(--upa-spa-card-border);
}

.upa-spa[class*='upa-spa-theme--'] .upa-spa-opinion {
  border-left-color: var(--upa-spa-accent);
}

.upa-spa[class*='upa-spa-theme--'] .upa-spa-footer {
  border-top-color: var(--upa-spa-nav-border);
}
/* Układy sekcji SPA — klasy upa-spa-layout--{id} na .upa-spa (obok motywu kolorystycznego) */



/* —— Gallery embed slots (#galeria-1 … #galeria-3) ——

   DOM: intro → profil (#galeria-1 w card-row) → g3 → promocje → bestsellery → usługi → opinie → kontakt (#galeria-2 w card-row) → footer

   Puste sloty nie renderują się (v-if) — brak luk w układzie. */



/* —— stacked (domyślny — klasyczny pionowy układ) —— */

.upa-spa-layout--stacked .upa-spa-nav {

  border-bottom: 2px solid var(--upa-spa-accent-soft);

}



.upa-spa-layout--stacked .upa-spa-intro {

  padding-top: clamp(24px, 4vw, 44px);

  padding-bottom: clamp(20px, 3.5vw, 36px);

}



.upa-spa-layout--stacked .upa-spa-intro-inner {

  padding: clamp(20px, 3vw, 32px) clamp(18px, 4vw, 32px);

  border-radius: var(--upa-spa-card-radius);

  background: var(--upa-spa-card-bg);

  box-shadow: var(--upa-spa-card-shadow);

  border: 1px solid var(--upa-spa-card-border);

}



.upa-spa-layout--stacked .upa-spa-footer {

  max-width: 720px;

  margin-left: auto;

  margin-right: auto;

  padding-top: 24px;

  border-top: 1px solid var(--upa-spa-nav-border);

}



@media (max-width: 640px) {

  .upa-spa-layout--stacked .upa-spa-intro {

    padding-top: 20px;

    padding-bottom: 16px;

  }



  .upa-spa-layout--stacked .upa-spa-intro-inner {

    padding: 18px 16px;

  }

}



/* —— sidebar —— */

.upa-spa-layout--sidebar {

  display: grid;

  grid-template-columns: minmax(200px, 240px) minmax(0, 1fr);

}



@media (max-width: 900px) {

  .upa-spa-layout--sidebar {

    display: block;

  }

}



.upa-spa-layout--sidebar .upa-spa-nav {

  position: sticky;

  top: 0;

  align-self: start;

  height: 100vh;

  max-height: 100vh;

  overflow-y: auto;

  border-bottom: none;

  border-right: 1px solid var(--upa-spa-nav-border);

  box-shadow: 2px 0 12px rgba(15, 23, 42, 0.04);

}



@media (max-width: 900px) {

  .upa-spa-layout--sidebar .upa-spa-nav {

    position: sticky;

    height: auto;

    max-height: none;

    border-right: none;

    border-bottom: 1px solid var(--upa-spa-nav-border);

  }

}



/* Desktop: nav-inner is grid in base CSS — switch to vertical flex rail */

@media (min-width: 901px) {

  .upa-spa.upa-spa-layout--sidebar .upa-spa-nav-inner {

    display: flex;

    flex-direction: column;

    align-items: stretch;

    gap: 0;

    width: 100%;

    max-width: none;

    margin: 0;

    min-height: 100%;

    padding: 20px 16px;

  }



  .upa-spa-layout--sidebar .upa-spa-header-brand {

    flex-shrink: 0;

    width: 100%;

    max-width: none;

    padding-right: 0;

    margin-bottom: 12px;

    background: transparent;

  }



  .upa-spa-layout--sidebar .upa-spa-header-brand-link {

    width: 100%;

    align-items: flex-start;

  }



  .upa-spa-layout--sidebar .upa-spa-header-title {

    white-space: normal;

    overflow: visible;

    text-overflow: unset;

    max-width: none;

    width: 100%;

    word-break: break-word;

  }



  .upa-spa-layout--sidebar .upa-spa-header-nav {

    display: flex;

    flex: 1 1 auto;

    flex-direction: column;

    align-items: stretch;

    justify-content: flex-start;

    gap: 4px;

    min-width: 0;

    overflow: visible;

  }



  .upa-spa-layout--sidebar .upa-spa-header-nav .upa-spa-nav-link {

    width: 100%;

    justify-content: flex-start;

    padding: 0.5rem 0.65rem;

    border-bottom: none;

    border-radius: var(--upa-spa-radius-sm);

  }



  .upa-spa-layout--sidebar .upa-spa-header-actions {

    display: flex;

    flex-direction: column;

    align-items: stretch;

    flex-shrink: 0;

    gap: 8px;

    margin-top: auto;

    padding-top: 16px;

    margin-left: 0;

    padding-left: 0;

    background: transparent;

    overflow: visible;

  }



  .upa-spa-layout--sidebar .upa-spa-header-actions > .upa-spa-btn {

    width: 100%;

  }



  .upa-spa-layout--sidebar .upa-spa-header-menu-toggle {

    display: none;

  }

}



/* Mobile: restore horizontal shop-style header */

@media (max-width: 900px) {

  .upa-spa.upa-spa-layout--sidebar .upa-spa-nav-inner {

    display: grid;

    grid-template-columns: minmax(0, 1fr) auto auto;

    align-items: center;

    min-height: var(--upa-spa-nav-height);

    padding: 0 clamp(16px, 4vw, 28px);

    max-width: var(--upa-spa-shell-max);

    margin: 0 auto;

  }



  .upa-spa-layout--sidebar .upa-spa-header-brand {

    max-width: min(200px, 28vw);

    margin-bottom: 0;

  }



  .upa-spa-layout--sidebar .upa-spa-header-nav {

    display: none;

  }



  .upa-spa-layout--sidebar .upa-spa-header-actions {

    flex-direction: row;

    align-items: center;

    gap: 0.65rem;

    margin-top: 0;

    padding-top: 0;

  }



  .upa-spa-layout--sidebar .upa-spa-header-actions > .upa-spa-btn {

    width: auto;

  }

}



@media (max-width: 520px) {

  .upa-spa.upa-spa-layout--sidebar .upa-spa-nav-inner {

    grid-template-columns: minmax(0, 1fr) auto;

  }



  .upa-spa-layout--sidebar .upa-spa-header-actions {

    display: none;

  }

  .upa-spa-layout--sidebar .upa-spa-header-actions .upa-spa-a11y-toolbar {

    display: inline-flex;

  }

  .upa-spa.upa-spa-layout--sidebar .upa-spa-nav-inner:has(.upa-spa-header-actions .upa-spa-a11y-toolbar) {

    grid-template-columns: minmax(0, 1fr) auto auto;

  }

  .upa-spa-layout--sidebar .upa-spa-header-actions:has(.upa-spa-a11y-toolbar) {

    display: flex;

    flex-direction: row;

    align-items: center;

    gap: 0.4rem;

    margin-top: 0;

    padding-top: 0;

  }

  .upa-spa-layout--sidebar .upa-spa-header-actions:has(.upa-spa-a11y-toolbar) > .upa-spa-btn {

    display: none;

  }



  .upa-spa-layout--sidebar .upa-spa-header-title {

    max-width: min(52vw, 10rem);

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;

  }

}



.upa-spa-layout--sidebar #profil #galeria-1:not(.upa-spa-gallery-embed--card-slot),

.upa-spa-layout--sidebar #kontakt #galeria-2:not(.upa-spa-gallery-embed--card-slot) {

  --upa-spa-gallery-max-width: min(100%, 340px);

  --upa-spa-gallery-max-height: 220px;

}



.upa-spa-layout--sidebar #galeria-3 {

  margin-bottom: 4px;

  --upa-spa-gallery-max-width: min(100%, 320px);

  --upa-spa-gallery-max-height: 200px;

}



.upa-spa-layout--sidebar .upa-spa-nav {

  background: var(--upa-spa-surface-elevated);

}



.upa-spa-layout--sidebar .upa-spa-header-nav .upa-spa-nav-link.is-active {

  background: var(--upa-spa-accent-soft);

  border-radius: var(--upa-spa-radius-sm);

}



.upa-spa-layout--sidebar .upa-spa-shell {

  padding-top: clamp(20px, 3vw, 32px);

}



.upa-spa-layout--sidebar .upa-spa-intro {

  text-align: left;

  padding-top: 0;

  padding-bottom: clamp(16px, 3vw, 28px);

}



.upa-spa-layout--sidebar .upa-spa-intro-inner {

  max-width: none;

  margin: 0;

}



.upa-spa-layout--sidebar .upa-spa-hero-actions {

  justify-content: flex-start;

}



.upa-spa-layout--sidebar .upa-spa-footer {

  text-align: left;

  margin-top: 32px;

  padding-top: 20px;

  border-top: 1px solid var(--upa-spa-nav-border);

}



/* —— hero-columns —— */

.upa-spa-layout--hero-columns .upa-spa-intro {

  max-width: none;

  margin-left: calc(-1 * clamp(16px, 4vw, 28px));

  margin-right: calc(-1 * clamp(16px, 4vw, 28px));

  padding: clamp(32px, 5vw, 56px) clamp(16px, 4vw, 48px) clamp(24px, 4vw, 40px);

  text-align: center;

  background:

    radial-gradient(ellipse 80% 70% at 50% 0%, rgba(13, 148, 136, 0.12), transparent 68%),

    var(--upa-spa-accent-soft);

  border-bottom: 3px solid var(--upa-spa-accent);

  border-radius: 0 0 var(--upa-spa-radius-lg) var(--upa-spa-radius-lg);

}



.upa-spa-layout--hero-columns .upa-spa-nav {

  border-bottom: none;

  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);

}



.upa-spa-layout--hero-columns .upa-spa-footer {

  grid-column: 1 / -1;

  margin-top: 16px;

  padding: 24px clamp(16px, 4vw, 28px);

  border-top: 2px solid var(--upa-spa-nav-border);

  background: var(--upa-spa-surface-muted);

  border-radius: var(--upa-spa-radius-md);

  text-align: center;

}



.upa-spa-layout--hero-columns .upa-spa-shell {

  display: grid;

  grid-template-columns: repeat(2, minmax(0, 1fr));

  grid-auto-flow: row dense;

  align-items: start;

  gap: 24px 32px;

  max-width: 1280px;

}



/* Pełna szerokość: hero, stopka, brama dostępu/błąd oraz sekcje z własną
   wewnętrzną siatką lub układem 2-kol (profil i kontakt mają card-row z galerią,
   usługi mają własny grid, opinie — szerokie podsumowanie). W dwóch kolumnach

   zostają tylko lekkie bloki: galeria-3, promocje, bestsellery. */

.upa-spa-layout--hero-columns .upa-spa-intro,

.upa-spa-layout--hero-columns .upa-spa-footer,

.upa-spa-layout--hero-columns .upa-spa-shell > .upa-spa-error,

.upa-spa-layout--hero-columns .upa-spa-shell > #dostep,

.upa-spa-layout--hero-columns .upa-spa-shell > #profil,

.upa-spa-layout--hero-columns .upa-spa-shell > #uslugi,

.upa-spa-layout--hero-columns .upa-spa-shell > #opinie,

.upa-spa-layout--hero-columns .upa-spa-shell > #kontakt {

  grid-column: 1 / -1;

}



.upa-spa-layout--hero-columns .upa-spa-gallery-embed {

  --upa-spa-gallery-max-width: min(100%, 360px);

  --upa-spa-gallery-max-height: 240px;

  margin-bottom: clamp(12px, 2.5vw, 20px);

}



.upa-spa-layout--hero-columns #profil .upa-spa-gallery-embed--1:not(.upa-spa-gallery-embed--card-slot),

.upa-spa-layout--hero-columns #kontakt .upa-spa-gallery-embed--2:not(.upa-spa-gallery-embed--card-slot) {

  --upa-spa-gallery-max-width: min(100%, 320px);

  --upa-spa-gallery-max-height: 220px;

}



.upa-spa-layout--hero-columns #galeria-3 {

  align-self: start;

  --upa-spa-gallery-max-width: min(100%, 320px);

  --upa-spa-gallery-max-height: 220px;

}



@media (max-width: 900px) {

  .upa-spa-layout--hero-columns .upa-spa-shell {

    grid-template-columns: 1fr;

  }

}



/* —— services-grid —— */

.upa-spa-layout--services-grid .upa-spa-shell {

  display: flex;

  flex-direction: column;

}



.upa-spa-layout--services-grid .upa-spa-shell > #uslugi {

  order: -2;

}



.upa-spa-layout--services-grid .upa-spa-shell > #profil {

  order: -1;

}



.upa-spa-layout--services-grid .upa-spa-shell > #promocje {

  order: 10;

}



.upa-spa-layout--services-grid .upa-spa-shell > #bestsellery {

  order: 11;

}



.upa-spa-layout--services-grid .upa-spa-shell > #opinie {

  order: 20;

}



.upa-spa-layout--services-grid .upa-spa-shell > #galeria-3 {

  order: 6;

}



.upa-spa-layout--services-grid .upa-spa-shell > #kontakt {

  order: 40;

}



.upa-spa-layout--services-grid .upa-spa-shell > .upa-spa-footer {

  order: 45;

}



/* Gdy brak pełnej listy usług — promocje/bestsellery na pierwszy plan */

.upa-spa-layout--services-grid .upa-spa-shell:not(:has(#uslugi)) > #promocje {

  order: -2;

}



.upa-spa-layout--services-grid .upa-spa-shell:not(:has(#uslugi)) > #bestsellery {

  order: -1;

}



.upa-spa-layout--services-grid .upa-spa-service-list {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));

  gap: 16px;

}



.upa-spa-layout--services-grid .upa-spa-service {

  margin: 0;

}



.upa-spa-layout--services-grid .upa-spa-service-inner {

  height: 100%;

  align-items: stretch;

}



.upa-spa-layout--services-grid .upa-spa-nav {

  border-bottom: 3px solid var(--upa-spa-accent);

}



.upa-spa-layout--services-grid .upa-spa-header-nav .upa-spa-nav-link.is-active {

  color: var(--upa-spa-accent-hover);

  font-weight: 700;

}



.upa-spa-layout--services-grid .upa-spa-intro {

  text-align: left;

  padding: clamp(16px, 3vw, 24px) 0 clamp(12px, 2vw, 20px);

  margin-bottom: 8px;

  border-bottom: 1px solid var(--upa-spa-card-border);

}



.upa-spa-layout--services-grid .upa-spa-intro-inner {

  max-width: none;

  margin: 0;

}



.upa-spa-layout--services-grid .upa-spa-hero-eyebrow {

  margin-left: 0;

}



.upa-spa-layout--services-grid .upa-spa-hero-lead {

  margin-left: 0;

  max-width: 640px;

}



.upa-spa-layout--services-grid .upa-spa-hero-actions {

  justify-content: flex-start;

}



.upa-spa-layout--services-grid .upa-spa-footer {

  display: flex;

  flex-wrap: wrap;

  align-items: center;

  justify-content: space-between;

  gap: 12px 24px;

  text-align: left;

  padding-top: 20px;

  margin-top: 32px;

  border-top: 2px solid var(--upa-spa-accent-soft);

}



.upa-spa-layout--services-grid .upa-spa-footer-text {

  margin: 0;

  flex: 1 1 12rem;

}



/* —— compact —— */

.upa-spa-layout--compact {

  --upa-spa-section-gap: 40px;

  --upa-spa-nav-height: 60px;

  --upa-spa-card-radius: 14px;

}



@media (max-width: 767px) {

  .upa-spa-layout--compact {

    --upa-spa-shell-max: min(100%, 680px);

  }

}



.upa-spa-layout--compact .upa-spa-shell {

  padding-bottom: 48px;

}



.upa-spa-layout--compact .upa-spa-intro {

  padding-top: 20px;

  padding-bottom: 16px;

}



.upa-spa-layout--compact .upa-spa-card {

  padding: clamp(14px, 2vw, 20px);

}



.upa-spa-layout--compact .upa-spa-section-title {

  font-size: clamp(1.15rem, 2.5vw, 1.45rem);

}



.upa-spa-layout--compact .upa-spa-section-lead {

  font-size: 0.92rem;

}



.upa-spa-layout--compact .upa-spa-gallery-embed {

  --upa-spa-section-gap: 24px;

  --upa-spa-gallery-max-width: min(100%, 340px);

  --upa-spa-gallery-max-height: 220px;

  margin-bottom: clamp(12px, 2.5vw, 20px);

}



.upa-spa-layout--compact .upa-spa-nav {

  box-shadow: none;

  border-bottom: 1px solid var(--upa-spa-nav-border);

}



.upa-spa-layout--compact .upa-spa-nav-inner {

  min-height: var(--upa-spa-nav-height);

  padding-top: 4px;

  padding-bottom: 4px;

}



.upa-spa-layout--compact .upa-spa-header-title {

  font-size: 0.95rem;

}



.upa-spa-layout--compact .upa-spa-header-nav .upa-spa-nav-link {

  padding: 6px 10px;

  font-size: 0.82rem;

}



.upa-spa-layout--compact .upa-spa-hero-eyebrow {

  margin-bottom: 10px;

  padding: 4px 10px;

  font-size: 0.68rem;

}



.upa-spa-layout--compact .upa-spa-hero-lead {

  margin-bottom: 16px;

  font-size: 0.95rem;

}



.upa-spa-layout--compact .upa-spa-section {

  padding-bottom: clamp(24px, 4vw, 36px);

}



.upa-spa-layout--compact .upa-spa-footer {

  margin-top: 24px;

  padding-top: 16px;

  border-top: 1px dashed var(--upa-spa-nav-border);

}



.upa-spa-layout--compact .upa-spa-footer-text {

  font-size: 0.75rem;

}



/* —— magazine —— */

.upa-spa-layout--magazine .upa-spa-shell {

  max-width: var(--upa-spa-shell-max);

}



/* Stały rytm sekcji po ID — nth-of-type psuł się przy ukrytych panelach (v-if). */

.upa-spa-layout--magazine .upa-spa-shell > #profil,

.upa-spa-layout--magazine .upa-spa-shell > #promocje,

.upa-spa-layout--magazine .upa-spa-shell > #uslugi {

  margin-left: auto;

  max-width: 88%;

}



.upa-spa-layout--magazine .upa-spa-shell > #profil .upa-spa-card-row__main,

.upa-spa-layout--magazine .upa-spa-shell > #profil > .upa-spa-card,

.upa-spa-layout--magazine .upa-spa-shell > #promocje .upa-spa-card,

.upa-spa-layout--magazine .upa-spa-shell > #uslugi .upa-spa-card {

  border-left: 4px solid var(--upa-spa-accent);

}



.upa-spa-layout--magazine .upa-spa-shell > #bestsellery .upa-spa-section-head,

.upa-spa-layout--magazine .upa-spa-shell > #opinie .upa-spa-section-head,

.upa-spa-layout--magazine .upa-spa-shell > #kontakt .upa-spa-section-head {

  max-width: 55%;

}



@media (max-width: 768px) {

  .upa-spa-layout--magazine .upa-spa-shell > #profil,

  .upa-spa-layout--magazine .upa-spa-shell > #promocje,

  .upa-spa-layout--magazine .upa-spa-shell > #uslugi {

    max-width: none;

    margin-left: 0;

  }



  .upa-spa-layout--magazine .upa-spa-shell > #bestsellery .upa-spa-section-head,

  .upa-spa-layout--magazine .upa-spa-shell > #opinie .upa-spa-section-head,

  .upa-spa-layout--magazine .upa-spa-shell > #kontakt .upa-spa-section-head {

    max-width: none;

  }

}



.upa-spa-layout--magazine .upa-spa-gallery-embed {

  --upa-spa-gallery-max-width: min(100%, 320px);

  --upa-spa-gallery-max-height: 220px;

  margin-bottom: clamp(12px, 2.5vw, 20px);

}



.upa-spa-layout--magazine #profil #galeria-1:not(.upa-spa-gallery-embed--card-slot) .upa-spa-card {

  margin-left: auto;

  margin-right: 0;

}



.upa-spa-layout--magazine #kontakt #galeria-2:not(.upa-spa-gallery-embed--card-slot) {

  --upa-spa-gallery-max-width: min(100%, 280px);

  --upa-spa-gallery-max-height: 200px;

}



.upa-spa-layout--magazine #kontakt #galeria-2:not(.upa-spa-gallery-embed--card-slot) .upa-spa-card {

  margin-left: 0;

  margin-right: auto;

}



.upa-spa-layout--magazine #galeria-3 {

  max-width: none;

  margin-left: 0;

}



.upa-spa-layout--magazine #galeria-3 .upa-spa-card {

  margin-left: auto;

  margin-right: 0;

}



@media (max-width: 768px) {

  .upa-spa-layout--magazine #profil #galeria-1 .upa-spa-card,

  .upa-spa-layout--magazine #kontakt #galeria-2 .upa-spa-card,

  .upa-spa-layout--magazine #galeria-3 .upa-spa-card {

    margin-left: auto;

    margin-right: auto;

  }

}



.upa-spa-layout--magazine .upa-spa-nav {

  border-bottom: 1px solid var(--upa-spa-nav-border);

}



.upa-spa-layout--magazine .upa-spa-intro {

  text-align: left;

  padding-bottom: clamp(20px, 3vw, 32px);

}



.upa-spa-layout--magazine .upa-spa-intro-inner {

  max-width: none;

  margin: 0;

}



.upa-spa-layout--magazine .upa-spa-hero-eyebrow {

  margin-left: 0;

  border-radius: 0;

  background: transparent;

  padding: 0;

  letter-spacing: 0.14em;

}



.upa-spa-layout--magazine .upa-spa-hero-actions {

  justify-content: flex-start;

}



.upa-spa-layout--magazine .upa-spa-footer {

  text-align: left;

  margin-top: 40px;

  padding-top: 20px;

  border-top: 4px solid var(--upa-spa-accent);

}



.upa-spa-layout--magazine .upa-spa-footer-text {

  max-width: 55%;

}



@media (max-width: 768px) {

  .upa-spa-layout--magazine .upa-spa-footer-text {

    max-width: none;

  }

}



/* —— narrow —— */

.upa-spa-layout--narrow {

  --upa-spa-shell-max: 680px;

}



.upa-spa-layout--narrow .upa-spa-section-head,

.upa-spa-layout--narrow .upa-spa-section-lead {

  margin-left: auto;

  margin-right: auto;

  text-align: center;

}



.upa-spa-layout--narrow .upa-spa-intro-inner {

  max-width: 560px;

}



.upa-spa-layout--narrow .upa-spa-gallery-embed {

  --upa-spa-gallery-max-width: min(100%, 340px);

  --upa-spa-gallery-max-height: 220px;

  margin-bottom: clamp(12px, 2.5vw, 20px);

}



.upa-spa-layout--narrow .upa-spa-gallery-embed:not(.upa-spa-gallery-embed--card-slot) .upa-spa-card {

  max-width: var(--upa-spa-gallery-max-width);

  margin-left: auto;

  margin-right: auto;

}



.upa-spa-layout--narrow #profil .upa-spa-card-row,

.upa-spa-layout--narrow #kontakt .upa-spa-card-row {

  max-width: 100%;

}



/* Narrow shell (~680px) is too tight for profile + gallery side by side,

   which squishes the .upa-spa-dl (dt/dd) — stack them instead. */

.upa-spa-layout--narrow #profil .upa-spa-card-row--with-gallery,

.upa-spa-layout--narrow #kontakt .upa-spa-card-row--with-gallery {

  grid-template-columns: 1fr;

}



.upa-spa-layout--narrow #profil .upa-spa-card-row .upa-spa-gallery-embed--card-slot .upa-spa-card,

.upa-spa-layout--narrow #kontakt .upa-spa-card-row .upa-spa-gallery-embed--card-slot .upa-spa-card {

  max-width: var(--upa-spa-gallery-max-width);

  margin-left: auto;

  margin-right: auto;

}



.upa-spa-layout--narrow .upa-spa-nav-inner {

  justify-content: center;

  text-align: center;

}



.upa-spa-layout--narrow .upa-spa-header-brand {

  max-width: none;

}



.upa-spa-layout--narrow .upa-spa-header-nav {

  justify-content: center;

}



.upa-spa-layout--narrow .upa-spa-intro {

  padding-top: clamp(32px, 5vw, 48px);

}



.upa-spa-layout--narrow .upa-spa-hero-actions {

  justify-content: center;

}



.upa-spa-layout--narrow .upa-spa-card {

  text-align: left;

}



.upa-spa-layout--narrow .upa-spa-footer {

  max-width: var(--upa-spa-shell-max);

  margin-left: auto;

  margin-right: auto;

  padding-top: 32px;

  border-top: 1px solid var(--upa-spa-nav-border);

}



.upa-spa-layout--narrow .upa-spa-footer-text {

  font-size: 0.78rem;

  letter-spacing: 0.02em;

}



/* —— split-hero —— */

.upa-spa-layout--split-hero .upa-spa-intro {

  display: grid;

  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);

  gap: clamp(20px, 4vw, 40px);

  align-items: center;

  text-align: left;

  padding: clamp(28px, 4vw, 44px) 0 clamp(28px, 4vw, 40px);

}



.upa-spa-layout--split-hero .upa-spa-intro-inner {

  max-width: none;

  margin: 0;

  grid-column: 1;

}



.upa-spa-layout--split-hero .upa-spa-intro::after {

  content: '';

  grid-column: 2;

  grid-row: 1;

  min-height: clamp(160px, 28vw, 240px);

  border-radius: var(--upa-spa-card-radius);

  border: 1px solid var(--upa-spa-card-border);

  background:

    linear-gradient(145deg, var(--upa-spa-accent-soft) 0%, rgba(255, 255, 255, 0.92) 55%),

    var(--upa-spa-surface-elevated);

  box-shadow: var(--upa-spa-card-shadow);

}



.upa-spa-layout--split-hero .upa-spa-hero-eyebrow {

  margin-left: 0;

}



.upa-spa-layout--split-hero .upa-spa-hero-lead {

  margin-left: 0;

  max-width: 520px;

}



.upa-spa-layout--split-hero .upa-spa-hero-actions {

  justify-content: flex-start;

}



.upa-spa-layout--split-hero .upa-spa-nav {

  border-bottom: 1px solid var(--upa-spa-nav-border);

}



.upa-spa-layout--split-hero .upa-spa-footer {

  display: grid;

  grid-template-columns: minmax(0, 1fr) auto;

  gap: 16px;

  align-items: center;

  text-align: left;

  margin-top: 40px;

  padding-top: 24px;

}



@media (max-width: 768px) {

  .upa-spa-layout--split-hero .upa-spa-intro {

    grid-template-columns: 1fr;

    gap: 20px;

  }



  .upa-spa-layout--split-hero .upa-spa-intro::after {

    grid-column: 1;

    min-height: 140px;

    order: -1;

  }



  .upa-spa-layout--split-hero .upa-spa-intro-inner {

    order: 1;

  }



  .upa-spa-layout--split-hero .upa-spa-footer {

    grid-template-columns: 1fr;

    text-align: center;

  }

}



.upa-spa-layout--split-hero #profil .upa-spa-card-row--with-gallery,

.upa-spa-layout--split-hero #kontakt .upa-spa-card-row--with-gallery {

  --upa-spa-gallery-slot-width: 293px;

}



.upa-spa-layout--split-hero #profil #galeria-1:not(.upa-spa-gallery-embed--card-slot),

.upa-spa-layout--split-hero #kontakt #galeria-2:not(.upa-spa-gallery-embed--card-slot) {

  --upa-spa-gallery-max-width: min(100%, 293px);

  --upa-spa-gallery-max-height: 220px;

}



@media (max-width: 768px) {

  .upa-spa-layout--split-hero #profil #galeria-1:not(.upa-spa-gallery-embed--card-slot),

  .upa-spa-layout--split-hero #kontakt #galeria-2:not(.upa-spa-gallery-embed--card-slot) {

    --upa-spa-gallery-max-height: 200px;

  }

}



/* —— tabbed —— */

.upa-spa-layout--tabbed .upa-spa-nav {

  border-bottom: 1px solid var(--upa-spa-nav-border);

  box-shadow: none;

}



.upa-spa-layout--tabbed .upa-spa-header-nav .upa-spa-nav-link {

  border-radius: 999px;

  padding: 8px 14px;

}



.upa-spa-layout--tabbed .upa-spa-header-nav .upa-spa-nav-link.is-active {

  background: var(--upa-spa-accent-soft);

  color: var(--upa-spa-accent-hover);

}



.upa-spa-layout--tabbed .upa-spa-intro {

  padding-bottom: clamp(16px, 3vw, 24px);

  border-bottom: 1px solid var(--upa-spa-nav-border);

  margin-bottom: 8px;

}



.upa-spa-layout--tabbed .upa-spa-section-head {

  position: sticky;

  top: calc(var(--upa-spa-nav-height) + 8px);

  z-index: 5;

  margin-bottom: 16px;

  padding: 10px 16px;

  background: var(--upa-spa-nav-bg);

  border: 1px solid var(--upa-spa-nav-border);

  border-radius: var(--upa-spa-radius-md) var(--upa-spa-radius-md) 0 0;

  border-bottom: 2px solid var(--upa-spa-accent);

  backdrop-filter: blur(10px);

}



.upa-spa-layout--tabbed .upa-spa-section {

  padding-top: 4px;

}



.upa-spa-layout--tabbed .upa-spa-footer {

  margin-top: 36px;

  padding: 16px clamp(16px, 4vw, 24px);

  border: 1px solid var(--upa-spa-nav-border);

  border-radius: var(--upa-spa-radius-md);

  background: var(--upa-spa-surface-muted);

  text-align: center;

}



.upa-spa-layout--tabbed .upa-spa-section-eyebrow {

  display: inline-block;

  margin-right: 10px;

  margin-bottom: 0;

}



.upa-spa-layout--tabbed .upa-spa-section-title {

  display: inline;

  font-size: 1.05rem;

  margin: 0;

}



.upa-spa-layout--tabbed .upa-spa-section-lead {

  display: none;

}



.upa-spa-layout--tabbed .upa-spa-section-head::after {

  content: '';

  display: block;

  width: 48px;

  height: 3px;

  margin-top: 8px;

  border-radius: 999px;

  background: var(--upa-spa-accent);

}



.upa-spa-layout--tabbed .upa-spa-gallery-embed {

  margin-top: -8px;

  margin-bottom: clamp(12px, 2.5vw, 20px);

  --upa-spa-gallery-max-width: min(100%, 340px);

  --upa-spa-gallery-max-height: 220px;

}



.upa-spa-layout--tabbed .upa-spa-gallery-embed .upa-spa-card {

  border-radius: var(--upa-spa-radius-md);

}



.upa-spa-layout--tabbed #profil .upa-spa-card-row .upa-spa-gallery-embed,

.upa-spa-layout--tabbed #kontakt .upa-spa-card-row .upa-spa-gallery-embed {

  margin-top: 0;

}



@media (max-width: 640px) {

  .upa-spa-layout--tabbed .upa-spa-section-head {

    top: calc(var(--upa-spa-nav-height) + 4px);

    padding: 8px 12px;

  }



  .upa-spa-layout--tabbed .upa-spa-section-title {

    font-size: 0.98rem;

  }

}



@media (max-width: 768px) {

  .upa-spa-layout--hero-columns .upa-spa-intro {

    padding-left: clamp(12px, 3vw, 24px);

    padding-right: clamp(12px, 3vw, 24px);

  }



  .upa-spa-layout--narrow .upa-spa-gallery-embed {

    --upa-spa-gallery-max-width: min(100%, 300px);

    --upa-spa-gallery-max-height: 200px;

  }



  .upa-spa-layout--narrow .upa-spa-gallery-embed:not(.upa-spa-gallery-embed--card-slot) .upa-spa-card {

    max-width: var(--upa-spa-gallery-max-width);

  }

}



/* —— minimal-flow —— */

.upa-spa-layout--minimal-flow {

  --upa-spa-section-gap: 48px;

  --upa-spa-card-shadow: none;

}



.upa-spa-layout--minimal-flow .upa-spa-nav {

  background: transparent;

  border-bottom: none;

  box-shadow: none;

  backdrop-filter: none;

}



.upa-spa-layout--minimal-flow .upa-spa-header-brand,

.upa-spa-layout--minimal-flow .upa-spa-header-actions {

  background: transparent;

}



.upa-spa-layout--minimal-flow .upa-spa-intro {

  padding-top: clamp(20px, 3vw, 32px);

  padding-bottom: clamp(16px, 3vw, 24px);

  border-bottom: 1px solid var(--upa-spa-card-border);

  text-align: left;

}



.upa-spa-layout--minimal-flow .upa-spa-intro-inner {

  max-width: none;

  margin: 0;

}



.upa-spa-layout--minimal-flow .upa-spa-hero-eyebrow {

  background: transparent;

  padding: 0;

  border-radius: 0;

  text-transform: none;

  letter-spacing: 0.12em;

  font-size: 0.72rem;

}



.upa-spa-layout--minimal-flow .upa-spa-hero-lead {

  margin-left: 0;

  max-width: 640px;

}



.upa-spa-layout--minimal-flow .upa-spa-hero-actions {

  justify-content: flex-start;

}



.upa-spa-layout--minimal-flow .upa-spa-card {

  border: none;

  border-radius: 0;

  padding-left: 0;

  padding-right: 0;

  background: transparent;

  box-shadow: none;

}



.upa-spa-layout--minimal-flow .upa-spa-card:hover {

  box-shadow: none;

}



.upa-spa-layout--minimal-flow .upa-spa-section {

  padding-bottom: 24px;

  border-bottom: 1px solid var(--upa-spa-card-border);

}



.upa-spa-layout--minimal-flow .upa-spa-section:last-of-type {

  border-bottom: none;

}



.upa-spa-layout--minimal-flow .upa-spa-section-eyebrow {

  letter-spacing: 0.12em;

  font-size: 0.68rem;

}



.upa-spa-layout--minimal-flow .upa-spa-footer {

  border-top: none;

  opacity: 0.75;

}



.upa-spa-layout--minimal-flow .upa-spa-gallery-embed {

  --upa-spa-gallery-max-width: min(100%, 340px);

  --upa-spa-gallery-max-height: 220px;

  margin-bottom: clamp(12px, 2.5vw, 20px);

}



.upa-spa-layout--minimal-flow .upa-spa-gallery-embed .upa-spa-card,

.upa-spa-layout--minimal-flow .upa-spa-gallery-item--carousel {

  border: none;

  border-radius: 0;

  background: transparent;

  box-shadow: none;

}



@media (max-width: 640px) {

  .upa-spa-layout--minimal-flow {

    --upa-spa-section-gap: 36px;

  }



  .upa-spa-layout--compact .upa-spa-gallery-embed .upa-spa-gallery-viewport {

    aspect-ratio: 4 / 3;

    width: min(100%, calc(var(--upa-spa-gallery-max-height) * 4 / 3));

  }

}



/* —— hero-overlay —— */

.upa-spa-layout--hero-overlay {

  position: relative;

}



.upa-spa-layout--hero-overlay .upa-spa-nav {

  position: absolute;

  top: 0;

  left: 0;

  right: 0;

  z-index: 20;

  background: linear-gradient(180deg, rgba(15, 23, 42, 0.55) 0%, rgba(15, 23, 42, 0) 100%);

  border-bottom: none;

  box-shadow: none;

  backdrop-filter: none;

}



.upa-spa-layout--hero-overlay .upa-spa-header-brand,

.upa-spa-layout--hero-overlay .upa-spa-header-actions {

  background: transparent;

}



.upa-spa-layout--hero-overlay .upa-spa-nav-link,

.upa-spa-layout--hero-overlay .upa-spa-header-brand-title {

  color: #fff;

  text-shadow: 0 1px 2px rgba(15, 23, 42, 0.35);

}

.upa-spa-layout--hero-overlay .upa-spa-a11y-btn,
.upa-spa-layout--hero-overlay .upa-spa-lang-switcher__trigger {
  background: rgba(15, 23, 42, 0.42);
  border-color: rgba(255, 255, 255, 0.35);
  color: #fff;
}

.upa-spa-layout--hero-overlay .upa-spa-a11y-btn__icon,
.upa-spa-layout--hero-overlay .upa-spa-lang-switcher__chevron {
  color: rgba(255, 255, 255, 0.88);
}

.upa-spa-layout--hero-overlay .upa-spa-a11y-btn:hover:not(:disabled),
.upa-spa-layout--hero-overlay .upa-spa-lang-switcher__trigger:hover:not(:disabled) {
  border-color: rgba(255, 255, 255, 0.72);
  background: rgba(15, 23, 42, 0.58);
}



.upa-spa-layout--hero-overlay .upa-spa-intro {

  position: relative;

  z-index: 1;

  display: flex;

  align-items: center;

  justify-content: center;

  min-height: min(72vh, 640px);

  margin: 0 calc(-1 * clamp(16px, 4vw, 28px));

  padding: calc(var(--upa-spa-nav-height) + 32px) clamp(20px, 5vw, 48px) clamp(40px, 6vw, 72px);

  text-align: center;

  color: #fff;

  background:

    linear-gradient(180deg, rgba(15, 23, 42, 0.62) 0%, rgba(15, 23, 42, 0.48) 45%, rgba(15, 23, 42, 0.72) 100%),

    radial-gradient(ellipse 90% 80% at 50% 20%, var(--upa-spa-accent-soft), transparent 70%),

    linear-gradient(145deg, color-mix(in srgb, var(--upa-spa-accent) 35%, #0f172a) 0%, #0f172a 100%);

}



.upa-spa-layout--hero-overlay .upa-spa-intro-inner {

  max-width: 760px;

}



.upa-spa-layout--hero-overlay .upa-spa-hero-eyebrow {

  background: rgba(255, 255, 255, 0.14);

  color: #fff;

}



.upa-spa-layout--hero-overlay .upa-spa-hero-lead {

  color: rgba(255, 255, 255, 0.9);

  margin-left: auto;

  margin-right: auto;

}



.upa-spa-layout--hero-overlay .upa-spa-hero-actions {

  justify-content: center;

}



.upa-spa-layout--hero-overlay .upa-spa-shell {

  padding-top: 0;

}



.upa-spa-layout--hero-overlay .upa-spa-footer {

  margin-top: 48px;

  padding-top: 28px;

  border-top: 2px solid var(--upa-spa-nav-border);

  text-align: center;

  background: var(--upa-spa-surface-muted);

  margin-left: calc(-1 * clamp(16px, 4vw, 28px));

  margin-right: calc(-1 * clamp(16px, 4vw, 28px));

  padding-left: clamp(16px, 4vw, 28px);

  padding-right: clamp(16px, 4vw, 28px);

  border-radius: var(--upa-spa-radius-lg) var(--upa-spa-radius-lg) 0 0;

}



@media (max-width: 640px) {

  .upa-spa-layout--hero-overlay .upa-spa-intro {

    min-height: min(64vh, 520px);

    padding-top: calc(var(--upa-spa-nav-height) + 20px);

  }

}



/* —— bento —— */

.upa-spa-layout--bento .upa-spa-shell {

  display: grid;

  grid-template-columns: repeat(12, minmax(0, 1fr));

  gap: 18px;

  align-items: start;

}



.upa-spa-layout--bento .upa-spa-intro,

.upa-spa-layout--bento .upa-spa-footer,

.upa-spa-layout--bento .upa-spa-shell > .upa-spa-error,

.upa-spa-layout--bento .upa-spa-shell > #dostep {

  grid-column: 1 / -1;

}



.upa-spa-layout--bento .upa-spa-intro {

  padding: clamp(20px, 3vw, 32px);

  border-radius: var(--upa-spa-card-radius);

  background: var(--upa-spa-card-bg);

  border: 1px solid var(--upa-spa-card-border);

  box-shadow: var(--upa-spa-card-shadow);

  text-align: left;

}



.upa-spa-layout--bento .upa-spa-intro-inner {

  max-width: none;

  margin: 0;

}



.upa-spa-layout--bento .upa-spa-hero-actions {

  justify-content: flex-start;

}



.upa-spa-layout--bento #profil {

  grid-column: span 8;

}



.upa-spa-layout--bento #galeria-3 {

  grid-column: span 4;

  align-self: stretch;

}



.upa-spa-layout--bento #promocje,

.upa-spa-layout--bento #bestsellery {

  grid-column: span 6;

}



.upa-spa-layout--bento #uslugi {

  grid-column: span 7;

}



.upa-spa-layout--bento #ranking-uslug {

  grid-column: span 5;

}



.upa-spa-layout--bento #opinie {

  grid-column: span 5;

}



.upa-spa-layout--bento .upa-spa-shell:has(#ranking-uslug) #opinie {

  grid-column: span 12;

}



.upa-spa-layout--bento #kontakt {

  grid-column: span 12;

}



.upa-spa-layout--bento .upa-spa-section .upa-spa-card {

  height: 100%;

}



.upa-spa-layout--bento .upa-spa-nav {

  border-bottom: 3px solid var(--upa-spa-accent);

}



.upa-spa-layout--bento .upa-spa-footer {

  padding: 20px;

  border-radius: var(--upa-spa-radius-md);

  border: 1px dashed var(--upa-spa-card-border);

  text-align: center;

}



@media (max-width: 900px) {

  .upa-spa-layout--bento .upa-spa-shell {

    grid-template-columns: 1fr;

  }



  .upa-spa-layout--bento #profil,

  .upa-spa-layout--bento #galeria-3,

  .upa-spa-layout--bento #promocje,

  .upa-spa-layout--bento #bestsellery,

  .upa-spa-layout--bento #uslugi,

  .upa-spa-layout--bento #ranking-uslug,

  .upa-spa-layout--bento #opinie,

  .upa-spa-layout--bento #kontakt {

    grid-column: 1 / -1;

  }

}



/* —— timeline —— */

.upa-spa-layout--timeline .upa-spa-shell {

  position: relative;

  padding-left: clamp(28px, 4vw, 44px);

}



.upa-spa-layout--timeline .upa-spa-shell::before {

  content: '';

  position: absolute;

  top: 0;

  bottom: 0;

  left: clamp(10px, 2vw, 16px);

  width: 3px;

  border-radius: 999px;

  background: linear-gradient(180deg, var(--upa-spa-accent) 0%, var(--upa-spa-accent-soft) 100%);

}



.upa-spa-layout--timeline .upa-spa-intro {

  position: relative;

  text-align: left;

  padding-bottom: 32px;

}



.upa-spa-layout--timeline .upa-spa-intro::before {

  content: '';

  position: absolute;

  left: calc(-1 * clamp(28px, 4vw, 44px) + clamp(10px, 2vw, 16px) - 6px);

  top: clamp(28px, 4vw, 40px);

  width: 15px;

  height: 15px;

  border-radius: 50%;

  border: 3px solid var(--upa-spa-accent);

  background: var(--upa-spa-card-bg);

  box-shadow: 0 0 0 4px var(--upa-spa-accent-soft);

}



.upa-spa-layout--timeline .upa-spa-section {

  position: relative;

  padding-left: 8px;

  margin-bottom: 8px;

}



.upa-spa-layout--timeline .upa-spa-section-head::before {

  content: '';

  position: absolute;

  left: calc(-1 * clamp(28px, 4vw, 44px) + clamp(10px, 2vw, 16px) - 5px);

  top: 18px;

  width: 11px;

  height: 11px;

  border-radius: 50%;

  background: var(--upa-spa-accent);

}



.upa-spa-layout--timeline .upa-spa-nav {

  border-bottom: none;

  margin-bottom: 8px;

}



.upa-spa-layout--timeline .upa-spa-footer {

  margin-top: 40px;

  padding-left: 8px;

  border-top: 1px dashed var(--upa-spa-nav-border);

  text-align: left;

}



/* —— split-sticky —— */

@media (min-width: 900px) {

  .upa-spa-layout--split-sticky .upa-spa-shell {

    display: grid;

    grid-template-columns: minmax(260px, 38%) minmax(0, 1fr);

    gap: clamp(24px, 4vw, 48px);

    align-items: start;

  }



  .upa-spa-layout--split-sticky .upa-spa-intro {

    grid-column: 1;

    grid-row: 1 / span 99;

    position: sticky;

    top: calc(var(--upa-spa-nav-height) + 20px);

    align-self: start;

    text-align: left;

    padding-top: clamp(16px, 3vw, 28px);

    padding-bottom: 24px;

    border-right: 2px solid var(--upa-spa-accent-soft);

    padding-right: clamp(16px, 3vw, 28px);

  }



  .upa-spa-layout--split-sticky .upa-spa-intro-inner {

    max-width: none;

    margin: 0;

  }



  .upa-spa-layout--split-sticky .upa-spa-hero-actions {

    justify-content: flex-start;

  }



  .upa-spa-layout--split-sticky .upa-spa-shell > *:not(.upa-spa-intro):not(.upa-spa-footer) {

    grid-column: 2;

  }



  .upa-spa-layout--split-sticky .upa-spa-footer {

    grid-column: 1 / -1;

    margin-top: 32px;

    padding-top: 24px;

    border-top: 2px solid var(--upa-spa-nav-border);

    display: grid;

    grid-template-columns: minmax(260px, 38%) 1fr;

    gap: clamp(24px, 4vw, 48px);

  }



  .upa-spa-layout--split-sticky .upa-spa-footer-text {

    grid-column: 2;

  }



  /* Right column (~62% shell) is too tight for profile + gallery side by side,

     which squishes the .upa-spa-dl (dt/dd) — stack them instead. */

  .upa-spa-layout--split-sticky #profil .upa-spa-card-row--with-gallery,

  .upa-spa-layout--split-sticky #kontakt .upa-spa-card-row--with-gallery {

    grid-template-columns: 1fr;

  }



  .upa-spa-layout--split-sticky #profil .upa-spa-card-row .upa-spa-gallery-embed--card-slot .upa-spa-card,

  .upa-spa-layout--split-sticky #kontakt .upa-spa-card-row .upa-spa-gallery-embed--card-slot .upa-spa-card {

    max-width: var(--upa-spa-gallery-max-width);

    margin-left: auto;

    margin-right: auto;

  }



  /* dl 2-col must follow the dl element width (container), not the wider card slot. */

  .upa-spa-layout--split-sticky #profil .upa-spa-dl {

    container-type: inline-size;

    container-name: split-sticky-profile-dl;

  }



  .upa-spa-layout--split-sticky #profil .upa-spa-profile-grid--with-logo {

    container-type: inline-size;

    container-name: split-sticky-profile-grid;

  }

}



@container split-sticky-profile-dl (min-width: 520px) {

  .upa-spa-dl {

    grid-template-columns: minmax(6.5rem, 8.5rem) minmax(0, 1fr);

  }

}



@container split-sticky-profile-dl (max-width: 519px) {

  .upa-spa-dl {

    grid-template-columns: 1fr;

    gap: 4px 0;

  }



  .upa-spa-dl dt:not(:first-child) {

    margin-top: 12px;

  }

}



@container split-sticky-profile-grid (max-width: 520px) {

  .upa-spa-profile-grid--with-logo {

    grid-template-columns: 1fr;

  }

}



.upa-spa-layout--split-sticky .upa-spa-dl dt,

.upa-spa-layout--split-sticky .upa-spa-dl dd {

  min-width: 0;

}



.upa-spa-layout--split-sticky .upa-spa-nav {

  border-bottom: 1px solid var(--upa-spa-nav-border);

}



/* —— masonry —— */

@media (min-width: 768px) {

  .upa-spa-layout--masonry .upa-spa-shell {

    column-count: 2;

    column-gap: clamp(20px, 3vw, 32px);

  }



  .upa-spa-layout--masonry .upa-spa-intro,

  .upa-spa-layout--masonry .upa-spa-footer,

  .upa-spa-layout--masonry .upa-spa-shell > .upa-spa-error,

  .upa-spa-layout--masonry .upa-spa-shell > #dostep,

  .upa-spa-layout--masonry .upa-spa-shell > #kontakt {

    column-span: all;

  }



  .upa-spa-layout--masonry .upa-spa-section,

  .upa-spa-layout--masonry #galeria-3 {

    break-inside: avoid;

    margin-bottom: clamp(20px, 3vw, 28px);

  }

}



.upa-spa-layout--masonry .upa-spa-nav {

  border-bottom: 2px dotted var(--upa-spa-nav-border);

}



.upa-spa-layout--masonry .upa-spa-section .upa-spa-card {

  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);

}



.upa-spa-layout--masonry .upa-spa-footer {

  margin-top: 24px;

  padding-top: 20px;

  text-align: center;

  border-top: 2px dotted var(--upa-spa-nav-border);

}



/* —— center-frame —— */

.upa-spa-layout--center-frame {

  background:

    radial-gradient(circle at 50% 0%, var(--upa-spa-accent-soft), transparent 55%),

    var(--upa-spa-bg);

}



.upa-spa-layout--center-frame .upa-spa-nav {

  max-width: calc(var(--upa-spa-shell-max) - 48px);

  margin: 0 auto;

  border: 2px solid var(--upa-spa-accent);

  border-bottom: none;

  border-radius: var(--upa-spa-radius-lg) var(--upa-spa-radius-lg) 0 0;

  background: var(--upa-spa-card-bg);

}



.upa-spa-layout--center-frame .upa-spa-shell {

  max-width: calc(var(--upa-spa-shell-max) - 48px);

  padding: clamp(24px, 4vw, 40px) clamp(20px, 4vw, 36px) clamp(32px, 5vw, 48px);

  border: 2px solid var(--upa-spa-accent);

  border-top: none;

  border-radius: 0 0 var(--upa-spa-radius-lg) var(--upa-spa-radius-lg);

  background: var(--upa-spa-card-bg);

  box-shadow:

    0 0 0 6px var(--upa-spa-accent-soft),

    var(--upa-spa-card-shadow);

}



.upa-spa-layout--center-frame .upa-spa-intro {

  padding-top: 0;

  border-bottom: 1px solid var(--upa-spa-card-border);

  margin-bottom: 24px;

  padding-bottom: 24px;

}



.upa-spa-layout--center-frame .upa-spa-footer {

  margin-top: 32px;

  padding-top: 20px;

  border-top: 1px solid var(--upa-spa-card-border);

  text-align: center;

}



@media (max-width: 640px) {

  .upa-spa-layout--center-frame .upa-spa-nav,

  .upa-spa-layout--center-frame .upa-spa-shell {

    max-width: none;

    border-width: 1px;

  }

}



/* —— dashboard —— */

.upa-spa-layout--dashboard .upa-spa-shell {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));

  gap: 16px;

  align-items: start;

}



.upa-spa-layout--dashboard .upa-spa-intro,

.upa-spa-layout--dashboard .upa-spa-footer,

.upa-spa-layout--dashboard .upa-spa-shell > .upa-spa-error,

.upa-spa-layout--dashboard .upa-spa-shell > #dostep {

  grid-column: 1 / -1;

}



.upa-spa-layout--dashboard .upa-spa-intro {

  display: grid;

  grid-template-columns: 1fr auto;

  gap: 16px;

  align-items: center;

  text-align: left;

  padding: clamp(16px, 3vw, 24px);

  border-radius: var(--upa-spa-radius-md);

  background: var(--upa-spa-surface-muted);

  border: 1px solid var(--upa-spa-nav-border);

}



.upa-spa-layout--dashboard .upa-spa-intro-inner {

  max-width: none;

  margin: 0;

}



.upa-spa-layout--dashboard .upa-spa-hero-actions {

  justify-content: flex-end;

  flex-wrap: wrap;

}



.upa-spa-layout--dashboard .upa-spa-section {

  margin: 0;

  min-width: 0;

}



.upa-spa-layout--dashboard .upa-spa-section .upa-spa-card,

.upa-spa-layout--dashboard .upa-spa-section > .upa-spa-section-head + * {

  border: 1px solid var(--upa-spa-card-border);

  border-radius: var(--upa-spa-radius-md);

  background: var(--upa-spa-card-bg);

  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.02);

}



.upa-spa-layout--dashboard .upa-spa-section-head {

  padding: 12px 14px 0;

  margin-bottom: 0;

}



.upa-spa-layout--dashboard .upa-spa-nav {

  border-bottom: 3px double var(--upa-spa-nav-border);

  background: var(--upa-spa-surface-elevated);

}



.upa-spa-layout--dashboard .upa-spa-footer {

  grid-column: 1 / -1;

  padding: 14px 18px;

  border-radius: var(--upa-spa-radius-sm);

  background: var(--upa-spa-surface-muted);

  border: 1px solid var(--upa-spa-nav-border);

  font-size: 0.85rem;

}



@media (max-width: 640px) {

  .upa-spa-layout--dashboard .upa-spa-intro {

    grid-template-columns: 1fr;

  }



  .upa-spa-layout--dashboard .upa-spa-hero-actions {

    justify-content: flex-start;

  }

}



/* Dashboard widgets use auto-fit columns (~280px+), not full viewport —

   dl/profile grid must follow widget width, not viewport breakpoints. */

.upa-spa-layout--dashboard #profil {

  container-type: inline-size;

  container-name: dashboard-profil;

}



.upa-spa-layout--dashboard #profil .upa-spa-card-row__main {

  container-type: inline-size;

  container-name: dashboard-card-main;

  min-width: 0;

}



.upa-spa-layout--dashboard #profil .upa-spa-profile-grid {

  min-width: 0;

}



.upa-spa-layout--dashboard #profil .upa-spa-hero-logo-wrap {

  flex-shrink: 0;

  margin-bottom: 0;

}



@container dashboard-profil (max-width: 767px) {

  .upa-spa-card-row--with-gallery {

    grid-template-columns: 1fr;

  }



  .upa-spa-card-row .upa-spa-gallery-embed--card-slot .upa-spa-card {

    max-width: var(--upa-spa-gallery-max-width);

    margin-left: auto;

    margin-right: auto;

  }

}



@container dashboard-card-main (min-width: 520px) {

  .upa-spa-dl {

    grid-template-columns: minmax(6.5rem, 8.5rem) minmax(0, 1fr);

  }



  .upa-spa-profile-grid--with-logo {

    grid-template-columns: auto minmax(0, 1fr);

  }

}



@container dashboard-card-main (max-width: 519px) {

  .upa-spa-dl {

    grid-template-columns: 1fr;

    row-gap: 4px;

  }



  .upa-spa-dl dd {

    margin-bottom: 10px;

  }



  .upa-spa-dl dd:last-child {

    margin-bottom: 0;

  }

}



@container dashboard-card-main (max-width: 399px) {

  .upa-spa-profile-grid--with-logo {

    grid-template-columns: 1fr;

  }

}



/* —— scroll-snap —— */

.upa-spa-layout--scroll-snap {

  scroll-snap-type: y proximity;

  scroll-padding-top: var(--upa-spa-nav-height);

}



.upa-spa-layout--scroll-snap .upa-spa-nav {

  position: sticky;

  top: 0;

  z-index: 30;

  border-bottom: 1px solid var(--upa-spa-nav-border);

}



.upa-spa-layout--scroll-snap .upa-spa-intro {

  scroll-snap-align: start;

  scroll-snap-stop: always;

  min-height: calc(100vh - var(--upa-spa-nav-height));

  display: flex;

  align-items: center;

  justify-content: center;

  padding: clamp(32px, 6vw, 64px) 0;

  border-bottom: 4px solid var(--upa-spa-accent);

}



.upa-spa-layout--scroll-snap .upa-spa-section {

  scroll-snap-align: start;

  scroll-snap-stop: normal;

  min-height: min(85vh, 720px);

  display: flex;

  flex-direction: column;

  justify-content: center;

  padding-top: clamp(24px, 4vw, 40px);

  padding-bottom: clamp(24px, 4vw, 40px);

  border-bottom: 1px solid var(--upa-spa-card-border);

}



/* Gallery embeds (#galeria-3 etc.) — compact carousels, not full snap panels */

.upa-spa-layout--scroll-snap .upa-spa-gallery-embed.upa-spa-section {

  min-height: auto;

  scroll-snap-align: none;

  justify-content: flex-start;

}



.upa-spa-layout--scroll-snap .upa-spa-footer {

  scroll-snap-align: end;

  min-height: auto;

  padding: 32px 0;

  text-align: center;

  background: var(--upa-spa-surface-muted);

  margin-left: calc(-1 * clamp(16px, 4vw, 28px));

  margin-right: calc(-1 * clamp(16px, 4vw, 28px));

  padding-left: clamp(16px, 4vw, 28px);

  padding-right: clamp(16px, 4vw, 28px);

}



@media (max-width: 640px) {

  .upa-spa-layout--scroll-snap .upa-spa-section {

    min-height: auto;

  }

}



/* —— zigzag —— */

.upa-spa-layout--zigzag .upa-spa-nav {

  border-bottom: none;

  margin-bottom: 12px;

}



.upa-spa-layout--zigzag .upa-spa-intro {

  margin-left: 0;

  margin-right: auto;

  max-width: 78%;

  text-align: left;

  padding: clamp(24px, 4vw, 40px) clamp(20px, 4vw, 32px);

  border-radius: 0 var(--upa-spa-radius-lg) var(--upa-spa-radius-lg) 0;

  background: var(--upa-spa-accent-soft);

}



.upa-spa-layout--zigzag .upa-spa-intro-inner {

  margin: 0;

  max-width: none;

}



.upa-spa-layout--zigzag .upa-spa-hero-actions {

  justify-content: flex-start;

}



.upa-spa-layout--zigzag #profil,

.upa-spa-layout--zigzag #promocje,

.upa-spa-layout--zigzag #opinie {

  margin-left: 0;

  margin-right: auto;

  max-width: 86%;

}



.upa-spa-layout--zigzag #galeria-3,

.upa-spa-layout--zigzag #bestsellery,

.upa-spa-layout--zigzag #uslugi,

.upa-spa-layout--zigzag #kontakt {

  margin-left: auto;

  margin-right: 0;

  max-width: 86%;

}



.upa-spa-layout--zigzag #profil .upa-spa-card,

.upa-spa-layout--zigzag #promocje .upa-spa-card,

.upa-spa-layout--zigzag #opinie .upa-spa-card {

  border-left: 4px solid var(--upa-spa-accent);

  border-radius: 0 var(--upa-spa-radius-md) var(--upa-spa-radius-md) 0;

}



.upa-spa-layout--zigzag #galeria-3 .upa-spa-card,

.upa-spa-layout--zigzag #bestsellery .upa-spa-card,

.upa-spa-layout--zigzag #uslugi .upa-spa-card,

.upa-spa-layout--zigzag #kontakt .upa-spa-card {

  border-right: 4px solid var(--upa-spa-accent);

  border-radius: var(--upa-spa-radius-md) 0 0 var(--upa-spa-radius-md);

}



.upa-spa-layout--zigzag .upa-spa-footer {

  margin-top: 48px;

  max-width: 70%;

  margin-left: auto;

  margin-right: auto;

  text-align: center;

  padding-top: 20px;

  border-top: 2px solid var(--upa-spa-accent-soft);

}



@media (max-width: 768px) {

  .upa-spa-layout--zigzag .upa-spa-intro,

  .upa-spa-layout--zigzag #profil,

  .upa-spa-layout--zigzag #galeria-3,

  .upa-spa-layout--zigzag #promocje,

  .upa-spa-layout--zigzag #bestsellery,

  .upa-spa-layout--zigzag #uslugi,

  .upa-spa-layout--zigzag #opinie,

  .upa-spa-layout--zigzag #kontakt {

    max-width: none;

    margin-left: 0;

    margin-right: 0;

  }

}



/* —— sticky-cta —— */

.upa-spa-layout--sticky-cta {

  --upa-spa-sticky-cta-height: 72px;

}



.upa-spa-layout--sticky-cta .upa-spa-nav {

  border-bottom: 1px solid var(--upa-spa-nav-border);

}



.upa-spa-layout--sticky-cta .upa-spa-intro {

  padding: clamp(28px, 5vw, 48px) 0 clamp(20px, 3vw, 32px);

  text-align: center;

  border-bottom: 3px solid var(--upa-spa-accent);

}



.upa-spa-layout--sticky-cta .upa-spa-hero-actions {

  position: fixed;

  bottom: 0;

  left: 0;

  right: 0;

  z-index: 45;

  display: flex;

  justify-content: center;

  flex-wrap: wrap;

  gap: 10px;

  margin: 0;

  padding: 12px clamp(16px, 4vw, 24px);

  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, var(--upa-spa-card-bg) 35%);

  border-top: 1px solid var(--upa-spa-nav-border);

  box-shadow: 0 -10px 28px rgba(15, 23, 42, 0.1);

  backdrop-filter: blur(10px);

}



.upa-spa-layout--sticky-cta .upa-spa-shell {

  padding-bottom: calc(80px + var(--upa-spa-sticky-cta-height));

}



.upa-spa-layout--sticky-cta .upa-spa-footer {

  margin-top: 40px;

  padding-bottom: calc(16px + var(--upa-spa-sticky-cta-height));

  text-align: center;

  border-top: 1px solid var(--upa-spa-nav-border);

}



@media (max-width: 640px) {

  .upa-spa-layout--sticky-cta {

    --upa-spa-sticky-cta-height: 64px;

  }



  .upa-spa-layout--sticky-cta .upa-spa-hero-actions {

    padding: 10px 14px;

  }

}





/* Dodatkowe upiększenia strony publicznej SPA — warstwa ortogonalna do motywu i układu.
   Klasy modyfikatory na korzeniu .upa-spa (patrz config/unitPublicSpaStyle.js).

   ZASADA: wartości DOMYŚLNE są no-op (nie ustawiają żadnych reguł), więc nie nadpisują
   motywu kolorystycznego ani układu. Dzięki temu wygląd domyślny (w tym luxury-gold,
   który ma własny serif i radius) pozostaje nietknięty, dopóki użytkownik świadomie nie
   wybierze innej opcji.

   Ten plik musi być importowany PO unitPublicSpaThemes.css i unitPublicSpaLayouts.css,
   aby świadome wybory użytkownika wygrywały (równa specyficzność, decyduje kolejność). */
/* Font odręczny "Caveat" — ładowany z Google Fonts, bo nie jest dostępny w systemie.
   Pozostałe kroje (Inter/Poppins/Nunito) bazują na czcionkach systemowych z fallbackiem;
   tutaj musimy dociągnąć font, aby efekt pisma odręcznego w ogóle zadziałał. */
/* —— Narożniki (corners) —— */
/* default: no-op (radius z motywu/bazy) */
.upa-spa.upa-spa-corners--rounded {
  --upa-spa-card-radius: 28px;
  --upa-spa-radius-sm: 14px;
  --upa-spa-radius-md: 20px;
  --upa-spa-radius-lg: 28px;
}
.upa-spa.upa-spa-corners--sharp {
  --upa-spa-card-radius: 2px;
  --upa-spa-radius-sm: 2px;
  --upa-spa-radius-md: 3px;
  --upa-spa-radius-lg: 4px;
}
/* —— Czcionka (font) —— */
/* system: no-op (czcionka z bazy/motywu) */
.upa-spa.upa-spa-font--sans {
  --upa-spa-font: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --upa-spa-title-font: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
}
.upa-spa.upa-spa-font--serif {
  --upa-spa-font: Georgia, 'Times New Roman', 'Noto Serif', serif;
  --upa-spa-title-font: Georgia, 'Times New Roman', 'Noto Serif', serif;
}
.upa-spa.upa-spa-font--geometric {
  --upa-spa-font: 'Poppins', 'Century Gothic', 'Futura', 'Segoe UI', sans-serif;
  --upa-spa-title-font: 'Poppins', 'Century Gothic', 'Futura', 'Segoe UI', sans-serif;
}
.upa-spa.upa-spa-font--rounded {
  --upa-spa-font: 'Nunito', 'Quicksand', 'Segoe UI', system-ui, sans-serif;
  --upa-spa-title-font: 'Nunito', 'Quicksand', 'Segoe UI', system-ui, sans-serif;
}
/* handwritten: pismo odręczne TYLKO w nagłówkach (Caveat) — daje wyraźny efekt "pisany",
   a tekst pozostaje czytelny dzięki czystemu krojowi bezszeryfowemu w treści. */
.upa-spa.upa-spa-font--handwritten {
  --upa-spa-font: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --upa-spa-title-font: 'Caveat', 'Segoe Script', 'Bradley Hand', cursive;
}
/* —— Cienie kart (shadows) —— */
/* subtle: no-op (cień z motywu/bazy) */
.upa-spa.upa-spa-shadows--strong {
  --upa-spa-card-shadow: 0 4px 12px rgba(15, 23, 42, 0.1), 0 22px 48px rgba(15, 23, 42, 0.18);
}
.upa-spa.upa-spa-shadows--none {
  --upa-spa-card-shadow: none;
}
.upa-spa.upa-spa-shadows--none .upa-spa-card:hover,
.upa-spa.upa-spa-shadows--none .upa-spa-cta-card:hover {
  box-shadow: none;
}
/* —— Gęstość odstępów (density) —— */
/* comfortable: no-op (odstępy z bazy/układu) */
.upa-spa.upa-spa-density--compact {
  --upa-spa-section-gap: 40px;
}
.upa-spa.upa-spa-density--compact .upa-spa-card {
  padding: clamp(14px, 2vw, 20px);
}
.upa-spa.upa-spa-density--compact .upa-spa-intro {
  padding-top: clamp(20px, 4vw, 28px);
  padding-bottom: clamp(14px, 3vw, 20px);
}
.upa-spa.upa-spa-density--compact .upa-spa-section-head {
  margin-bottom: 16px;
}
/* —— Styl przycisków (buttons) —— */
/* rounded: no-op (promień z bazy = --upa-spa-radius-md) */
.upa-spa.upa-spa-buttons--pill {
  --upa-spa-btn-radius: 999px;
}
.upa-spa.upa-spa-buttons--square {
  --upa-spa-btn-radius: 2px;
}
/* —— Separatory sekcji (dividers) —— */
/* off: no-op */
.upa-spa.upa-spa-dividers--on .upa-spa-section-head {
  padding-bottom: 14px;
  border-bottom: 1px solid var(--upa-spa-card-border);
}
/* —— Animacje (animations) —— */
/* on: no-op (przejścia z bazy) */
.upa-spa.upa-spa-anim--off *,
.upa-spa.upa-spa-anim--off *::before,
.upa-spa.upa-spa-anim--off *::after {
  transition: none !important;
  animation: none !important;
}
.upa-spa.upa-spa-anim--off .upa-spa-btn:hover,
.upa-spa.upa-spa-anim--off .upa-spa-cta-card:hover,
.upa-spa.upa-spa-anim--off .upa-spa-gallery-item--carousel:hover {
  transform: none !important;
}
/* —— Obramowania komponentów (borders) ——
   Sterowane przez:
   - klasę bramkującą na korzeniu: .upa-spa-bd-<komponent> (dodawana tylko gdy width > 0),
   - zmienne CSS inline na korzeniu: --upa-spa-bd-<komponent>-w (grubość, np. 2px)
     oraz opcjonalnie --upa-spa-bd-<komponent>-c (kolor; pusty → kolor z motywu).

   Reguły istnieją wyłącznie dla świadomie włączonych komponentów (klasa bramkująca),
   więc są pełnym no-op dla domyślnego wyglądu (w tym luxury-gold). Specyficzność (0,3,0)
   równa regułom motywu, a plik ładowany jest PO themach → świadomy wybór wygrywa. */
.upa-spa.upa-spa-bd-cards .upa-spa-card {
  border-style: solid;
  border-width: var(--upa-spa-bd-cards-w, 1px);
  border-color: var(--upa-spa-bd-cards-c, var(--upa-spa-card-border));
}
.upa-spa.upa-spa-bd-sections .upa-spa-section {
  border-style: solid;
  border-width: var(--upa-spa-bd-sections-w, 1px);
  border-color: var(--upa-spa-bd-sections-c, var(--upa-spa-card-border));
}
.upa-spa.upa-spa-bd-hero .upa-spa-intro {
  border-style: solid;
  border-width: var(--upa-spa-bd-hero-w, 1px);
  border-color: var(--upa-spa-bd-hero-c, var(--upa-spa-card-border));
}
.upa-spa.upa-spa-bd-nav .upa-spa-nav {
  border-style: solid;
  border-width: var(--upa-spa-bd-nav-w, 1px);
  border-color: var(--upa-spa-bd-nav-c, var(--upa-spa-nav-border));
}
.upa-spa.upa-spa-bd-buttons .upa-spa-btn {
  border-style: solid;
  border-width: var(--upa-spa-bd-buttons-w, 1px);
  border-color: var(--upa-spa-bd-buttons-c, var(--upa-spa-card-border));
}
.upa-spa.upa-spa-bd-cta .upa-spa-cta-card {
  border-style: solid;
  border-width: var(--upa-spa-bd-cta-w, 1px);
  border-color: var(--upa-spa-bd-cta-c, var(--upa-spa-card-border));
}
.upa-spa.upa-spa-bd-gallery .upa-spa-gallery-item {
  border-style: solid;
  border-width: var(--upa-spa-bd-gallery-w, 1px);
  border-color: var(--upa-spa-bd-gallery-c, var(--upa-spa-card-border));
}
/* —— Panel height (panel_height_mode) —— */
/* natural: no-op — base unitPublicSpa.css keeps align-items: start and gallery aspect-ratio */
@media (min-width: 768px) {
  .upa-spa.upa-spa-panel-height--equal .upa-spa-card-row--with-gallery {
    align-items: stretch;
  }

  .upa-spa.upa-spa-panel-height--equal .upa-spa-card-row--with-gallery > .upa-spa-card-row__main {
    align-self: stretch;
    height: 100%;
    min-height: 0;
  }

  .upa-spa.upa-spa-panel-height--equal .upa-spa-card-row--with-gallery .upa-spa-gallery-embed--card-slot {
    --upa-spa-gallery-max-height: none;
    --upa-spa-gallery-max-width: none;
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: 100%;
    align-self: stretch;
  }

  .upa-spa.upa-spa-panel-height--equal .upa-spa-card-row--with-gallery .upa-spa-gallery-embed--card-slot .upa-spa-card,
  .upa-spa.upa-spa-panel-height--equal .upa-spa-card-row--with-gallery .upa-spa-gallery-embed--card-slot .upa-spa-gallery-item--carousel {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: 100%;
    width: 100%;
  }

  .upa-spa.upa-spa-panel-height--equal .upa-spa-card-row--with-gallery .upa-spa-gallery-embed--card-slot .upa-spa-gallery-viewport {
    flex: 1 1 0;
    width: 100%;
    max-height: none;
    height: 100%;
    min-height: var(--upa-spa-gallery-card-slot-min-height, 200px);
    aspect-ratio: auto;
    margin-inline: 0;
  }

  .upa-spa.upa-spa-panel-height--equal .upa-spa-card-row--with-gallery .upa-spa-gallery-embed--card-slot .upa-spa-gallery-track,
  .upa-spa.upa-spa-panel-height--equal .upa-spa-card-row--with-gallery .upa-spa-gallery-embed--card-slot .upa-spa-gallery-slide {
    height: 100%;
    min-height: 0;
  }
}
/* Gallery images always fill their panel (both modes, all layouts) */
.upa-spa .upa-spa-gallery-embed--card-slot .upa-spa-gallery-img {
  object-fit: cover;
  object-position: center;
}
/* Mapowanie podstron publicznych (rezerwacja, chat) na tokeny motywu SPA */
.upa-spa--subpage {
  min-height: 100vh;
}

.upa-spa--booting {
  visibility: hidden;
}

.upa-spa-shell--subpage {
  width: 100%;
  max-width: var(--upa-spa-shell-max, 1180px);
  padding-top: clamp(20px, 4vw, 36px);
  padding-bottom: clamp(32px, 6vw, 64px);
}

.upa-spa-subpage-lang-bar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  max-width: var(--upa-spa-shell-max, 1180px);
  margin: 0 auto;
  padding: 0.65rem clamp(16px, 4vw, 28px) 0;
}

.upa-spa--subpage .ob-public-page {
  max-width: var(--upa-spa-shell-max, 1180px);
  margin: 0 auto;
  padding: 0;
  min-height: auto;
  color: var(--upa-spa-text, var(--gabito-text));
  background: transparent;
  text-align: left;
}

.upa-spa--subpage .ob-public-hero h1,
.upa-spa--subpage .ob-panel h2 {
  font-family: var(--upa-spa-title-font, inherit);
  color: var(--upa-spa-text, var(--gabito-text));
}

.upa-spa--subpage .ob-steps li.active {
  background: var(--upa-spa-accent, var(--gabito-color-accent-purple));
  color: var(--upa-spa-card-bg, #fff);
}

.upa-spa--subpage .ob-steps li.done {
  background: var(--upa-spa-accent-soft, #a5b4fc);
  color: var(--upa-spa-text, var(--gabito-text));
}

.upa-spa--subpage .ob-panel,
.upa-spa--subpage .ob-choice,
.upa-spa--subpage .ob-service-group,
.upa-spa--subpage .ob-date-nav__btn {
  background: var(--upa-spa-card-bg, var(--gabito-bg-surface));
  border-color: var(--upa-spa-card-border, var(--gabito-border));
  box-shadow: var(--upa-spa-card-shadow, 0 1px 3px rgba(0, 0, 0, 0.08));
  border-radius: var(--upa-spa-radius-md, 10px);
}

.upa-spa--subpage .ob-choice:hover,
.upa-spa--subpage .ob-date-nav__btn:hover:not(:disabled) {
  border-color: var(--upa-spa-accent, var(--gabito-color-accent-purple));
  background: var(--upa-spa-accent-soft, var(--gabito-bg-surface-alt));
}

.upa-spa--subpage .ob-primary,
.upa-spa--subpage .ob-success-btn--primary {
  background: var(--upa-spa-accent, var(--gabito-color-accent-purple));
  color: var(--upa-spa-card-bg, #fff) !important;
}

.upa-spa--subpage .ob-primary:hover:not(:disabled),
.upa-spa--subpage .ob-success-btn--primary:hover:not(:disabled) {
  background: var(--upa-spa-accent-hover, var(--gabito-color-accent-purple-hover));
}

.upa-spa--subpage .ob-hint,
.upa-spa--subpage .ob-choice span {
  color: var(--upa-spa-text-muted, var(--gabito-text-muted));
}

.upa-spa--subpage .puc-page {
  max-width: var(--upa-spa-shell-max, 720px);
  margin: 0 auto;
  padding: 0;
  color: var(--upa-spa-text, var(--gabito-text));
}

/* Chat modal z huba — pełny ekran bez paddingu shella */
.upa-spa--subpage:has(.puc-hub-modal-overlay) {
  min-height: 100dvh;
  height: 100dvh;
  max-height: 100dvh;
  overflow: hidden;
}

.upa-spa--subpage:has(.puc-hub-modal-overlay) .upa-spa-shell--subpage {
  padding: 0;
  min-height: 100%;
  height: 100%;
  max-height: 100dvh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.upa-spa--subpage:has(.puc-hub-modal-overlay) .puc-page {
  max-width: 100%;
  width: 100%;
  margin: 0;
}

.upa-spa--subpage .puc-header {
  margin-bottom: 16px;
}

.upa-spa--subpage .puc-title {
  font-family: var(--upa-spa-title-font, inherit);
  color: var(--upa-spa-text, var(--gabito-text));
}

.upa-spa--subpage .puc-card {
  background: var(--upa-spa-card-bg, var(--gabito-bg-surface));
  border-color: var(--upa-spa-card-border, var(--gabito-border));
  border-radius: var(--upa-spa-radius-md, 10px);
  box-shadow: var(--upa-spa-card-shadow, 0 1px 3px rgba(0, 0, 0, 0.08));
}

.upa-spa.upa-spa--subpage .puc-input,
.upa-spa.upa-spa--subpage .puc-textarea {
  background: var(--upa-spa-surface-elevated, var(--upa-spa-card-bg, var(--gabito-bg-surface)));
  border: 1px solid var(--upa-spa-card-border, var(--gabito-border));
  border-radius: var(--upa-spa-radius-md, 10px);
  box-shadow: var(--upa-spa-card-shadow, 0 1px 3px rgba(0, 0, 0, 0.08));
  color: var(--upa-spa-text, var(--gabito-text));
}

.upa-spa.upa-spa--subpage .puc-input::placeholder,
.upa-spa.upa-spa--subpage .puc-textarea::placeholder {
  color: var(--upa-spa-text-muted, var(--gabito-text-muted));
  opacity: 1;
}

.upa-spa.upa-spa--subpage .puc-input:focus,
.upa-spa.upa-spa--subpage .puc-textarea:focus {
  border-color: var(--upa-spa-accent, var(--gabito-color-accent-purple));
  outline: none;
  box-shadow: var(--upa-spa-focus-ring, 0 0 0 3px rgba(13, 148, 136, 0.28));
}

.upa-spa--subpage .puc-btn--primary,
.upa-spa--subpage .puc-send-btn {
  background: var(--upa-spa-accent, var(--gabito-color-accent-purple));
  color: var(--upa-spa-card-bg, #fff);
}

.upa-spa--subpage .puc-btn--primary:hover:not(:disabled),
.upa-spa--subpage .puc-send-btn:hover:not(:disabled) {
  background: var(--upa-spa-accent-hover, var(--gabito-color-accent-purple-hover));
}

.upa-spa--subpage .puc-muted,
.upa-spa--subpage .puc-msg-label {
  color: var(--upa-spa-text-muted, var(--gabito-text-muted));
}

.upa-spa--subpage .puc-msg--user {
  background: var(--upa-spa-accent-soft, rgba(13, 148, 136, 0.1));
  border-color: var(--upa-spa-accent, var(--gabito-color-accent-purple));
}

.upa-spa--subpage .puc-link-fallback {
  color: var(--upa-spa-accent, var(--gabito-color-accent-purple));
}

/* Portal klienta — logowanie w motywie SPA (tylko ta strona) */
.upa-spa--portal-login {
  min-height: 100vh;
}

.upa-spa--portal-login .upa-spa-shell--subpage {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-top: clamp(24px, 6vw, 48px);
}

.upa-spa--portal-login .client-portal-login {
  width: 100%;
  max-width: 480px;
  background: transparent;
}

.upa-spa--portal-login .client-portal-login__card {
  background: var(--upa-spa-card-bg, var(--gabito-bg-surface));
  border-color: var(--upa-spa-card-border, var(--gabito-border));
  box-shadow: var(--upa-spa-card-shadow, 0 8px 24px rgba(15, 23, 42, 0.06));
  border-radius: var(--upa-spa-card-radius, 20px);
}

.upa-spa--portal-login .cp-label,
.upa-spa--portal-login .client-portal-login :deep(.gabito-common-title-heading-group h2) {
  color: var(--upa-spa-text, var(--gabito-text));
}

.upa-spa--portal-login .cp-input,
.upa-spa--portal-login .cp-unit-dropdown__trigger,
.upa-spa--portal-login .cp-unit-dropdown__list {
  background: var(--upa-spa-card-bg, var(--gabito-bg-surface));
  border-color: var(--upa-spa-card-border, var(--gabito-border));
  color: var(--upa-spa-text, var(--gabito-text));
}

.upa-spa--portal-login .cp-hint {
  color: var(--upa-spa-text-muted, var(--gabito-text-muted));
}

.upa-spa--portal-login .client-portal-login__submit.gabito-common-add-btn-v1,
.upa-spa--portal-login .cp-demo-login-btn {
  background: var(--upa-spa-accent, var(--gabito-color-teal-hover));
}

.upa-spa--portal-login .client-portal-login__submit.gabito-common-add-btn-v1:hover:not(:disabled),
.upa-spa--portal-login .cp-demo-login-btn:hover:not(:disabled) {
  background: var(--upa-spa-accent-hover, var(--gabito-color-teal-hover));
}

.upa-spa--portal-login .cp-link-button {
  color: var(--upa-spa-accent, var(--gabito-color-teal-hover));
}
/* Public unit SPA — guest accessibility (font scale + day/night mode) */

/*
 * Font scale applies on html so rem-based SPA typography scales (hub, booking, chat).
 * Values mirror UNIT_PUBLIC_SPA_FONT_SCALE_MULTIPLIERS in unitPublicSpaAccessibilityState.js.
 */
html[data-upa-spa-font-scale='aa'] {
  font-size: 125%;
}

html[data-upa-spa-font-scale='aaa'] {
  font-size: 150%;
}

.upa-spa-color-mode--dark,
html[data-upa-spa-color-mode='dark'] .upa-spa {
  --upa-spa-bg: #0f172a;
  --upa-spa-bg-soft: #1e293b;
  --upa-spa-text: #e2e8f0;
  --upa-spa-text-muted: #94a3b8;
  --upa-spa-nav-bg: rgba(15, 23, 42, 0.94);
  --upa-spa-nav-border: rgba(148, 163, 184, 0.14);
  --upa-spa-card-bg: #1e293b;
  --upa-spa-card-border: rgba(148, 163, 184, 0.2);
  --upa-spa-card-shadow: 0 8px 28px rgba(0, 0, 0, 0.38);
  --upa-spa-surface-muted: #334155;
  --upa-spa-surface-elevated: #1e293b;
  --upa-spa-accent-soft: color-mix(in srgb, var(--upa-spa-accent, #38bdf8) 20%, transparent);
  --upa-spa-hero-gradient: radial-gradient(
    ellipse 90% 60% at 50% -15%,
    color-mix(in srgb, var(--upa-spa-accent, #38bdf8) 14%, transparent),
    transparent 62%
  );
  --upa-spa-focus-ring: 0 0 0 3px color-mix(in srgb, var(--upa-spa-accent, #38bdf8) 35%, transparent);
  background:
    var(--upa-spa-hero-gradient),
    linear-gradient(180deg, var(--upa-spa-bg) 0%, var(--upa-spa-bg-soft) 42%, var(--upa-spa-bg) 100%);
  color: var(--upa-spa-text);
}

.upa-spa-color-mode--dark .upa-spa-btn--outline,
html[data-upa-spa-color-mode='dark'] .upa-spa .upa-spa-btn--outline {
  background: transparent;
  border-color: color-mix(in srgb, var(--upa-spa-accent, #38bdf8) 45%, var(--upa-spa-card-border));
  color: var(--upa-spa-text);
}

.upa-spa-color-mode--dark .upa-spa-btn--outline:hover:not(:disabled),
html[data-upa-spa-color-mode='dark'] .upa-spa .upa-spa-btn--outline:hover:not(:disabled) {
  background: var(--upa-spa-accent-soft);
  border-color: var(--upa-spa-accent);
}

.upa-spa-color-mode--dark .upa-spa-hero-logo,
.upa-spa-color-mode--dark .upa-spa-header-logo,
html[data-upa-spa-color-mode='dark'] .upa-spa .upa-spa-hero-logo,
html[data-upa-spa-color-mode='dark'] .upa-spa .upa-spa-header-logo {
  background: var(--upa-spa-surface-elevated);
  border-color: var(--upa-spa-card-border);
}

.upa-spa-color-mode--dark .upa-spa-mobile-nav-panel,
html[data-upa-spa-color-mode='dark'] .upa-spa .upa-spa-mobile-nav-panel {
  background: var(--upa-spa-card-bg);
  border-color: var(--upa-spa-card-border);
}

/* —— Compact toolbar (font + theme + language) —— */
.upa-spa-a11y-toolbar {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  gap: 0.4rem;
}

.upa-spa-a11y-toolbar--compact {
  gap: 0.35rem;
}

.upa-spa-a11y-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.15rem;
  height: 2.15rem;
  padding: 0 0.45rem;
  border: 1px solid var(--upa-spa-card-border, rgba(15, 23, 42, 0.12));
  border-radius: 999px;
  background: var(--upa-spa-card-bg, #fff);
  color: var(--upa-spa-text, #0f172a);
  font: inherit;
  line-height: 1;
  cursor: pointer;
}

.upa-spa-a11y-btn:hover:not(:disabled) {
  border-color: var(--upa-spa-accent, #4f46e5);
}

.upa-spa-a11y-btn:focus-visible {
  outline: 2px solid var(--upa-spa-accent, #4f46e5);
  outline-offset: 2px;
}

.upa-spa-a11y-btn--font {
  min-width: 2.35rem;
}

.upa-spa-a11y-btn__label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.upa-spa-a11y-btn__icon {
  width: 0.95rem;
  height: 0.95rem;
  color: var(--upa-spa-text-muted, #64748b);
}

.upa-spa-a11y-btn--theme[aria-pressed='true'] .upa-spa-a11y-btn__icon {
  color: var(--upa-spa-accent, #4f46e5);
}

.upa-spa-mobile-nav-lang .upa-spa-a11y-toolbar {
  width: 100%;
  justify-content: flex-start;
  padding-top: 0.25rem;
}

.upa-spa-a11y-toolbar .upa-spa-lang-switcher {
  flex-shrink: 0;
}

.upa-spa-header-actions .upa-spa-a11y-toolbar,
.upa-spa-subpage-lang-bar .upa-spa-a11y-toolbar {
  overflow: visible;
}

.puc-cal-overlay[data-v-03d7faba] {
  position: fixed;
  inset: 0;
  z-index: 1200;
  background: rgba(15, 23, 42, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  padding:
    max(12px, env(safe-area-inset-top, 0px))
    max(12px, env(safe-area-inset-right, 0px))
    max(12px, env(safe-area-inset-bottom, 0px))
    max(12px, env(safe-area-inset-left, 0px));
  box-sizing: border-box;
  overflow-y: auto;
}
.puc-cal-modal[data-v-03d7faba] {
  width: 100%;
  max-width: 420px;
  max-height: min(90vh, calc(100dvh - 24px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)));
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  color: var(--puc-text, var(--upa-spa-text, var(--gabito-text)));
  background: var(--puc-surface, var(--upa-spa-card-bg, var(--gabito-bg-surface)));
  border-radius: var(--puc-radius-md, 16px);
  border: 1px solid var(--puc-border, var(--upa-spa-card-border, var(--gabito-border)));
  box-shadow: var(--puc-card-shadow, 0 16px 48px rgba(15, 23, 42, 0.18));
  padding: 16px;
  box-sizing: border-box;
}
.puc-cal-header[data-v-03d7faba] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.puc-cal-title[data-v-03d7faba] {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--puc-text, var(--upa-spa-text, var(--gabito-text)));
}
.puc-cal-close[data-v-03d7faba] {
  border: none;
  background: transparent;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  color: var(--puc-text-muted, var(--upa-spa-text-muted, var(--gabito-text-muted)));
  padding: 4px 8px;
}
.puc-cal-access[data-v-03d7faba] {
  margin: 0 0 10px;
  font-size: 0.82rem;
  color: var(--puc-text-muted, var(--upa-spa-text-muted, var(--gabito-text-muted)));
  line-height: 1.4;
}
.puc-cal-access-hint[data-v-03d7faba] {
  display: block;
  margin-top: 2px;
  color: var(--puc-text-muted, var(--upa-spa-text-muted, var(--gabito-text-muted)));
}
.puc-cal-phone[data-v-03d7faba] {
  margin-bottom: 10px;
}
.puc-cal-phone-label[data-v-03d7faba] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 0.82rem;
  color: var(--puc-text, var(--upa-spa-text, var(--gabito-text)));
}
.puc-cal-phone-row[data-v-03d7faba] {
  display: flex;
  gap: 8px;
}
.puc-cal-phone-row .puc-input[data-v-03d7faba] {
  flex: 1;
}
.puc-cal-error[data-v-03d7faba] {
  margin: 0 0 8px;
  font-size: 0.85rem;
  color: var(--gabito-color-danger-dark, #b91c1c);
}
.puc-cal-loading[data-v-03d7faba] {
  margin: 0 0 8px;
  font-size: 0.85rem;
  color: var(--puc-text-muted, var(--upa-spa-text-muted, var(--gabito-text-muted)));
}
.puc-cal-nav[data-v-03d7faba] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.puc-cal-nav-btn[data-v-03d7faba] {
  border: 1px solid var(--puc-border, var(--upa-spa-card-border, var(--gabito-border)));
  background: var(--puc-surface-alt, var(--upa-spa-surface-muted, var(--gabito-bg-surface-alt)));
  color: var(--puc-text, var(--upa-spa-text, var(--gabito-text)));
  border-radius: 8px;
  width: 36px;
  height: 36px;
  cursor: pointer;
  font-size: 1.2rem;
}
.puc-cal-nav-btn[data-v-03d7faba]:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.puc-cal-month[data-v-03d7faba] {
  font-weight: 700;
  text-transform: capitalize;
  color: var(--puc-text, var(--upa-spa-text, var(--gabito-text)));
}
.puc-cal-weekdays[data-v-03d7faba] {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  margin-bottom: 4px;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--puc-text-muted, var(--upa-spa-text-muted, var(--gabito-text-muted)));
  text-align: center;
}
.puc-cal-grid[data-v-03d7faba] {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
}
.puc-cal-cell-wrap[data-v-03d7faba] {
  aspect-ratio: 1;
}
.puc-cal-day[data-v-03d7faba] {
  width: 100%;
  height: 100%;
  border: 1px solid var(--puc-border, var(--upa-spa-card-border, var(--gabito-border)));
  border-radius: 8px;
  background: var(--puc-surface-alt, var(--upa-spa-surface-muted, var(--gabito-bg-surface-alt)));
  color: var(--puc-text, var(--upa-spa-text, var(--gabito-text)));
  cursor: pointer;
  font: inherit;
  font-size: 0.85rem;
}
.puc-cal-day--available[data-v-03d7faba] {
  border-color: var(--puc-accent, var(--upa-spa-accent, var(--gabito-color-accent-purple)));
  background: var(--puc-surface-active, var(--upa-spa-accent-soft, var(--gabito-bg-active-subtle)));
  font-weight: 700;
}
.puc-cal-day--preferred[data-v-03d7faba] {
  box-shadow: inset 0 0 0 2px var(--puc-accent, var(--upa-spa-accent, var(--gabito-color-accent-purple)));
}
.puc-cal-preference[data-v-03d7faba] {
  margin: 0 0 10px;
  font-size: 0.82rem;
  color: var(--puc-accent, var(--upa-spa-accent, var(--gabito-color-accent-purple)));
  font-style: italic;
}
.puc-suggested-section[data-v-03d7faba] {
  margin-bottom: 10px;
}
.puc-suggested-title[data-v-03d7faba] {
  margin: 0 0 8px;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--puc-accent, var(--upa-spa-accent, var(--gabito-color-accent-purple)));
}
.puc-slot-grid[data-v-03d7faba] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.puc-slot-btn[data-v-03d7faba] {
  border: 1px solid var(--puc-border, var(--upa-spa-card-border, var(--gabito-border)));
  border-radius: 8px;
  padding: 8px 12px;
  background: var(--puc-surface-alt, var(--upa-spa-surface-muted, var(--gabito-bg-surface-alt)));
  color: var(--puc-text, var(--upa-spa-text, var(--gabito-text)));
  cursor: pointer;
  font: inherit;
  font-size: 0.88rem;
}
.puc-slot-btn[data-v-03d7faba]:hover:not(:disabled) {
  border-color: var(--puc-accent, var(--upa-spa-accent, var(--gabito-color-accent-purple)));
}
.puc-slot-btn--preferred[data-v-03d7faba] {
  border-color: var(--puc-accent, var(--upa-spa-accent, var(--gabito-color-accent-purple)));
  font-weight: 700;
}
.puc-cal-day--disabled[data-v-03d7faba] {
  color: var(--puc-text-muted, var(--upa-spa-text-muted, var(--gabito-text-muted)));
  opacity: 0.45;
  cursor: not-allowed;
}
.puc-cal-day--today[data-v-03d7faba] {
  box-shadow: inset 0 0 0 2px var(--puc-accent, var(--upa-spa-accent, var(--gabito-color-accent-purple)));
}
.puc-cal-back[data-v-03d7faba] {
  border: none;
  background: transparent;
  color: var(--puc-accent, var(--upa-spa-accent, var(--gabito-color-accent-purple)));
  cursor: pointer;
  padding: 0;
  margin-bottom: 8px;
  font: inherit;
  font-size: 0.85rem;
}
.puc-cal-selected-day[data-v-03d7faba] {
  margin: 0 0 8px;
  font-weight: 700;
  text-transform: capitalize;
  color: var(--puc-text, var(--upa-spa-text, var(--gabito-text)));
}
.puc-cal-hint[data-v-03d7faba] {
  margin: 0 0 10px;
  font-size: 0.82rem;
  color: var(--puc-text-muted, var(--upa-spa-text-muted, var(--gabito-text-muted)));
}
.puc-cal-footer[data-v-03d7faba] {
  margin-top: 12px;
  display: flex;
  justify-content: flex-end;
}
.puc-btn[data-v-03d7faba] {
  border: none;
  border-radius: 10px;
  padding: 10px 18px;
  font-weight: 600;
  cursor: pointer;
  font: inherit;
}
.puc-btn--primary[data-v-03d7faba] {
  background: var(--puc-accent, var(--upa-spa-accent, var(--gabito-color-accent-purple)));
  color: var(--puc-on-accent, var(--upa-spa-card-bg, var(--gabito-text-inverse)));
}
.puc-btn--primary[data-v-03d7faba]:hover:not(:disabled) {
  background: var(--puc-accent-hover, var(--upa-spa-accent-hover, var(--gabito-color-accent-purple-hover)));
}
.puc-cal-footer .puc-btn[data-v-03d7faba] {
  background: var(--puc-surface-alt, var(--upa-spa-surface-muted, var(--gabito-bg-surface-alt)));
  border: 1px solid var(--puc-border, var(--upa-spa-card-border, var(--gabito-border)));
  color: var(--puc-text, var(--upa-spa-text, var(--gabito-text)));
}
.puc-btn[data-v-03d7faba]:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.puc-input[data-v-03d7faba] {
  flex: 1;
  border: 1px solid var(--puc-border, var(--upa-spa-card-border, var(--gabito-border)));
  border-radius: 10px;
  padding: 10px 12px;
  font: inherit;
  width: 100%;
  box-sizing: border-box;
  color: var(--puc-text, var(--upa-spa-text, var(--gabito-text)));
  background: var(--puc-surface-alt, var(--upa-spa-surface-muted, var(--gabito-bg-surface-alt)));
}
.puc-slot-btn--disabled[data-v-03d7faba] {
  color: var(--puc-text-muted, var(--upa-spa-text-muted, var(--gabito-text-muted)));
  opacity: 0.45;
  cursor: not-allowed;
}
@media (max-width: 768px) {
.puc-cal-modal[data-v-03d7faba] {
    padding: 12px;
    border-radius: 12px;
    max-height: calc(
      100dvh
      - 16px
      - env(safe-area-inset-top, 0px)
      - env(safe-area-inset-bottom, 0px)
    );
}
.puc-cal-title[data-v-03d7faba] {
    font-size: 0.95rem;
    overflow-wrap: anywhere;
}
.puc-cal-phone-row[data-v-03d7faba] {
    flex-direction: column;
    align-items: stretch;
}
.puc-cal-phone-row .puc-btn[data-v-03d7faba] {
    width: 100%;
}
.puc-cal-weekdays[data-v-03d7faba] {
    font-size: 0.68rem;
    gap: 2px;
}
.puc-cal-grid[data-v-03d7faba] {
    gap: 2px;
}
.puc-cal-day[data-v-03d7faba] {
    font-size: 0.8rem;
    border-radius: 6px;
}
}

.puc-book-overlay[data-v-1069138d] {
  position: fixed;
  inset: 0;
  z-index: 1200;
  background: rgba(15, 23, 42, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  padding:
    max(12px, env(safe-area-inset-top, 0px))
    max(12px, env(safe-area-inset-right, 0px))
    max(12px, env(safe-area-inset-bottom, 0px))
    max(12px, env(safe-area-inset-left, 0px));
  box-sizing: border-box;
  overflow-y: auto;
}
.puc-book-modal[data-v-1069138d] {
  width: 100%;
  max-width: 420px;
  max-height: min(90vh, calc(100dvh - 24px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)));
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  color: var(--puc-text, var(--upa-spa-text, var(--gabito-text)));
  background: var(--puc-surface, var(--upa-spa-card-bg, var(--gabito-bg-surface)));
  border-radius: var(--puc-radius-md, 16px);
  border: 1px solid var(--puc-border, var(--upa-spa-card-border, var(--gabito-border)));
  box-shadow: var(--puc-card-shadow, 0 16px 48px rgba(15, 23, 42, 0.18));
  padding: 16px;
  box-sizing: border-box;
}
.puc-book-header[data-v-1069138d] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.puc-book-title[data-v-1069138d] {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--puc-text, var(--upa-spa-text, var(--gabito-text)));
}
.puc-book-close[data-v-1069138d] {
  border: none;
  background: transparent;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  color: var(--puc-text-muted, var(--upa-spa-text-muted, var(--gabito-text-muted)));
  padding: 4px 8px;
}
.puc-book-muted[data-v-1069138d] {
  margin: 0 0 12px;
  font-size: 0.85rem;
  color: var(--puc-text-muted, var(--upa-spa-text-muted, var(--gabito-text-muted)));
  line-height: 1.45;
}
.puc-form-grid[data-v-1069138d] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 12px;
}
.puc-field[data-v-1069138d] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.82rem;
  color: var(--puc-text, var(--upa-spa-text, var(--gabito-text)));
}
.puc-input[data-v-1069138d] {
  border: 1px solid var(--puc-border, var(--upa-spa-card-border, var(--gabito-border)));
  border-radius: 10px;
  padding: 10px 12px;
  font: inherit;
  width: 100%;
  box-sizing: border-box;
  color: var(--puc-text, var(--upa-spa-text, var(--gabito-text)));
  background: var(--puc-surface-alt, var(--upa-spa-surface-muted, var(--gabito-bg-surface-alt)));
}
.puc-turnstile[data-v-1069138d] {
  margin-bottom: 12px;
}
.puc-book-footer[data-v-1069138d] {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.puc-booking-actions[data-v-1069138d] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.puc-link-fallback[data-v-1069138d] {
  font-size: 0.85rem;
  color: var(--puc-accent, var(--upa-spa-accent, var(--gabito-color-accent-purple)));
}
.puc-honeypot[data-v-1069138d] {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.puc-btn[data-v-1069138d] {
  border: none;
  border-radius: 10px;
  padding: 10px 18px;
  font-weight: 600;
  cursor: pointer;
  font: inherit;
}
.puc-btn--primary[data-v-1069138d] {
  background: var(--puc-accent, var(--upa-spa-accent, var(--gabito-color-accent-purple)));
  color: var(--puc-on-accent, var(--upa-spa-card-bg, var(--gabito-text-inverse)));
}
.puc-btn--primary[data-v-1069138d]:hover:not(:disabled) {
  background: var(--puc-accent-hover, var(--upa-spa-accent-hover, var(--gabito-color-accent-purple-hover)));
}
.puc-btn--muted[data-v-1069138d] {
  align-self: flex-end;
  background: var(--puc-surface-alt, var(--upa-spa-surface-muted, var(--gabito-bg-surface-alt)));
  border: 1px solid var(--puc-border, var(--upa-spa-card-border, var(--gabito-border)));
  color: var(--puc-text, var(--upa-spa-text, var(--gabito-text)));
}
.puc-btn[data-v-1069138d]:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
@media (max-width: 520px) {
.puc-form-grid[data-v-1069138d] {
    grid-template-columns: 1fr;
}
}
@media (max-width: 768px) {
.puc-book-modal[data-v-1069138d] {
    padding: 12px;
    border-radius: 12px;
    max-height: calc(
      100dvh
      - 16px
      - env(safe-area-inset-top, 0px)
      - env(safe-area-inset-bottom, 0px)
    );
}
.puc-book-title[data-v-1069138d] {
    font-size: 0.95rem;
    overflow-wrap: anywhere;
}
.puc-booking-actions[data-v-1069138d] {
    flex-direction: column;
    align-items: stretch;
}
.puc-booking-actions .puc-btn[data-v-1069138d] {
    width: 100%;
}
}

.chat-voice-controls[data-v-97efd42c] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.chat-voice-btn[data-v-97efd42c] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  background: var(--chat-voice-surface-alt, var(--puc-surface-alt, var(--gabito-bg-muted, #f8fafc)));
  border: 1px solid var(--chat-voice-border, var(--puc-border, var(--gabito-border, #e2e8f0)));
  color: var(--chat-voice-text, var(--puc-text, var(--gabito-text-primary, #0f172a)));
  border-radius: 10px;
  cursor: pointer;
}
.chat-voice-btn[data-v-97efd42c]:hover:not(:disabled) {
  background: var(--chat-voice-surface, var(--puc-surface, var(--gabito-bg-surface, #fff)));
  border-color: var(--chat-voice-border-strong, var(--puc-border-strong, var(--gabito-border-strong, #cbd5e1)));
}
.chat-voice-btn[data-v-97efd42c]:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.chat-voice-btn--mode-active[data-v-97efd42c] {
  color: var(--chat-voice-accent, var(--puc-accent, var(--gabito-color-primary, #0d9488)));
  border-color: var(--chat-voice-accent, var(--puc-accent, var(--gabito-color-primary, #0d9488)));
  background: var(--chat-voice-accent-soft, var(--puc-accent-soft, rgba(13, 148, 136, 0.1)));
  animation: chat-voice-mode-pulse-97efd42c 1.6s ease-in-out infinite;
}
.chat-voice-btn--mode-listening[data-v-97efd42c],
.chat-voice-btn--mic-active[data-v-97efd42c] {
  color: var(--gabito-color-danger, #dc2626);
  border-color: var(--gabito-color-danger, #dc2626);
  background: var(--gabito-bg-danger-muted, rgba(220, 38, 38, 0.08));
  animation: chat-voice-mic-pulse-97efd42c 1.4s ease-in-out infinite;
}
.chat-voice-btn--speaker-active[data-v-97efd42c] {
  color: var(--chat-voice-accent, var(--puc-accent, var(--gabito-color-primary, #0d9488)));
  border-color: var(--chat-voice-accent, var(--puc-accent, var(--gabito-color-primary, #0d9488)));
  background: var(--chat-voice-accent-soft, var(--puc-accent-soft, rgba(13, 148, 136, 0.1)));
}
@keyframes chat-voice-mic-pulse-97efd42c {
0%,
  100% {
    box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.35);
}
50% {
    box-shadow: 0 0 0 6px rgba(220, 38, 38, 0);
}
}
@keyframes chat-voice-mode-pulse-97efd42c {
0%,
  100% {
    box-shadow: 0 0 0 0 rgba(13, 148, 136, 0.3);
}
50% {
    box-shadow: 0 0 0 6px rgba(13, 148, 136, 0);
}
}

.puc-live-modal-backdrop[data-v-f565eab0] {
  position: fixed;
  inset: 0;
  z-index: 1200;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  padding:
    max(16px, env(safe-area-inset-top, 0px))
    max(16px, env(safe-area-inset-right, 0px))
    max(16px, env(safe-area-inset-bottom, 0px))
    max(16px, env(safe-area-inset-left, 0px));
  box-sizing: border-box;
  overflow-y: auto;
}
.puc-live-modal[data-v-f565eab0] {
  width: 100%;
  max-width: 420px;
  min-width: 0;
  margin: auto;
  background: var(--gabito-bg, #fff);
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
  box-sizing: border-box;
  max-height: min(90vh, calc(100dvh - 32px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)));
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.puc-h2[data-v-f565eab0] {
  margin: 0 0 8px;
  font-size: 1rem;
}
.puc-muted[data-v-f565eab0] {
  color: var(--gabito-text-muted, #64748b);
  font-size: 0.88rem;
  margin: 0 0 12px;
}
.puc-field[data-v-f565eab0] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.82rem;
  margin-bottom: 10px;
}
.puc-field[data-v-f565eab0]:last-of-type {
  margin-bottom: 0;
}
.puc-input[data-v-f565eab0] {
  border: 1px solid var(--gabito-border, #cbd5e1);
  border-radius: 10px;
  padding: 10px 12px;
  font: inherit;
  width: 100%;
  box-sizing: border-box;
  background: var(--gabito-bg-surface, #fff);
  color: var(--gabito-text, #0f172a);
}
.puc-input[data-v-f565eab0]:focus {
  border-color: var(--gabito-color-accent-purple, #7c3aed);
  outline: none;
  box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.2);
}
.puc-live-modal-actions[data-v-f565eab0] {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.puc-btn[data-v-f565eab0] {
  border-radius: 6px;
  border: 1px solid var(--gabito-border, #cbd5e1);
  background: var(--gabito-bg-surface-alt, #f8fafc);
  color: var(--gabito-text, #0f172a);
  cursor: pointer;
  font-family: inherit;
}
.puc-btn.icon-only[data-v-f565eab0] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  width: 36px;
  height: 36px;
  min-width: 36px;
  min-height: 36px;
  flex-shrink: 0;
}
.puc-btn.icon-only > i[data-v-f565eab0] {
  pointer-events: none;
  font-size: 1rem;
  line-height: 1;
}
.puc-btn--cancel[data-v-f565eab0] {
  background: transparent;
  color: var(--gabito-color-danger, #dc2626);
  border-color: var(--gabito-color-danger, #dc2626);
}
.puc-btn--cancel[data-v-f565eab0]:not(:disabled):hover {
  background: var(--gabito-bg-danger-muted, #fee2e2);
}
.puc-btn--connect[data-v-f565eab0] {
  background: transparent;
  color: var(--gabito-color-success, #16a34a);
  border-color: var(--gabito-color-success, #16a34a);
}
.puc-btn--connect[data-v-f565eab0]:not(:disabled):hover {
  background: var(--gabito-bg-success-subtle, rgba(34, 197, 94, 0.12));
}
.puc-btn[data-v-f565eab0]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.puc-live-modal-error[data-v-f565eab0] {
  color: var(--gabito-color-danger, #c00);
  font-size: 0.9rem;
  margin: 8px 0 0;
}
@media (max-width: 768px) {
.puc-live-modal[data-v-f565eab0] {
    padding: 16px;
    border-radius: 12px;
    max-height: calc(
      100dvh
      - 32px
      - env(safe-area-inset-top, 0px)
      - env(safe-area-inset-bottom, 0px)
    );
}
.puc-h2[data-v-f565eab0] {
    font-size: 0.95rem;
    overflow-wrap: anywhere;
}
.puc-input[data-v-f565eab0] {
    font-size: 16px;
}
}

/* === Wszystkie Twoje oryginalne style (bez zmian) === */
.file-preview-overlay[data-v-280ed06d] {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.file-preview-modal[data-v-280ed06d] {
  background: var(--gabito-bg-surface);
  border-radius: 12px;
  width: 95%;
  max-width: 1200px;
  height: 94vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
  overflow: hidden;
}
.file-preview-header[data-v-280ed06d] {
  padding: 12px 16px;
  border-bottom: 1px solid var(--gabito-border-light);
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--gabito-bg-surface-alt);
  min-height: 52px;
  flex-shrink: 0;
}
.file-preview-header h3[data-v-280ed06d] {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 75%;
}
.close-btn[data-v-280ed06d] {
  background: var(--gabito-color-danger);
  color: var(--gabito-text-inverse);
  border: none;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.file-preview-content[data-v-280ed06d] {
  flex: 1;
  overflow: hidden;
  padding: 8px;
  background: var(--gabito-bg-surface-alt);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.image-container[data-v-280ed06d] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: auto;
}
.image-container img[data-v-280ed06d] {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  transition: transform 0.3s ease;
}
.pdf-viewer[data-v-280ed06d] {
  width: 100%;
  height: 100% !important;
  border: none;
  border-radius: 4px;
}
.text-viewer[data-v-280ed06d],
.fallback-view[data-v-280ed06d] {
  width: 100%;
  height: 100%;
  overflow: auto;
  padding: 20px;
  background: var(--gabito-bg-surface);
  border-radius: 4px;
  white-space: pre-wrap;
  font-family: monospace;
}
.file-preview-footer[data-v-280ed06d] {
  padding: 12px 16px;
  border-top: 1px solid var(--gabito-border-light);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--gabito-bg-surface-alt);
  gap: 12px;
  flex-shrink: 0;
}
.rotate-controls[data-v-280ed06d] {
  display: flex;
  gap: 8px;
}
.rotate-controls button[data-v-280ed06d] {
  padding: 8px 16px;
  background: var(--gabito-color-primary);
  color: var(--gabito-text-inverse);
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.95rem;
}
.footer-actions[data-v-280ed06d] {
  display: flex;
  gap: 12px;
}
.download-btn[data-v-280ed06d] {
  background: var(--gabito-color-success);
  color: var(--gabito-text-inverse);
  border: none;
  padding: 10px 20px;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
}
.download-btn[data-v-280ed06d]:disabled {
  background: var(--gabito-color-muted);
  cursor: not-allowed;
}
.close-btn-footer[data-v-280ed06d] {
  background: var(--gabito-color-danger);
  color: var(--gabito-text-inverse);
  border: none;
  padding: 10px 20px;
  border-radius: 6px;
  cursor: pointer;
}
@media (max-width: 576px) {
.file-preview-modal[data-v-280ed06d] {
    width: 98%;
    height: 96vh;
}
}

.pula-msg-attachments[data-v-e825c763] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}
.pula-msg-attachment-image-btn[data-v-e825c763] {
  border: 1px solid var(--gabito-border);
  border-radius: 8px;
  padding: 0;
  background: var(--gabito-bg-surface);
  cursor: pointer;
  overflow: hidden;
  max-width: 160px;
}
.pula-msg-attachment-thumb[data-v-e825c763] {
  display: block;
  max-width: 160px;
  max-height: 120px;
  object-fit: cover;
}
.pula-msg-attachment-placeholder[data-v-e825c763] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 60px;
  font-size: 1.4rem;
}
.pula-msg-attachment-file-btn[data-v-e825c763] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--gabito-border);
  border-radius: 8px;
  padding: 6px 10px;
  background: var(--gabito-bg-surface);
  color: var(--gabito-text);
  cursor: pointer;
  font-size: 0.85rem;
  font-family: inherit;
  max-width: 100%;
}
.pula-msg-attachment-file-name[data-v-e825c763] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 200px;
}
.pula-msg-attachment-file-btn[data-v-e825c763]:disabled,
.pula-msg-attachment-image-btn[data-v-e825c763]:disabled {
  opacity: 0.6;
  cursor: wait;
}

.live-chat-typing[data-v-6de6bf1f] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  padding: 10px 14px;
  border-radius: 14px;
  border: 1px solid var(--gabito-border-strong, var(--gabito-border, #ddd));
  background: var(--gabito-surface-muted, var(--gabito-bg-muted, #f5f5f7));
  color: var(--gabito-text-muted, var(--gabito-color-muted, #666));
  font-size: 0.88rem;
}
.live-chat-typing--user[data-v-6de6bf1f] {
  margin-left: auto;
  background: color-mix(in srgb, var(--gabito-color-primary, #6f42c1) 10%, var(--gabito-surface, #fff));
}
.live-chat-typing__label[data-v-6de6bf1f] {
  font-weight: 500;
  color: var(--gabito-text, #222);
}
.live-chat-typing__dots[data-v-6de6bf1f] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.live-chat-typing__dots span[data-v-6de6bf1f] {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--gabito-color-primary, #6f42c1);
  opacity: 0.35;
  animation: live-chat-typing-dot-6de6bf1f 1.2s ease-in-out infinite;
}
.live-chat-typing__dots span[data-v-6de6bf1f]:nth-child(2) {
  animation-delay: 0.15s;
}
.live-chat-typing__dots span[data-v-6de6bf1f]:nth-child(3) {
  animation-delay: 0.3s;
}
@keyframes live-chat-typing-dot-6de6bf1f {
0%,
  80%,
  100% {
    transform: translateY(0);
    opacity: 0.35;
}
40% {
    transform: translateY(-4px);
    opacity: 1;
}
}
@media (prefers-reduced-motion: reduce) {
.live-chat-typing__dots span[data-v-6de6bf1f] {
    animation: none;
    opacity: 0.7;
}
}

.chatbot-thinking[data-v-8982e81a] {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 2rem;
}
.chatbot-thinking__visual[data-v-8982e81a] {
  position: relative;
  width: 28px;
  height: 34px;
  flex-shrink: 0;
}
.chatbot-thinking__ball[data-v-8982e81a] {
  position: absolute;
  left: 50%;
  top: 0;
  width: 14px;
  height: 14px;
  margin-left: -7px;
  border-radius: 50%;
  background: linear-gradient(
    145deg,
    color-mix(in srgb, var(--gabito-color-primary, #6f42c1) 85%, #fff),
    var(--gabito-color-primary, #6f42c1)
  );
  box-shadow: 0 2px 8px color-mix(in srgb, var(--gabito-color-primary, #6f42c1) 35%, transparent);
  animation: chatbot-thinking-bounce-8982e81a 0.9s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
}
.chatbot-thinking__shadow[data-v-8982e81a] {
  position: absolute;
  left: 50%;
  bottom: 2px;
  width: 18px;
  height: 4px;
  margin-left: -9px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--gabito-text) 18%, transparent);
  animation: chatbot-thinking-shadow-8982e81a 0.9s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
}
.chatbot-thinking__copy[data-v-8982e81a] {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 2px;
  min-width: 0;
}
.chatbot-thinking__label[data-v-8982e81a] {
  font-style: normal;
  font-weight: 500;
  font-size: 0.92rem;
  background: linear-gradient(
    90deg,
    var(--gabito-text-muted, var(--gabito-color-muted)) 0%,
    var(--gabito-color-primary, #6f42c1) 45%,
    var(--gabito-text-muted, var(--gabito-color-muted)) 90%
  );
  background-size: 220% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: chatbot-thinking-shimmer-8982e81a 2.4s ease-in-out infinite;
}
.chatbot-thinking__dots[data-v-8982e81a] {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  height: 1em;
  padding-bottom: 1px;
}
.chatbot-thinking__dot[data-v-8982e81a] {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--gabito-color-primary, #6f42c1);
  opacity: 0.35;
  animation: chatbot-thinking-dot-8982e81a 1.2s ease-in-out infinite;
}
.chatbot-thinking__dot[data-v-8982e81a]:nth-child(2) {
  animation-delay: 0.15s;
}
.chatbot-thinking__dot[data-v-8982e81a]:nth-child(3) {
  animation-delay: 0.3s;
}
@keyframes chatbot-thinking-bounce-8982e81a {
0%,
  100% {
    transform: translateY(0) scale(1, 1);
}
45% {
    transform: translateY(14px) scale(1.08, 0.88);
}
55% {
    transform: translateY(14px) scale(1.04, 0.92);
}
}
@keyframes chatbot-thinking-shadow-8982e81a {
0%,
  100% {
    transform: scaleX(1);
    opacity: 0.35;
}
45%,
  55% {
    transform: scaleX(0.55);
    opacity: 0.18;
}
}
@keyframes chatbot-thinking-shimmer-8982e81a {
0% {
    background-position: 100% 50%;
}
100% {
    background-position: -100% 50%;
}
}
@keyframes chatbot-thinking-dot-8982e81a {
0%,
  80%,
  100% {
    transform: translateY(0);
    opacity: 0.35;
}
40% {
    transform: translateY(-5px);
    opacity: 1;
}
}
@media (prefers-reduced-motion: reduce) {
.chatbot-thinking__ball[data-v-8982e81a],
  .chatbot-thinking__shadow[data-v-8982e81a],
  .chatbot-thinking__label[data-v-8982e81a],
  .chatbot-thinking__dot[data-v-8982e81a] {
    animation: none;
}
.chatbot-thinking__label[data-v-8982e81a] {
    color: var(--gabito-text-muted, var(--gabito-color-muted));
    background: none;
    -webkit-background-clip: unset;
    background-clip: unset;
}
.chatbot-thinking__dot[data-v-8982e81a] {
    opacity: 0.7;
}
}


/* Public chat fills auth-shell column; avoid double scroll with main-content */
html.auth-shell .main-content.no-sidebar:has(.puc-page) {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  overflow-x: hidden;
  min-height: 0;
  flex: 1 1 auto;
}
html.auth-shell .main-content.no-sidebar:has(.puc-page) > * {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}
.puc-page[data-v-680f0527] {
  /* Tokeny chatu — dziedziczą --upa-spa-* z UnitPublicSpaPageShell, fallback na Gabito */
  --puc-text: var(--upa-spa-text, var(--gabito-text));
  --puc-text-muted: var(--upa-spa-text-muted, var(--gabito-text-muted));
  --puc-surface: var(--upa-spa-card-bg, var(--gabito-bg-surface));
  --puc-surface-alt: var(--upa-spa-surface-muted, var(--gabito-bg-surface-alt));
  --puc-surface-active: var(--upa-spa-accent-soft, var(--gabito-bg-active-subtle));
  --puc-border: var(--upa-spa-card-border, var(--gabito-border));
  --puc-border-strong: var(--upa-spa-card-border, var(--gabito-border-strong));
  --puc-accent: var(--upa-spa-accent, var(--gabito-color-accent-purple));
  --puc-accent-hover: var(--upa-spa-accent-hover, var(--gabito-color-accent-purple-hover));
  --puc-accent-soft: var(--upa-spa-accent-soft, rgba(13, 148, 136, 0.1));
  --puc-card-shadow: var(--upa-spa-card-shadow, 0 8px 28px rgba(15, 23, 42, 0.06));
  --puc-radius-md: var(--upa-spa-radius-md, 14px);
  --puc-on-accent: var(--upa-spa-card-bg, var(--gabito-text-inverse));
  --puc-focus-ring: var(--upa-spa-focus-ring, 0 0 0 3px rgba(13, 148, 136, 0.28));

  flex: 1 1 auto;

  min-height: 0;

  width: 100%;

  max-width: 720px;

  display: flex;

  flex-direction: column;

  margin: 0 auto;

  padding:
    max(12px, env(safe-area-inset-top, 0px))
    max(12px, env(safe-area-inset-right, 0px))
    max(0px, env(safe-area-inset-bottom, 0px))
    max(12px, env(safe-area-inset-left, 0px));

  box-sizing: border-box;

  overflow: hidden;

  overflow-x: hidden;

  color: var(--puc-text);

  background: transparent;
}
.puc-page--portal[data-v-680f0527] {
  background: linear-gradient(
    165deg,
    var(--puc-surface-alt) 0%,
    var(--puc-surface-active) 45%,
    var(--puc-surface-alt) 100%
  );
}
.puc-chat-shell[data-v-680f0527] {

  flex: 1 1 auto;

  min-height: 0;

  display: flex;

  flex-direction: column;

  overflow: hidden;
}
.puc-chat-scroll[data-v-680f0527] {

  flex: 1 1 auto;

  min-height: 0;

  overflow-y: auto;

  overflow-x: hidden;

  -webkit-overflow-scrolling: touch;
}
.puc-chat-footer[data-v-680f0527] {

  flex-shrink: 0;

  display: flex;

  flex-direction: column;

  gap: 0;

  padding-top: 4px;

  background: transparent;
}
.puc-header[data-v-680f0527] {

  margin-bottom: 12px;

  flex-shrink: 0;
}
.puc-header-row[data-v-680f0527] {

  display: flex;

  align-items: center;

  gap: 8px;
}
.puc-header-side[data-v-680f0527] {

  width: 40px;

  flex-shrink: 0;
}
.puc-header-side--end[data-v-680f0527] {

  display: flex;

  justify-content: flex-end;

  align-items: center;
}
.puc-title[data-v-680f0527] {

  flex: 1 1 auto;

  margin: 0;

  font-size: 1.35rem;

  font-weight: 800;

  color: var(--puc-text);

  line-height: 1.25;

  text-align: center;

  overflow-wrap: anywhere;

  word-break: break-word;

  min-width: 0;
}
.puc-card[data-v-680f0527] {

  background: var(--puc-surface);

  border-radius: var(--puc-radius-md, 14px);

  padding: 16px;

  border: 1px solid var(--puc-border);

  box-shadow: var(--puc-card-shadow);

  margin-bottom: 12px;
}
.puc-messages-anchor[data-v-680f0527] {

  flex-shrink: 0;

  width: 100%;

  height: 1px;
}
.puc-messages[data-v-680f0527] {

  flex-shrink: 0;

  width: 100%;

  margin-bottom: 12px;

  display: flex;

  flex-direction: column;

  align-items: flex-start;

  gap: 14px;
}
.puc-msg[data-v-680f0527] {

  width: fit-content;

  max-width: min(85%, 520px);

  border-radius: 16px;

  padding: 10px 14px;

  box-shadow: var(--puc-card-shadow);
}
.puc-msg--user[data-v-680f0527] {

  align-self: flex-end;

  margin-left: auto;

  text-align: right;

  background: var(--puc-accent);

  color: var(--puc-on-accent);

  border: 1px solid transparent;

  box-shadow: var(--puc-card-shadow);

  border-bottom-right-radius: 6px;
}
.puc-msg--assistant[data-v-680f0527] {

  align-self: flex-start;

  margin-right: auto;

  text-align: left;

  background: var(--puc-surface);

  color: var(--puc-text);

  border: 1px solid var(--puc-border-strong);

  border-bottom-left-radius: 6px;
}
.puc-msg--typing[data-v-680f0527] {

  opacity: 0.92;
}
.puc-msg-body--thinking[data-v-680f0527] {

  padding-top: 2px;
}
.puc-msg-label[data-v-680f0527] {

  display: block;

  font-size: 0.72rem;

  font-weight: 700;

  margin-bottom: 6px;

  text-transform: uppercase;

  letter-spacing: 0.05em;
}
.puc-msg--user .puc-msg-label[data-v-680f0527] {

  color: rgba(255, 255, 255, 0.88);
}
.puc-msg--assistant .puc-msg-label[data-v-680f0527] {

  color: var(--puc-text-muted);
}
.puc-msg-body[data-v-680f0527] {

  font-size: 0.95rem;

  line-height: 1.5;

  white-space: pre-wrap;

  word-break: break-word;

  overflow-wrap: anywhere;
}
.puc-msg-body[data-v-680f0527] .puc-inline-link {

  color: inherit;

  text-decoration: underline;

  text-underline-offset: 2px;
}
.puc-msg--assistant .puc-msg-body[data-v-680f0527] .puc-inline-link {

  color: var(--puc-accent);
}
.puc-slots-card[data-v-680f0527] {

  flex-shrink: 0;
}
.puc-composer[data-v-680f0527] {

  flex-shrink: 0;

  margin-bottom: 8px;

  padding: 10px 12px;
}
.puc-composer--voice-mode[data-v-680f0527] {
  padding: 10px 14px;
}
.puc-composer-row--voice-mode[data-v-680f0527] {
  justify-content: center;
  flex-wrap: nowrap;
}
.puc-composer-row--voice-mode[data-v-680f0527] .chat-voice-controls {
  justify-content: center;
  width: 100%;
}
.puc-composer-row[data-v-680f0527] {

  display: flex;

  flex-direction: row;

  flex-wrap: nowrap;

  align-items: center;

  gap: 10px;

  min-width: 0;
}
.puc-textarea[data-v-680f0527] {

  flex: 1 1 0%;

  min-width: 0;

  width: auto;

  max-width: 100%;

  resize: none;

  min-height: 44px;

  max-height: 120px;

  border: 1px solid var(--puc-border);

  border-radius: 10px;

  padding: 10px 12px;

  font: inherit;

  font-size: 16px;

  box-sizing: border-box;

  line-height: 1.4;

  overflow-y: auto;
}
.puc-send-btn[data-v-680f0527] {

  flex: 0 0 auto;

  width: auto;

  max-width: none;

  min-height: 44px;

  height: 44px;

  min-width: 72px;

  padding: 0 14px;

  white-space: nowrap;

  align-self: center;
}
.puc-char-count[data-v-680f0527] {

  display: block;

  margin-top: 6px;

  font-size: 0.78rem;

  color: var(--puc-text-muted);

  text-align: right;
}
.puc-btn[data-v-680f0527] {

  border: none;

  border-radius: 10px;

  padding: 10px 18px;

  font-weight: 600;

  cursor: pointer;
}
.puc-btn--primary[data-v-680f0527] {
  background: var(--puc-accent);
  color: var(--puc-on-accent);
}
.puc-btn--primary[data-v-680f0527]:hover:not(:disabled) {
  background: var(--puc-accent-hover);
}
.puc-btn[data-v-680f0527]:disabled {

  opacity: 0.55;

  cursor: not-allowed;
}
.puc-input[data-v-680f0527] {

  flex: 1;

  border: 1px solid var(--puc-border);

  border-radius: 10px;

  padding: 10px 12px;

  font: inherit;

  width: 100%;

  box-sizing: border-box;
}
.puc-code-row[data-v-680f0527] {

  display: flex;

  gap: 10px;

  margin-top: 10px;
}
.puc-muted[data-v-680f0527] {

  color: var(--puc-text-muted);

  font-size: 0.88rem;

  margin: 0;
}
.puc-h2[data-v-680f0527] {

  margin: 0 0 8px;

  font-size: 1rem;
}
.puc-h3[data-v-680f0527] {

  margin: 0 0 10px;

  font-size: 0.95rem;
}
.puc-error[data-v-680f0527] {

  border-color: var(--gabito-bg-danger-subtle);

  background: var(--gabito-bg-danger-muted);

  color: var(--gabito-color-danger-dark);
}
.puc-chat-footer .puc-card[data-v-680f0527] {
  margin-bottom: 6px;
}
.puc-disclaimer[data-v-680f0527] {

  flex-shrink: 0;

  font-size: 0.75rem;

  color: var(--puc-text-muted);

  text-align: center;

  margin: 0;

  padding-bottom: 12px;

  line-height: 1.4;
}
.puc-empty-hint[data-v-680f0527] {

  font-size: 0.9rem;

  color: var(--puc-text-muted);
}
.puc-state[data-v-680f0527] {

  text-align: center;

  color: var(--puc-text-muted);
}
.puc-sr-only[data-v-680f0527] {

  position: absolute;

  width: 1px;

  height: 1px;

  padding: 0;

  margin: -1px;

  overflow: hidden;

  clip: rect(0, 0, 0, 0);

  border: 0;
}
.puc-page--portal .puc-chat-footer[data-v-680f0527] {
  position: sticky;
  bottom: 0;
  z-index: 2;
  box-shadow: 0 -4px 16px rgba(15, 23, 42, 0.06);
}
.puc-live-header-btn[data-v-680f0527] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  flex-shrink: 0;
}
.puc-live-header-btn > i[data-v-680f0527] {
  pointer-events: none;
  font-size: 1rem;
  line-height: 1;
}
.puc-btn.icon-only.puc-btn--connect[data-v-680f0527] {
  background: transparent;
  color: var(--gabito-color-success);
  border-color: var(--gabito-color-success);
}
.puc-btn.icon-only.puc-btn--connect[data-v-680f0527]:not(:disabled):hover {
  background: var(--gabito-bg-success-subtle, rgba(34, 197, 94, 0.12));
}
.puc-btn.icon-only[data-v-680f0527] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  width: 36px;
  height: 36px;
  min-width: 36px;
  min-height: 36px;
  flex-shrink: 0;
  border: 1px solid;
  border-radius: 6px;
}
.puc-btn.icon-only > i[data-v-680f0527] {
  pointer-events: none;
  font-size: 1rem;
  line-height: 1;
}
.puc-btn.icon-only.puc-btn--close[data-v-680f0527] {
  background: transparent;
  color: var(--gabito-color-danger);
  border-color: var(--gabito-color-danger);
}
.puc-btn.icon-only.puc-btn--close[data-v-680f0527]:not(:disabled):hover {
  background: var(--gabito-bg-danger-muted);
}
.puc-btn--secondary[data-v-680f0527] {
  background: var(--puc-surface-alt);
  border: 1px solid var(--puc-border);
  color: var(--puc-text);
}
.puc-page--portal[data-v-680f0527] {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  max-width: 100%;
}
.puc-page--modal[data-v-680f0527] {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  max-height: 100dvh;
  width: 100%;
  max-width: 100%;
  margin: 0;
  border-radius: 0;
  padding: 0;
}
.puc-page--modal .puc-header[data-v-680f0527] {
  padding:
    max(12px, env(safe-area-inset-top, 0px))
    max(12px, env(safe-area-inset-right, 0px))
    0
    max(12px, env(safe-area-inset-left, 0px));
}
.puc-page--modal .puc-chat-scroll[data-v-680f0527] {
  padding-left: max(12px, env(safe-area-inset-left, 0px));
  padding-right: max(12px, env(safe-area-inset-right, 0px));
}
.puc-page--modal .puc-chat-footer[data-v-680f0527] {
  padding:
    4px
    max(12px, env(safe-area-inset-right, 0px))
    max(12px, env(safe-area-inset-bottom, 0px))
    max(12px, env(safe-area-inset-left, 0px));
  flex-shrink: 0;
  position: sticky;
  bottom: 0;
  z-index: 2;
  background: var(--puc-surface, var(--upa-spa-card-bg, #fff));
  box-shadow: 0 -4px 16px rgba(15, 23, 42, 0.06);
}
.puc-page--modal .puc-code-card[data-v-680f0527],
.puc-page--modal .puc-error[data-v-680f0527] {
  margin-left: max(12px, env(safe-area-inset-left, 0px));
  margin-right: max(12px, env(safe-area-inset-right, 0px));
}
.puc-page--standalone[data-v-680f0527] {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  max-height: 100dvh;
  width: 100%;
  max-width: 100%;
  margin: 0;
  border-radius: 0;
  padding:
    max(10px, env(safe-area-inset-top, 0px))
    max(10px, env(safe-area-inset-right, 0px))
    max(0px, env(safe-area-inset-bottom, 0px))
    max(10px, env(safe-area-inset-left, 0px));
}
html:has(.puc-page--standalone),html:has(.puc-page--standalone) body {
  overflow: hidden;
  height: 100%;
  max-height: 100dvh;
  overscroll-behavior: none;
}
html:has(.puc-page--standalone) #app {
  height: 100dvh;
  max-height: 100dvh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
html:has(.puc-page--standalone) .upa-spa--subpage {
  flex: 1 1 auto;
  min-height: 0;
  height: 100dvh;
  max-height: 100dvh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
html:has(.puc-page--standalone) .upa-spa-shell--subpage {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  max-height: 100dvh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
}
html:has(.puc-page--standalone) .upa-spa-shell--subpage > * {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
html:has(.puc-page--standalone) .upa-spa--subpage .puc-page {
  max-width: 100%;
  width: 100%;
  margin: 0;
}
.puc-live-panel[data-v-680f0527] {
  margin-bottom: 10px;
  padding: 12px;
}
.puc-live-panel--ended[data-v-680f0527] {
  border-color: var(--gabito-border, #cbd5e1);
  opacity: 0.92;
}
.puc-live-panel--ended .puc-live-panel-header strong[data-v-680f0527] {
  color: var(--gabito-text-muted, #64748b);
}
.puc-live-panel-header[data-v-680f0527] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
  font-size: 0.9rem;
}
.puc-live-messages[data-v-680f0527] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  width: 100%;
  max-height: none;
  overflow: visible;
  margin-bottom: 10px;
  padding: 4px 2px;
}
.puc-live-typing-wrap[data-v-680f0527] {
  align-self: flex-start;
}
.puc-live-composer[data-v-680f0527] {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.puc-live-composer .puc-composer-row[data-v-680f0527] {
  width: 100%;
  min-width: 0;
  flex: 1 1 auto;
}
.puc-live-composer .puc-textarea[data-v-680f0527] {
  flex: 1 1 0%;
  min-width: 0;
}
.puc-btn--attach[data-v-680f0527] {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  font-size: 1.1rem;
  line-height: 1;
  background: var(--puc-surface-alt);
  border: 1px solid var(--puc-border);
  color: var(--puc-text);
}
.puc-btn--attach[data-v-680f0527]:hover:not(:disabled) {
  background: var(--puc-surface);
  border-color: var(--puc-border-strong);
  color: var(--puc-text);
}
.puc-live-upload-progress[data-v-680f0527] {
  margin: 6px 0 0;
  font-size: 0.82rem;
  color: var(--puc-text-muted);
}
.puc-live-attach-error[data-v-680f0527] {
  margin: 6px 0 0;
  font-size: 0.82rem;
  color: var(--gabito-color-danger-dark);
}
.puc-btn--small[data-v-680f0527] {
  padding: 4px 10px;
  font-size: 0.82rem;
}
.puc-btn--listen[data-v-680f0527] {
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--puc-surface-alt);
  border: 1px solid var(--puc-border);
  color: var(--puc-text-muted);
}
.puc-btn--listen[data-v-680f0527]:hover:not(:disabled) {
  border-color: var(--puc-accent);
  color: var(--puc-accent);
}
.puc-btn--listen-active[data-v-680f0527] {
  border-color: var(--puc-accent);
  color: var(--puc-accent);
  background: var(--puc-accent-soft);
}
.puc-speech-notice[data-v-680f0527] {
  margin: 4px 0 0;
  font-size: 0.78rem;
  color: var(--puc-text-muted);
}
.puc-calendar-cta[data-v-680f0527] {
  margin-bottom: 12px;
}
.puc-slots-inline[data-v-680f0527] {
  margin-top: 4px;
}
.puc-slot-grid[data-v-680f0527] {

  display: flex;

  flex-wrap: wrap;

  gap: 8px;
}
.puc-slot-btn[data-v-680f0527] {

  border: 1px solid var(--puc-border);

  border-radius: 8px;

  padding: 8px 12px;

  background: var(--puc-surface-alt);

  cursor: pointer;

  font: inherit;

  font-size: 0.88rem;
}
.puc-slot-btn[data-v-680f0527]:hover:not(:disabled) {

  border-color: var(--puc-accent);
}
.puc-slot-hint[data-v-680f0527] {

  margin-top: 8px;

  font-size: 0.8rem;
}
@media (max-width: 768px) {
.puc-page[data-v-680f0527] {
    padding:
      max(8px, env(safe-area-inset-top, 0px))
      max(8px, env(safe-area-inset-right, 0px))
      max(0px, env(safe-area-inset-bottom, 0px))
      max(8px, env(safe-area-inset-left, 0px));
}
.puc-header[data-v-680f0527] {
    margin-bottom: 8px;
}
.puc-title[data-v-680f0527] {
    font-size: 1.1rem;
    margin-bottom: 4px;
}
.puc-card[data-v-680f0527] {
    padding: 12px;
    margin-bottom: 8px;
    border-radius: 12px;
}
.puc-chat-scroll[data-v-680f0527] {
    -webkit-overflow-scrolling: touch;
}
.puc-messages[data-v-680f0527] {
    margin-bottom: 8px;
    gap: 12px;
}
.puc-msg[data-v-680f0527] {
    max-width: min(90%, 480px);
    padding: 9px 12px;
    border-radius: 14px;
}
.puc-live-messages[data-v-680f0527] {
    gap: 12px;
}
.puc-composer[data-v-680f0527] {
    padding: 8px 10px;
    margin-bottom: 4px;
}
.puc-composer-row[data-v-680f0527] {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
}
.puc-textarea[data-v-680f0527] {
    flex: 1 1 0%;
    min-width: 0;
    min-height: 44px;
    max-height: 96px;
    padding: 10px 12px;
    font-size: 16px;
    resize: none;
}
.puc-send-btn[data-v-680f0527] {
    flex: 0 0 auto;
    width: auto !important;
    min-width: 64px;
    max-width: 88px;
    height: 44px;
    min-height: 44px;
    padding: 0 12px;
    font-size: 0.9rem;
    align-self: center;
}
.puc-live-composer[data-v-680f0527] {
    width: 100%;
}
.puc-live-composer .puc-composer-row[data-v-680f0527] {
    width: 100%;
    min-width: 0;
}
.puc-live-composer .puc-send-btn[data-v-680f0527] {
    max-width: 88px;
}
.puc-btn[data-v-680f0527] {
    padding: 10px 14px;
}
.puc-char-count[data-v-680f0527] {
    margin-top: 4px;
    font-size: 0.72rem;
}
.puc-code-row[data-v-680f0527] {
    flex-direction: column;
    align-items: stretch;
}
.puc-code-row .puc-btn[data-v-680f0527] {
    width: 100%;
}
.puc-calendar-cta .puc-btn[data-v-680f0527] {
    width: 100%;
}
.puc-live-panel-header strong[data-v-680f0527] {
    flex: 1 1 100%;
    min-width: 0;
    overflow-wrap: anywhere;
}
.puc-disclaimer[data-v-680f0527] {
    font-size: 0.7rem;
    padding-bottom: max(8px, env(safe-area-inset-bottom, 0px));
}
.puc-slot-btn[data-v-680f0527] {
    padding: 8px 10px;
    font-size: 0.84rem;
}
}
@media (max-width: 640px) {
.puc-page--modal .puc-chat-footer--live[data-v-680f0527] {
    padding-bottom: max(10px, env(safe-area-inset-bottom, 0px));
}

  /* Stacked composer: full-width textarea, actions on second row */
.puc-composer-row[data-v-680f0527] {
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
.puc-composer-row .puc-textarea[data-v-680f0527] {
    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
    order: 1;
    min-height: 44px;
    max-height: 96px;
}
.puc-composer-row[data-v-680f0527] .chat-voice-controls {
    order: 2;
    flex: 0 0 auto;
}
.puc-composer-row .puc-btn--attach[data-v-680f0527] {
    order: 2;
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
}
.puc-composer-row .puc-send-btn[data-v-680f0527] {
    order: 3;
    margin-left: auto;
    min-width: 64px;
    max-width: 80px;
    padding: 0 10px;
    font-size: 0.88rem;
}
.puc-live-composer[data-v-680f0527] {
    padding: 8px 10px;
    margin-bottom: 4px;
}
}


.puc-hub-modal-overlay[data-v-b370629e] {
  position: fixed;
  inset: 0;
  z-index: 10050;
  width: 100vw;
  height: 100dvh;
  max-height: 100dvh;
  background: var(--upa-spa-bg, var(--gabito-bg-surface-alt, #f8fafc));
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  box-sizing: border-box;
  overscroll-behavior: none;
}
.puc-hub-modal[data-v-b370629e] {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: 100dvh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 0;
  box-shadow: none;
  background: inherit;
}
.puc-hub-modal[data-v-b370629e] .puc-page {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  max-width: 100%;
  margin: 0;
  border-radius: 0;
}
.app-list-pagination[data-v-a1354231] {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px 16px;
  margin-top: 20px;
  padding: 12px 16px;
  font-size: 0.95rem;
  line-height: 1.25;
  color: var(--gabito-text);
  background: var(--gabito-bg-surface-alt);
  border: 1px solid var(--gabito-border);
  border-radius: 8px;
}
.app-list-pagination--loading[data-v-a1354231] {
  opacity: 0.75;
  pointer-events: none;
}
.app-list-pagination__center[data-v-a1354231] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 14px;
  min-height: 36px;
}
.app-list-pagination__info[data-v-a1354231],
.app-list-pagination__total[data-v-a1354231] {
  display: inline-flex;
  align-items: center;
  margin: 0;
  line-height: 1.25;
}
.app-list-pagination__info[data-v-a1354231] {
  font-weight: 600;
  font-size: 0.95rem;
}
.app-list-pagination__total[data-v-a1354231] {
  color: var(--gabito-color-muted);
  font-size: 0.95rem;
  font-weight: 400;
}
.app-list-pagination__jump[data-v-a1354231] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
  min-height: 36px;
}
.app-list-pagination__jump-label[data-v-a1354231] {
  display: inline-flex;
  align-items: center;
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.25;
  color: var(--gabito-text-secondary);
  white-space: nowrap;
}
.app-list-pagination__jump-controls[data-v-a1354231] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
.app-list-pagination__select[data-v-a1354231] {
  width: auto;
  min-width: 2.75rem;
  max-width: 4.5rem;
  min-height: 36px;
  padding: 0 1.25rem 0 6px;
  border: 1px solid var(--gabito-border-strong);
  border-radius: 6px;
  font-size: 0.9rem;
  line-height: 1.25;
  background: var(--gabito-bg-surface);
  text-align: center;
  vertical-align: middle;
}
.app-list-pagination__input[data-v-a1354231] {
  width: 3rem;
  min-width: 2.75rem;
  min-height: 36px;
  padding: 0 6px;
  border: 1px solid var(--gabito-border-strong);
  border-radius: 6px;
  font-size: 0.9rem;
  line-height: 1.25;
  background: var(--gabito-bg-surface);
  text-align: center;
}
.app-list-pagination__btn[data-v-a1354231] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 16px;
  background: var(--gabito-color-primary);
  color: var(--gabito-bg-surface);
  border: none;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.25;
  cursor: pointer;
  transition: background 0.2s ease;
  white-space: nowrap;
}
.app-list-pagination__btn[data-v-a1354231]:hover:not(:disabled) {
  background: var(--gabito-color-primary-hover);
}
.app-list-pagination__btn[data-v-a1354231]:disabled {
  background: var(--gabito-border);
  color: var(--gabito-color-muted);
  cursor: not-allowed;
}
.app-list-pagination__btn--go[data-v-a1354231] {
  padding: 0 10px;
  font-weight: 500;
  flex-shrink: 0;
}
@media (max-width: 576px) {
.app-list-pagination[data-v-a1354231] {
    flex-direction: column;
    align-items: stretch;
}
.app-list-pagination__btn--prev[data-v-a1354231],
  .app-list-pagination__btn--next[data-v-a1354231] {
    width: 100%;
}
}

.upa-spa-under-construction[data-v-e80b5167] {
  max-width: 36rem;
  margin: 0 auto;
  padding: 48px 24px;
}
.upa-spa-under-construction__icon[data-v-e80b5167] {
  display: block;
  margin: 0 auto 1rem;
  font-size: 2rem;
  color: var(--upa-spa-accent, var(--gabito-color-warning-hover, #b45309));
}
.upa-spa-under-construction__title[data-v-e80b5167] {
  margin: 0 0 0.75rem;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--upa-spa-text, var(--gabito-text));
}
.upa-spa-under-construction__message[data-v-e80b5167] {
  margin: 0;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--upa-spa-text-muted, var(--gabito-text-muted));
}

/* Tokeny rezerwacji — dziedziczą --upa-spa-* z UnitPublicSpaPageShell, fallback na Gabito */
.ob-public-page[data-v-c2b078c4] {
  --ob-text: var(--upa-spa-text, var(--gabito-text));
  --ob-text-muted: var(--upa-spa-text-muted, var(--gabito-text-muted));
  --ob-text-secondary: var(--upa-spa-text-muted, var(--gabito-text-secondary));
  --ob-surface: var(--upa-spa-card-bg, var(--gabito-bg-surface));
  --ob-surface-alt: var(--upa-spa-surface-muted, var(--gabito-bg-surface-alt));
  --ob-surface-active: var(--upa-spa-accent-soft, var(--gabito-bg-active-subtle));
  --ob-border: var(--upa-spa-card-border, var(--gabito-border));
  --ob-border-strong: var(--upa-spa-card-border, var(--gabito-border-strong));
  --ob-accent: var(--upa-spa-accent, var(--gabito-color-accent-purple));
  --ob-accent-hover: var(--upa-spa-accent-hover, var(--gabito-color-accent-purple-hover));
  --ob-accent-soft: var(--upa-spa-accent-soft, #a5b4fc);
  --ob-card-shadow: var(--upa-spa-card-shadow, 0 1px 3px rgba(0, 0, 0, 0.08));
  --ob-radius-md: var(--upa-spa-radius-md, 10px);
  --ob-radius-sm: var(--upa-spa-radius-sm, 8px);
  --ob-on-accent: var(--upa-spa-card-bg, var(--gabito-bg-surface));

  min-height: auto;
  max-width: var(--upa-spa-shell-max, 640px);
  margin: 0 auto;
  padding: 24px 16px;
  color: var(--ob-text);
  background: transparent;
  text-align: left;
}
.ob-public-page h1[data-v-c2b078c4],
.ob-public-page h2[data-v-c2b078c4],
.ob-public-page p[data-v-c2b078c4],
.ob-public-page strong[data-v-c2b078c4],
.ob-public-page span[data-v-c2b078c4] {
  color: inherit;
}
.ob-public-hero h1[data-v-c2b078c4] {
  margin: 0 0 8px;
  font-size: 1.5rem;
  font-family: var(--upa-spa-title-font, inherit);
  color: var(--ob-text);
}
.ob-steps[data-v-c2b078c4] {
  display: flex;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 16px 0;
  flex-wrap: wrap;
}
.ob-steps li[data-v-c2b078c4] {
  padding: 6px 10px;
  border-radius: 6px;
  background: var(--ob-border);
  color: var(--ob-text-secondary);
  font-size: 0.85rem;
}
.ob-steps li.active[data-v-c2b078c4] {
  background: var(--ob-accent);
  color: var(--ob-on-accent);
}
.ob-steps li.done[data-v-c2b078c4] {
  background: var(--ob-accent-soft);
  color: var(--ob-text);
}
.ob-panel[data-v-c2b078c4] {
  background: var(--ob-surface);
  color: var(--ob-text);
  border-radius: var(--ob-radius-md);
  padding: 16px;
  box-shadow: var(--ob-card-shadow);
  border: 1px solid var(--ob-border);
}
.ob-panel h2[data-v-c2b078c4] {
  margin: 0 0 12px;
  font-size: 1.15rem;
  font-family: var(--upa-spa-title-font, inherit);
  color: var(--ob-text);
}
.ob-choice[data-v-c2b078c4] {
  display: block;
  width: 100%;
  text-align: left;
  margin-bottom: 8px;
  padding: 12px;
  border: 1px solid var(--ob-border);
  border-radius: 8px;
  background: var(--ob-surface);
  color: var(--ob-text);
  cursor: pointer;
  font-family: inherit;
  font-size: 1rem;
}
.ob-choice strong[data-v-c2b078c4] {
  display: block;
  color: var(--ob-text);
}
.ob-choice span[data-v-c2b078c4] {
  color: var(--ob-text-muted);
  font-size: 0.9rem;
}
.ob-choice[data-v-c2b078c4]:hover {
  border-color: var(--ob-accent);
  background: var(--ob-surface-alt);
}
.ob-choice--employee[data-v-c2b078c4] {
  display: flex;
  align-items: center;
  gap: 14px;
  text-align: left;
}
.ob-choice--service[data-v-c2b078c4] {
  display: flex;
  align-items: center;
  gap: 14px;
  text-align: left;
}
.ob-choice__text[data-v-c2b078c4] {
  flex: 1;
  min-width: 0;
}
.ob-choice__meta[data-v-c2b078c4] {
  display: block;
  font-size: 0.9rem;
  color: var(--ob-text-muted);
  font-weight: normal;
  margin-top: 2px;
}
.ob-choice--employee strong[data-v-c2b078c4],
.ob-choice--service strong[data-v-c2b078c4] {
  display: block;
}
.ob-service-photo[data-v-c2b078c4] {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 8px;
  overflow: hidden;
  background: var(--ob-surface-alt);
  border: 1px solid var(--ob-border);
  display: flex;
  align-items: center;
  justify-content: center;
}
.ob-service-photo__img[data-v-c2b078c4] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ob-service-photo__fallback[data-v-c2b078c4] {
  font-size: 1.35rem;
  color: var(--ob-text-muted);
}
.ob-employee-avatar-wrap[data-v-c2b078c4] {
  flex-shrink: 0;
  border-radius: 50%;
  display: inline-flex;
  line-height: 0;
  transition: box-shadow 0.2s;
}
.ob-employee-avatar-wrap--colored[data-v-c2b078c4] {
  box-shadow: 0 0 0 5px var(--employee-avatar-ring);
}
.ob-employee-avatar[data-v-c2b078c4] {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--ob-border);
  border: 2px solid var(--ob-border);
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ob-employee-avatar__img[data-v-c2b078c4] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ob-employee-avatar__fallback[data-v-c2b078c4] {
  font-size: 1.65rem;
  color: var(--ob-text-muted);
  line-height: 1;
}
.ob-service-groups[data-v-c2b078c4] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ob-service-group[data-v-c2b078c4] {
  border: 1px solid var(--ob-border);
  border-radius: 10px;
  background: var(--ob-surface);
  overflow: hidden;
}
.ob-service-group__summary[data-v-c2b078c4] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
  font-weight: 600;
  color: var(--ob-text);
  user-select: none;
}
.ob-service-group__summary[data-v-c2b078c4]::-webkit-details-marker {
  display: none;
}
.ob-service-group__summary[data-v-c2b078c4]::before {
  content: '▸';
  margin-right: 10px;
  color: var(--ob-text-muted);
  transition: transform 0.15s ease;
}
.ob-service-group[open] > .ob-service-group__summary[data-v-c2b078c4]::before {
  transform: rotate(90deg);
}
.ob-service-group__title[data-v-c2b078c4] {
  flex: 1;
}
.ob-service-group__meta[data-v-c2b078c4] {
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--ob-text-muted);
}
.ob-service-group__desc[data-v-c2b078c4] {
  margin: 0;
  padding: 0 16px 10px 36px;
  font-size: 0.9rem;
  color: var(--ob-text-muted);
}
.ob-service-group__list[data-v-c2b078c4] {
  padding: 0 12px 12px 36px;
  border-top: 1px solid var(--ob-surface-alt);
}
.ob-service-group__list .ob-choice[data-v-c2b078c4] {
  margin-top: 8px;
  margin-bottom: 0;
}
.ob-date-nav[data-v-c2b078c4] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 12px;
}
.ob-date-nav__week-row[data-v-c2b078c4],
.ob-date-nav__day-row[data-v-c2b078c4] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ob-date-nav__week-row[data-v-c2b078c4] {
  justify-content: space-between;
}
.ob-date-nav__day-row[data-v-c2b078c4] {
  justify-content: center;
}
.ob-date-nav__btn[data-v-c2b078c4] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid var(--ob-border);
  border-radius: 8px;
  background: var(--ob-surface);
  color: var(--ob-text-secondary);
  cursor: pointer;
  font-family: inherit;
  font-size: 0.88rem;
  transition: border-color 0.15s, background 0.15s;
}
.ob-date-nav__btn[data-v-c2b078c4]:hover:not(:disabled) {
  border-color: var(--ob-accent);
  background: var(--ob-surface-alt);
  color: var(--ob-accent);
}
.ob-date-nav__btn[data-v-c2b078c4]:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.ob-date-nav__btn--week[data-v-c2b078c4] {
  flex: 1;
  padding: 8px 10px;
}
.ob-date-nav__btn--icon[data-v-c2b078c4] {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  font-size: 1rem;
}
.ob-date-nav__current[data-v-c2b078c4] {
  flex: 1;
  min-width: 0;
  text-align: center;
}
.ob-date-nav__weekday[data-v-c2b078c4] {
  display: block;
  font-weight: 600;
  color: var(--ob-text);
  text-transform: capitalize;
  margin-bottom: 4px;
  font-size: 0.95rem;
}
.ob-date-nav__input[data-v-c2b078c4] {
  width: 100%;
  max-width: 220px;
  margin: 0 auto;
  display: block;
}
.ob-slots[data-v-c2b078c4] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.ob-slot[data-v-c2b078c4] {
  padding: 10px;
  border-radius: 8px;
  border: 1px solid var(--ob-border-strong);
  background: var(--ob-surface-active);
  color: var(--gabito-color-success-hover);
  cursor: pointer;
  font-family: inherit;
  font-size: 0.95rem;
}
.ob-slot[data-v-c2b078c4]:hover:not(:disabled) {
  border-color: #16a34a;
  background: var(--ob-surface-active);
}
.ob-slot.disabled[data-v-c2b078c4] {
  opacity: 0.65;
  background: var(--ob-surface-alt);
  color: var(--ob-text-muted);
  cursor: not-allowed;
}
.ob-slot--preferred[data-v-c2b078c4] {
  border-color: var(--ob-accent);
  background: var(--ob-surface-active);
}
.ob-slot__badge[data-v-c2b078c4] {
  margin-right: 4px;
  color: var(--ob-accent);
  font-size: 0.85em;
}
.ob-preference-hint[data-v-c2b078c4] {
  font-style: italic;
}
.ob-suggested-section[data-v-c2b078c4] {
  margin-top: 12px;
}
.ob-suggested-title[data-v-c2b078c4] {
  margin: 0 0 8px;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--ob-accent);
}
.ob-slots--suggested[data-v-c2b078c4] {
  margin-top: 0;
  margin-bottom: 12px;
}
.ob-primary[data-v-c2b078c4] {
  margin-top: 12px;
  padding: 10px 16px;
  background: var(--ob-accent);
  color: var(--ob-on-accent) !important;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 600;
}
.ob-primary[data-v-c2b078c4]:hover:not(:disabled) {
  background: var(--ob-accent-hover);
}
.ob-primary[data-v-c2b078c4]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.ob-login-required[data-v-c2b078c4] {
  max-width: 520px;
  margin: 0 auto;
}
.ob-login-link[data-v-c2b078c4] {
  display: inline-block;
  text-decoration: none;
  text-align: center;
}
.ob-back[data-v-c2b078c4] {
  margin-top: 12px;
  background: transparent;
  border: none;
  color: var(--ob-accent);
  cursor: pointer;
  font-family: inherit;
  font-size: 0.95rem;
  padding: 4px 0;
}
.ob-back[data-v-c2b078c4]:hover {
  color: var(--ob-accent-hover);
  text-decoration: underline;
}
.ob-guest-form[data-v-c2b078c4] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 12px;
}
.ob-hp[data-v-c2b078c4] {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}
.ob-turnstile[data-v-c2b078c4] {
  margin: 12px 0;
  min-height: 65px;
}
.ob-error[data-v-c2b078c4],
.ob-msg--error[data-v-c2b078c4] {
  color: var(--gabito-color-danger);
}
.ob-success-panel[data-v-c2b078c4] {
  text-align: center;
  padding: 28px 20px;
}
.ob-success-icon[data-v-c2b078c4] {
  font-size: 3rem;
  color: #16a34a;
  margin-bottom: 12px;
}
.ob-success-msg[data-v-c2b078c4] {
  margin: 0 0 16px;
  font-size: 1.05rem;
  color: var(--gabito-color-success);
  font-weight: 600;
}
.ob-success-summary[data-v-c2b078c4] {
  margin: 0 auto 20px;
  max-width: 420px;
  text-align: left;
  padding: 14px 16px;
  border-radius: 10px;
  background: var(--ob-surface-active);
  border: 1px solid var(--ob-border);
  color: var(--gabito-color-success-hover);
}
.ob-success-summary p[data-v-c2b078c4] {
  margin: 0 0 8px;
}
.ob-success-summary p[data-v-c2b078c4]:last-child {
  margin-bottom: 0;
}
.ob-success-actions[data-v-c2b078c4] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}
.ob-success-btn[data-v-c2b078c4] {
  margin: 0;
  padding: 10px 16px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.25;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.ob-success-btn--primary[data-v-c2b078c4] {
  background: var(--ob-accent);
  color: var(--ob-on-accent) !important;
}
.ob-success-btn--primary[data-v-c2b078c4]:hover:not(:disabled) {
  background: var(--ob-accent-hover);
}
.ob-success-btn--secondary[data-v-c2b078c4] {
  background: var(--ob-border);
  color: var(--ob-text-secondary) !important;
}
.ob-success-btn--secondary[data-v-c2b078c4]:hover:not(:disabled) {
  background: var(--ob-border-strong);
}
.ob-tier[data-v-c2b078c4] {
  font-size: 0.9rem;
  color: var(--ob-text-secondary);
}
.ob-hint[data-v-c2b078c4] {
  color: var(--ob-text-muted);
  font-size: 0.9rem;
}
.ob-warn[data-v-c2b078c4] {
  color: var(--gabito-color-warning-hover);
}
.ob-code-panel h2[data-v-c2b078c4] {
  margin: 0 0 8px;
  font-size: 1.1rem;
}
.ob-code-row[data-v-c2b078c4] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: stretch;
  margin-top: 12px;
}
.ob-code-row .gabito-form-input-standard[data-v-c2b078c4] {
  flex: 1;
  min-width: 200px;
}
.ob-loading[data-v-c2b078c4] {
  text-align: center;
  color: var(--ob-text-muted);
}

.gabito-universal-close[data-v-8211e24e] {
  padding: 0;
  box-sizing: border-box;
  flex-shrink: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
.gabito-universal-close[data-v-8211e24e]:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.gabito-universal-close i[data-v-8211e24e] {
  line-height: 1;
  pointer-events: none;
}

/* Rozmiary */
.gabito-universal-close--sm[data-v-8211e24e] {
  width: 28px;
  height: 28px;
  min-width: 28px;
  min-height: 28px;
  font-size: 0.8rem;
}
.gabito-universal-close--md[data-v-8211e24e] {
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  font-size: 0.95rem;
}
.gabito-universal-close--lg[data-v-8211e24e] {
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  font-size: 1.1rem;
}
.gabito-universal-close--modal[data-v-8211e24e]:not(.gabito-universal-close--sm):not(.gabito-universal-close--md) {
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  font-size: 1.1rem;
}
.gabito-universal-close--overlay[data-v-8211e24e]:not(.gabito-universal-close--sm):not(.gabito-universal-close--lg) {
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  font-size: 0.95rem;
}
.gabito-universal-close--solid[data-v-8211e24e]:not(.gabito-universal-close--md):not(.gabito-universal-close--lg) {
  width: 28px;
  height: 28px;
  min-width: 28px;
  min-height: 28px;
  font-size: 0.8rem;
}

/* Wariant: nagłówek modala */
.gabito-universal-close--modal[data-v-8211e24e] {
  margin-left: auto;
  background: transparent;
  color: var(--gabito-color-danger);
  border: 2px solid var(--gabito-color-danger);
}
.gabito-universal-close--modal[data-v-8211e24e]:hover:not(:disabled) {
  background: var(--gabito-color-danger);
  color: var(--gabito-text-inverse);
  transform: rotate(90deg);
}

/* Wariant: usuń na podglądzie (logo, zdjęcie) */
.gabito-universal-close--overlay[data-v-8211e24e] {
  background: var(--gabito-color-danger);
  color: var(--gabito-text-inverse);
  border: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
.gabito-universal-close--overlay.gabito-universal-close--floating[data-v-8211e24e] {
  position: absolute;
  top: -8px;
  right: -8px;
  z-index: 2;
}
.gabito-universal-close--overlay[data-v-8211e24e]:hover:not(:disabled) {
  background: var(--gabito-color-danger-hover, #c82333);
  transform: scale(1.08);
}

/* Wariant: wypełniony w kartach / listach plików */
.gabito-universal-close--solid[data-v-8211e24e] {
  background: var(--gabito-color-danger);
  color: var(--gabito-text-inverse);
  border: none;
}
.gabito-universal-close--solid[data-v-8211e24e]:hover:not(:disabled) {
  background: var(--gabito-color-danger-hover, #c82333);
  transform: scale(1.08);
}
/* Wspólny stan ładowania strony / sekcji (jak Mój profil) */

.gabito-page-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 240px;
  color: var(--gabito-color-primary);
  font-size: 1rem;
  text-align: center;
  padding: 24px 20px;
}

.gabito-page-loading--inline {
  min-height: 120px;
  flex-direction: row;
  padding: 16px;
}

.gabito-page-loading--compact {
  min-height: 160px;
  padding: 32px 16px;
}

.gabito-page-loading i {
  font-size: 1.75rem;
}

.gabito-page-loading span {
  color: var(--gabito-text-muted);
  font-weight: 500;
}

.gabito-common-list-container .gabito-page-loading--list {
  min-height: 200px;
}

.gabito-page-loading--embedded {
  min-height: 120px;
  padding: 20px 16px;
}
/*!
 * Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2025 Fonticons, Inc.
 */
.fa,.fa-brands,.fa-classic,.fa-regular,.fa-solid,.fab,.far,.fas{--_fa-family:var(--fa-family,var(--fa-style-family,"Font Awesome 7 Free"));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:var(--fa-display,inline-block);font-family:var(--_fa-family);font-feature-settings:normal;font-style:normal;font-synthesis:none;font-variant:normal;font-weight:var(--fa-style,900);line-height:1;text-align:center;text-rendering:auto;width:var(--fa-width,1.25em)}:is(.fas,.far,.fab,.fa-solid,.fa-regular,.fa-brands,.fa-classic,.fa):before{content:var(--fa)/""}@supports not (content:""/""){:is(.fas,.far,.fab,.fa-solid,.fa-regular,.fa-brands,.fa-classic,.fa):before{content:var(--fa)}}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-width-auto{--fa-width:auto}.fa-fw,.fa-width-fixed{--fa-width:1.25em}.fa-ul{list-style-type:none;margin-inline-start:var(--fa-li-margin,2.5em);padding-inline-start:0}.fa-ul>li{position:relative}.fa-li{inset-inline-start:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.0625em) var(--fa-border-style,solid) var(--fa-border-color,#eee);box-sizing:var(--fa-border-box-sizing,content-box);padding:var(--fa-border-padding,.1875em .25em)}.fa-pull-left,.fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}.fa-pull-end,.fa-pull-right{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{animation-name:fa-beat-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{animation-name:fa-spin;animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation:none!important;transition:none!important}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{--fa-width:100%;inset:0;position:absolute;text-align:center;width:var(--fa-width);z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}

.fa-0{--fa:"\30 "}.fa-1{--fa:"\31 "}.fa-2{--fa:"\32 "}.fa-3{--fa:"\33 "}.fa-4{--fa:"\34 "}.fa-5{--fa:"\35 "}.fa-6{--fa:"\36 "}.fa-7{--fa:"\37 "}.fa-8{--fa:"\38 "}.fa-9{--fa:"\39 "}.fa-exclamation{--fa:"\!"}.fa-hashtag{--fa:"\#"}.fa-dollar,.fa-dollar-sign,.fa-usd{--fa:"\$"}.fa-percent,.fa-percentage{--fa:"\%"}.fa-asterisk{--fa:"\*"}.fa-add,.fa-plus{--fa:"\+"}.fa-less-than{--fa:"\<"}.fa-equals{--fa:"\="}.fa-greater-than{--fa:"\>"}.fa-question{--fa:"\?"}.fa-at{--fa:"\@"}.fa-a{--fa:"A"}.fa-b{--fa:"B"}.fa-c{--fa:"C"}.fa-d{--fa:"D"}.fa-e{--fa:"E"}.fa-f{--fa:"F"}.fa-g{--fa:"G"}.fa-h{--fa:"H"}.fa-i{--fa:"I"}.fa-j{--fa:"J"}.fa-k{--fa:"K"}.fa-l{--fa:"L"}.fa-m{--fa:"M"}.fa-n{--fa:"N"}.fa-o{--fa:"O"}.fa-p{--fa:"P"}.fa-q{--fa:"Q"}.fa-r{--fa:"R"}.fa-s{--fa:"S"}.fa-t{--fa:"T"}.fa-u{--fa:"U"}.fa-v{--fa:"V"}.fa-w{--fa:"W"}.fa-x{--fa:"X"}.fa-y{--fa:"Y"}.fa-z{--fa:"Z"}.fa-faucet{--fa:"\e005"}.fa-faucet-drip{--fa:"\e006"}.fa-house-chimney-window{--fa:"\e00d"}.fa-house-signal{--fa:"\e012"}.fa-temperature-arrow-down,.fa-temperature-down{--fa:"\e03f"}.fa-temperature-arrow-up,.fa-temperature-up{--fa:"\e040"}.fa-trailer{--fa:"\e041"}.fa-bacteria{--fa:"\e059"}.fa-bacterium{--fa:"\e05a"}.fa-box-tissue{--fa:"\e05b"}.fa-hand-holding-medical{--fa:"\e05c"}.fa-hand-sparkles{--fa:"\e05d"}.fa-hands-bubbles,.fa-hands-wash{--fa:"\e05e"}.fa-handshake-alt-slash,.fa-handshake-simple-slash,.fa-handshake-slash{--fa:"\e060"}.fa-head-side-cough{--fa:"\e061"}.fa-head-side-cough-slash{--fa:"\e062"}.fa-head-side-mask{--fa:"\e063"}.fa-head-side-virus{--fa:"\e064"}.fa-house-chimney-user{--fa:"\e065"}.fa-house-laptop,.fa-laptop-house{--fa:"\e066"}.fa-lungs-virus{--fa:"\e067"}.fa-people-arrows,.fa-people-arrows-left-right{--fa:"\e068"}.fa-plane-slash{--fa:"\e069"}.fa-pump-medical{--fa:"\e06a"}.fa-pump-soap{--fa:"\e06b"}.fa-shield-virus{--fa:"\e06c"}.fa-sink{--fa:"\e06d"}.fa-soap{--fa:"\e06e"}.fa-stopwatch-20{--fa:"\e06f"}.fa-shop-slash,.fa-store-alt-slash{--fa:"\e070"}.fa-store-slash{--fa:"\e071"}.fa-toilet-paper-slash{--fa:"\e072"}.fa-users-slash{--fa:"\e073"}.fa-virus{--fa:"\e074"}.fa-virus-slash{--fa:"\e075"}.fa-viruses{--fa:"\e076"}.fa-vest{--fa:"\e085"}.fa-vest-patches{--fa:"\e086"}.fa-arrow-trend-down{--fa:"\e097"}.fa-arrow-trend-up{--fa:"\e098"}.fa-arrow-up-from-bracket{--fa:"\e09a"}.fa-austral-sign{--fa:"\e0a9"}.fa-baht-sign{--fa:"\e0ac"}.fa-bitcoin-sign{--fa:"\e0b4"}.fa-bolt-lightning{--fa:"\e0b7"}.fa-book-bookmark{--fa:"\e0bb"}.fa-camera-rotate{--fa:"\e0d8"}.fa-cedi-sign{--fa:"\e0df"}.fa-chart-column{--fa:"\e0e3"}.fa-chart-gantt{--fa:"\e0e4"}.fa-clapperboard{--fa:"\e131"}.fa-clover{--fa:"\e139"}.fa-code-compare{--fa:"\e13a"}.fa-code-fork{--fa:"\e13b"}.fa-code-pull-request{--fa:"\e13c"}.fa-colon-sign{--fa:"\e140"}.fa-cruzeiro-sign{--fa:"\e152"}.fa-display{--fa:"\e163"}.fa-dong-sign{--fa:"\e169"}.fa-elevator{--fa:"\e16d"}.fa-filter-circle-xmark{--fa:"\e17b"}.fa-florin-sign{--fa:"\e184"}.fa-folder-closed{--fa:"\e185"}.fa-franc-sign{--fa:"\e18f"}.fa-guarani-sign{--fa:"\e19a"}.fa-gun{--fa:"\e19b"}.fa-hands-clapping{--fa:"\e1a8"}.fa-home-user,.fa-house-user{--fa:"\e1b0"}.fa-indian-rupee,.fa-indian-rupee-sign,.fa-inr{--fa:"\e1bc"}.fa-kip-sign{--fa:"\e1c4"}.fa-lari-sign{--fa:"\e1c8"}.fa-litecoin-sign{--fa:"\e1d3"}.fa-manat-sign{--fa:"\e1d5"}.fa-mask-face{--fa:"\e1d7"}.fa-mill-sign{--fa:"\e1ed"}.fa-money-bills{--fa:"\e1f3"}.fa-naira-sign{--fa:"\e1f6"}.fa-notdef{--fa:"\e1fe"}.fa-panorama{--fa:"\e209"}.fa-peseta-sign{--fa:"\e221"}.fa-peso-sign{--fa:"\e222"}.fa-plane-up{--fa:"\e22d"}.fa-rupiah-sign{--fa:"\e23d"}.fa-stairs{--fa:"\e289"}.fa-timeline{--fa:"\e29c"}.fa-truck-front{--fa:"\e2b7"}.fa-try,.fa-turkish-lira,.fa-turkish-lira-sign{--fa:"\e2bb"}.fa-vault{--fa:"\e2c5"}.fa-magic-wand-sparkles,.fa-wand-magic-sparkles{--fa:"\e2ca"}.fa-wheat-alt,.fa-wheat-awn{--fa:"\e2cd"}.fa-wheelchair-alt,.fa-wheelchair-move{--fa:"\e2ce"}.fa-bangladeshi-taka-sign{--fa:"\e2e6"}.fa-bowl-rice{--fa:"\e2eb"}.fa-person-pregnant{--fa:"\e31e"}.fa-home-lg,.fa-house-chimney{--fa:"\e3af"}.fa-house-crack{--fa:"\e3b1"}.fa-house-medical{--fa:"\e3b2"}.fa-cent-sign{--fa:"\e3f5"}.fa-plus-minus{--fa:"\e43c"}.fa-sailboat{--fa:"\e445"}.fa-section{--fa:"\e447"}.fa-shrimp{--fa:"\e448"}.fa-brazilian-real-sign{--fa:"\e46c"}.fa-chart-simple{--fa:"\e473"}.fa-diagram-next{--fa:"\e476"}.fa-diagram-predecessor{--fa:"\e477"}.fa-diagram-successor{--fa:"\e47a"}.fa-earth-oceania,.fa-globe-oceania{--fa:"\e47b"}.fa-bug-slash{--fa:"\e490"}.fa-file-circle-plus{--fa:"\e494"}.fa-shop-lock{--fa:"\e4a5"}.fa-virus-covid{--fa:"\e4a8"}.fa-virus-covid-slash{--fa:"\e4a9"}.fa-anchor-circle-check{--fa:"\e4aa"}.fa-anchor-circle-exclamation{--fa:"\e4ab"}.fa-anchor-circle-xmark{--fa:"\e4ac"}.fa-anchor-lock{--fa:"\e4ad"}.fa-arrow-down-up-across-line{--fa:"\e4af"}.fa-arrow-down-up-lock{--fa:"\e4b0"}.fa-arrow-right-to-city{--fa:"\e4b3"}.fa-arrow-up-from-ground-water{--fa:"\e4b5"}.fa-arrow-up-from-water-pump{--fa:"\e4b6"}.fa-arrow-up-right-dots{--fa:"\e4b7"}.fa-arrows-down-to-line{--fa:"\e4b8"}.fa-arrows-down-to-people{--fa:"\e4b9"}.fa-arrows-left-right-to-line{--fa:"\e4ba"}.fa-arrows-spin{--fa:"\e4bb"}.fa-arrows-split-up-and-left{--fa:"\e4bc"}.fa-arrows-to-circle{--fa:"\e4bd"}.fa-arrows-to-dot{--fa:"\e4be"}.fa-arrows-to-eye{--fa:"\e4bf"}.fa-arrows-turn-right{--fa:"\e4c0"}.fa-arrows-turn-to-dots{--fa:"\e4c1"}.fa-arrows-up-to-line{--fa:"\e4c2"}.fa-bore-hole{--fa:"\e4c3"}.fa-bottle-droplet{--fa:"\e4c4"}.fa-bottle-water{--fa:"\e4c5"}.fa-bowl-food{--fa:"\e4c6"}.fa-boxes-packing{--fa:"\e4c7"}.fa-bridge{--fa:"\e4c8"}.fa-bridge-circle-check{--fa:"\e4c9"}.fa-bridge-circle-exclamation{--fa:"\e4ca"}.fa-bridge-circle-xmark{--fa:"\e4cb"}.fa-bridge-lock{--fa:"\e4cc"}.fa-bridge-water{--fa:"\e4ce"}.fa-bucket{--fa:"\e4cf"}.fa-bugs{--fa:"\e4d0"}.fa-building-circle-arrow-right{--fa:"\e4d1"}.fa-building-circle-check{--fa:"\e4d2"}.fa-building-circle-exclamation{--fa:"\e4d3"}.fa-building-circle-xmark{--fa:"\e4d4"}.fa-building-flag{--fa:"\e4d5"}.fa-building-lock{--fa:"\e4d6"}.fa-building-ngo{--fa:"\e4d7"}.fa-building-shield{--fa:"\e4d8"}.fa-building-un{--fa:"\e4d9"}.fa-building-user{--fa:"\e4da"}.fa-building-wheat{--fa:"\e4db"}.fa-burst{--fa:"\e4dc"}.fa-car-on{--fa:"\e4dd"}.fa-car-tunnel{--fa:"\e4de"}.fa-child-combatant,.fa-child-rifle{--fa:"\e4e0"}.fa-children{--fa:"\e4e1"}.fa-circle-nodes{--fa:"\e4e2"}.fa-clipboard-question{--fa:"\e4e3"}.fa-cloud-showers-water{--fa:"\e4e4"}.fa-computer{--fa:"\e4e5"}.fa-cubes-stacked{--fa:"\e4e6"}.fa-envelope-circle-check{--fa:"\e4e8"}.fa-explosion{--fa:"\e4e9"}.fa-ferry{--fa:"\e4ea"}.fa-file-circle-exclamation{--fa:"\e4eb"}.fa-file-circle-minus{--fa:"\e4ed"}.fa-file-circle-question{--fa:"\e4ef"}.fa-file-shield{--fa:"\e4f0"}.fa-fire-burner{--fa:"\e4f1"}.fa-fish-fins{--fa:"\e4f2"}.fa-flask-vial{--fa:"\e4f3"}.fa-glass-water{--fa:"\e4f4"}.fa-glass-water-droplet{--fa:"\e4f5"}.fa-group-arrows-rotate{--fa:"\e4f6"}.fa-hand-holding-hand{--fa:"\e4f7"}.fa-handcuffs{--fa:"\e4f8"}.fa-hands-bound{--fa:"\e4f9"}.fa-hands-holding-child{--fa:"\e4fa"}.fa-hands-holding-circle{--fa:"\e4fb"}.fa-heart-circle-bolt{--fa:"\e4fc"}.fa-heart-circle-check{--fa:"\e4fd"}.fa-heart-circle-exclamation{--fa:"\e4fe"}.fa-heart-circle-minus{--fa:"\e4ff"}.fa-heart-circle-plus{--fa:"\e500"}.fa-heart-circle-xmark{--fa:"\e501"}.fa-helicopter-symbol{--fa:"\e502"}.fa-helmet-un{--fa:"\e503"}.fa-hill-avalanche{--fa:"\e507"}.fa-hill-rockslide{--fa:"\e508"}.fa-house-circle-check{--fa:"\e509"}.fa-house-circle-exclamation{--fa:"\e50a"}.fa-house-circle-xmark{--fa:"\e50b"}.fa-house-fire{--fa:"\e50c"}.fa-house-flag{--fa:"\e50d"}.fa-house-flood-water{--fa:"\e50e"}.fa-house-flood-water-circle-arrow-right{--fa:"\e50f"}.fa-house-lock{--fa:"\e510"}.fa-house-medical-circle-check{--fa:"\e511"}.fa-house-medical-circle-exclamation{--fa:"\e512"}.fa-house-medical-circle-xmark{--fa:"\e513"}.fa-house-medical-flag{--fa:"\e514"}.fa-house-tsunami{--fa:"\e515"}.fa-jar{--fa:"\e516"}.fa-jar-wheat{--fa:"\e517"}.fa-jet-fighter-up{--fa:"\e518"}.fa-jug-detergent{--fa:"\e519"}.fa-kitchen-set{--fa:"\e51a"}.fa-land-mine-on{--fa:"\e51b"}.fa-landmark-flag{--fa:"\e51c"}.fa-laptop-file{--fa:"\e51d"}.fa-lines-leaning{--fa:"\e51e"}.fa-location-pin-lock{--fa:"\e51f"}.fa-locust{--fa:"\e520"}.fa-magnifying-glass-arrow-right{--fa:"\e521"}.fa-magnifying-glass-chart{--fa:"\e522"}.fa-mars-and-venus-burst{--fa:"\e523"}.fa-mask-ventilator{--fa:"\e524"}.fa-mattress-pillow{--fa:"\e525"}.fa-mobile-retro{--fa:"\e527"}.fa-money-bill-transfer{--fa:"\e528"}.fa-money-bill-trend-up{--fa:"\e529"}.fa-money-bill-wheat{--fa:"\e52a"}.fa-mosquito{--fa:"\e52b"}.fa-mosquito-net{--fa:"\e52c"}.fa-mound{--fa:"\e52d"}.fa-mountain-city{--fa:"\e52e"}.fa-mountain-sun{--fa:"\e52f"}.fa-oil-well{--fa:"\e532"}.fa-people-group{--fa:"\e533"}.fa-people-line{--fa:"\e534"}.fa-people-pulling{--fa:"\e535"}.fa-people-robbery{--fa:"\e536"}.fa-people-roof{--fa:"\e537"}.fa-person-arrow-down-to-line{--fa:"\e538"}.fa-person-arrow-up-from-line{--fa:"\e539"}.fa-person-breastfeeding{--fa:"\e53a"}.fa-person-burst{--fa:"\e53b"}.fa-person-cane{--fa:"\e53c"}.fa-person-chalkboard{--fa:"\e53d"}.fa-person-circle-check{--fa:"\e53e"}.fa-person-circle-exclamation{--fa:"\e53f"}.fa-person-circle-minus{--fa:"\e540"}.fa-person-circle-plus{--fa:"\e541"}.fa-person-circle-question{--fa:"\e542"}.fa-person-circle-xmark{--fa:"\e543"}.fa-person-dress-burst{--fa:"\e544"}.fa-person-drowning{--fa:"\e545"}.fa-person-falling{--fa:"\e546"}.fa-person-falling-burst{--fa:"\e547"}.fa-person-half-dress{--fa:"\e548"}.fa-person-harassing{--fa:"\e549"}.fa-person-military-pointing{--fa:"\e54a"}.fa-person-military-rifle{--fa:"\e54b"}.fa-person-military-to-person{--fa:"\e54c"}.fa-person-rays{--fa:"\e54d"}.fa-person-rifle{--fa:"\e54e"}.fa-person-shelter{--fa:"\e54f"}.fa-person-walking-arrow-loop-left{--fa:"\e551"}.fa-person-walking-arrow-right{--fa:"\e552"}.fa-person-walking-dashed-line-arrow-right{--fa:"\e553"}.fa-person-walking-luggage{--fa:"\e554"}.fa-plane-circle-check{--fa:"\e555"}.fa-plane-circle-exclamation{--fa:"\e556"}.fa-plane-circle-xmark{--fa:"\e557"}.fa-plane-lock{--fa:"\e558"}.fa-plate-wheat{--fa:"\e55a"}.fa-plug-circle-bolt{--fa:"\e55b"}.fa-plug-circle-check{--fa:"\e55c"}.fa-plug-circle-exclamation{--fa:"\e55d"}.fa-plug-circle-minus{--fa:"\e55e"}.fa-plug-circle-plus{--fa:"\e55f"}.fa-plug-circle-xmark{--fa:"\e560"}.fa-ranking-star{--fa:"\e561"}.fa-road-barrier{--fa:"\e562"}.fa-road-bridge{--fa:"\e563"}.fa-road-circle-check{--fa:"\e564"}.fa-road-circle-exclamation{--fa:"\e565"}.fa-road-circle-xmark{--fa:"\e566"}.fa-road-lock{--fa:"\e567"}.fa-road-spikes{--fa:"\e568"}.fa-rug{--fa:"\e569"}.fa-sack-xmark{--fa:"\e56a"}.fa-school-circle-check{--fa:"\e56b"}.fa-school-circle-exclamation{--fa:"\e56c"}.fa-school-circle-xmark{--fa:"\e56d"}.fa-school-flag{--fa:"\e56e"}.fa-school-lock{--fa:"\e56f"}.fa-sheet-plastic{--fa:"\e571"}.fa-shield-cat{--fa:"\e572"}.fa-shield-dog{--fa:"\e573"}.fa-shield-heart{--fa:"\e574"}.fa-square-nfi{--fa:"\e576"}.fa-square-person-confined{--fa:"\e577"}.fa-square-virus{--fa:"\e578"}.fa-rod-asclepius,.fa-rod-snake,.fa-staff-aesculapius,.fa-staff-snake{--fa:"\e579"}.fa-sun-plant-wilt{--fa:"\e57a"}.fa-tarp{--fa:"\e57b"}.fa-tarp-droplet{--fa:"\e57c"}.fa-tent{--fa:"\e57d"}.fa-tent-arrow-down-to-line{--fa:"\e57e"}.fa-tent-arrow-left-right{--fa:"\e57f"}.fa-tent-arrow-turn-left{--fa:"\e580"}.fa-tent-arrows-down{--fa:"\e581"}.fa-tents{--fa:"\e582"}.fa-toilet-portable{--fa:"\e583"}.fa-toilets-portable{--fa:"\e584"}.fa-tower-cell{--fa:"\e585"}.fa-tower-observation{--fa:"\e586"}.fa-tree-city{--fa:"\e587"}.fa-trowel{--fa:"\e589"}.fa-trowel-bricks{--fa:"\e58a"}.fa-truck-arrow-right{--fa:"\e58b"}.fa-truck-droplet{--fa:"\e58c"}.fa-truck-field{--fa:"\e58d"}.fa-truck-field-un{--fa:"\e58e"}.fa-truck-plane{--fa:"\e58f"}.fa-users-between-lines{--fa:"\e591"}.fa-users-line{--fa:"\e592"}.fa-users-rays{--fa:"\e593"}.fa-users-rectangle{--fa:"\e594"}.fa-users-viewfinder{--fa:"\e595"}.fa-vial-circle-check{--fa:"\e596"}.fa-vial-virus{--fa:"\e597"}.fa-wheat-awn-circle-exclamation{--fa:"\e598"}.fa-worm{--fa:"\e599"}.fa-xmarks-lines{--fa:"\e59a"}.fa-child-dress{--fa:"\e59c"}.fa-child-reaching{--fa:"\e59d"}.fa-file-circle-check{--fa:"\e5a0"}.fa-file-circle-xmark{--fa:"\e5a1"}.fa-person-through-window{--fa:"\e5a9"}.fa-plant-wilt{--fa:"\e5aa"}.fa-stapler{--fa:"\e5af"}.fa-train-tram{--fa:"\e5b4"}.fa-table-cells-column-lock{--fa:"\e678"}.fa-table-cells-row-lock{--fa:"\e67a"}.fa-thumb-tack-slash,.fa-thumbtack-slash{--fa:"\e68f"}.fa-table-cells-row-unlock{--fa:"\e691"}.fa-chart-diagram{--fa:"\e695"}.fa-comment-nodes{--fa:"\e696"}.fa-file-fragment{--fa:"\e697"}.fa-file-half-dashed{--fa:"\e698"}.fa-hexagon-nodes{--fa:"\e699"}.fa-hexagon-nodes-bolt{--fa:"\e69a"}.fa-square-binary{--fa:"\e69b"}.fa-pentagon{--fa:"\e790"}.fa-non-binary{--fa:"\e807"}.fa-spiral{--fa:"\e80a"}.fa-mobile-vibrate{--fa:"\e816"}.fa-single-quote-left{--fa:"\e81b"}.fa-single-quote-right{--fa:"\e81c"}.fa-bus-side{--fa:"\e81d"}.fa-heptagon,.fa-septagon{--fa:"\e820"}.fa-glass-martini,.fa-martini-glass-empty{--fa:"\f000"}.fa-music{--fa:"\f001"}.fa-magnifying-glass,.fa-search{--fa:"\f002"}.fa-heart{--fa:"\f004"}.fa-star{--fa:"\f005"}.fa-user,.fa-user-alt,.fa-user-large{--fa:"\f007"}.fa-film,.fa-film-alt,.fa-film-simple{--fa:"\f008"}.fa-table-cells-large,.fa-th-large{--fa:"\f009"}.fa-table-cells,.fa-th{--fa:"\f00a"}.fa-table-list,.fa-th-list{--fa:"\f00b"}.fa-check{--fa:"\f00c"}.fa-close,.fa-multiply,.fa-remove,.fa-times,.fa-xmark{--fa:"\f00d"}.fa-magnifying-glass-plus,.fa-search-plus{--fa:"\f00e"}.fa-magnifying-glass-minus,.fa-search-minus{--fa:"\f010"}.fa-power-off{--fa:"\f011"}.fa-signal,.fa-signal-5,.fa-signal-perfect{--fa:"\f012"}.fa-cog,.fa-gear{--fa:"\f013"}.fa-home,.fa-home-alt,.fa-home-lg-alt,.fa-house{--fa:"\f015"}.fa-clock,.fa-clock-four{--fa:"\f017"}.fa-road{--fa:"\f018"}.fa-download{--fa:"\f019"}.fa-inbox{--fa:"\f01c"}.fa-arrow-right-rotate,.fa-arrow-rotate-forward,.fa-arrow-rotate-right,.fa-redo{--fa:"\f01e"}.fa-arrows-rotate,.fa-refresh,.fa-sync{--fa:"\f021"}.fa-list-alt,.fa-rectangle-list{--fa:"\f022"}.fa-lock{--fa:"\f023"}.fa-flag{--fa:"\f024"}.fa-headphones,.fa-headphones-alt,.fa-headphones-simple{--fa:"\f025"}.fa-volume-off{--fa:"\f026"}.fa-volume-down,.fa-volume-low{--fa:"\f027"}.fa-volume-high,.fa-volume-up{--fa:"\f028"}.fa-qrcode{--fa:"\f029"}.fa-barcode{--fa:"\f02a"}.fa-tag{--fa:"\f02b"}.fa-tags{--fa:"\f02c"}.fa-book{--fa:"\f02d"}.fa-bookmark{--fa:"\f02e"}.fa-print{--fa:"\f02f"}.fa-camera,.fa-camera-alt{--fa:"\f030"}.fa-font{--fa:"\f031"}.fa-bold{--fa:"\f032"}.fa-italic{--fa:"\f033"}.fa-text-height{--fa:"\f034"}.fa-text-width{--fa:"\f035"}.fa-align-left{--fa:"\f036"}.fa-align-center{--fa:"\f037"}.fa-align-right{--fa:"\f038"}.fa-align-justify{--fa:"\f039"}.fa-list,.fa-list-squares{--fa:"\f03a"}.fa-dedent,.fa-outdent{--fa:"\f03b"}.fa-indent{--fa:"\f03c"}.fa-video,.fa-video-camera{--fa:"\f03d"}.fa-image{--fa:"\f03e"}.fa-location-pin,.fa-map-marker{--fa:"\f041"}.fa-adjust,.fa-circle-half-stroke{--fa:"\f042"}.fa-droplet,.fa-tint{--fa:"\f043"}.fa-edit,.fa-pen-to-square{--fa:"\f044"}.fa-arrows,.fa-arrows-up-down-left-right{--fa:"\f047"}.fa-backward-step,.fa-step-backward{--fa:"\f048"}.fa-backward-fast,.fa-fast-backward{--fa:"\f049"}.fa-backward{--fa:"\f04a"}.fa-play{--fa:"\f04b"}.fa-pause{--fa:"\f04c"}.fa-stop{--fa:"\f04d"}.fa-forward{--fa:"\f04e"}.fa-fast-forward,.fa-forward-fast{--fa:"\f050"}.fa-forward-step,.fa-step-forward{--fa:"\f051"}.fa-eject{--fa:"\f052"}.fa-chevron-left{--fa:"\f053"}.fa-chevron-right{--fa:"\f054"}.fa-circle-plus,.fa-plus-circle{--fa:"\f055"}.fa-circle-minus,.fa-minus-circle{--fa:"\f056"}.fa-circle-xmark,.fa-times-circle,.fa-xmark-circle{--fa:"\f057"}.fa-check-circle,.fa-circle-check{--fa:"\f058"}.fa-circle-question,.fa-question-circle{--fa:"\f059"}.fa-circle-info,.fa-info-circle{--fa:"\f05a"}.fa-crosshairs{--fa:"\f05b"}.fa-ban,.fa-cancel{--fa:"\f05e"}.fa-arrow-left{--fa:"\f060"}.fa-arrow-right{--fa:"\f061"}.fa-arrow-up{--fa:"\f062"}.fa-arrow-down{--fa:"\f063"}.fa-mail-forward,.fa-share{--fa:"\f064"}.fa-expand{--fa:"\f065"}.fa-compress{--fa:"\f066"}.fa-minus,.fa-subtract{--fa:"\f068"}.fa-circle-exclamation,.fa-exclamation-circle{--fa:"\f06a"}.fa-gift{--fa:"\f06b"}.fa-leaf{--fa:"\f06c"}.fa-fire{--fa:"\f06d"}.fa-eye{--fa:"\f06e"}.fa-eye-slash{--fa:"\f070"}.fa-exclamation-triangle,.fa-triangle-exclamation,.fa-warning{--fa:"\f071"}.fa-plane{--fa:"\f072"}.fa-calendar-alt,.fa-calendar-days{--fa:"\f073"}.fa-random,.fa-shuffle{--fa:"\f074"}.fa-comment{--fa:"\f075"}.fa-magnet{--fa:"\f076"}.fa-chevron-up{--fa:"\f077"}.fa-chevron-down{--fa:"\f078"}.fa-retweet{--fa:"\f079"}.fa-cart-shopping,.fa-shopping-cart{--fa:"\f07a"}.fa-folder,.fa-folder-blank{--fa:"\f07b"}.fa-folder-open{--fa:"\f07c"}.fa-arrows-up-down,.fa-arrows-v{--fa:"\f07d"}.fa-arrows-h,.fa-arrows-left-right{--fa:"\f07e"}.fa-bar-chart,.fa-chart-bar{--fa:"\f080"}.fa-camera-retro{--fa:"\f083"}.fa-key{--fa:"\f084"}.fa-cogs,.fa-gears{--fa:"\f085"}.fa-comments{--fa:"\f086"}.fa-star-half{--fa:"\f089"}.fa-arrow-right-from-bracket,.fa-sign-out{--fa:"\f08b"}.fa-thumb-tack,.fa-thumbtack{--fa:"\f08d"}.fa-arrow-up-right-from-square,.fa-external-link{--fa:"\f08e"}.fa-arrow-right-to-bracket,.fa-sign-in{--fa:"\f090"}.fa-trophy{--fa:"\f091"}.fa-upload{--fa:"\f093"}.fa-lemon{--fa:"\f094"}.fa-phone{--fa:"\f095"}.fa-phone-square,.fa-square-phone{--fa:"\f098"}.fa-unlock{--fa:"\f09c"}.fa-credit-card,.fa-credit-card-alt{--fa:"\f09d"}.fa-feed,.fa-rss{--fa:"\f09e"}.fa-hard-drive,.fa-hdd{--fa:"\f0a0"}.fa-bullhorn{--fa:"\f0a1"}.fa-certificate{--fa:"\f0a3"}.fa-hand-point-right{--fa:"\f0a4"}.fa-hand-point-left{--fa:"\f0a5"}.fa-hand-point-up{--fa:"\f0a6"}.fa-hand-point-down{--fa:"\f0a7"}.fa-arrow-circle-left,.fa-circle-arrow-left{--fa:"\f0a8"}.fa-arrow-circle-right,.fa-circle-arrow-right{--fa:"\f0a9"}.fa-arrow-circle-up,.fa-circle-arrow-up{--fa:"\f0aa"}.fa-arrow-circle-down,.fa-circle-arrow-down{--fa:"\f0ab"}.fa-globe{--fa:"\f0ac"}.fa-wrench{--fa:"\f0ad"}.fa-list-check,.fa-tasks{--fa:"\f0ae"}.fa-filter{--fa:"\f0b0"}.fa-briefcase{--fa:"\f0b1"}.fa-arrows-alt,.fa-up-down-left-right{--fa:"\f0b2"}.fa-users{--fa:"\f0c0"}.fa-chain,.fa-link{--fa:"\f0c1"}.fa-cloud{--fa:"\f0c2"}.fa-flask{--fa:"\f0c3"}.fa-cut,.fa-scissors{--fa:"\f0c4"}.fa-copy{--fa:"\f0c5"}.fa-paperclip{--fa:"\f0c6"}.fa-floppy-disk,.fa-save{--fa:"\f0c7"}.fa-square{--fa:"\f0c8"}.fa-bars,.fa-navicon{--fa:"\f0c9"}.fa-list-dots,.fa-list-ul{--fa:"\f0ca"}.fa-list-1-2,.fa-list-numeric,.fa-list-ol{--fa:"\f0cb"}.fa-strikethrough{--fa:"\f0cc"}.fa-underline{--fa:"\f0cd"}.fa-table{--fa:"\f0ce"}.fa-magic,.fa-wand-magic{--fa:"\f0d0"}.fa-truck{--fa:"\f0d1"}.fa-money-bill{--fa:"\f0d6"}.fa-caret-down{--fa:"\f0d7"}.fa-caret-up{--fa:"\f0d8"}.fa-caret-left{--fa:"\f0d9"}.fa-caret-right{--fa:"\f0da"}.fa-columns,.fa-table-columns{--fa:"\f0db"}.fa-sort,.fa-unsorted{--fa:"\f0dc"}.fa-sort-desc,.fa-sort-down{--fa:"\f0dd"}.fa-sort-asc,.fa-sort-up{--fa:"\f0de"}.fa-envelope{--fa:"\f0e0"}.fa-arrow-left-rotate,.fa-arrow-rotate-back,.fa-arrow-rotate-backward,.fa-arrow-rotate-left,.fa-undo{--fa:"\f0e2"}.fa-gavel,.fa-legal{--fa:"\f0e3"}.fa-bolt,.fa-zap{--fa:"\f0e7"}.fa-sitemap{--fa:"\f0e8"}.fa-umbrella{--fa:"\f0e9"}.fa-file-clipboard,.fa-paste{--fa:"\f0ea"}.fa-lightbulb{--fa:"\f0eb"}.fa-arrow-right-arrow-left,.fa-exchange{--fa:"\f0ec"}.fa-cloud-arrow-down,.fa-cloud-download,.fa-cloud-download-alt{--fa:"\f0ed"}.fa-cloud-arrow-up,.fa-cloud-upload,.fa-cloud-upload-alt{--fa:"\f0ee"}.fa-user-doctor,.fa-user-md{--fa:"\f0f0"}.fa-stethoscope{--fa:"\f0f1"}.fa-suitcase{--fa:"\f0f2"}.fa-bell{--fa:"\f0f3"}.fa-coffee,.fa-mug-saucer{--fa:"\f0f4"}.fa-hospital,.fa-hospital-alt,.fa-hospital-wide{--fa:"\f0f8"}.fa-ambulance,.fa-truck-medical{--fa:"\f0f9"}.fa-medkit,.fa-suitcase-medical{--fa:"\f0fa"}.fa-fighter-jet,.fa-jet-fighter{--fa:"\f0fb"}.fa-beer,.fa-beer-mug-empty{--fa:"\f0fc"}.fa-h-square,.fa-square-h{--fa:"\f0fd"}.fa-plus-square,.fa-square-plus{--fa:"\f0fe"}.fa-angle-double-left,.fa-angles-left{--fa:"\f100"}.fa-angle-double-right,.fa-angles-right{--fa:"\f101"}.fa-angle-double-up,.fa-angles-up{--fa:"\f102"}.fa-angle-double-down,.fa-angles-down{--fa:"\f103"}.fa-angle-left{--fa:"\f104"}.fa-angle-right{--fa:"\f105"}.fa-angle-up{--fa:"\f106"}.fa-angle-down{--fa:"\f107"}.fa-laptop{--fa:"\f109"}.fa-tablet-button{--fa:"\f10a"}.fa-mobile-button{--fa:"\f10b"}.fa-quote-left,.fa-quote-left-alt{--fa:"\f10d"}.fa-quote-right,.fa-quote-right-alt{--fa:"\f10e"}.fa-spinner{--fa:"\f110"}.fa-circle{--fa:"\f111"}.fa-face-smile,.fa-smile{--fa:"\f118"}.fa-face-frown,.fa-frown{--fa:"\f119"}.fa-face-meh,.fa-meh{--fa:"\f11a"}.fa-gamepad{--fa:"\f11b"}.fa-keyboard{--fa:"\f11c"}.fa-flag-checkered{--fa:"\f11e"}.fa-terminal{--fa:"\f120"}.fa-code{--fa:"\f121"}.fa-mail-reply-all,.fa-reply-all{--fa:"\f122"}.fa-location-arrow{--fa:"\f124"}.fa-crop{--fa:"\f125"}.fa-code-branch{--fa:"\f126"}.fa-chain-broken,.fa-chain-slash,.fa-link-slash,.fa-unlink{--fa:"\f127"}.fa-info{--fa:"\f129"}.fa-superscript{--fa:"\f12b"}.fa-subscript{--fa:"\f12c"}.fa-eraser{--fa:"\f12d"}.fa-puzzle-piece{--fa:"\f12e"}.fa-microphone{--fa:"\f130"}.fa-microphone-slash{--fa:"\f131"}.fa-shield,.fa-shield-blank{--fa:"\f132"}.fa-calendar{--fa:"\f133"}.fa-fire-extinguisher{--fa:"\f134"}.fa-rocket{--fa:"\f135"}.fa-chevron-circle-left,.fa-circle-chevron-left{--fa:"\f137"}.fa-chevron-circle-right,.fa-circle-chevron-right{--fa:"\f138"}.fa-chevron-circle-up,.fa-circle-chevron-up{--fa:"\f139"}.fa-chevron-circle-down,.fa-circle-chevron-down{--fa:"\f13a"}.fa-anchor{--fa:"\f13d"}.fa-unlock-alt,.fa-unlock-keyhole{--fa:"\f13e"}.fa-bullseye{--fa:"\f140"}.fa-ellipsis,.fa-ellipsis-h{--fa:"\f141"}.fa-ellipsis-v,.fa-ellipsis-vertical{--fa:"\f142"}.fa-rss-square,.fa-square-rss{--fa:"\f143"}.fa-circle-play,.fa-play-circle{--fa:"\f144"}.fa-ticket{--fa:"\f145"}.fa-minus-square,.fa-square-minus{--fa:"\f146"}.fa-arrow-turn-up,.fa-level-up{--fa:"\f148"}.fa-arrow-turn-down,.fa-level-down{--fa:"\f149"}.fa-check-square,.fa-square-check{--fa:"\f14a"}.fa-pen-square,.fa-pencil-square,.fa-square-pen{--fa:"\f14b"}.fa-external-link-square,.fa-square-arrow-up-right{--fa:"\f14c"}.fa-share-from-square,.fa-share-square{--fa:"\f14d"}.fa-compass{--fa:"\f14e"}.fa-caret-square-down,.fa-square-caret-down{--fa:"\f150"}.fa-caret-square-up,.fa-square-caret-up{--fa:"\f151"}.fa-caret-square-right,.fa-square-caret-right{--fa:"\f152"}.fa-eur,.fa-euro,.fa-euro-sign{--fa:"\f153"}.fa-gbp,.fa-pound-sign,.fa-sterling-sign{--fa:"\f154"}.fa-rupee,.fa-rupee-sign{--fa:"\f156"}.fa-cny,.fa-jpy,.fa-rmb,.fa-yen,.fa-yen-sign{--fa:"\f157"}.fa-rouble,.fa-rub,.fa-ruble,.fa-ruble-sign{--fa:"\f158"}.fa-krw,.fa-won,.fa-won-sign{--fa:"\f159"}.fa-file{--fa:"\f15b"}.fa-file-alt,.fa-file-lines,.fa-file-text{--fa:"\f15c"}.fa-arrow-down-a-z,.fa-sort-alpha-asc,.fa-sort-alpha-down{--fa:"\f15d"}.fa-arrow-up-a-z,.fa-sort-alpha-up{--fa:"\f15e"}.fa-arrow-down-wide-short,.fa-sort-amount-asc,.fa-sort-amount-down{--fa:"\f160"}.fa-arrow-up-wide-short,.fa-sort-amount-up{--fa:"\f161"}.fa-arrow-down-1-9,.fa-sort-numeric-asc,.fa-sort-numeric-down{--fa:"\f162"}.fa-arrow-up-1-9,.fa-sort-numeric-up{--fa:"\f163"}.fa-thumbs-up{--fa:"\f164"}.fa-thumbs-down{--fa:"\f165"}.fa-arrow-down-long,.fa-long-arrow-down{--fa:"\f175"}.fa-arrow-up-long,.fa-long-arrow-up{--fa:"\f176"}.fa-arrow-left-long,.fa-long-arrow-left{--fa:"\f177"}.fa-arrow-right-long,.fa-long-arrow-right{--fa:"\f178"}.fa-female,.fa-person-dress{--fa:"\f182"}.fa-male,.fa-person{--fa:"\f183"}.fa-sun{--fa:"\f185"}.fa-moon{--fa:"\f186"}.fa-archive,.fa-box-archive{--fa:"\f187"}.fa-bug{--fa:"\f188"}.fa-caret-square-left,.fa-square-caret-left{--fa:"\f191"}.fa-circle-dot,.fa-dot-circle{--fa:"\f192"}.fa-wheelchair{--fa:"\f193"}.fa-lira-sign{--fa:"\f195"}.fa-shuttle-space,.fa-space-shuttle{--fa:"\f197"}.fa-envelope-square,.fa-square-envelope{--fa:"\f199"}.fa-bank,.fa-building-columns,.fa-institution,.fa-museum,.fa-university{--fa:"\f19c"}.fa-graduation-cap,.fa-mortar-board{--fa:"\f19d"}.fa-language{--fa:"\f1ab"}.fa-fax{--fa:"\f1ac"}.fa-building{--fa:"\f1ad"}.fa-child{--fa:"\f1ae"}.fa-paw{--fa:"\f1b0"}.fa-cube{--fa:"\f1b2"}.fa-cubes{--fa:"\f1b3"}.fa-recycle{--fa:"\f1b8"}.fa-automobile,.fa-car{--fa:"\f1b9"}.fa-cab,.fa-taxi{--fa:"\f1ba"}.fa-tree{--fa:"\f1bb"}.fa-database{--fa:"\f1c0"}.fa-file-pdf{--fa:"\f1c1"}.fa-file-word{--fa:"\f1c2"}.fa-file-excel{--fa:"\f1c3"}.fa-file-powerpoint{--fa:"\f1c4"}.fa-file-image{--fa:"\f1c5"}.fa-file-archive,.fa-file-zipper{--fa:"\f1c6"}.fa-file-audio{--fa:"\f1c7"}.fa-file-video{--fa:"\f1c8"}.fa-file-code{--fa:"\f1c9"}.fa-life-ring{--fa:"\f1cd"}.fa-circle-notch{--fa:"\f1ce"}.fa-paper-plane{--fa:"\f1d8"}.fa-clock-rotate-left,.fa-history{--fa:"\f1da"}.fa-header,.fa-heading{--fa:"\f1dc"}.fa-paragraph{--fa:"\f1dd"}.fa-sliders,.fa-sliders-h{--fa:"\f1de"}.fa-share-alt,.fa-share-nodes{--fa:"\f1e0"}.fa-share-alt-square,.fa-square-share-nodes{--fa:"\f1e1"}.fa-bomb{--fa:"\f1e2"}.fa-futbol,.fa-futbol-ball,.fa-soccer-ball{--fa:"\f1e3"}.fa-teletype,.fa-tty{--fa:"\f1e4"}.fa-binoculars{--fa:"\f1e5"}.fa-plug{--fa:"\f1e6"}.fa-newspaper{--fa:"\f1ea"}.fa-wifi,.fa-wifi-3,.fa-wifi-strong{--fa:"\f1eb"}.fa-calculator{--fa:"\f1ec"}.fa-bell-slash{--fa:"\f1f6"}.fa-trash{--fa:"\f1f8"}.fa-copyright{--fa:"\f1f9"}.fa-eye-dropper,.fa-eye-dropper-empty,.fa-eyedropper{--fa:"\f1fb"}.fa-paint-brush,.fa-paintbrush{--fa:"\f1fc"}.fa-birthday-cake,.fa-cake,.fa-cake-candles{--fa:"\f1fd"}.fa-area-chart,.fa-chart-area{--fa:"\f1fe"}.fa-chart-pie,.fa-pie-chart{--fa:"\f200"}.fa-chart-line,.fa-line-chart{--fa:"\f201"}.fa-toggle-off{--fa:"\f204"}.fa-toggle-on{--fa:"\f205"}.fa-bicycle{--fa:"\f206"}.fa-bus{--fa:"\f207"}.fa-closed-captioning{--fa:"\f20a"}.fa-ils,.fa-shekel,.fa-shekel-sign,.fa-sheqel,.fa-sheqel-sign{--fa:"\f20b"}.fa-cart-plus{--fa:"\f217"}.fa-cart-arrow-down{--fa:"\f218"}.fa-diamond{--fa:"\f219"}.fa-ship{--fa:"\f21a"}.fa-user-secret{--fa:"\f21b"}.fa-motorcycle{--fa:"\f21c"}.fa-street-view{--fa:"\f21d"}.fa-heart-pulse,.fa-heartbeat{--fa:"\f21e"}.fa-venus{--fa:"\f221"}.fa-mars{--fa:"\f222"}.fa-mercury{--fa:"\f223"}.fa-mars-and-venus{--fa:"\f224"}.fa-transgender,.fa-transgender-alt{--fa:"\f225"}.fa-venus-double{--fa:"\f226"}.fa-mars-double{--fa:"\f227"}.fa-venus-mars{--fa:"\f228"}.fa-mars-stroke{--fa:"\f229"}.fa-mars-stroke-up,.fa-mars-stroke-v{--fa:"\f22a"}.fa-mars-stroke-h,.fa-mars-stroke-right{--fa:"\f22b"}.fa-neuter{--fa:"\f22c"}.fa-genderless{--fa:"\f22d"}.fa-server{--fa:"\f233"}.fa-user-plus{--fa:"\f234"}.fa-user-times,.fa-user-xmark{--fa:"\f235"}.fa-bed{--fa:"\f236"}.fa-train{--fa:"\f238"}.fa-subway,.fa-train-subway{--fa:"\f239"}.fa-battery,.fa-battery-5,.fa-battery-full{--fa:"\f240"}.fa-battery-4,.fa-battery-three-quarters{--fa:"\f241"}.fa-battery-3,.fa-battery-half{--fa:"\f242"}.fa-battery-2,.fa-battery-quarter{--fa:"\f243"}.fa-battery-0,.fa-battery-empty{--fa:"\f244"}.fa-arrow-pointer,.fa-mouse-pointer{--fa:"\f245"}.fa-i-cursor{--fa:"\f246"}.fa-object-group{--fa:"\f247"}.fa-object-ungroup{--fa:"\f248"}.fa-note-sticky,.fa-sticky-note{--fa:"\f249"}.fa-clone{--fa:"\f24d"}.fa-balance-scale,.fa-scale-balanced{--fa:"\f24e"}.fa-hourglass-1,.fa-hourglass-start{--fa:"\f251"}.fa-hourglass-2,.fa-hourglass-half{--fa:"\f252"}.fa-hourglass-3,.fa-hourglass-end{--fa:"\f253"}.fa-hourglass,.fa-hourglass-empty{--fa:"\f254"}.fa-hand-back-fist,.fa-hand-rock{--fa:"\f255"}.fa-hand,.fa-hand-paper{--fa:"\f256"}.fa-hand-scissors{--fa:"\f257"}.fa-hand-lizard{--fa:"\f258"}.fa-hand-spock{--fa:"\f259"}.fa-hand-pointer{--fa:"\f25a"}.fa-hand-peace{--fa:"\f25b"}.fa-trademark{--fa:"\f25c"}.fa-registered{--fa:"\f25d"}.fa-television,.fa-tv,.fa-tv-alt{--fa:"\f26c"}.fa-calendar-plus{--fa:"\f271"}.fa-calendar-minus{--fa:"\f272"}.fa-calendar-times,.fa-calendar-xmark{--fa:"\f273"}.fa-calendar-check{--fa:"\f274"}.fa-industry{--fa:"\f275"}.fa-map-pin{--fa:"\f276"}.fa-map-signs,.fa-signs-post{--fa:"\f277"}.fa-map{--fa:"\f279"}.fa-comment-alt,.fa-message{--fa:"\f27a"}.fa-circle-pause,.fa-pause-circle{--fa:"\f28b"}.fa-circle-stop,.fa-stop-circle{--fa:"\f28d"}.fa-bag-shopping,.fa-shopping-bag{--fa:"\f290"}.fa-basket-shopping,.fa-shopping-basket{--fa:"\f291"}.fa-universal-access{--fa:"\f29a"}.fa-blind,.fa-person-walking-with-cane{--fa:"\f29d"}.fa-audio-description{--fa:"\f29e"}.fa-phone-volume,.fa-volume-control-phone{--fa:"\f2a0"}.fa-braille{--fa:"\f2a1"}.fa-assistive-listening-systems,.fa-ear-listen{--fa:"\f2a2"}.fa-american-sign-language-interpreting,.fa-asl-interpreting,.fa-hands-american-sign-language-interpreting,.fa-hands-asl-interpreting{--fa:"\f2a3"}.fa-deaf,.fa-deafness,.fa-ear-deaf,.fa-hard-of-hearing{--fa:"\f2a4"}.fa-hands,.fa-sign-language,.fa-signing{--fa:"\f2a7"}.fa-eye-low-vision,.fa-low-vision{--fa:"\f2a8"}.fa-handshake,.fa-handshake-alt,.fa-handshake-simple{--fa:"\f2b5"}.fa-envelope-open{--fa:"\f2b6"}.fa-address-book,.fa-contact-book{--fa:"\f2b9"}.fa-address-card,.fa-contact-card,.fa-vcard{--fa:"\f2bb"}.fa-circle-user,.fa-user-circle{--fa:"\f2bd"}.fa-id-badge{--fa:"\f2c1"}.fa-drivers-license,.fa-id-card{--fa:"\f2c2"}.fa-temperature-4,.fa-temperature-full,.fa-thermometer-4,.fa-thermometer-full{--fa:"\f2c7"}.fa-temperature-3,.fa-temperature-three-quarters,.fa-thermometer-3,.fa-thermometer-three-quarters{--fa:"\f2c8"}.fa-temperature-2,.fa-temperature-half,.fa-thermometer-2,.fa-thermometer-half{--fa:"\f2c9"}.fa-temperature-1,.fa-temperature-quarter,.fa-thermometer-1,.fa-thermometer-quarter{--fa:"\f2ca"}.fa-temperature-0,.fa-temperature-empty,.fa-thermometer-0,.fa-thermometer-empty{--fa:"\f2cb"}.fa-shower{--fa:"\f2cc"}.fa-bath,.fa-bathtub{--fa:"\f2cd"}.fa-podcast{--fa:"\f2ce"}.fa-window-maximize{--fa:"\f2d0"}.fa-window-minimize{--fa:"\f2d1"}.fa-window-restore{--fa:"\f2d2"}.fa-square-xmark,.fa-times-square,.fa-xmark-square{--fa:"\f2d3"}.fa-microchip{--fa:"\f2db"}.fa-snowflake{--fa:"\f2dc"}.fa-spoon,.fa-utensil-spoon{--fa:"\f2e5"}.fa-cutlery,.fa-utensils{--fa:"\f2e7"}.fa-rotate-back,.fa-rotate-backward,.fa-rotate-left,.fa-undo-alt{--fa:"\f2ea"}.fa-trash-alt,.fa-trash-can{--fa:"\f2ed"}.fa-rotate,.fa-sync-alt{--fa:"\f2f1"}.fa-stopwatch{--fa:"\f2f2"}.fa-right-from-bracket,.fa-sign-out-alt{--fa:"\f2f5"}.fa-right-to-bracket,.fa-sign-in-alt{--fa:"\f2f6"}.fa-redo-alt,.fa-rotate-forward,.fa-rotate-right{--fa:"\f2f9"}.fa-poo{--fa:"\f2fe"}.fa-images{--fa:"\f302"}.fa-pencil,.fa-pencil-alt{--fa:"\f303"}.fa-pen{--fa:"\f304"}.fa-pen-alt,.fa-pen-clip{--fa:"\f305"}.fa-octagon{--fa:"\f306"}.fa-down-long,.fa-long-arrow-alt-down{--fa:"\f309"}.fa-left-long,.fa-long-arrow-alt-left{--fa:"\f30a"}.fa-long-arrow-alt-right,.fa-right-long{--fa:"\f30b"}.fa-long-arrow-alt-up,.fa-up-long{--fa:"\f30c"}.fa-hexagon{--fa:"\f312"}.fa-file-edit,.fa-file-pen{--fa:"\f31c"}.fa-expand-arrows-alt,.fa-maximize{--fa:"\f31e"}.fa-clipboard{--fa:"\f328"}.fa-arrows-alt-h,.fa-left-right{--fa:"\f337"}.fa-arrows-alt-v,.fa-up-down{--fa:"\f338"}.fa-alarm-clock{--fa:"\f34e"}.fa-arrow-alt-circle-down,.fa-circle-down{--fa:"\f358"}.fa-arrow-alt-circle-left,.fa-circle-left{--fa:"\f359"}.fa-arrow-alt-circle-right,.fa-circle-right{--fa:"\f35a"}.fa-arrow-alt-circle-up,.fa-circle-up{--fa:"\f35b"}.fa-external-link-alt,.fa-up-right-from-square{--fa:"\f35d"}.fa-external-link-square-alt,.fa-square-up-right{--fa:"\f360"}.fa-exchange-alt,.fa-right-left{--fa:"\f362"}.fa-repeat{--fa:"\f363"}.fa-code-commit{--fa:"\f386"}.fa-code-merge{--fa:"\f387"}.fa-desktop,.fa-desktop-alt{--fa:"\f390"}.fa-gem{--fa:"\f3a5"}.fa-level-down-alt,.fa-turn-down{--fa:"\f3be"}.fa-level-up-alt,.fa-turn-up{--fa:"\f3bf"}.fa-lock-open{--fa:"\f3c1"}.fa-location-dot,.fa-map-marker-alt{--fa:"\f3c5"}.fa-microphone-alt,.fa-microphone-lines{--fa:"\f3c9"}.fa-mobile-alt,.fa-mobile-screen-button{--fa:"\f3cd"}.fa-mobile,.fa-mobile-android,.fa-mobile-phone{--fa:"\f3ce"}.fa-mobile-android-alt,.fa-mobile-screen{--fa:"\f3cf"}.fa-money-bill-1,.fa-money-bill-alt{--fa:"\f3d1"}.fa-phone-slash{--fa:"\f3dd"}.fa-image-portrait,.fa-portrait{--fa:"\f3e0"}.fa-mail-reply,.fa-reply{--fa:"\f3e5"}.fa-shield-alt,.fa-shield-halved{--fa:"\f3ed"}.fa-tablet-alt,.fa-tablet-screen-button{--fa:"\f3fa"}.fa-tablet,.fa-tablet-android{--fa:"\f3fb"}.fa-ticket-alt,.fa-ticket-simple{--fa:"\f3ff"}.fa-rectangle-times,.fa-rectangle-xmark,.fa-times-rectangle,.fa-window-close{--fa:"\f410"}.fa-compress-alt,.fa-down-left-and-up-right-to-center{--fa:"\f422"}.fa-expand-alt,.fa-up-right-and-down-left-from-center{--fa:"\f424"}.fa-baseball-bat-ball{--fa:"\f432"}.fa-baseball,.fa-baseball-ball{--fa:"\f433"}.fa-basketball,.fa-basketball-ball{--fa:"\f434"}.fa-bowling-ball{--fa:"\f436"}.fa-chess{--fa:"\f439"}.fa-chess-bishop{--fa:"\f43a"}.fa-chess-board{--fa:"\f43c"}.fa-chess-king{--fa:"\f43f"}.fa-chess-knight{--fa:"\f441"}.fa-chess-pawn{--fa:"\f443"}.fa-chess-queen{--fa:"\f445"}.fa-chess-rook{--fa:"\f447"}.fa-dumbbell{--fa:"\f44b"}.fa-football,.fa-football-ball{--fa:"\f44e"}.fa-golf-ball,.fa-golf-ball-tee{--fa:"\f450"}.fa-hockey-puck{--fa:"\f453"}.fa-broom-ball,.fa-quidditch,.fa-quidditch-broom-ball{--fa:"\f458"}.fa-square-full{--fa:"\f45c"}.fa-ping-pong-paddle-ball,.fa-table-tennis,.fa-table-tennis-paddle-ball{--fa:"\f45d"}.fa-volleyball,.fa-volleyball-ball{--fa:"\f45f"}.fa-allergies,.fa-hand-dots{--fa:"\f461"}.fa-band-aid,.fa-bandage{--fa:"\f462"}.fa-box{--fa:"\f466"}.fa-boxes,.fa-boxes-alt,.fa-boxes-stacked{--fa:"\f468"}.fa-briefcase-medical{--fa:"\f469"}.fa-burn,.fa-fire-flame-simple{--fa:"\f46a"}.fa-capsules{--fa:"\f46b"}.fa-clipboard-check{--fa:"\f46c"}.fa-clipboard-list{--fa:"\f46d"}.fa-diagnoses,.fa-person-dots-from-line{--fa:"\f470"}.fa-dna{--fa:"\f471"}.fa-dolly,.fa-dolly-box{--fa:"\f472"}.fa-cart-flatbed,.fa-dolly-flatbed{--fa:"\f474"}.fa-file-medical{--fa:"\f477"}.fa-file-medical-alt,.fa-file-waveform{--fa:"\f478"}.fa-first-aid,.fa-kit-medical{--fa:"\f479"}.fa-circle-h,.fa-hospital-symbol{--fa:"\f47e"}.fa-id-card-alt,.fa-id-card-clip{--fa:"\f47f"}.fa-notes-medical{--fa:"\f481"}.fa-pallet{--fa:"\f482"}.fa-pills{--fa:"\f484"}.fa-prescription-bottle{--fa:"\f485"}.fa-prescription-bottle-alt,.fa-prescription-bottle-medical{--fa:"\f486"}.fa-bed-pulse,.fa-procedures{--fa:"\f487"}.fa-shipping-fast,.fa-truck-fast{--fa:"\f48b"}.fa-smoking{--fa:"\f48d"}.fa-syringe{--fa:"\f48e"}.fa-tablets{--fa:"\f490"}.fa-thermometer{--fa:"\f491"}.fa-vial{--fa:"\f492"}.fa-vials{--fa:"\f493"}.fa-warehouse{--fa:"\f494"}.fa-weight,.fa-weight-scale{--fa:"\f496"}.fa-x-ray{--fa:"\f497"}.fa-box-open{--fa:"\f49e"}.fa-comment-dots,.fa-commenting{--fa:"\f4ad"}.fa-comment-slash{--fa:"\f4b3"}.fa-couch{--fa:"\f4b8"}.fa-circle-dollar-to-slot,.fa-donate{--fa:"\f4b9"}.fa-dove{--fa:"\f4ba"}.fa-hand-holding{--fa:"\f4bd"}.fa-hand-holding-heart{--fa:"\f4be"}.fa-hand-holding-dollar,.fa-hand-holding-usd{--fa:"\f4c0"}.fa-hand-holding-droplet,.fa-hand-holding-water{--fa:"\f4c1"}.fa-hands-holding{--fa:"\f4c2"}.fa-hands-helping,.fa-handshake-angle{--fa:"\f4c4"}.fa-parachute-box{--fa:"\f4cd"}.fa-people-carry,.fa-people-carry-box{--fa:"\f4ce"}.fa-piggy-bank{--fa:"\f4d3"}.fa-ribbon{--fa:"\f4d6"}.fa-route{--fa:"\f4d7"}.fa-seedling,.fa-sprout{--fa:"\f4d8"}.fa-sign,.fa-sign-hanging{--fa:"\f4d9"}.fa-face-smile-wink,.fa-smile-wink{--fa:"\f4da"}.fa-tape{--fa:"\f4db"}.fa-truck-loading,.fa-truck-ramp-box{--fa:"\f4de"}.fa-truck-moving{--fa:"\f4df"}.fa-video-slash{--fa:"\f4e2"}.fa-wine-glass{--fa:"\f4e3"}.fa-user-astronaut{--fa:"\f4fb"}.fa-user-check{--fa:"\f4fc"}.fa-user-clock{--fa:"\f4fd"}.fa-user-cog,.fa-user-gear{--fa:"\f4fe"}.fa-user-edit,.fa-user-pen{--fa:"\f4ff"}.fa-user-friends,.fa-user-group{--fa:"\f500"}.fa-user-graduate{--fa:"\f501"}.fa-user-lock{--fa:"\f502"}.fa-user-minus{--fa:"\f503"}.fa-user-ninja{--fa:"\f504"}.fa-user-shield{--fa:"\f505"}.fa-user-alt-slash,.fa-user-large-slash,.fa-user-slash{--fa:"\f506"}.fa-user-tag{--fa:"\f507"}.fa-user-tie{--fa:"\f508"}.fa-users-cog,.fa-users-gear{--fa:"\f509"}.fa-balance-scale-left,.fa-scale-unbalanced{--fa:"\f515"}.fa-balance-scale-right,.fa-scale-unbalanced-flip{--fa:"\f516"}.fa-blender{--fa:"\f517"}.fa-book-open{--fa:"\f518"}.fa-broadcast-tower,.fa-tower-broadcast{--fa:"\f519"}.fa-broom{--fa:"\f51a"}.fa-blackboard,.fa-chalkboard{--fa:"\f51b"}.fa-chalkboard-teacher,.fa-chalkboard-user{--fa:"\f51c"}.fa-church{--fa:"\f51d"}.fa-coins{--fa:"\f51e"}.fa-compact-disc{--fa:"\f51f"}.fa-crow{--fa:"\f520"}.fa-crown{--fa:"\f521"}.fa-dice{--fa:"\f522"}.fa-dice-five{--fa:"\f523"}.fa-dice-four{--fa:"\f524"}.fa-dice-one{--fa:"\f525"}.fa-dice-six{--fa:"\f526"}.fa-dice-three{--fa:"\f527"}.fa-dice-two{--fa:"\f528"}.fa-divide{--fa:"\f529"}.fa-door-closed{--fa:"\f52a"}.fa-door-open{--fa:"\f52b"}.fa-feather{--fa:"\f52d"}.fa-frog{--fa:"\f52e"}.fa-gas-pump{--fa:"\f52f"}.fa-glasses{--fa:"\f530"}.fa-greater-than-equal{--fa:"\f532"}.fa-helicopter{--fa:"\f533"}.fa-infinity{--fa:"\f534"}.fa-kiwi-bird{--fa:"\f535"}.fa-less-than-equal{--fa:"\f537"}.fa-memory{--fa:"\f538"}.fa-microphone-alt-slash,.fa-microphone-lines-slash{--fa:"\f539"}.fa-money-bill-wave{--fa:"\f53a"}.fa-money-bill-1-wave,.fa-money-bill-wave-alt{--fa:"\f53b"}.fa-money-check{--fa:"\f53c"}.fa-money-check-alt,.fa-money-check-dollar{--fa:"\f53d"}.fa-not-equal{--fa:"\f53e"}.fa-palette{--fa:"\f53f"}.fa-parking,.fa-square-parking{--fa:"\f540"}.fa-diagram-project,.fa-project-diagram{--fa:"\f542"}.fa-receipt{--fa:"\f543"}.fa-robot{--fa:"\f544"}.fa-ruler{--fa:"\f545"}.fa-ruler-combined{--fa:"\f546"}.fa-ruler-horizontal{--fa:"\f547"}.fa-ruler-vertical{--fa:"\f548"}.fa-school{--fa:"\f549"}.fa-screwdriver{--fa:"\f54a"}.fa-shoe-prints{--fa:"\f54b"}.fa-skull{--fa:"\f54c"}.fa-ban-smoking,.fa-smoking-ban{--fa:"\f54d"}.fa-store{--fa:"\f54e"}.fa-shop,.fa-store-alt{--fa:"\f54f"}.fa-bars-staggered,.fa-reorder,.fa-stream{--fa:"\f550"}.fa-stroopwafel{--fa:"\f551"}.fa-toolbox{--fa:"\f552"}.fa-shirt,.fa-t-shirt,.fa-tshirt{--fa:"\f553"}.fa-person-walking,.fa-walking{--fa:"\f554"}.fa-wallet{--fa:"\f555"}.fa-angry,.fa-face-angry{--fa:"\f556"}.fa-archway{--fa:"\f557"}.fa-atlas,.fa-book-atlas{--fa:"\f558"}.fa-award{--fa:"\f559"}.fa-backspace,.fa-delete-left{--fa:"\f55a"}.fa-bezier-curve{--fa:"\f55b"}.fa-bong{--fa:"\f55c"}.fa-brush{--fa:"\f55d"}.fa-bus-alt,.fa-bus-simple{--fa:"\f55e"}.fa-cannabis{--fa:"\f55f"}.fa-check-double{--fa:"\f560"}.fa-cocktail,.fa-martini-glass-citrus{--fa:"\f561"}.fa-bell-concierge,.fa-concierge-bell{--fa:"\f562"}.fa-cookie{--fa:"\f563"}.fa-cookie-bite{--fa:"\f564"}.fa-crop-alt,.fa-crop-simple{--fa:"\f565"}.fa-digital-tachograph,.fa-tachograph-digital{--fa:"\f566"}.fa-dizzy,.fa-face-dizzy{--fa:"\f567"}.fa-compass-drafting,.fa-drafting-compass{--fa:"\f568"}.fa-drum{--fa:"\f569"}.fa-drum-steelpan{--fa:"\f56a"}.fa-feather-alt,.fa-feather-pointed{--fa:"\f56b"}.fa-file-contract{--fa:"\f56c"}.fa-file-arrow-down,.fa-file-download{--fa:"\f56d"}.fa-arrow-right-from-file,.fa-file-export{--fa:"\f56e"}.fa-arrow-right-to-file,.fa-file-import{--fa:"\f56f"}.fa-file-invoice{--fa:"\f570"}.fa-file-invoice-dollar{--fa:"\f571"}.fa-file-prescription{--fa:"\f572"}.fa-file-signature{--fa:"\f573"}.fa-file-arrow-up,.fa-file-upload{--fa:"\f574"}.fa-fill{--fa:"\f575"}.fa-fill-drip{--fa:"\f576"}.fa-fingerprint{--fa:"\f577"}.fa-fish{--fa:"\f578"}.fa-face-flushed,.fa-flushed{--fa:"\f579"}.fa-face-frown-open,.fa-frown-open{--fa:"\f57a"}.fa-glass-martini-alt,.fa-martini-glass{--fa:"\f57b"}.fa-earth-africa,.fa-globe-africa{--fa:"\f57c"}.fa-earth,.fa-earth-america,.fa-earth-americas,.fa-globe-americas{--fa:"\f57d"}.fa-earth-asia,.fa-globe-asia{--fa:"\f57e"}.fa-face-grimace,.fa-grimace{--fa:"\f57f"}.fa-face-grin,.fa-grin{--fa:"\f580"}.fa-face-grin-wide,.fa-grin-alt{--fa:"\f581"}.fa-face-grin-beam,.fa-grin-beam{--fa:"\f582"}.fa-face-grin-beam-sweat,.fa-grin-beam-sweat{--fa:"\f583"}.fa-face-grin-hearts,.fa-grin-hearts{--fa:"\f584"}.fa-face-grin-squint,.fa-grin-squint{--fa:"\f585"}.fa-face-grin-squint-tears,.fa-grin-squint-tears{--fa:"\f586"}.fa-face-grin-stars,.fa-grin-stars{--fa:"\f587"}.fa-face-grin-tears,.fa-grin-tears{--fa:"\f588"}.fa-face-grin-tongue,.fa-grin-tongue{--fa:"\f589"}.fa-face-grin-tongue-squint,.fa-grin-tongue-squint{--fa:"\f58a"}.fa-face-grin-tongue-wink,.fa-grin-tongue-wink{--fa:"\f58b"}.fa-face-grin-wink,.fa-grin-wink{--fa:"\f58c"}.fa-grid-horizontal,.fa-grip,.fa-grip-horizontal{--fa:"\f58d"}.fa-grid-vertical,.fa-grip-vertical{--fa:"\f58e"}.fa-headset{--fa:"\f590"}.fa-highlighter{--fa:"\f591"}.fa-hot-tub,.fa-hot-tub-person{--fa:"\f593"}.fa-hotel{--fa:"\f594"}.fa-joint{--fa:"\f595"}.fa-face-kiss,.fa-kiss{--fa:"\f596"}.fa-face-kiss-beam,.fa-kiss-beam{--fa:"\f597"}.fa-face-kiss-wink-heart,.fa-kiss-wink-heart{--fa:"\f598"}.fa-face-laugh,.fa-laugh{--fa:"\f599"}.fa-face-laugh-beam,.fa-laugh-beam{--fa:"\f59a"}.fa-face-laugh-squint,.fa-laugh-squint{--fa:"\f59b"}.fa-face-laugh-wink,.fa-laugh-wink{--fa:"\f59c"}.fa-cart-flatbed-suitcase,.fa-luggage-cart{--fa:"\f59d"}.fa-map-location,.fa-map-marked{--fa:"\f59f"}.fa-map-location-dot,.fa-map-marked-alt{--fa:"\f5a0"}.fa-marker{--fa:"\f5a1"}.fa-medal{--fa:"\f5a2"}.fa-face-meh-blank,.fa-meh-blank{--fa:"\f5a4"}.fa-face-rolling-eyes,.fa-meh-rolling-eyes{--fa:"\f5a5"}.fa-monument{--fa:"\f5a6"}.fa-mortar-pestle{--fa:"\f5a7"}.fa-paint-roller{--fa:"\f5aa"}.fa-passport{--fa:"\f5ab"}.fa-pen-fancy{--fa:"\f5ac"}.fa-pen-nib{--fa:"\f5ad"}.fa-pen-ruler,.fa-pencil-ruler{--fa:"\f5ae"}.fa-plane-arrival{--fa:"\f5af"}.fa-plane-departure{--fa:"\f5b0"}.fa-prescription{--fa:"\f5b1"}.fa-face-sad-cry,.fa-sad-cry{--fa:"\f5b3"}.fa-face-sad-tear,.fa-sad-tear{--fa:"\f5b4"}.fa-shuttle-van,.fa-van-shuttle{--fa:"\f5b6"}.fa-signature{--fa:"\f5b7"}.fa-face-smile-beam,.fa-smile-beam{--fa:"\f5b8"}.fa-solar-panel{--fa:"\f5ba"}.fa-spa{--fa:"\f5bb"}.fa-splotch{--fa:"\f5bc"}.fa-spray-can{--fa:"\f5bd"}.fa-stamp{--fa:"\f5bf"}.fa-star-half-alt,.fa-star-half-stroke{--fa:"\f5c0"}.fa-suitcase-rolling{--fa:"\f5c1"}.fa-face-surprise,.fa-surprise{--fa:"\f5c2"}.fa-swatchbook{--fa:"\f5c3"}.fa-person-swimming,.fa-swimmer{--fa:"\f5c4"}.fa-ladder-water,.fa-swimming-pool,.fa-water-ladder{--fa:"\f5c5"}.fa-droplet-slash,.fa-tint-slash{--fa:"\f5c7"}.fa-face-tired,.fa-tired{--fa:"\f5c8"}.fa-tooth{--fa:"\f5c9"}.fa-umbrella-beach{--fa:"\f5ca"}.fa-weight-hanging{--fa:"\f5cd"}.fa-wine-glass-alt,.fa-wine-glass-empty{--fa:"\f5ce"}.fa-air-freshener,.fa-spray-can-sparkles{--fa:"\f5d0"}.fa-apple-alt,.fa-apple-whole{--fa:"\f5d1"}.fa-atom{--fa:"\f5d2"}.fa-bone{--fa:"\f5d7"}.fa-book-open-reader,.fa-book-reader{--fa:"\f5da"}.fa-brain{--fa:"\f5dc"}.fa-car-alt,.fa-car-rear{--fa:"\f5de"}.fa-battery-car,.fa-car-battery{--fa:"\f5df"}.fa-car-burst,.fa-car-crash{--fa:"\f5e1"}.fa-car-side{--fa:"\f5e4"}.fa-charging-station{--fa:"\f5e7"}.fa-diamond-turn-right,.fa-directions{--fa:"\f5eb"}.fa-draw-polygon,.fa-vector-polygon{--fa:"\f5ee"}.fa-laptop-code{--fa:"\f5fc"}.fa-layer-group{--fa:"\f5fd"}.fa-location,.fa-location-crosshairs{--fa:"\f601"}.fa-lungs{--fa:"\f604"}.fa-microscope{--fa:"\f610"}.fa-oil-can{--fa:"\f613"}.fa-poop{--fa:"\f619"}.fa-shapes,.fa-triangle-circle-square{--fa:"\f61f"}.fa-star-of-life{--fa:"\f621"}.fa-dashboard,.fa-gauge,.fa-gauge-med,.fa-tachometer-alt-average{--fa:"\f624"}.fa-gauge-high,.fa-tachometer-alt,.fa-tachometer-alt-fast{--fa:"\f625"}.fa-gauge-simple,.fa-gauge-simple-med,.fa-tachometer-average{--fa:"\f629"}.fa-gauge-simple-high,.fa-tachometer,.fa-tachometer-fast{--fa:"\f62a"}.fa-teeth{--fa:"\f62e"}.fa-teeth-open{--fa:"\f62f"}.fa-masks-theater,.fa-theater-masks{--fa:"\f630"}.fa-traffic-light{--fa:"\f637"}.fa-truck-monster{--fa:"\f63b"}.fa-truck-pickup{--fa:"\f63c"}.fa-ad,.fa-rectangle-ad{--fa:"\f641"}.fa-ankh{--fa:"\f644"}.fa-bible,.fa-book-bible{--fa:"\f647"}.fa-briefcase-clock,.fa-business-time{--fa:"\f64a"}.fa-city{--fa:"\f64f"}.fa-comment-dollar{--fa:"\f651"}.fa-comments-dollar{--fa:"\f653"}.fa-cross{--fa:"\f654"}.fa-dharmachakra{--fa:"\f655"}.fa-envelope-open-text{--fa:"\f658"}.fa-folder-minus{--fa:"\f65d"}.fa-folder-plus{--fa:"\f65e"}.fa-filter-circle-dollar,.fa-funnel-dollar{--fa:"\f662"}.fa-gopuram{--fa:"\f664"}.fa-hamsa{--fa:"\f665"}.fa-bahai,.fa-haykal{--fa:"\f666"}.fa-jedi{--fa:"\f669"}.fa-book-journal-whills,.fa-journal-whills{--fa:"\f66a"}.fa-kaaba{--fa:"\f66b"}.fa-khanda{--fa:"\f66d"}.fa-landmark{--fa:"\f66f"}.fa-envelopes-bulk,.fa-mail-bulk{--fa:"\f674"}.fa-menorah{--fa:"\f676"}.fa-mosque{--fa:"\f678"}.fa-om{--fa:"\f679"}.fa-pastafarianism,.fa-spaghetti-monster-flying{--fa:"\f67b"}.fa-peace{--fa:"\f67c"}.fa-place-of-worship{--fa:"\f67f"}.fa-poll,.fa-square-poll-vertical{--fa:"\f681"}.fa-poll-h,.fa-square-poll-horizontal{--fa:"\f682"}.fa-person-praying,.fa-pray{--fa:"\f683"}.fa-hands-praying,.fa-praying-hands{--fa:"\f684"}.fa-book-quran,.fa-quran{--fa:"\f687"}.fa-magnifying-glass-dollar,.fa-search-dollar{--fa:"\f688"}.fa-magnifying-glass-location,.fa-search-location{--fa:"\f689"}.fa-socks{--fa:"\f696"}.fa-square-root-alt,.fa-square-root-variable{--fa:"\f698"}.fa-star-and-crescent{--fa:"\f699"}.fa-star-of-david{--fa:"\f69a"}.fa-synagogue{--fa:"\f69b"}.fa-scroll-torah,.fa-torah{--fa:"\f6a0"}.fa-torii-gate{--fa:"\f6a1"}.fa-vihara{--fa:"\f6a7"}.fa-volume-mute,.fa-volume-times,.fa-volume-xmark{--fa:"\f6a9"}.fa-yin-yang{--fa:"\f6ad"}.fa-blender-phone{--fa:"\f6b6"}.fa-book-dead,.fa-book-skull{--fa:"\f6b7"}.fa-campground{--fa:"\f6bb"}.fa-cat{--fa:"\f6be"}.fa-chair{--fa:"\f6c0"}.fa-cloud-moon{--fa:"\f6c3"}.fa-cloud-sun{--fa:"\f6c4"}.fa-cow{--fa:"\f6c8"}.fa-dice-d20{--fa:"\f6cf"}.fa-dice-d6{--fa:"\f6d1"}.fa-dog{--fa:"\f6d3"}.fa-dragon{--fa:"\f6d5"}.fa-drumstick-bite{--fa:"\f6d7"}.fa-dungeon{--fa:"\f6d9"}.fa-file-csv{--fa:"\f6dd"}.fa-fist-raised,.fa-hand-fist{--fa:"\f6de"}.fa-ghost{--fa:"\f6e2"}.fa-hammer{--fa:"\f6e3"}.fa-hanukiah{--fa:"\f6e6"}.fa-hat-wizard{--fa:"\f6e8"}.fa-hiking,.fa-person-hiking{--fa:"\f6ec"}.fa-hippo{--fa:"\f6ed"}.fa-horse{--fa:"\f6f0"}.fa-house-chimney-crack,.fa-house-damage{--fa:"\f6f1"}.fa-hryvnia,.fa-hryvnia-sign{--fa:"\f6f2"}.fa-mask{--fa:"\f6fa"}.fa-mountain{--fa:"\f6fc"}.fa-network-wired{--fa:"\f6ff"}.fa-otter{--fa:"\f700"}.fa-ring{--fa:"\f70b"}.fa-person-running,.fa-running{--fa:"\f70c"}.fa-scroll{--fa:"\f70e"}.fa-skull-crossbones{--fa:"\f714"}.fa-slash{--fa:"\f715"}.fa-spider{--fa:"\f717"}.fa-toilet-paper,.fa-toilet-paper-alt,.fa-toilet-paper-blank{--fa:"\f71e"}.fa-tractor{--fa:"\f722"}.fa-user-injured{--fa:"\f728"}.fa-vr-cardboard{--fa:"\f729"}.fa-wand-sparkles{--fa:"\f72b"}.fa-wind{--fa:"\f72e"}.fa-wine-bottle{--fa:"\f72f"}.fa-cloud-meatball{--fa:"\f73b"}.fa-cloud-moon-rain{--fa:"\f73c"}.fa-cloud-rain{--fa:"\f73d"}.fa-cloud-showers-heavy{--fa:"\f740"}.fa-cloud-sun-rain{--fa:"\f743"}.fa-democrat{--fa:"\f747"}.fa-flag-usa{--fa:"\f74d"}.fa-hurricane{--fa:"\f751"}.fa-landmark-alt,.fa-landmark-dome{--fa:"\f752"}.fa-meteor{--fa:"\f753"}.fa-person-booth{--fa:"\f756"}.fa-poo-bolt,.fa-poo-storm{--fa:"\f75a"}.fa-rainbow{--fa:"\f75b"}.fa-republican{--fa:"\f75e"}.fa-smog{--fa:"\f75f"}.fa-temperature-high{--fa:"\f769"}.fa-temperature-low{--fa:"\f76b"}.fa-cloud-bolt,.fa-thunderstorm{--fa:"\f76c"}.fa-tornado{--fa:"\f76f"}.fa-volcano{--fa:"\f770"}.fa-check-to-slot,.fa-vote-yea{--fa:"\f772"}.fa-water{--fa:"\f773"}.fa-baby{--fa:"\f77c"}.fa-baby-carriage,.fa-carriage-baby{--fa:"\f77d"}.fa-biohazard{--fa:"\f780"}.fa-blog{--fa:"\f781"}.fa-calendar-day{--fa:"\f783"}.fa-calendar-week{--fa:"\f784"}.fa-candy-cane{--fa:"\f786"}.fa-carrot{--fa:"\f787"}.fa-cash-register{--fa:"\f788"}.fa-compress-arrows-alt,.fa-minimize{--fa:"\f78c"}.fa-dumpster{--fa:"\f793"}.fa-dumpster-fire{--fa:"\f794"}.fa-ethernet{--fa:"\f796"}.fa-gifts{--fa:"\f79c"}.fa-champagne-glasses,.fa-glass-cheers{--fa:"\f79f"}.fa-glass-whiskey,.fa-whiskey-glass{--fa:"\f7a0"}.fa-earth-europe,.fa-globe-europe{--fa:"\f7a2"}.fa-grip-lines{--fa:"\f7a4"}.fa-grip-lines-vertical{--fa:"\f7a5"}.fa-guitar{--fa:"\f7a6"}.fa-heart-broken,.fa-heart-crack{--fa:"\f7a9"}.fa-holly-berry{--fa:"\f7aa"}.fa-horse-head{--fa:"\f7ab"}.fa-icicles{--fa:"\f7ad"}.fa-igloo{--fa:"\f7ae"}.fa-mitten{--fa:"\f7b5"}.fa-mug-hot{--fa:"\f7b6"}.fa-radiation{--fa:"\f7b9"}.fa-circle-radiation,.fa-radiation-alt{--fa:"\f7ba"}.fa-restroom{--fa:"\f7bd"}.fa-satellite{--fa:"\f7bf"}.fa-satellite-dish{--fa:"\f7c0"}.fa-sd-card{--fa:"\f7c2"}.fa-sim-card{--fa:"\f7c4"}.fa-person-skating,.fa-skating{--fa:"\f7c5"}.fa-person-skiing,.fa-skiing{--fa:"\f7c9"}.fa-person-skiing-nordic,.fa-skiing-nordic{--fa:"\f7ca"}.fa-sleigh{--fa:"\f7cc"}.fa-comment-sms,.fa-sms{--fa:"\f7cd"}.fa-person-snowboarding,.fa-snowboarding{--fa:"\f7ce"}.fa-snowman{--fa:"\f7d0"}.fa-snowplow{--fa:"\f7d2"}.fa-tenge,.fa-tenge-sign{--fa:"\f7d7"}.fa-toilet{--fa:"\f7d8"}.fa-screwdriver-wrench,.fa-tools{--fa:"\f7d9"}.fa-cable-car,.fa-tram{--fa:"\f7da"}.fa-fire-alt,.fa-fire-flame-curved{--fa:"\f7e4"}.fa-bacon{--fa:"\f7e5"}.fa-book-medical{--fa:"\f7e6"}.fa-bread-slice{--fa:"\f7ec"}.fa-cheese{--fa:"\f7ef"}.fa-clinic-medical,.fa-house-chimney-medical{--fa:"\f7f2"}.fa-clipboard-user{--fa:"\f7f3"}.fa-comment-medical{--fa:"\f7f5"}.fa-crutch{--fa:"\f7f7"}.fa-disease{--fa:"\f7fa"}.fa-egg{--fa:"\f7fb"}.fa-folder-tree{--fa:"\f802"}.fa-burger,.fa-hamburger{--fa:"\f805"}.fa-hand-middle-finger{--fa:"\f806"}.fa-hard-hat,.fa-hat-hard,.fa-helmet-safety{--fa:"\f807"}.fa-hospital-user{--fa:"\f80d"}.fa-hotdog{--fa:"\f80f"}.fa-ice-cream{--fa:"\f810"}.fa-laptop-medical{--fa:"\f812"}.fa-pager{--fa:"\f815"}.fa-pepper-hot{--fa:"\f816"}.fa-pizza-slice{--fa:"\f818"}.fa-sack-dollar{--fa:"\f81d"}.fa-book-tanakh,.fa-tanakh{--fa:"\f827"}.fa-bars-progress,.fa-tasks-alt{--fa:"\f828"}.fa-trash-arrow-up,.fa-trash-restore{--fa:"\f829"}.fa-trash-can-arrow-up,.fa-trash-restore-alt{--fa:"\f82a"}.fa-user-nurse{--fa:"\f82f"}.fa-wave-square{--fa:"\f83e"}.fa-biking,.fa-person-biking{--fa:"\f84a"}.fa-border-all{--fa:"\f84c"}.fa-border-none{--fa:"\f850"}.fa-border-style,.fa-border-top-left{--fa:"\f853"}.fa-digging,.fa-person-digging{--fa:"\f85e"}.fa-fan{--fa:"\f863"}.fa-heart-music-camera-bolt,.fa-icons{--fa:"\f86d"}.fa-phone-alt,.fa-phone-flip{--fa:"\f879"}.fa-phone-square-alt,.fa-square-phone-flip{--fa:"\f87b"}.fa-photo-film,.fa-photo-video{--fa:"\f87c"}.fa-remove-format,.fa-text-slash{--fa:"\f87d"}.fa-arrow-down-z-a,.fa-sort-alpha-desc,.fa-sort-alpha-down-alt{--fa:"\f881"}.fa-arrow-up-z-a,.fa-sort-alpha-up-alt{--fa:"\f882"}.fa-arrow-down-short-wide,.fa-sort-amount-desc,.fa-sort-amount-down-alt{--fa:"\f884"}.fa-arrow-up-short-wide,.fa-sort-amount-up-alt{--fa:"\f885"}.fa-arrow-down-9-1,.fa-sort-numeric-desc,.fa-sort-numeric-down-alt{--fa:"\f886"}.fa-arrow-up-9-1,.fa-sort-numeric-up-alt{--fa:"\f887"}.fa-spell-check{--fa:"\f891"}.fa-voicemail{--fa:"\f897"}.fa-hat-cowboy{--fa:"\f8c0"}.fa-hat-cowboy-side{--fa:"\f8c1"}.fa-computer-mouse,.fa-mouse{--fa:"\f8cc"}.fa-radio{--fa:"\f8d7"}.fa-record-vinyl{--fa:"\f8d9"}.fa-walkie-talkie{--fa:"\f8ef"}.fa-caravan{--fa:"\f8ff"}
:host,:root{--fa-family-brands:"Font Awesome 7 Brands";--fa-font-brands:normal 400 1em/1 var(--fa-family-brands)}@font-face{font-family:"Font Awesome 7 Brands";font-style:normal;font-weight:400;font-display:block;src:url(/u-app/assets/fa-brands-400-BfBXV7Mm.woff2)}.fa-brands,.fa-classic.fa-brands,.fab{--fa-family:var(--fa-family-brands);--fa-style:400}.fa-firefox-browser{--fa:"\e007"}.fa-ideal{--fa:"\e013"}.fa-microblog{--fa:"\e01a"}.fa-pied-piper-square,.fa-square-pied-piper{--fa:"\e01e"}.fa-unity{--fa:"\e049"}.fa-dailymotion{--fa:"\e052"}.fa-instagram-square,.fa-square-instagram{--fa:"\e055"}.fa-mixer{--fa:"\e056"}.fa-shopify{--fa:"\e057"}.fa-deezer{--fa:"\e077"}.fa-edge-legacy{--fa:"\e078"}.fa-google-pay{--fa:"\e079"}.fa-rust{--fa:"\e07a"}.fa-tiktok{--fa:"\e07b"}.fa-unsplash{--fa:"\e07c"}.fa-cloudflare{--fa:"\e07d"}.fa-guilded{--fa:"\e07e"}.fa-hive{--fa:"\e07f"}.fa-42-group,.fa-innosoft{--fa:"\e080"}.fa-instalod{--fa:"\e081"}.fa-octopus-deploy{--fa:"\e082"}.fa-perbyte{--fa:"\e083"}.fa-uncharted{--fa:"\e084"}.fa-watchman-monitoring{--fa:"\e087"}.fa-wodu{--fa:"\e088"}.fa-wirsindhandwerk,.fa-wsh{--fa:"\e2d0"}.fa-bots{--fa:"\e340"}.fa-cmplid{--fa:"\e360"}.fa-bilibili{--fa:"\e3d9"}.fa-golang{--fa:"\e40f"}.fa-pix{--fa:"\e43a"}.fa-sitrox{--fa:"\e44a"}.fa-hashnode{--fa:"\e499"}.fa-meta{--fa:"\e49b"}.fa-padlet{--fa:"\e4a0"}.fa-nfc-directional{--fa:"\e530"}.fa-nfc-symbol{--fa:"\e531"}.fa-screenpal{--fa:"\e570"}.fa-space-awesome{--fa:"\e5ac"}.fa-square-font-awesome{--fa:"\e5ad"}.fa-gitlab-square,.fa-square-gitlab{--fa:"\e5ae"}.fa-odysee{--fa:"\e5c6"}.fa-stubber{--fa:"\e5c7"}.fa-debian{--fa:"\e60b"}.fa-shoelace{--fa:"\e60c"}.fa-threads{--fa:"\e618"}.fa-square-threads{--fa:"\e619"}.fa-square-x-twitter{--fa:"\e61a"}.fa-x-twitter{--fa:"\e61b"}.fa-opensuse{--fa:"\e62b"}.fa-letterboxd{--fa:"\e62d"}.fa-square-letterboxd{--fa:"\e62e"}.fa-mintbit{--fa:"\e62f"}.fa-google-scholar{--fa:"\e63b"}.fa-brave{--fa:"\e63c"}.fa-brave-reverse{--fa:"\e63d"}.fa-pixiv{--fa:"\e640"}.fa-upwork{--fa:"\e641"}.fa-webflow{--fa:"\e65c"}.fa-signal-messenger{--fa:"\e663"}.fa-bluesky{--fa:"\e671"}.fa-jxl{--fa:"\e67b"}.fa-square-upwork{--fa:"\e67c"}.fa-web-awesome{--fa:"\e682"}.fa-square-web-awesome{--fa:"\e683"}.fa-square-web-awesome-stroke{--fa:"\e684"}.fa-dart-lang{--fa:"\e693"}.fa-flutter{--fa:"\e694"}.fa-files-pinwheel{--fa:"\e69f"}.fa-css{--fa:"\e6a2"}.fa-square-bluesky{--fa:"\e6a3"}.fa-openai{--fa:"\e7cf"}.fa-square-linkedin{--fa:"\e7d0"}.fa-cash-app{--fa:"\e7d4"}.fa-disqus{--fa:"\e7d5"}.fa-11ty,.fa-eleventy{--fa:"\e7d6"}.fa-kakao-talk{--fa:"\e7d7"}.fa-linktree{--fa:"\e7d8"}.fa-notion{--fa:"\e7d9"}.fa-pandora{--fa:"\e7da"}.fa-pixelfed{--fa:"\e7db"}.fa-tidal{--fa:"\e7dc"}.fa-vsco{--fa:"\e7dd"}.fa-w3c{--fa:"\e7de"}.fa-lumon{--fa:"\e7e2"}.fa-lumon-drop{--fa:"\e7e3"}.fa-square-figma{--fa:"\e7e4"}.fa-tex{--fa:"\e7ff"}.fa-duolingo{--fa:"\e812"}.fa-square-twitter,.fa-twitter-square{--fa:"\f081"}.fa-facebook-square,.fa-square-facebook{--fa:"\f082"}.fa-linkedin{--fa:"\f08c"}.fa-github-square,.fa-square-github{--fa:"\f092"}.fa-twitter{--fa:"\f099"}.fa-facebook{--fa:"\f09a"}.fa-github{--fa:"\f09b"}.fa-pinterest{--fa:"\f0d2"}.fa-pinterest-square,.fa-square-pinterest{--fa:"\f0d3"}.fa-google-plus-square,.fa-square-google-plus{--fa:"\f0d4"}.fa-google-plus-g{--fa:"\f0d5"}.fa-linkedin-in{--fa:"\f0e1"}.fa-github-alt{--fa:"\f113"}.fa-maxcdn{--fa:"\f136"}.fa-html5{--fa:"\f13b"}.fa-css3{--fa:"\f13c"}.fa-btc{--fa:"\f15a"}.fa-youtube{--fa:"\f167"}.fa-xing{--fa:"\f168"}.fa-square-xing,.fa-xing-square{--fa:"\f169"}.fa-dropbox{--fa:"\f16b"}.fa-stack-overflow{--fa:"\f16c"}.fa-instagram{--fa:"\f16d"}.fa-flickr{--fa:"\f16e"}.fa-adn{--fa:"\f170"}.fa-bitbucket{--fa:"\f171"}.fa-tumblr{--fa:"\f173"}.fa-square-tumblr,.fa-tumblr-square{--fa:"\f174"}.fa-apple{--fa:"\f179"}.fa-windows{--fa:"\f17a"}.fa-android{--fa:"\f17b"}.fa-linux{--fa:"\f17c"}.fa-dribbble{--fa:"\f17d"}.fa-skype{--fa:"\f17e"}.fa-foursquare{--fa:"\f180"}.fa-trello{--fa:"\f181"}.fa-gratipay{--fa:"\f184"}.fa-vk{--fa:"\f189"}.fa-weibo{--fa:"\f18a"}.fa-renren{--fa:"\f18b"}.fa-pagelines{--fa:"\f18c"}.fa-stack-exchange{--fa:"\f18d"}.fa-square-vimeo,.fa-vimeo-square{--fa:"\f194"}.fa-slack,.fa-slack-hash{--fa:"\f198"}.fa-wordpress{--fa:"\f19a"}.fa-openid{--fa:"\f19b"}.fa-yahoo{--fa:"\f19e"}.fa-google{--fa:"\f1a0"}.fa-reddit{--fa:"\f1a1"}.fa-reddit-square,.fa-square-reddit{--fa:"\f1a2"}.fa-stumbleupon-circle{--fa:"\f1a3"}.fa-stumbleupon{--fa:"\f1a4"}.fa-delicious{--fa:"\f1a5"}.fa-digg{--fa:"\f1a6"}.fa-pied-piper-pp{--fa:"\f1a7"}.fa-pied-piper-alt{--fa:"\f1a8"}.fa-drupal{--fa:"\f1a9"}.fa-joomla{--fa:"\f1aa"}.fa-behance{--fa:"\f1b4"}.fa-behance-square,.fa-square-behance{--fa:"\f1b5"}.fa-steam{--fa:"\f1b6"}.fa-square-steam,.fa-steam-square{--fa:"\f1b7"}.fa-spotify{--fa:"\f1bc"}.fa-deviantart{--fa:"\f1bd"}.fa-soundcloud{--fa:"\f1be"}.fa-vine{--fa:"\f1ca"}.fa-codepen{--fa:"\f1cb"}.fa-jsfiddle{--fa:"\f1cc"}.fa-rebel{--fa:"\f1d0"}.fa-empire{--fa:"\f1d1"}.fa-git-square,.fa-square-git{--fa:"\f1d2"}.fa-git{--fa:"\f1d3"}.fa-hacker-news{--fa:"\f1d4"}.fa-tencent-weibo{--fa:"\f1d5"}.fa-qq{--fa:"\f1d6"}.fa-weixin{--fa:"\f1d7"}.fa-slideshare{--fa:"\f1e7"}.fa-twitch{--fa:"\f1e8"}.fa-yelp{--fa:"\f1e9"}.fa-paypal{--fa:"\f1ed"}.fa-google-wallet{--fa:"\f1ee"}.fa-cc-visa{--fa:"\f1f0"}.fa-cc-mastercard{--fa:"\f1f1"}.fa-cc-discover{--fa:"\f1f2"}.fa-cc-amex{--fa:"\f1f3"}.fa-cc-paypal{--fa:"\f1f4"}.fa-cc-stripe{--fa:"\f1f5"}.fa-lastfm{--fa:"\f202"}.fa-lastfm-square,.fa-square-lastfm{--fa:"\f203"}.fa-ioxhost{--fa:"\f208"}.fa-angellist{--fa:"\f209"}.fa-buysellads{--fa:"\f20d"}.fa-connectdevelop{--fa:"\f20e"}.fa-dashcube{--fa:"\f210"}.fa-forumbee{--fa:"\f211"}.fa-leanpub{--fa:"\f212"}.fa-sellsy{--fa:"\f213"}.fa-shirtsinbulk{--fa:"\f214"}.fa-simplybuilt{--fa:"\f215"}.fa-skyatlas{--fa:"\f216"}.fa-pinterest-p{--fa:"\f231"}.fa-whatsapp{--fa:"\f232"}.fa-viacoin{--fa:"\f237"}.fa-medium,.fa-medium-m{--fa:"\f23a"}.fa-y-combinator{--fa:"\f23b"}.fa-optin-monster{--fa:"\f23c"}.fa-opencart{--fa:"\f23d"}.fa-expeditedssl{--fa:"\f23e"}.fa-cc-jcb{--fa:"\f24b"}.fa-cc-diners-club{--fa:"\f24c"}.fa-creative-commons{--fa:"\f25e"}.fa-gg{--fa:"\f260"}.fa-gg-circle{--fa:"\f261"}.fa-odnoklassniki{--fa:"\f263"}.fa-odnoklassniki-square,.fa-square-odnoklassniki{--fa:"\f264"}.fa-get-pocket{--fa:"\f265"}.fa-wikipedia-w{--fa:"\f266"}.fa-safari{--fa:"\f267"}.fa-chrome{--fa:"\f268"}.fa-firefox{--fa:"\f269"}.fa-opera{--fa:"\f26a"}.fa-internet-explorer{--fa:"\f26b"}.fa-contao{--fa:"\f26d"}.fa-500px{--fa:"\f26e"}.fa-amazon{--fa:"\f270"}.fa-houzz{--fa:"\f27c"}.fa-vimeo-v{--fa:"\f27d"}.fa-black-tie{--fa:"\f27e"}.fa-fonticons{--fa:"\f280"}.fa-reddit-alien{--fa:"\f281"}.fa-edge{--fa:"\f282"}.fa-codiepie{--fa:"\f284"}.fa-modx{--fa:"\f285"}.fa-fort-awesome{--fa:"\f286"}.fa-usb{--fa:"\f287"}.fa-product-hunt{--fa:"\f288"}.fa-mixcloud{--fa:"\f289"}.fa-scribd{--fa:"\f28a"}.fa-bluetooth{--fa:"\f293"}.fa-bluetooth-b{--fa:"\f294"}.fa-gitlab{--fa:"\f296"}.fa-wpbeginner{--fa:"\f297"}.fa-wpforms{--fa:"\f298"}.fa-envira{--fa:"\f299"}.fa-glide{--fa:"\f2a5"}.fa-glide-g{--fa:"\f2a6"}.fa-viadeo{--fa:"\f2a9"}.fa-square-viadeo,.fa-viadeo-square{--fa:"\f2aa"}.fa-snapchat,.fa-snapchat-ghost{--fa:"\f2ab"}.fa-snapchat-square,.fa-square-snapchat{--fa:"\f2ad"}.fa-pied-piper{--fa:"\f2ae"}.fa-first-order{--fa:"\f2b0"}.fa-yoast{--fa:"\f2b1"}.fa-themeisle{--fa:"\f2b2"}.fa-google-plus{--fa:"\f2b3"}.fa-font-awesome,.fa-font-awesome-flag,.fa-font-awesome-logo-full{--fa:"\f2b4"}.fa-linode{--fa:"\f2b8"}.fa-quora{--fa:"\f2c4"}.fa-free-code-camp{--fa:"\f2c5"}.fa-telegram,.fa-telegram-plane{--fa:"\f2c6"}.fa-bandcamp{--fa:"\f2d5"}.fa-grav{--fa:"\f2d6"}.fa-etsy{--fa:"\f2d7"}.fa-imdb{--fa:"\f2d8"}.fa-ravelry{--fa:"\f2d9"}.fa-sellcast{--fa:"\f2da"}.fa-superpowers{--fa:"\f2dd"}.fa-wpexplorer{--fa:"\f2de"}.fa-meetup{--fa:"\f2e0"}.fa-font-awesome-alt,.fa-square-font-awesome-stroke{--fa:"\f35c"}.fa-accessible-icon{--fa:"\f368"}.fa-accusoft{--fa:"\f369"}.fa-adversal{--fa:"\f36a"}.fa-affiliatetheme{--fa:"\f36b"}.fa-algolia{--fa:"\f36c"}.fa-amilia{--fa:"\f36d"}.fa-angrycreative{--fa:"\f36e"}.fa-app-store{--fa:"\f36f"}.fa-app-store-ios{--fa:"\f370"}.fa-apper{--fa:"\f371"}.fa-asymmetrik{--fa:"\f372"}.fa-audible{--fa:"\f373"}.fa-avianex{--fa:"\f374"}.fa-aws{--fa:"\f375"}.fa-bimobject{--fa:"\f378"}.fa-bitcoin{--fa:"\f379"}.fa-bity{--fa:"\f37a"}.fa-blackberry{--fa:"\f37b"}.fa-blogger{--fa:"\f37c"}.fa-blogger-b{--fa:"\f37d"}.fa-buromobelexperte{--fa:"\f37f"}.fa-centercode{--fa:"\f380"}.fa-cloudscale{--fa:"\f383"}.fa-cloudsmith{--fa:"\f384"}.fa-cloudversify{--fa:"\f385"}.fa-cpanel{--fa:"\f388"}.fa-css3-alt{--fa:"\f38b"}.fa-cuttlefish{--fa:"\f38c"}.fa-d-and-d{--fa:"\f38d"}.fa-deploydog{--fa:"\f38e"}.fa-deskpro{--fa:"\f38f"}.fa-digital-ocean{--fa:"\f391"}.fa-discord{--fa:"\f392"}.fa-discourse{--fa:"\f393"}.fa-dochub{--fa:"\f394"}.fa-docker{--fa:"\f395"}.fa-draft2digital{--fa:"\f396"}.fa-dribbble-square,.fa-square-dribbble{--fa:"\f397"}.fa-dyalog{--fa:"\f399"}.fa-earlybirds{--fa:"\f39a"}.fa-erlang{--fa:"\f39d"}.fa-facebook-f{--fa:"\f39e"}.fa-facebook-messenger{--fa:"\f39f"}.fa-firstdraft{--fa:"\f3a1"}.fa-fonticons-fi{--fa:"\f3a2"}.fa-fort-awesome-alt{--fa:"\f3a3"}.fa-freebsd{--fa:"\f3a4"}.fa-gitkraken{--fa:"\f3a6"}.fa-gofore{--fa:"\f3a7"}.fa-goodreads{--fa:"\f3a8"}.fa-goodreads-g{--fa:"\f3a9"}.fa-google-drive{--fa:"\f3aa"}.fa-google-play{--fa:"\f3ab"}.fa-gripfire{--fa:"\f3ac"}.fa-grunt{--fa:"\f3ad"}.fa-gulp{--fa:"\f3ae"}.fa-hacker-news-square,.fa-square-hacker-news{--fa:"\f3af"}.fa-hire-a-helper{--fa:"\f3b0"}.fa-hotjar{--fa:"\f3b1"}.fa-hubspot{--fa:"\f3b2"}.fa-itunes{--fa:"\f3b4"}.fa-itunes-note{--fa:"\f3b5"}.fa-jenkins{--fa:"\f3b6"}.fa-joget{--fa:"\f3b7"}.fa-js{--fa:"\f3b8"}.fa-js-square,.fa-square-js{--fa:"\f3b9"}.fa-keycdn{--fa:"\f3ba"}.fa-kickstarter,.fa-square-kickstarter{--fa:"\f3bb"}.fa-kickstarter-k{--fa:"\f3bc"}.fa-laravel{--fa:"\f3bd"}.fa-line{--fa:"\f3c0"}.fa-lyft{--fa:"\f3c3"}.fa-magento{--fa:"\f3c4"}.fa-medapps{--fa:"\f3c6"}.fa-medrt{--fa:"\f3c8"}.fa-microsoft{--fa:"\f3ca"}.fa-mix{--fa:"\f3cb"}.fa-mizuni{--fa:"\f3cc"}.fa-monero{--fa:"\f3d0"}.fa-napster{--fa:"\f3d2"}.fa-node-js{--fa:"\f3d3"}.fa-npm{--fa:"\f3d4"}.fa-ns8{--fa:"\f3d5"}.fa-nutritionix{--fa:"\f3d6"}.fa-page4{--fa:"\f3d7"}.fa-palfed{--fa:"\f3d8"}.fa-patreon{--fa:"\f3d9"}.fa-periscope{--fa:"\f3da"}.fa-phabricator{--fa:"\f3db"}.fa-phoenix-framework{--fa:"\f3dc"}.fa-playstation{--fa:"\f3df"}.fa-pushed{--fa:"\f3e1"}.fa-python{--fa:"\f3e2"}.fa-red-river{--fa:"\f3e3"}.fa-rendact,.fa-wpressr{--fa:"\f3e4"}.fa-replyd{--fa:"\f3e6"}.fa-resolving{--fa:"\f3e7"}.fa-rocketchat{--fa:"\f3e8"}.fa-rockrms{--fa:"\f3e9"}.fa-schlix{--fa:"\f3ea"}.fa-searchengin{--fa:"\f3eb"}.fa-servicestack{--fa:"\f3ec"}.fa-sistrix{--fa:"\f3ee"}.fa-speakap{--fa:"\f3f3"}.fa-staylinked{--fa:"\f3f5"}.fa-steam-symbol{--fa:"\f3f6"}.fa-sticker-mule{--fa:"\f3f7"}.fa-studiovinari{--fa:"\f3f8"}.fa-supple{--fa:"\f3f9"}.fa-uber{--fa:"\f402"}.fa-uikit{--fa:"\f403"}.fa-uniregistry{--fa:"\f404"}.fa-untappd{--fa:"\f405"}.fa-ussunnah{--fa:"\f407"}.fa-vaadin{--fa:"\f408"}.fa-viber{--fa:"\f409"}.fa-vimeo{--fa:"\f40a"}.fa-vnv{--fa:"\f40b"}.fa-square-whatsapp,.fa-whatsapp-square{--fa:"\f40c"}.fa-whmcs{--fa:"\f40d"}.fa-wordpress-simple{--fa:"\f411"}.fa-xbox{--fa:"\f412"}.fa-yandex{--fa:"\f413"}.fa-yandex-international{--fa:"\f414"}.fa-apple-pay{--fa:"\f415"}.fa-cc-apple-pay{--fa:"\f416"}.fa-fly{--fa:"\f417"}.fa-node{--fa:"\f419"}.fa-osi{--fa:"\f41a"}.fa-react{--fa:"\f41b"}.fa-autoprefixer{--fa:"\f41c"}.fa-less{--fa:"\f41d"}.fa-sass{--fa:"\f41e"}.fa-vuejs{--fa:"\f41f"}.fa-angular{--fa:"\f420"}.fa-aviato{--fa:"\f421"}.fa-ember{--fa:"\f423"}.fa-gitter{--fa:"\f426"}.fa-hooli{--fa:"\f427"}.fa-strava{--fa:"\f428"}.fa-stripe{--fa:"\f429"}.fa-stripe-s{--fa:"\f42a"}.fa-typo3{--fa:"\f42b"}.fa-amazon-pay{--fa:"\f42c"}.fa-cc-amazon-pay{--fa:"\f42d"}.fa-ethereum{--fa:"\f42e"}.fa-korvue{--fa:"\f42f"}.fa-elementor{--fa:"\f430"}.fa-square-youtube,.fa-youtube-square{--fa:"\f431"}.fa-flipboard{--fa:"\f44d"}.fa-hips{--fa:"\f452"}.fa-php{--fa:"\f457"}.fa-quinscape{--fa:"\f459"}.fa-readme{--fa:"\f4d5"}.fa-java{--fa:"\f4e4"}.fa-pied-piper-hat{--fa:"\f4e5"}.fa-creative-commons-by{--fa:"\f4e7"}.fa-creative-commons-nc{--fa:"\f4e8"}.fa-creative-commons-nc-eu{--fa:"\f4e9"}.fa-creative-commons-nc-jp{--fa:"\f4ea"}.fa-creative-commons-nd{--fa:"\f4eb"}.fa-creative-commons-pd{--fa:"\f4ec"}.fa-creative-commons-pd-alt{--fa:"\f4ed"}.fa-creative-commons-remix{--fa:"\f4ee"}.fa-creative-commons-sa{--fa:"\f4ef"}.fa-creative-commons-sampling{--fa:"\f4f0"}.fa-creative-commons-sampling-plus{--fa:"\f4f1"}.fa-creative-commons-share{--fa:"\f4f2"}.fa-creative-commons-zero{--fa:"\f4f3"}.fa-ebay{--fa:"\f4f4"}.fa-keybase{--fa:"\f4f5"}.fa-mastodon{--fa:"\f4f6"}.fa-r-project{--fa:"\f4f7"}.fa-researchgate{--fa:"\f4f8"}.fa-teamspeak{--fa:"\f4f9"}.fa-first-order-alt{--fa:"\f50a"}.fa-fulcrum{--fa:"\f50b"}.fa-galactic-republic{--fa:"\f50c"}.fa-galactic-senate{--fa:"\f50d"}.fa-jedi-order{--fa:"\f50e"}.fa-mandalorian{--fa:"\f50f"}.fa-old-republic{--fa:"\f510"}.fa-phoenix-squadron{--fa:"\f511"}.fa-sith{--fa:"\f512"}.fa-trade-federation{--fa:"\f513"}.fa-wolf-pack-battalion{--fa:"\f514"}.fa-hornbill{--fa:"\f592"}.fa-mailchimp{--fa:"\f59e"}.fa-megaport{--fa:"\f5a3"}.fa-nimblr{--fa:"\f5a8"}.fa-rev{--fa:"\f5b2"}.fa-shopware{--fa:"\f5b5"}.fa-squarespace{--fa:"\f5be"}.fa-themeco{--fa:"\f5c6"}.fa-weebly{--fa:"\f5cc"}.fa-wix{--fa:"\f5cf"}.fa-ello{--fa:"\f5f1"}.fa-hackerrank{--fa:"\f5f7"}.fa-kaggle{--fa:"\f5fa"}.fa-markdown{--fa:"\f60f"}.fa-neos{--fa:"\f612"}.fa-zhihu{--fa:"\f63f"}.fa-alipay{--fa:"\f642"}.fa-the-red-yeti{--fa:"\f69d"}.fa-critical-role{--fa:"\f6c9"}.fa-d-and-d-beyond{--fa:"\f6ca"}.fa-dev{--fa:"\f6cc"}.fa-fantasy-flight-games{--fa:"\f6dc"}.fa-wizards-of-the-coast{--fa:"\f730"}.fa-think-peaks{--fa:"\f731"}.fa-reacteurope{--fa:"\f75d"}.fa-artstation{--fa:"\f77a"}.fa-atlassian{--fa:"\f77b"}.fa-canadian-maple-leaf{--fa:"\f785"}.fa-centos{--fa:"\f789"}.fa-confluence{--fa:"\f78d"}.fa-dhl{--fa:"\f790"}.fa-diaspora{--fa:"\f791"}.fa-fedex{--fa:"\f797"}.fa-fedora{--fa:"\f798"}.fa-figma{--fa:"\f799"}.fa-intercom{--fa:"\f7af"}.fa-invision{--fa:"\f7b0"}.fa-jira{--fa:"\f7b1"}.fa-mendeley{--fa:"\f7b3"}.fa-raspberry-pi{--fa:"\f7bb"}.fa-redhat{--fa:"\f7bc"}.fa-sketch{--fa:"\f7c6"}.fa-sourcetree{--fa:"\f7d3"}.fa-suse{--fa:"\f7d6"}.fa-ubuntu{--fa:"\f7df"}.fa-ups{--fa:"\f7e0"}.fa-usps{--fa:"\f7e1"}.fa-yarn{--fa:"\f7e3"}.fa-airbnb{--fa:"\f834"}.fa-battle-net{--fa:"\f835"}.fa-bootstrap{--fa:"\f836"}.fa-buffer{--fa:"\f837"}.fa-chromecast{--fa:"\f838"}.fa-evernote{--fa:"\f839"}.fa-itch-io{--fa:"\f83a"}.fa-salesforce{--fa:"\f83b"}.fa-speaker-deck{--fa:"\f83c"}.fa-symfony{--fa:"\f83d"}.fa-waze{--fa:"\f83f"}.fa-yammer{--fa:"\f840"}.fa-git-alt{--fa:"\f841"}.fa-stackpath{--fa:"\f842"}.fa-cotton-bureau{--fa:"\f89e"}.fa-buy-n-large{--fa:"\f8a6"}.fa-mdb{--fa:"\f8ca"}.fa-orcid{--fa:"\f8d2"}.fa-swift{--fa:"\f8e1"}.fa-umbraco{--fa:"\f8e8"}:host,:root{--fa-font-regular:normal 400 1em/1 var(--fa-family-classic)}@font-face{font-family:"Font Awesome 7 Free";font-style:normal;font-weight:400;font-display:block;src:url(/u-app/assets/fa-regular-400-BVHPE7da.woff2)}.far{--fa-family:var(--fa-family-classic)}.fa-regular,.far{--fa-style:400}:host,:root{--fa-family-classic:"Font Awesome 7 Free";--fa-font-solid:normal 900 1em/1 var(--fa-family-classic);--fa-style-family-classic:var(--fa-family-classic)}@font-face{font-family:"Font Awesome 7 Free";font-style:normal;font-weight:900;font-display:block;src:url(/u-app/assets/fa-solid-900-8GirhLYJ.woff2)}.fas{--fa-style:900}.fa-classic,.fas{--fa-family:var(--fa-family-classic)}.fa-solid{--fa-style:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(/u-app/assets/fa-brands-400-BfBXV7Mm.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(/u-app/assets/fa-solid-900-8GirhLYJ.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(/u-app/assets/fa-regular-400-BVHPE7da.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:block;src:url(/u-app/assets/fa-solid-900-8GirhLYJ.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:block;src:url(/u-app/assets/fa-brands-400-BfBXV7Mm.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:block;src:url(/u-app/assets/fa-regular-400-BVHPE7da.woff2) format("woff2");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(data:font/woff2;base64,d09GMk9UVE8AAA/IAAkAAAAAIi4AAA9/A4EBAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYCJAQGBmADgRwFiH0AghwHIA22GYUWESMRdnLSigfwXxK0JUN3PWgtIVtGtFABIUcjR8vMKvVNUhctBQIndOh7wFzNSdpf090C0MDGNSSuod3GJyMkmSUKlm72kk6vLpKqU4SDLlGqOoHx7wzNIRzzvZseTSBF/CoWaAkVRa5inol55lqxm5oz/9pr/qq+GXmakr21m0KxnJeWZ3dOoSo0//sTGj5e/r///znN1cDq77IugUrslFAFYg2CIfrG8Y3Q37GCqLAnZVKJvSuQC/x0zjP8v7/fp1rJjZ8tzGQcKS6iBFIAJMtql0EBKwIFJDuugO7Ztucm55fDg6nLQiMNIEFoAX1WesldzzU7W7qlB5C8/++0N/TOuYAMJkEJWxa0H6VUF8my5XljyWqW/HtHCdpC8/dzpf3Zo1xxtyzxz6xshdvbIjqxeb2f7J8c5YBze4Ccu5kUEBWBI0AH7IDAk6uwKytrZI3u+Oomu9N+Ch7edEI2hmbmj9mR4KGCCO1OI0Dr/VoFnpZiOoC03o/+9KGeq7f9lSyoBfSRrC9Amv8NNQXkv9dga9kX4SPg6q20ZH4KKkGH7ZxcnL4NSQJ3bNjDCltkZrMsvFjN7LHIvUfNiVvGzRR5g2liAY8ep1zeXndi8cn0bUAk+Rdo+H2aN3ibf00mnl6cTgSTzGQi2PwMLyybUdSOvMvrfRwevuNCicEtAc7iNqM5uMOiDXd5AXgoUDKe4wSrl3nYrJiJ5dgWy5eZNmGBqPqM7SiyHxMG13JMyioCC01sSbFISoxYYmjOYqngylWrJo0avhAvkN+mBQx+0Q/EuqY/MKvU/6QZOMFPn8YVKyFyLf/LwdGlvyBChm501AWTjv/yEZr7ZH17ZBCTYxHSc7VDmT9AFoyEi6CHBl359As9DQ82B5suxNn3j4gMt+UxWSNNYZZQvW8yZzIvpkfcsB9IM5scuJuxZ+gYJ1yo5FvehXBoyRMNnMS9UkW8OOc0MMSN2jR1ry3AabQk+JogpOfRBxzLQ6FlJ2OAKkDymQgcW9xTi3N58PQJMI1CpuCI5kjHZahelKvRmSv2ue23LAciStmv+qMxQMnoseN2TIh3nYzeu5gDMxPesxbeaVPhgpl1YJmQaT3p1uPa1l1QhEhsavLU+p3RJIxFqOwqyqks0qiMPn+ufnYItSTrkSg46sjY07FeCST6L1G6yVZZA2yuHrPmLfvQd7z6pC2GlriWzHIa3OjGNaElbS9udWlddmD03CQBYiOxu4x5MJj9aty8+8AtN195+WXnHXvMkeNHDepdrGj100fvPXPfPXedUS6QTH6OC8SLjm/RC7INBP1psFtAuh/jut1At7ug28Oumya6dSRdewT9u6fdi8KNPu45gM6I0glL5B4A5FS5OD6rJV07pr01Tbe7DNCfricygjae+C8jaQlwudWMKcHzYSyjgDACa+78r8uoVNCuVt7QVZyQLL8TeXFxjQoILPBnv12E3VdiCtFHfhcuFVlENkpnn2H/SXxVqpIlyc3yF4pgxXblcOUDlbeqTC1Xn9KUaxfCEQ5ZDvsdWhyTHXc4xTiPFe9zSekzvX2uzy5XoflexesHfIjl6zaU7k0eJ7GkJRisvss6IthIXzDKJNgOafeXL1zY+OrZ2RWDrpkmcPqRR0ALgU2f5sPNsN5mzE7tGsX/CsEmx07579/v/0rKfyU/B9xewNKUpWHBHGbSwWLhbS+nLAwOaSF2mpv37S0/A/N7tx/MR+H37AN49NY/GwSdrdlKnwmsNXUd0tTVHOFmclEYIQgaGkBICGSuZ2Zc1ZkgP6RM2kJWRDpVWXSeUXND5gKE1JyQkTqNKOsaR7iRmE+pgsyJlfylH6GUWXsT4uqgTL4XmmnNBvTSIeYa4auJkXz9tYBP6kI9QqqfU+wpBYuGK8AgbUZh6gA5zBkSrotIcz5B9ZUVMbvF5XkimQGmEkJDFtup83hwGaecgpTfOY8wQkjFBzHim294LkTOH5ONcFRwicEpLaxkTBrpwgUgBlRdiBbKSaPvsPwgNe+QUgccBUKDlOTvIscppyB76uemdhAoSqlahohzaq7UyX1ypuqk1WitUALYdpVCZjsbLNPWInJ/Wes1k6pryh+M6SRpjCbelogDZqvZoKqmSIjR31Kygf6f65K5G/LTlgDb0MVco6lFM67rlKt9moYigNgIdq9yZOjHuvIR2PQxkiarNVcVl9zfdHZiykproVioWsEItpndkPRp+9f1iEFZrhiBIGSl9F51vg6hluZQK1vrAmvXWTvJBc0mVVWMsuULNSugE0RQP9YSpt/9U5ZGBkV6UFpG3YtQk8V8RYcxEvldZR5I30VGzICwLSbvPXh/sd8AvSSvFjJZCB+d6PnyuEek88l8lBPR+BJaCYxfwwA0qhk0mcY4Z4w7NSIui2Spk3wgIpgJhpzfTmKALCrJLZCAScME5kqCYdqz+RVLJFffGEwnooYqpsl7EEYSN0SqBE30aFd04GY8/GVnAGNw86+H/zWjfEohq3YYxm0LulET5J7JoTAIGWn0CYlrS9e/DgdlMOlMMM2U/9dKwRHEda8hq2OZM8rY5I00yY9eXn4zGnIsmAASXcciw0TcLGE9Be859qlRjbeNBLjn/fu9kbEK/E0YQQ31G+2zQY3SuUUVjsBLePiL/6+46JcWPTyrzXIohckV6wVMt4jguZ/DT85pkL1XgabxDej/lYMB5gkvnpz879KLsg1b4DuSzocNzAOx8K39A+BeuhzA0bwHxKtUqlvryMsHHRjDoAqCdgrT6/MrNJIl8BAha+So2Z3q4y7bsHc2oWKDc3jqafI8EzgA8xbpBJ8JJKRRDnt7UXS0YwcEKRXGPKiGlDgD3ugGi52DrG2MM8+AO83Woq8P9JT6ox9mlDCwZhyDETO3JmvjwFnCPfnw45a5stJ9j1QK+bzOqv2jqUZBNibfaIdOl1eA1kQ7h2dQI8DTZTUXVFJmzyIlJVwFsTapQBQqjqdr4qXGfoma0Qnna96oFnEPDNrdtcWgvWAvEUqs4GC8mVtbJ8omjqeYiro6oT8pq3ip63X6up32Y4gP1PUX6APTS9osERNRRXR9i/+YulbmAd3XfI0eWF1ubK2AI4NK8ygBll5Oq4JoKJ127LhN21X7NfXV+7k0Rgtlu8hpjgyapeonI0xI1cn6T61Xpq5rpx3VT7g/pSGipIRrGWKB9tY56llBi0myy5NmDZRGrbd4OInkwyiXMhKjtl/T1iC5iId7UOocDRvAnozZYbGHekzqtCExsN/jToMDp2hoAT2/g7ySVayA/KCUxm07sANSKQ+JgVVb7bDjedw2hLw9aOsGPOucwfNDNPQ82R4kBooORoE6uEc368C/4EV6ptNehiCxci9VcrbhBugYGilx8skc9pfwz7f4lcUujBZqGRT7Yj9/GeF9uY9sli0x+jZku4B7V5CtDAsvQE+x4CGiGMrHlBnjZ0bH0PihMmF80fW1oCF2ZNt7v3jHuzgavrvcNTa8/Mf+lA28ePHHhdmlDs8Ijtsw41mQAzvwgOKGD1MfShiSoHyiyJrdYqp0/sF6cC6ZcQcwPs1nKZaFuzYcmZ63tyiDyriD0nlUmMlvEVDQLq09dX5+a/BCmp3giaHXbgvBDWB6GUeYkCJoe0RHFAuTiC7EWEtxIjYMlowP2ID2zjgBYs0FN4eE5IuVNZgWg21O/9fbq/bbBR+RDrc2rLVjxpO+anAx69iHLY8Rwbgn6BgDS4KZvlyRdNypPcT4G0RcEvfduSXZK9vbOhvOqxLHo0L53u3tM2fQ1171UqgFwaN7/iNt0KPwFbvwYwjhFlnWBIKVFEMvvpaVQNC18E19gVmLOadcxghyPsO0e9GzdZqJbAXKAazc/8ObOkWFE3IWDAnZDxLnMwOjzchyp7RASRrhFEiUFFsYUZZGhB5+IW2DBTHDEDOBSjHt/IyKa+I2YgshSBQUvjdFHVFSnRM7MLrKBcRwFxNCXuKIWxkkDZ3+GNSME7+HNFfwO/1sPObe41m+JMcl5i4nO+f7sAWpd3LiiRQKWk4dBljDES8g2BQw2ivsHIW4+jD/wt59GA//0G8vh/oQ5lvznmwzL8LRG9sCdLI+9lzbhO05llkvRHx2KbZmKzhzwqUGwYQo01QBjU9dhD4so8lPnjgxcUjV0SIEMK4oIhJD7FTYlJhAMCAvn9kKjWCzYoSFkOXbiZ9YkeBAyWHrMwq8OGUy2/ExrEh6VZNtBrZRyYayz4FnJlTvuR/zj9Jll0FK/h5zjG4lJQ84Rrz/PlWhF67tuOAAReg8QlviW7BqX0z6dNNNWjHPAf0783geYmU3uu+nMa96e7VTkIwddJvmc7uBmfrcbhKZC0RHpV/nFU6Q48pogAXcnadHcERQnjZYlsKgbAkz/PvinZmQWXZBy19p5MhAQE40OBPxz+fYZgK99OPNnJXHxomMWB7La/SnlBrolWVgu/xaRI7zL8ALVqePUC9iPvuUW3N3XZI6J6uRiMrebvG9YDIbfHGAXDedDHIpyu79Uq4D91aqY3+ABiG8rsVnRg1L5xpsOLVt51LUQTvrEAtUMqzOzqK2T2t2zP772rd/ZY6fUp1uF6ePhpWeIxiqoWyhNsRA69AZrcY5o5zVFHUIBwtfsdxjAkFKhVFxVByV78qjlajtlsg1clS7RI9XJ/f2gjjXdB/xy3u+B7Z1szrwPh1m8nMticlqfZJWvPGLmjcJBohzT5z1F63AWaocmFtuAY1ePeBY30R4kfL7aE9+GetD5Hvj8eGMZ3up6qQxKgieGx69dhLxDSY+nQ5FI3LRfrLhMDFvEwF2uOoME+/Gh0MqYxkm4s05u6D4DyLBRemu4kMtB6Nv/NOFUZPitzFD8qL8o0r+kYrPnnsY0vWZd5GEzsCREC+Wz3APkfzeqsAp0tZw0lLrhuy2DNy1E1VNM1LqdhIO45OPIwT3rftapv3Bq7mdNHFSgnKIkN8flMKWHNJF9U1BMQglWyx3EZ7e5f02oBD3RnnUPJn1p0wir+pGFraC2kyNDOKF8tvhNtQ4Hcy0KjTgZz2eIU55xre6wlnEltXkEBDbif0x/5SQnkBBsVWmb3r49ic42aAZm9yFY1aRg7n+S55ntbIbUFoODVCE879nRYAuMN+ACxenLXW8IjGFgtIdIwdl+hm8IjDZChcfQWQE4njeBgZtMFXgB6tKKFfpy23VFRCE125CitD/JeFiLDnXDHDSEnA6F9x0fPn4hNuPX1WQu8Z38LPLmCxI8nJVmHouX1lTh3BMEinPhg07NI3cNPSeEiWEBfG4rV6SAQMAAAA=) format("woff2");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}/* src/assets/css/gabito-theme.css */
/* Encoding: UTF-8 */
/* System motywów kolorystycznych Gabito – tylko kolory, bez layoutu */

/* ============================================= */
/* MOTYW JASNY (= obecny wygląd systemu, 1:1)   */
/* ============================================= */

:root,
html.theme-light {
  --gabito-color-primary: #007bff;
  --gabito-color-primary-hover: #0056b3;
  --gabito-color-primary-active: #0a58ca;
  --gabito-color-primary-border: #80bdff;
  --gabito-color-success: #28a745;
  --gabito-color-success-hover: #218838;
  --gabito-color-danger: #dc3545;
  --gabito-color-danger-hover: #c82333;
  --gabito-color-danger-dark: #c62828;
  --gabito-color-warning: #ffc107;
  --gabito-color-warning-hover: #ffca2c;
  --gabito-color-muted: #6c757d;
  --gabito-color-info: #3498db;

  --gabito-bg-app: #ffffff;
  --gabito-bg-surface: #ffffff;
  --gabito-bg-surface-alt: #f8f9fa;
  --gabito-bg-muted: #e9ecef;
  --gabito-bg-header: #007bff;
  --gabito-bg-sidebar: #f8f9fa;
  --gabito-sidebar-nav-hover-bg: rgba(220, 53, 69, 0.1);
  --gabito-sidebar-nav-hover-text: #dc3545;
  --gabito-sidebar-nav-active-bg: #007bff;
  --gabito-sidebar-nav-active-text: #ffffff;
  --gabito-sidebar-nav-active-border: transparent;
  --gabito-sidebar-nav-disabled-bg: #e9e9e9;
  --gabito-bg-active-subtle: #f0f7ff;
  --gabito-bg-active: #e7f1ff;
  --gabito-bg-active-strong: #d0e7ff;
  --gabito-bg-danger-subtle: #f8d7da;
  --gabito-bg-danger-muted: #ffebee;

  --gabito-text: #212529;
  --gabito-text-secondary: #495057;
  --gabito-text-muted: #666666;
  --gabito-text-inverse: #ffffff;

  --gabito-border: #dee2e6;
  --gabito-border-strong: #ced4da;
  --gabito-border-light: #eeeeee;

  --gabito-shadow-sm: rgba(0, 0, 0, 0.1);
  --gabito-shadow: rgba(0, 0, 0, 0.2);
  --gabito-shadow-lg: rgba(0, 0, 0, 0.3);
  --gabito-overlay: rgba(0, 0, 0, 0.5);
  --gabito-overlay-light: rgba(255, 255, 255, 0.8);
  --gabito-focus-ring: rgba(13, 110, 253, 0.25);

  --gabito-gradient-active: linear-gradient(180deg, #e7f1ff 0%, #d0e7ff 100%);
  --gabito-theme-color-meta: #007bff;

  --gabito-bg-inactive: #fff5f5;
  --gabito-bg-inactive-hover: #fff0f0;
  --gabito-bg-table-stripe: #fcfcfc;
  --gabito-bg-input-disabled: #f5f5f5;
  --gabito-bg-warning-subtle: #fff3cd;
  --gabito-bg-app-base: #ffffff;
  --gabito-bg-surface-base: #ffffff;
  --gabito-bg-surface-alt-base: #f8f9fa;
  --gabito-bg-muted-base: #e9ecef;
  --gabito-bg-sidebar-base: #f8f9fa;
  --gabito-bg-table-stripe-base: #fcfcfc;
  --gabito-bg-input-disabled-base: #f5f5f5;
  --gabito-bg-inactive-base: #fff5f5;
  --gabito-bg-inactive-hover-base: #fff0f0;
  --gabito-border-input: #e0e0e0;
  --gabito-border-subtle: #f0f0f0;
  --gabito-color-teal: #17a2b8;
  --gabito-color-teal-hover: #138496;
  --gabito-color-accent-purple: #6f42c1;
  --gabito-color-accent-purple-hover: #5a32a3;
  --gabito-color-secondary-hover: #5a6268;
  --gabito-focus-ring-primary: rgba(0, 123, 255, 0.1);
  --gabito-focus-ring-primary-strong: rgba(0, 123, 255, 0.12);
  --gabito-shadow-card: rgba(0, 0, 0, 0.08);
  --gabito-shadow-modal: rgba(0, 0, 0, 0.15);
  --gabito-shadow-purple: rgba(111, 66, 193, 0.4);

  --gabito-header-toolbar-btn-bg: var(--gabito-color-success);
  --gabito-header-toolbar-btn-bg-hover: var(--gabito-color-success-hover);
  --gabito-header-toolbar-btn-border: transparent;
  --gabito-header-toolbar-icon: var(--gabito-text-inverse);
  --gabito-header-toolbar-icon-glow: none;
  --gabito-header-admin-support-btn-bg: #5a32a3;
  --gabito-header-admin-support-btn-bg-hover: #45207a;
  --gabito-header-admin-support-btn-border: rgba(255, 255, 255, 0.35);
  --gabito-header-admin-support-btn-shadow: 0 1px 5px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.12);
  --gabito-list-table-link: var(--gabito-color-primary);
  --gabito-list-table-link-hover: var(--gabito-color-primary-active);
  --gabito-toolbar-menu-icon: var(--gabito-color-primary);
  --gabito-shell-sidebar-heading-glow: none;
  --gabito-favorite-screen-active-text: var(--gabito-text-inverse);
  --gabito-form-focus-extra-glow: none;
}

/* ============================================= */
/* MOTYW CIEMNY                                  */
/* ============================================= */

html.theme-dark {
  --gabito-color-primary: #4dabf7;
  --gabito-color-primary-hover: #339af0;
  --gabito-color-primary-active: #228be6;
  --gabito-color-primary-border: #74c0fc;
  --gabito-color-success: #40c057;
  --gabito-color-success-hover: #37b24d;
  --gabito-color-danger: #fa5252;
  --gabito-color-danger-hover: #f03e3e;
  --gabito-color-danger-dark: #e03131;
  --gabito-color-warning: #fab005;
  --gabito-color-warning-hover: #fcc419;
  --gabito-color-muted: #868e96;
  --gabito-color-info: #4dabf7;

  --gabito-bg-app: #1a1a2e;
  --gabito-bg-surface: #1a1a2e;
  --gabito-bg-surface-alt: #16213e;
  --gabito-bg-muted: #243049;
  --gabito-bg-header: #0f172a;
  --gabito-bg-sidebar: #16213e;
  --gabito-sidebar-nav-hover-bg: #3d1a22;
  --gabito-sidebar-nav-hover-text: #fa5252;
  --gabito-sidebar-nav-active-bg: #228be6;
  --gabito-sidebar-nav-active-text: #f8fafc;
  --gabito-sidebar-nav-active-border: #74c0fc;
  --gabito-sidebar-nav-disabled-bg: #243049;
  --gabito-bg-active-subtle: #1e3a5f;
  --gabito-bg-active: #1c4a7a;
  --gabito-bg-active-strong: #1a5a96;
  --gabito-bg-danger-subtle: #4a2028;
  --gabito-bg-danger-muted: #3d1a22;

  --gabito-text: #e2e8f0;
  --gabito-text-secondary: #cbd5e1;
  --gabito-text-muted: #94a3b8;
  --gabito-text-inverse: #f8fafc;

  --gabito-border: #334155;
  --gabito-border-strong: #475569;
  --gabito-border-light: #1e293b;

  --gabito-shadow-sm: rgba(0, 0, 0, 0.25);
  --gabito-shadow: rgba(0, 0, 0, 0.35);
  --gabito-shadow-lg: rgba(0, 0, 0, 0.5);
  --gabito-overlay: rgba(0, 0, 0, 0.65);
  --gabito-overlay-light: rgba(26, 26, 46, 0.85);
  --gabito-focus-ring: rgba(77, 171, 247, 0.35);

  --gabito-gradient-active: linear-gradient(180deg, #1e3a5f 0%, #1a5a96 100%);
  --gabito-theme-color-meta: #0f172a;

  --gabito-bg-inactive: #2d1f24;
  --gabito-bg-inactive-hover: #3a252c;
  --gabito-bg-table-stripe: #1f2940;
  --gabito-bg-input-disabled: #243049;
  --gabito-bg-warning-subtle: #3d3420;
  --gabito-bg-app-base: #1a1a2e;
  --gabito-bg-surface-base: #1a1a2e;
  --gabito-bg-surface-alt-base: #16213e;
  --gabito-bg-muted-base: #243049;
  --gabito-bg-sidebar-base: #16213e;
  --gabito-bg-table-stripe-base: #1f2940;
  --gabito-bg-input-disabled-base: #243049;
  --gabito-bg-inactive-base: #2d1f24;
  --gabito-bg-inactive-hover-base: #3a252c;
  --gabito-border-input: #475569;
  --gabito-border-subtle: #334155;
  --gabito-color-teal: #22b8cf;
  --gabito-color-teal-hover: #15aabf;
  --gabito-color-accent-purple: #9775fa;
  --gabito-color-accent-purple-hover: #845ef7;
  --gabito-color-secondary-hover: #64748b;
  --gabito-focus-ring-primary: rgba(77, 171, 247, 0.2);
  --gabito-focus-ring-primary-strong: rgba(77, 171, 247, 0.25);
  --gabito-shadow-card: rgba(0, 0, 0, 0.3);
  --gabito-shadow-modal: rgba(0, 0, 0, 0.45);
  --gabito-shadow-purple: rgba(151, 117, 250, 0.35);

  --gabito-header-toolbar-btn-bg: rgba(255, 255, 255, 0.12);
  --gabito-header-toolbar-btn-bg-hover: rgba(255, 255, 255, 0.22);
  --gabito-header-toolbar-btn-border: rgba(148, 163, 184, 0.35);
  --gabito-header-toolbar-icon: #f8fafc;
  --gabito-header-toolbar-icon-glow: none;
  --gabito-header-admin-support-btn-bg: #5f4db3;
  --gabito-header-admin-support-btn-bg-hover: #735fd4;
  --gabito-header-admin-support-btn-border: rgba(197, 181, 255, 0.45);
  --gabito-header-admin-support-btn-shadow: 0 1px 6px rgba(0, 0, 0, 0.4);
  --gabito-list-table-link: var(--gabito-color-info);
  --gabito-list-table-link-hover: var(--gabito-color-primary-hover);
  --gabito-toolbar-menu-icon: var(--gabito-color-info);
  --gabito-shell-sidebar-heading-glow: none;
  --gabito-favorite-screen-active-text: var(--gabito-text-inverse);
  --gabito-form-focus-extra-glow: none;
}

/* ============================================= */
/* MOTYW STONOWANY (szary)                       */
/* ============================================= */

html.theme-gray {
  --gabito-color-primary: #4b5563;
  --gabito-color-primary-hover: #374151;
  --gabito-color-primary-active: #1f2937;
  --gabito-color-primary-border: #9ca3af;
  --gabito-color-success: #059669;
  --gabito-color-success-hover: #047857;
  --gabito-color-danger: #dc2626;
  --gabito-color-danger-hover: #b91c1c;
  --gabito-color-danger-dark: #991b1b;
  --gabito-color-warning: #d97706;
  --gabito-color-warning-hover: #b45309;
  --gabito-color-muted: #6b7280;
  --gabito-color-info: #4b5563;

  --gabito-bg-app: #f3f4f6;
  --gabito-bg-surface: #f9fafb;
  --gabito-bg-surface-alt: #e5e7eb;
  --gabito-bg-muted: #d1d5db;
  --gabito-bg-header: #374151;
  --gabito-bg-sidebar: #e5e7eb;
  --gabito-sidebar-nav-hover-bg: #d1d5db;
  --gabito-sidebar-nav-hover-text: #dc2626;
  --gabito-sidebar-nav-active-bg: #4b5563;
  --gabito-sidebar-nav-active-text: #f9fafb;
  --gabito-sidebar-nav-active-border: #9ca3af;
  --gabito-sidebar-nav-disabled-bg: #d1d5db;
  --gabito-bg-active-subtle: #e5e7eb;
  --gabito-bg-active: #d1d5db;
  --gabito-bg-active-strong: #9ca3af;
  --gabito-bg-danger-subtle: #fecaca;
  --gabito-bg-danger-muted: #fee2e2;

  --gabito-text: #1f2937;
  --gabito-text-secondary: #374151;
  --gabito-text-muted: #6b7280;
  --gabito-text-inverse: #f9fafb;

  --gabito-border: #9ca3af;
  --gabito-border-strong: #6b7280;
  --gabito-border-light: #d1d5db;

  --gabito-shadow-sm: rgba(0, 0, 0, 0.08);
  --gabito-shadow: rgba(0, 0, 0, 0.12);
  --gabito-shadow-lg: rgba(0, 0, 0, 0.18);
  --gabito-overlay: rgba(31, 41, 55, 0.45);
  --gabito-overlay-light: rgba(243, 244, 246, 0.9);
  --gabito-focus-ring: rgba(75, 85, 99, 0.3);

  --gabito-gradient-active: linear-gradient(180deg, #e5e7eb 0%, #d1d5db 100%);
  --gabito-theme-color-meta: #374151;

  --gabito-bg-inactive: #f3f4f6;
  --gabito-bg-inactive-hover: #e5e7eb;
  --gabito-bg-table-stripe: #f9fafb;
  --gabito-bg-input-disabled: #e5e7eb;
  --gabito-bg-warning-subtle: #fef3c7;
  --gabito-bg-app-base: #f3f4f6;
  --gabito-bg-surface-base: #f9fafb;
  --gabito-bg-surface-alt-base: #e5e7eb;
  --gabito-bg-muted-base: #d1d5db;
  --gabito-bg-sidebar-base: #e5e7eb;
  --gabito-bg-table-stripe-base: #f9fafb;
  --gabito-bg-input-disabled-base: #e5e7eb;
  --gabito-bg-inactive-base: #f3f4f6;
  --gabito-bg-inactive-hover-base: #e5e7eb;
  --gabito-border-input: #9ca3af;
  --gabito-border-subtle: #d1d5db;
  --gabito-color-teal: #0d9488;
  --gabito-color-teal-hover: #0f766e;
  --gabito-color-accent-purple: #6b7280;
  --gabito-color-accent-purple-hover: #4b5563;
  --gabito-color-secondary-hover: #4b5563;
  --gabito-focus-ring-primary: rgba(75, 85, 99, 0.15);
  --gabito-focus-ring-primary-strong: rgba(75, 85, 99, 0.2);
  --gabito-shadow-card: rgba(0, 0, 0, 0.06);
  --gabito-shadow-modal: rgba(0, 0, 0, 0.12);
  --gabito-shadow-purple: rgba(75, 85, 99, 0.25);

  --gabito-header-toolbar-btn-bg: rgba(255, 255, 255, 0.14);
  --gabito-header-toolbar-btn-bg-hover: rgba(255, 255, 255, 0.24);
  --gabito-header-toolbar-btn-border: rgba(209, 213, 219, 0.4);
  --gabito-header-toolbar-icon: #f9fafb;
  --gabito-header-toolbar-icon-glow: none;
  --gabito-header-admin-support-btn-bg: #4c1d95;
  --gabito-header-admin-support-btn-bg-hover: #5b21b6;
  --gabito-header-admin-support-btn-border: rgba(216, 180, 254, 0.4);
  --gabito-header-admin-support-btn-shadow: 0 1px 5px rgba(0, 0, 0, 0.32);
  --gabito-list-table-link: var(--gabito-color-primary);
  --gabito-list-table-link-hover: var(--gabito-color-primary-active);
  --gabito-toolbar-menu-icon: var(--gabito-color-primary);
  --gabito-shell-sidebar-heading-glow: none;
  --gabito-favorite-screen-active-text: var(--gabito-text-inverse);
  --gabito-form-focus-extra-glow: none;
}

/* ============================================= */
/* MOTYW WYRAZISTY                               */
/* ============================================= */

html.theme-vivid {
  --gabito-color-primary: #0066ff;
  --gabito-color-primary-hover: #0052cc;
  --gabito-color-primary-active: #0047b3;
  --gabito-color-primary-border: #66a3ff;
  --gabito-color-success: #00c853;
  --gabito-color-success-hover: #00a844;
  --gabito-color-danger: #ff1744;
  --gabito-color-danger-hover: #d50032;
  --gabito-color-danger-dark: #c51162;
  --gabito-color-warning: #ff9100;
  --gabito-color-warning-hover: #ff6d00;
  --gabito-color-muted: #5c6bc0;
  --gabito-color-info: #0066ff;

  --gabito-bg-app: #ffffff;
  --gabito-bg-surface: #ffffff;
  --gabito-bg-surface-alt: #f0f4ff;
  --gabito-bg-muted: #e8eeff;
  --gabito-bg-header: #0066ff;
  --gabito-bg-sidebar: #f0f4ff;
  --gabito-sidebar-nav-hover-bg: rgba(255, 23, 68, 0.08);
  --gabito-sidebar-nav-hover-text: #ff1744;
  --gabito-sidebar-nav-active-bg: #0066ff;
  --gabito-sidebar-nav-active-text: #ffffff;
  --gabito-sidebar-nav-active-border: transparent;
  --gabito-sidebar-nav-disabled-bg: #e8eeff;
  --gabito-bg-active-subtle: #e8f0ff;
  --gabito-bg-active: #d6e4ff;
  --gabito-bg-active-strong: #adc8ff;
  --gabito-bg-danger-subtle: #ffe0e6;
  --gabito-bg-danger-muted: #fff0f3;

  --gabito-text: #1a1a2e;
  --gabito-text-secondary: #2d3748;
  --gabito-text-muted: #5c6bc0;
  --gabito-text-inverse: #ffffff;

  --gabito-border: #c5d0ff;
  --gabito-border-strong: #99b3ff;
  --gabito-border-light: #e8eeff;

  --gabito-shadow-sm: rgba(0, 102, 255, 0.1);
  --gabito-shadow: rgba(0, 102, 255, 0.15);
  --gabito-shadow-lg: rgba(0, 102, 255, 0.25);
  --gabito-overlay: rgba(26, 26, 46, 0.45);
  --gabito-overlay-light: rgba(255, 255, 255, 0.88);
  --gabito-focus-ring: rgba(0, 102, 255, 0.3);

  --gabito-gradient-active: linear-gradient(180deg, #e8f0ff 0%, #d6e4ff 100%);
  --gabito-theme-color-meta: #0066ff;

  --gabito-bg-inactive: #fff0f3;
  --gabito-bg-inactive-hover: #ffe0e6;
  --gabito-bg-table-stripe: #f8faff;
  --gabito-bg-input-disabled: #eef2ff;
  --gabito-bg-warning-subtle: #fff4e5;
  --gabito-bg-app-base: #ffffff;
  --gabito-bg-surface-base: #ffffff;
  --gabito-bg-surface-alt-base: #f0f4ff;
  --gabito-bg-muted-base: #e8eeff;
  --gabito-bg-sidebar-base: #f0f4ff;
  --gabito-bg-table-stripe-base: #f8faff;
  --gabito-bg-input-disabled-base: #eef2ff;
  --gabito-bg-inactive-base: #fff0f3;
  --gabito-bg-inactive-hover-base: #ffe0e6;
  --gabito-border-input: #c5d0ff;
  --gabito-border-subtle: #e8eeff;
  --gabito-color-teal: #00bcd4;
  --gabito-color-teal-hover: #00acc1;
  --gabito-color-accent-purple: #7c4dff;
  --gabito-color-accent-purple-hover: #651fff;
  --gabito-color-secondary-hover: #5c6bc0;
  --gabito-focus-ring-primary: rgba(0, 102, 255, 0.15);
  --gabito-focus-ring-primary-strong: rgba(0, 102, 255, 0.2);
  --gabito-shadow-card: rgba(0, 102, 255, 0.08);
  --gabito-shadow-modal: rgba(0, 102, 255, 0.18);
  --gabito-shadow-purple: rgba(124, 77, 255, 0.35);

  --gabito-header-toolbar-btn-bg: rgba(255, 255, 255, 0.16);
  --gabito-header-toolbar-btn-bg-hover: rgba(255, 255, 255, 0.28);
  --gabito-header-toolbar-btn-border: rgba(255, 255, 255, 0.35);
  --gabito-header-toolbar-icon: #ffffff;
  --gabito-header-toolbar-icon-glow: none;
  --gabito-header-admin-support-btn-bg: #5b21b6;
  --gabito-header-admin-support-btn-bg-hover: #4c1d95;
  --gabito-header-admin-support-btn-border: rgba(255, 255, 255, 0.38);
  --gabito-header-admin-support-btn-shadow: 0 1px 6px rgba(0, 0, 0, 0.3);
  --gabito-list-table-link: var(--gabito-color-primary);
  --gabito-list-table-link-hover: var(--gabito-color-primary-active);
  --gabito-toolbar-menu-icon: var(--gabito-color-info);
  --gabito-shell-sidebar-heading-glow: none;
  --gabito-favorite-screen-active-text: var(--gabito-text-inverse);
  --gabito-form-focus-extra-glow: none;
}

/* ============================================= */
/* MOTYW MONOCHROMATYCZNY ZIELONY                */
/* ============================================= */

html.theme-green {
  --gabito-color-primary: #2d6a4f;
  --gabito-color-primary-hover: #1b4332;
  --gabito-color-primary-active: #081c15;
  --gabito-color-primary-border: #74c69d;
  --gabito-color-success: #40916c;
  --gabito-color-success-hover: #2d6a4f;
  --gabito-color-danger: #1b4332;
  --gabito-color-danger-hover: #081c15;
  --gabito-color-danger-dark: #081c15;
  --gabito-color-warning: #52b788;
  --gabito-color-warning-hover: #40916c;
  --gabito-color-muted: #52796f;
  --gabito-color-info: #2d6a4f;

  --gabito-bg-app: #edf5f0;
  --gabito-bg-surface: #f4faf6;
  --gabito-bg-surface-alt: #d8f3dc;
  --gabito-bg-muted: #b7e4c7;
  --gabito-bg-header: #1b4332;
  --gabito-bg-sidebar: #d8f3dc;
  --gabito-sidebar-nav-hover-bg: #c7d9c9;
  --gabito-sidebar-nav-hover-text: #1b4332;
  --gabito-sidebar-nav-active-bg: #2d6a4f;
  --gabito-sidebar-nav-active-text: #f4faf6;
  --gabito-sidebar-nav-active-border: #74c69d;
  --gabito-sidebar-nav-disabled-bg: #b7e4c7;
  --gabito-bg-active-subtle: #d8f3dc;
  --gabito-bg-active: #b7e4c7;
  --gabito-bg-active-strong: #95d5b2;
  --gabito-bg-danger-subtle: #c7d9c9;
  --gabito-bg-danger-muted: #d8e8da;

  --gabito-text: #1b4332;
  --gabito-text-secondary: #2d6a4f;
  --gabito-text-muted: #52796f;
  --gabito-text-inverse: #f4faf6;

  --gabito-border: #95d5b2;
  --gabito-border-strong: #74c69d;
  --gabito-border-light: #b7e4c7;

  --gabito-shadow-sm: rgba(27, 67, 50, 0.08);
  --gabito-shadow: rgba(27, 67, 50, 0.12);
  --gabito-shadow-lg: rgba(27, 67, 50, 0.18);
  --gabito-overlay: rgba(27, 67, 50, 0.45);
  --gabito-overlay-light: rgba(237, 245, 240, 0.9);
  --gabito-focus-ring: rgba(45, 106, 79, 0.3);

  --gabito-gradient-active: linear-gradient(180deg, #d8f3dc 0%, #b7e4c7 100%);
  --gabito-theme-color-meta: #1b4332;

  --gabito-bg-inactive: #edf5f0;
  --gabito-bg-inactive-hover: #d8f3dc;
  --gabito-bg-table-stripe: #f4faf6;
  --gabito-bg-input-disabled: #d8f3dc;
  --gabito-bg-warning-subtle: #e8f5e9;
  --gabito-bg-app-base: #edf5f0;
  --gabito-bg-surface-base: #f4faf6;
  --gabito-bg-surface-alt-base: #d8f3dc;
  --gabito-bg-muted-base: #b7e4c7;
  --gabito-bg-sidebar-base: #d8f3dc;
  --gabito-bg-table-stripe-base: #f4faf6;
  --gabito-bg-input-disabled-base: #d8f3dc;
  --gabito-bg-inactive-base: #edf5f0;
  --gabito-bg-inactive-hover-base: #d8f3dc;
  --gabito-border-input: #95d5b2;
  --gabito-border-subtle: #b7e4c7;
  --gabito-color-teal: #40916c;
  --gabito-color-teal-hover: #2d6a4f;
  --gabito-color-accent-purple: #52796f;
  --gabito-color-accent-purple-hover: #2d6a4f;
  --gabito-color-secondary-hover: #40916c;
  --gabito-focus-ring-primary: rgba(45, 106, 79, 0.15);
  --gabito-focus-ring-primary-strong: rgba(45, 106, 79, 0.2);
  --gabito-shadow-card: rgba(27, 67, 50, 0.06);
  --gabito-shadow-modal: rgba(27, 67, 50, 0.12);
  --gabito-shadow-purple: rgba(45, 106, 79, 0.25);

  --gabito-header-toolbar-btn-bg: rgba(255, 255, 255, 0.14);
  --gabito-header-toolbar-btn-bg-hover: rgba(255, 255, 255, 0.24);
  --gabito-header-toolbar-btn-border: rgba(180, 220, 200, 0.4);
  --gabito-header-toolbar-icon: #f4faf6;
  --gabito-header-toolbar-icon-glow: none;
  --gabito-header-admin-support-btn-bg: #45207a;
  --gabito-header-admin-support-btn-bg-hover: #5a32a3;
  --gabito-header-admin-support-btn-border: rgba(216, 180, 254, 0.38);
  --gabito-header-admin-support-btn-shadow: 0 1px 5px rgba(0, 0, 0, 0.28);
  --gabito-list-table-link: var(--gabito-color-primary);
  --gabito-list-table-link-hover: var(--gabito-color-primary-hover);
  --gabito-toolbar-menu-icon: var(--gabito-color-primary);
  --gabito-shell-sidebar-heading-glow: none;
  --gabito-favorite-screen-active-text: var(--gabito-text-inverse);
  --gabito-form-focus-extra-glow: none;
}

/* ============================================= */
/* MOTYW BURSZTYNOWY (stare ekrany CRT)          */
/* ============================================= */

html.theme-amber {
  --gabito-color-primary: #997733;
  --gabito-color-primary-hover: #aa7722;
  --gabito-color-primary-active: #886622;
  --gabito-color-primary-border: #cc8800;
  --gabito-color-success: #cc9900;
  --gabito-color-success-hover: #aa7700;
  --gabito-color-danger: #884400;
  --gabito-color-danger-hover: #663300;
  --gabito-color-danger-dark: #552200;
  --gabito-color-warning: #ffaa00;
  --gabito-color-warning-hover: #e69500;
  --gabito-color-muted: #886622;
  --gabito-color-info: #ffb000;

  --gabito-bg-app: #0f0d00;
  --gabito-bg-surface: #121000;
  --gabito-bg-surface-alt: #1a1608;
  --gabito-bg-muted: #2a2208;
  --gabito-bg-header: #1a1400;
  --gabito-bg-sidebar: #161208;
  --gabito-sidebar-nav-hover-bg: #2a2208;
  --gabito-sidebar-nav-hover-text: #ffcc44;
  --gabito-sidebar-nav-active-bg: #3d3208;
  --gabito-sidebar-nav-active-text: #ffb000;
  --gabito-sidebar-nav-active-border: #cc8800;
  --gabito-sidebar-nav-disabled-bg: #1a1608;
  --gabito-bg-active-subtle: #221c08;
  --gabito-bg-active: #2e2608;
  --gabito-bg-active-strong: #3d3208;
  --gabito-bg-danger-subtle: #2a1c08;
  --gabito-bg-danger-muted: #221808;

  --gabito-text: #ffb000;
  --gabito-text-secondary: #e69500;
  --gabito-text-muted: #aa7722;
  --gabito-text-inverse: #ffb000;

  --gabito-border: #664400;
  --gabito-border-strong: #886622;
  --gabito-border-light: #2a2208;

  --gabito-shadow-sm: rgba(255, 176, 0, 0.08);
  --gabito-shadow: rgba(255, 176, 0, 0.12);
  --gabito-shadow-lg: rgba(255, 176, 0, 0.2);
  --gabito-overlay: rgba(15, 13, 0, 0.75);
  --gabito-overlay-light: rgba(18, 16, 0, 0.88);
  --gabito-focus-ring: rgba(255, 176, 0, 0.35);

  --gabito-gradient-active: linear-gradient(180deg, #221c08 0%, #2e2608 100%);
  --gabito-theme-color-meta: #1a1400;

  --gabito-bg-inactive: #1a1408;
  --gabito-bg-inactive-hover: #221808;
  --gabito-bg-table-stripe: #161208;
  --gabito-bg-input-disabled: #1a1608;
  --gabito-bg-warning-subtle: #2a2208;
  --gabito-bg-app-base: #0f0d00;
  --gabito-bg-surface-base: #121000;
  --gabito-bg-surface-alt-base: #1a1608;
  --gabito-bg-muted-base: #2a2208;
  --gabito-bg-sidebar-base: #161208;
  --gabito-bg-table-stripe-base: #161208;
  --gabito-bg-input-disabled-base: #1a1608;
  --gabito-bg-inactive-base: #1a1408;
  --gabito-bg-inactive-hover-base: #221808;
  --gabito-border-input: #664400;
  --gabito-border-subtle: #2a2208;
  --gabito-color-teal: #cc9900;
  --gabito-color-teal-hover: #aa7700;
  --gabito-color-accent-purple: #aa7722;
  --gabito-color-accent-purple-hover: #886622;
  --gabito-color-secondary-hover: #cc8800;
  --gabito-focus-ring-primary: rgba(255, 176, 0, 0.2);
  --gabito-focus-ring-primary-strong: rgba(255, 176, 0, 0.25);
  --gabito-shadow-card: rgba(255, 176, 0, 0.06);
  --gabito-shadow-modal: rgba(0, 0, 0, 0.45);
  --gabito-shadow-purple: rgba(255, 176, 0, 0.2);

  /* Pasek ikon w nagłówku — ciemne tło + jasny fosfor (kontrast CRT) */
  --gabito-header-toolbar-btn-bg: #1a1608;
  --gabito-header-toolbar-btn-bg-hover: #3d3208;
  --gabito-header-toolbar-btn-border: var(--gabito-border-strong);
  --gabito-header-toolbar-icon: #ffb000;
  --gabito-header-toolbar-icon-glow: 0 0 6px rgba(255, 176, 0, 0.5);
  --gabito-header-admin-support-btn-bg: #663300;
  --gabito-header-admin-support-btn-bg-hover: #884400;
  --gabito-header-admin-support-btn-border: var(--gabito-border-strong);
  --gabito-header-admin-support-btn-shadow: 0 0 8px rgba(255, 176, 0, 0.25);
  --gabito-list-table-link: var(--gabito-color-info);
  --gabito-list-table-link-hover: var(--gabito-color-warning-hover);
  --gabito-toolbar-menu-icon: var(--gabito-color-info);
  --gabito-shell-sidebar-heading-glow: 0 0 6px rgba(255, 176, 0, 0.25);
  --gabito-favorite-screen-active-text: var(--gabito-bg-app);
  --gabito-form-focus-extra-glow: 0 0 10px var(--gabito-focus-ring);
}

/* ============================================= */
/* GLOBALNE – tło aplikacji reaguje na motyw     */
/* ============================================= */

html,
body {
  background-color: var(--gabito-bg-app);
  color: var(--gabito-text);
}

/* Panele wyboru (pracownik, klient, usługa) — spójne we wszystkich motywach */
.selected-employee,
.selected-client,
.selected-client-block,
.selected-service-block {
  background: var(--gabito-bg-active-subtle);
  border-color: var(--gabito-color-primary);
}

.selected-service-name,
.employee-result-main strong {
  color: var(--gabito-text);
}

/* ============================================= */
/* Notatki — kolory kwadrantów (semantyczne)    */
/* ============================================= */

:root,
html.theme-light,
html.theme-dark,
html.theme-gray,
html.theme-vivid,
html.theme-green,
html.theme-amber {
  --gabito-note-quadrant-1: #ef4444;
  --gabito-note-quadrant-2: #22c55e;
  --gabito-note-quadrant-3: #eab308;
  --gabito-note-quadrant-4: #3b82f6;
  --gabito-note-visibility-private: #94a3b8;
  --gabito-note-visibility-public: #475569;
  --gabito-note-visibility-client: #8b5cf6;
  --gabito-note-on-accent: #ffffff;
}

/* Podgląd kafelków wyboru motywu (stałe — nie zależą od aktywnego motywu) */
:root {
  --gabito-preview-light-bar: #007bff;
  --gabito-preview-light-body: #f8f9fa;
  --gabito-preview-dark-bar: #0f172a;
  --gabito-preview-dark-body: #1a1a2e;
  --gabito-preview-gray-bar: #374151;
  --gabito-preview-gray-body: #e5e7eb;
  --gabito-preview-vivid-bar: #0066ff;
  --gabito-preview-vivid-body: #f0f4ff;
  --gabito-preview-green-bar: #1b4332;
  --gabito-preview-green-body: #d8f3dc;
  --gabito-preview-amber-bar: #ffb000;
  --gabito-preview-amber-body: #0f0d00;
}

/* Portal klienta — akcent nagłówka */
:root,
html.theme-light {
  --gabito-portal-header-from: #0f766e;
  --gabito-portal-header-mid: #0d9488;
  --gabito-portal-header-to: #14b8a6;
  --gabito-portal-header-text: #ffffff;
  --gabito-portal-header-shadow: rgba(15, 118, 110, 0.35);
  --gabito-portal-header-btn-bg: rgba(255, 255, 255, 0.12);
  --gabito-portal-header-btn-border: rgba(255, 255, 255, 0.35);
  --gabito-portal-header-btn-bg-hover: rgba(255, 255, 255, 0.22);
  --gabito-portal-header-toggle-bg: rgba(255, 255, 255, 0.15);
  --gabito-portal-header-toggle-bg-hover: rgba(255, 255, 255, 0.28);
  --gabito-portal-header-badge-bg: rgba(255, 255, 255, 0.2);
  --gabito-portal-logout-bg: #fef3c7;
  --gabito-portal-logout-text: #92400e;
  --gabito-portal-logout-hover: #fde68a;
}

html.theme-dark {
  --gabito-portal-header-from: #0f172a;
  --gabito-portal-header-mid: #1e3a5f;
  --gabito-portal-header-to: #2d6a4f;
  --gabito-portal-header-text: #e2e8f0;
  --gabito-portal-header-shadow: rgba(0, 0, 0, 0.45);
  --gabito-portal-header-btn-bg: rgba(255, 255, 255, 0.1);
  --gabito-portal-header-btn-border: rgba(255, 255, 255, 0.28);
  --gabito-portal-header-btn-bg-hover: rgba(255, 255, 255, 0.18);
  --gabito-portal-header-toggle-bg: rgba(255, 255, 255, 0.12);
  --gabito-portal-header-toggle-bg-hover: rgba(255, 255, 255, 0.22);
  --gabito-portal-header-badge-bg: rgba(255, 255, 255, 0.14);
  --gabito-portal-logout-bg: #3d3420;
  --gabito-portal-logout-text: #fcd34d;
  --gabito-portal-logout-hover: #4a3a18;
}

html.theme-gray {
  --gabito-portal-header-from: #374151;
  --gabito-portal-header-mid: #4b5563;
  --gabito-portal-header-to: #6b7280;
  --gabito-portal-header-text: #f9fafb;
  --gabito-portal-header-shadow: rgba(55, 65, 81, 0.35);
  --gabito-portal-header-btn-bg: rgba(255, 255, 255, 0.12);
  --gabito-portal-header-btn-border: rgba(255, 255, 255, 0.32);
  --gabito-portal-header-btn-bg-hover: rgba(255, 255, 255, 0.2);
  --gabito-portal-header-toggle-bg: rgba(255, 255, 255, 0.14);
  --gabito-portal-header-toggle-bg-hover: rgba(255, 255, 255, 0.24);
  --gabito-portal-header-badge-bg: rgba(255, 255, 255, 0.18);
  --gabito-portal-logout-bg: #fee2e2;
  --gabito-portal-logout-text: #991b1b;
  --gabito-portal-logout-hover: #fecaca;
}

html.theme-vivid {
  --gabito-portal-header-from: #0047b3;
  --gabito-portal-header-mid: #0066ff;
  --gabito-portal-header-to: #00c853;
  --gabito-portal-header-text: #ffffff;
  --gabito-portal-header-shadow: rgba(0, 102, 255, 0.35);
  --gabito-portal-header-btn-bg: rgba(255, 255, 255, 0.12);
  --gabito-portal-header-btn-border: rgba(255, 255, 255, 0.35);
  --gabito-portal-header-btn-bg-hover: rgba(255, 255, 255, 0.22);
  --gabito-portal-header-toggle-bg: rgba(255, 255, 255, 0.15);
  --gabito-portal-header-toggle-bg-hover: rgba(255, 255, 255, 0.28);
  --gabito-portal-header-badge-bg: rgba(255, 255, 255, 0.2);
  --gabito-portal-logout-bg: #fff0f3;
  --gabito-portal-logout-text: #c51162;
  --gabito-portal-logout-hover: #ffe0e6;
}

html.theme-green {
  --gabito-portal-header-from: #1b4332;
  --gabito-portal-header-mid: #2d6a4f;
  --gabito-portal-header-to: #40916c;
  --gabito-portal-header-text: #f4faf6;
  --gabito-portal-header-shadow: rgba(27, 67, 50, 0.35);
  --gabito-portal-header-btn-bg: rgba(255, 255, 255, 0.12);
  --gabito-portal-header-btn-border: rgba(255, 255, 255, 0.32);
  --gabito-portal-header-btn-bg-hover: rgba(255, 255, 255, 0.2);
  --gabito-portal-header-toggle-bg: rgba(255, 255, 255, 0.14);
  --gabito-portal-header-toggle-bg-hover: rgba(255, 255, 255, 0.24);
  --gabito-portal-header-badge-bg: rgba(255, 255, 255, 0.18);
  --gabito-portal-logout-bg: #d8f3dc;
  --gabito-portal-logout-text: #1b4332;
  --gabito-portal-logout-hover: #b7e4c7;
}

/* Listy i menu rozwijane — kolory z tokenów motywu */
table.gabito-common-list-table button.gabito-common-list-table__link {
  color: var(--gabito-list-table-link);
}

table.gabito-common-list-table button.gabito-common-list-table__link:hover {
  color: var(--gabito-list-table-link-hover);
}

.icon-actions-toolbar__menu-item i {
  color: var(--gabito-toolbar-menu-icon);
  text-shadow: var(--gabito-header-toolbar-icon-glow, none);
}

html.theme-amber {
  --gabito-portal-header-from: #1a1400;
  --gabito-portal-header-mid: #664400;
  --gabito-portal-header-to: #997733;
  --gabito-portal-header-text: #ffb000;
  --gabito-portal-header-shadow: rgba(255, 176, 0, 0.2);
  --gabito-portal-header-btn-bg: rgba(255, 176, 0, 0.1);
  --gabito-portal-header-btn-border: rgba(255, 176, 0, 0.35);
  --gabito-portal-header-btn-bg-hover: rgba(255, 176, 0, 0.18);
  --gabito-portal-header-toggle-bg: rgba(255, 176, 0, 0.12);
  --gabito-portal-header-toggle-bg-hover: rgba(255, 176, 0, 0.22);
  --gabito-portal-header-badge-bg: rgba(255, 176, 0, 0.16);
  --gabito-portal-logout-bg: #2a2208;
  --gabito-portal-logout-text: #ffb000;
  --gabito-portal-logout-hover: #3d3208;
}
/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-red-50: oklch(97.1% .013 17.38);
    --color-red-300: oklch(80.8% .114 19.571);
    --color-red-500: oklch(63.7% .237 25.331);
    --color-red-600: oklch(57.7% .245 27.325);
    --color-red-700: oklch(50.5% .213 27.518);
    --color-red-800: oklch(44.4% .177 26.899);
    --color-orange-600: oklch(64.6% .222 41.116);
    --color-orange-700: oklch(55.3% .195 38.402);
    --color-amber-50: oklch(98.7% .022 95.277);
    --color-amber-300: oklch(87.9% .169 91.605);
    --color-amber-600: oklch(66.6% .179 58.318);
    --color-amber-900: oklch(41.4% .112 45.904);
    --color-green-50: oklch(98.2% .018 155.826);
    --color-green-300: oklch(87.1% .15 154.449);
    --color-green-500: oklch(72.3% .219 149.579);
    --color-green-600: oklch(62.7% .194 149.214);
    --color-green-700: oklch(52.7% .154 150.069);
    --color-green-800: oklch(44.8% .119 151.328);
    --color-emerald-50: oklch(97.9% .021 166.113);
    --color-emerald-700: oklch(50.8% .118 165.612);
    --color-emerald-800: oklch(43.2% .095 166.913);
    --color-teal-600: oklch(60% .118 184.704);
    --color-blue-50: oklch(97% .014 254.604);
    --color-blue-200: oklch(88.2% .059 254.128);
    --color-blue-300: oklch(80.9% .105 251.813);
    --color-blue-500: oklch(62.3% .214 259.815);
    --color-blue-600: oklch(54.6% .245 262.881);
    --color-blue-700: oklch(48.8% .243 264.376);
    --color-blue-800: oklch(42.4% .199 265.638);
    --color-indigo-50: oklch(96.2% .018 272.314);
    --color-indigo-600: oklch(51.1% .262 276.966);
    --color-indigo-700: oklch(45.7% .24 277.023);
    --color-indigo-900: oklch(35.9% .144 278.697);
    --color-purple-600: oklch(55.8% .288 302.321);
    --color-gray-50: oklch(98.5% .002 247.839);
    --color-gray-100: oklch(96.7% .003 264.542);
    --color-gray-200: oklch(92.8% .006 264.531);
    --color-gray-300: oklch(87.2% .01 258.338);
    --color-gray-400: oklch(70.7% .022 261.325);
    --color-gray-500: oklch(55.1% .027 264.364);
    --color-gray-600: oklch(44.6% .03 256.802);
    --color-gray-700: oklch(37.3% .034 259.733);
    --color-gray-800: oklch(27.8% .033 256.848);
    --color-gray-900: oklch(21% .034 264.665);
    --color-white: #fff;
    --spacing: .25rem;
    --container-5xl: 64rem;
    --container-7xl: 80rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --text-8xl: 6rem;
    --text-8xl--line-height: 1;
    --font-weight-light: 300;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --leading-relaxed: 1.625;
    --radius-lg: .5rem;
    --radius-xl: .75rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer components;

@layer utilities {
  .\@container {
    container-type: inline-size;
  }

  .\!visible {
    visibility: visible !important;
  }

  .collapse {
    visibility: collapse;
  }

  .invisible {
    visibility: hidden;
  }

  .visible {
    visibility: visible;
  }

  .visible\! {
    visibility: visible !important;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .sticky {
    position: sticky;
  }

  .top-1\/2 {
    top: 50%;
  }

  .right-5 {
    right: calc(var(--spacing) * 5);
  }

  .bottom-4 {
    bottom: calc(var(--spacing) * 4);
  }

  .left-4 {
    left: calc(var(--spacing) * 4);
  }

  .isolate {
    isolation: isolate;
  }

  .col-4 {
    grid-column: 4;
  }

  .col-8 {
    grid-column: 8;
  }

  .col-12 {
    grid-column: 12;
  }

  .row-1 {
    grid-row: 1;
  }

  .row-2 {
    grid-row: 2;
  }

  .row-3 {
    grid-row: 3;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .container\! {
    width: 100% !important;
  }

  @media (min-width: 40rem) {
    .container\! {
      max-width: 40rem !important;
    }
  }

  @media (min-width: 48rem) {
    .container\! {
      max-width: 48rem !important;
    }
  }

  @media (min-width: 64rem) {
    .container\! {
      max-width: 64rem !important;
    }
  }

  @media (min-width: 80rem) {
    .container\! {
      max-width: 80rem !important;
    }
  }

  @media (min-width: 96rem) {
    .container\! {
      max-width: 96rem !important;
    }
  }

  .mx-auto {
    margin-inline: auto;
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }

  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }

  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }

  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }

  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }

  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }

  .mr-3 {
    margin-right: calc(var(--spacing) * 3);
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }

  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }

  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }

  .mb-12 {
    margin-bottom: calc(var(--spacing) * 12);
  }

  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }

  .ml-3 {
    margin-left: calc(var(--spacing) * 3);
  }

  .line-clamp-2 {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .\!inline {
    display: inline !important;
  }

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .hidden\! {
    display: none !important;
  }

  .inline {
    display: inline;
  }

  .inline-flex {
    display: inline-flex;
  }

  .list-item {
    display: list-item;
  }

  .table {
    display: table;
  }

  .table\! {
    display: table !important;
  }

  .table-row {
    display: table-row;
  }

  .size-full {
    width: 100%;
    height: 100%;
  }

  .h-7 {
    height: calc(var(--spacing) * 7);
  }

  .h-\[calc\(100vh-260px\)\] {
    height: calc(100vh - 260px);
  }

  .max-h-96 {
    max-height: calc(var(--spacing) * 96);
  }

  .w-7 {
    width: calc(var(--spacing) * 7);
  }

  .w-full {
    width: 100%;
  }

  .max-w-5xl {
    max-width: var(--container-5xl);
  }

  .max-w-7xl {
    max-width: var(--container-7xl);
  }

  .flex-1 {
    flex: 1;
  }

  .flex-shrink, .shrink {
    flex-shrink: 1;
  }

  .flex-grow, .grow {
    flex-grow: 1;
  }

  .border-collapse {
    border-collapse: collapse;
  }

  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .rotate-180 {
    rotate: 180deg;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .\!cursor-default {
    cursor: default !important;
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .resize {
    resize: both;
  }

  .resize-none {
    resize: none;
  }

  .list-disc {
    list-style-type: disc;
  }

  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-row-reverse {
    flex-direction: row-reverse;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .items-center {
    align-items: center;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .justify-end {
    justify-content: flex-end;
  }

  .gap-1 {
    gap: var(--spacing);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }

  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }

  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }

  .gap-10 {
    gap: calc(var(--spacing) * 10);
  }

  :where(.space-y-2 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-4 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-6 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-8 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .overflow-y-auto {
    overflow-y: auto;
  }

  .rounded {
    border-radius: .25rem;
  }

  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }

  .rounded-lg {
    border-radius: var(--radius-lg);
  }

  .rounded-xl {
    border-radius: var(--radius-xl);
  }

  .rounded-t-3xl {
    border-top-left-radius: var(--radius-3xl);
    border-top-right-radius: var(--radius-3xl);
  }

  .rounded-r-xl {
    border-top-right-radius: var(--radius-xl);
    border-bottom-right-radius: var(--radius-xl);
  }

  .rounded-b-3xl {
    border-bottom-right-radius: var(--radius-3xl);
    border-bottom-left-radius: var(--radius-3xl);
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border\! {
    border-style: var(--tw-border-style) !important;
    border-width: 1px !important;
  }

  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }

  .border-b-2 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 2px;
  }

  .border-l-4 {
    border-left-style: var(--tw-border-style);
    border-left-width: 4px;
  }

  .border-amber-300 {
    border-color: var(--color-amber-300);
  }

  .border-blue-300 {
    border-color: var(--color-blue-300);
  }

  .border-gray-100 {
    border-color: var(--color-gray-100);
  }

  .border-gray-200 {
    border-color: var(--color-gray-200);
  }

  .border-gray-300 {
    border-color: var(--color-gray-300);
  }

  .border-green-300 {
    border-color: var(--color-green-300);
  }

  .border-green-500 {
    border-color: var(--color-green-500);
  }

  .border-red-300 {
    border-color: var(--color-red-300);
  }

  .border-red-500 {
    border-color: var(--color-red-500);
  }

  .bg-amber-50 {
    background-color: var(--color-amber-50);
  }

  .bg-blue-600 {
    background-color: var(--color-blue-600);
  }

  .bg-gray-50 {
    background-color: var(--color-gray-50);
  }

  .bg-gray-50\/90 {
    background-color: #f9fafbe6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-gray-50\/90 {
      background-color: color-mix(in oklab, var(--color-gray-50) 90%, transparent);
    }
  }

  .bg-gray-100 {
    background-color: var(--color-gray-100);
  }

  .bg-green-50 {
    background-color: var(--color-green-50);
  }

  .bg-indigo-600 {
    background-color: var(--color-indigo-600);
  }

  .bg-red-50 {
    background-color: var(--color-red-50);
  }

  .bg-white {
    background-color: var(--color-white);
  }

  .bg-gradient-to-br {
    --tw-gradient-position: to bottom right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .bg-gradient-to-r {
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .from-blue-50 {
    --tw-gradient-from: var(--color-blue-50);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-blue-600 {
    --tw-gradient-from: var(--color-blue-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-green-50 {
    --tw-gradient-from: var(--color-green-50);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-green-600 {
    --tw-gradient-from: var(--color-green-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-orange-600 {
    --tw-gradient-from: var(--color-orange-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-blue-700 {
    --tw-gradient-to: var(--color-blue-700);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-emerald-50 {
    --tw-gradient-to: var(--color-emerald-50);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-emerald-700 {
    --tw-gradient-to: var(--color-emerald-700);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-indigo-50 {
    --tw-gradient-to: var(--color-indigo-50);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-red-600 {
    --tw-gradient-to: var(--color-red-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .p-8 {
    padding: calc(var(--spacing) * 8);
  }

  .p-12 {
    padding: calc(var(--spacing) * 12);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }

  .px-10 {
    padding-inline: calc(var(--spacing) * 10);
  }

  .px-16 {
    padding-inline: calc(var(--spacing) * 16);
  }

  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }

  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }

  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }

  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }

  .py-16 {
    padding-block: calc(var(--spacing) * 16);
  }

  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }

  .pt-10 {
    padding-top: calc(var(--spacing) * 10);
  }

  .pr-40 {
    padding-right: calc(var(--spacing) * 40);
  }

  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }

  .pb-12 {
    padding-bottom: calc(var(--spacing) * 12);
  }

  .pl-6 {
    padding-left: calc(var(--spacing) * 6);
  }

  .pl-12 {
    padding-left: calc(var(--spacing) * 12);
  }

  .text-center {
    text-align: center;
  }

  .text-right {
    text-align: right;
  }

  .font-mono {
    font-family: var(--font-mono);
  }

  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }

  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }

  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }

  .text-6xl {
    font-size: var(--text-6xl);
    line-height: var(--tw-leading, var(--text-6xl--line-height));
  }

  .text-8xl {
    font-size: var(--text-8xl);
    line-height: var(--tw-leading, var(--text-8xl--line-height));
  }

  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }

  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }

  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }

  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }

  .font-light {
    --tw-font-weight: var(--font-weight-light);
    font-weight: var(--font-weight-light);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .whitespace-nowrap {
    white-space: nowrap;
  }

  .whitespace-pre-line {
    white-space: pre-line;
  }

  .whitespace-pre-wrap {
    white-space: pre-wrap;
  }

  .text-amber-600 {
    color: var(--color-amber-600);
  }

  .text-amber-900 {
    color: var(--color-amber-900);
  }

  .text-blue-600 {
    color: var(--color-blue-600);
  }

  .text-blue-700 {
    color: var(--color-blue-700);
  }

  .text-blue-800 {
    color: var(--color-blue-800);
  }

  .text-emerald-700 {
    color: var(--color-emerald-700);
  }

  .text-gray-200 {
    color: var(--color-gray-200);
  }

  .text-gray-300 {
    color: var(--color-gray-300);
  }

  .text-gray-400 {
    color: var(--color-gray-400);
  }

  .text-gray-500 {
    color: var(--color-gray-500);
  }

  .text-gray-600 {
    color: var(--color-gray-600);
  }

  .text-gray-700 {
    color: var(--color-gray-700);
  }

  .text-gray-800 {
    color: var(--color-gray-800);
  }

  .text-gray-900 {
    color: var(--color-gray-900);
  }

  .text-green-600 {
    color: var(--color-green-600);
  }

  .text-green-700 {
    color: var(--color-green-700);
  }

  .text-green-800 {
    color: var(--color-green-800);
  }

  .text-indigo-600 {
    color: var(--color-indigo-600);
  }

  .text-indigo-700 {
    color: var(--color-indigo-700);
  }

  .text-indigo-900 {
    color: var(--color-indigo-900);
  }

  .text-purple-600 {
    color: var(--color-purple-600);
  }

  .text-red-600 {
    color: var(--color-red-600);
  }

  .text-red-700 {
    color: var(--color-red-700);
  }

  .text-red-800 {
    color: var(--color-red-800);
  }

  .text-teal-600 {
    color: var(--color-teal-600);
  }

  .text-white {
    color: var(--color-white);
  }

  .capitalize {
    text-transform: capitalize;
  }

  .lowercase {
    text-transform: lowercase;
  }

  .italic {
    font-style: italic;
  }

  .line-through {
    text-decoration-line: line-through;
  }

  .underline {
    text-decoration-line: underline;
  }

  .\!shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a) !important;
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;
  }

  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-xl {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .invert {
    --tw-invert: invert(100%);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .sepia {
    --tw-sepia: sepia(100%);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .backdrop-filter {
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .duration-300 {
    --tw-duration: .3s;
    transition-duration: .3s;
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }

  .\[marketing\:process-daily\] {
    marketing: process-daily;
  }

  @media (hover: hover) {
    .hover\:-translate-y-1:hover {
      --tw-translate-y: calc(var(--spacing) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .hover\:scale-105:hover {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .hover\:bg-blue-700:hover {
      background-color: var(--color-blue-700);
    }

    .hover\:bg-indigo-700:hover {
      background-color: var(--color-indigo-700);
    }

    .hover\:from-blue-700:hover {
      --tw-gradient-from: var(--color-blue-700);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }

    .hover\:from-green-700:hover {
      --tw-gradient-from: var(--color-green-700);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }

    .hover\:from-orange-700:hover {
      --tw-gradient-from: var(--color-orange-700);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }

    .hover\:to-blue-800:hover {
      --tw-gradient-to: var(--color-blue-800);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }

    .hover\:to-emerald-800:hover {
      --tw-gradient-to: var(--color-emerald-800);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }

    .hover\:to-red-700:hover {
      --tw-gradient-to: var(--color-red-700);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }

    .hover\:text-red-800:hover {
      color: var(--color-red-800);
    }

    .hover\:shadow-xl:hover {
      --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }

  .focus\:border-blue-500:focus {
    border-color: var(--color-blue-500);
  }

  .focus\:ring-4:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\:ring-blue-200:focus {
    --tw-ring-color: var(--color-blue-200);
  }

  .focus\:ring-blue-500:focus {
    --tw-ring-color: var(--color-blue-500);
  }

  .disabled\:opacity-50:disabled {
    opacity: .5;
  }

  .disabled\:opacity-60:disabled {
    opacity: .6;
  }

  @media (min-width: 48rem) {
    .md\:w-96 {
      width: calc(var(--spacing) * 96);
    }

    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (min-width: 64rem) {
    .lg\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lg\:p-8 {
      padding: calc(var(--spacing) * 8);
    }
  }
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-gradient-position {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-stops {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}

@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}

@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-duration {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
/* src/assets/css/gabito-theme-bg-variants.css */
/* Encoding: UTF-8 */
/* Warianty jasności i odcienia tła — tylko powierzchnie (akcenty motywu bez zmian) */
/*
 * --gabito-bg-layer-* = wynik korekty jasności (baza motywu lub data-bg-brightness).
 * --gabito-bg-variant-* = warstwa po opcjonalnym data-bg-tint (mapowana na tokeny powierzchni).
 * Odcienie mieszają z layer, nie z variant — unika cyklicznego var(--gabito-bg-variant-*) w tej samej deklaracji.
 */

html.theme-light,
html.theme-gray,
html.theme-vivid,
html.theme-green,
html.theme-dark,
html.theme-amber {
  --gabito-bg-layer-app: var(--gabito-bg-app-base);
  --gabito-bg-layer-surface: var(--gabito-bg-surface-base);
  --gabito-bg-layer-surface-alt: var(--gabito-bg-surface-alt-base);
  --gabito-bg-layer-muted: var(--gabito-bg-muted-base);
  --gabito-bg-layer-sidebar: var(--gabito-bg-sidebar-base);
  --gabito-bg-layer-table-stripe: var(--gabito-bg-table-stripe-base);
  --gabito-bg-layer-input-disabled: var(--gabito-bg-input-disabled-base);
  --gabito-bg-layer-inactive: var(--gabito-bg-inactive-base);
  --gabito-bg-layer-inactive-hover: var(--gabito-bg-inactive-hover-base);

  --gabito-bg-variant-app: var(--gabito-bg-layer-app);
  --gabito-bg-variant-surface: var(--gabito-bg-layer-surface);
  --gabito-bg-variant-surface-alt: var(--gabito-bg-layer-surface-alt);
  --gabito-bg-variant-muted: var(--gabito-bg-layer-muted);
  --gabito-bg-variant-sidebar: var(--gabito-bg-layer-sidebar);
  --gabito-bg-variant-table-stripe: var(--gabito-bg-layer-table-stripe);
  --gabito-bg-variant-input-disabled: var(--gabito-bg-layer-input-disabled);
  --gabito-bg-variant-inactive: var(--gabito-bg-layer-inactive);
  --gabito-bg-variant-inactive-hover: var(--gabito-bg-layer-inactive-hover);
}

/* Motywy jasne (jasny, stonowany, wyrazisty, zielony) */

html.theme-light[data-bg-brightness='sunny'],
html.theme-gray[data-bg-brightness='sunny'],
html.theme-vivid[data-bg-brightness='sunny'],
html.theme-green[data-bg-brightness='sunny'] {
  --gabito-bg-layer-app: color-mix(in srgb, var(--gabito-bg-app-base) 78%, #ffffff);
  --gabito-bg-layer-surface: color-mix(in srgb, var(--gabito-bg-surface-base) 84%, #ffffff);
  --gabito-bg-layer-surface-alt: color-mix(in srgb, var(--gabito-bg-surface-alt-base) 82%, #ffffff);
  --gabito-bg-layer-muted: color-mix(in srgb, var(--gabito-bg-muted-base) 76%, #ffffff);
  --gabito-bg-layer-sidebar: color-mix(in srgb, var(--gabito-bg-sidebar-base) 80%, #ffffff);
  --gabito-bg-layer-table-stripe: color-mix(in srgb, var(--gabito-bg-table-stripe-base) 82%, #ffffff);
  --gabito-bg-layer-input-disabled: color-mix(in srgb, var(--gabito-bg-input-disabled-base) 78%, #ffffff);
  --gabito-bg-layer-inactive: color-mix(in srgb, var(--gabito-bg-inactive-base) 80%, #ffffff);
  --gabito-bg-layer-inactive-hover: color-mix(in srgb, var(--gabito-bg-inactive-hover-base) 82%, #ffffff);

  --gabito-bg-variant-app: var(--gabito-bg-layer-app);
  --gabito-bg-variant-surface: var(--gabito-bg-layer-surface);
  --gabito-bg-variant-surface-alt: var(--gabito-bg-layer-surface-alt);
  --gabito-bg-variant-muted: var(--gabito-bg-layer-muted);
  --gabito-bg-variant-sidebar: var(--gabito-bg-layer-sidebar);
  --gabito-bg-variant-table-stripe: var(--gabito-bg-layer-table-stripe);
  --gabito-bg-variant-input-disabled: var(--gabito-bg-layer-input-disabled);
  --gabito-bg-variant-inactive: var(--gabito-bg-layer-inactive);
  --gabito-bg-variant-inactive-hover: var(--gabito-bg-layer-inactive-hover);
}

html.theme-light[data-bg-brightness='lighter'],
html.theme-gray[data-bg-brightness='lighter'],
html.theme-vivid[data-bg-brightness='lighter'],
html.theme-green[data-bg-brightness='lighter'] {
  --gabito-bg-layer-app: color-mix(in srgb, var(--gabito-bg-app-base) 90%, #ffffff);
  --gabito-bg-layer-surface: color-mix(in srgb, var(--gabito-bg-surface-base) 92%, #ffffff);
  --gabito-bg-layer-surface-alt: color-mix(in srgb, var(--gabito-bg-surface-alt-base) 91%, #ffffff);
  --gabito-bg-layer-muted: color-mix(in srgb, var(--gabito-bg-muted-base) 88%, #ffffff);
  --gabito-bg-layer-sidebar: color-mix(in srgb, var(--gabito-bg-sidebar-base) 90%, #ffffff);
  --gabito-bg-layer-table-stripe: color-mix(in srgb, var(--gabito-bg-table-stripe-base) 91%, #ffffff);
  --gabito-bg-layer-input-disabled: color-mix(in srgb, var(--gabito-bg-input-disabled-base) 89%, #ffffff);
  --gabito-bg-layer-inactive: color-mix(in srgb, var(--gabito-bg-inactive-base) 90%, #ffffff);
  --gabito-bg-layer-inactive-hover: color-mix(in srgb, var(--gabito-bg-inactive-hover-base) 91%, #ffffff);

  --gabito-bg-variant-app: var(--gabito-bg-layer-app);
  --gabito-bg-variant-surface: var(--gabito-bg-layer-surface);
  --gabito-bg-variant-surface-alt: var(--gabito-bg-layer-surface-alt);
  --gabito-bg-variant-muted: var(--gabito-bg-layer-muted);
  --gabito-bg-variant-sidebar: var(--gabito-bg-layer-sidebar);
  --gabito-bg-variant-table-stripe: var(--gabito-bg-layer-table-stripe);
  --gabito-bg-variant-input-disabled: var(--gabito-bg-layer-input-disabled);
  --gabito-bg-variant-inactive: var(--gabito-bg-layer-inactive);
  --gabito-bg-variant-inactive-hover: var(--gabito-bg-layer-inactive-hover);
}

html.theme-light[data-bg-brightness='dark'],
html.theme-gray[data-bg-brightness='dark'],
html.theme-vivid[data-bg-brightness='dark'],
html.theme-green[data-bg-brightness='dark'] {
  --gabito-bg-layer-app: color-mix(in srgb, var(--gabito-bg-app-base) 93%, #000000);
  --gabito-bg-layer-surface: color-mix(in srgb, var(--gabito-bg-surface-base) 94%, #000000);
  --gabito-bg-layer-surface-alt: color-mix(in srgb, var(--gabito-bg-surface-alt-base) 92%, #000000);
  --gabito-bg-layer-muted: color-mix(in srgb, var(--gabito-bg-muted-base) 88%, #000000);
  --gabito-bg-layer-sidebar: color-mix(in srgb, var(--gabito-bg-sidebar-base) 91%, #000000);
  --gabito-bg-layer-table-stripe: color-mix(in srgb, var(--gabito-bg-table-stripe-base) 92%, #000000);
  --gabito-bg-layer-input-disabled: color-mix(in srgb, var(--gabito-bg-input-disabled-base) 90%, #000000);
  --gabito-bg-layer-inactive: color-mix(in srgb, var(--gabito-bg-inactive-base) 91%, #000000);
  --gabito-bg-layer-inactive-hover: color-mix(in srgb, var(--gabito-bg-inactive-hover-base) 92%, #000000);

  --gabito-bg-variant-app: var(--gabito-bg-layer-app);
  --gabito-bg-variant-surface: var(--gabito-bg-layer-surface);
  --gabito-bg-variant-surface-alt: var(--gabito-bg-layer-surface-alt);
  --gabito-bg-variant-muted: var(--gabito-bg-layer-muted);
  --gabito-bg-variant-sidebar: var(--gabito-bg-layer-sidebar);
  --gabito-bg-variant-table-stripe: var(--gabito-bg-layer-table-stripe);
  --gabito-bg-variant-input-disabled: var(--gabito-bg-layer-input-disabled);
  --gabito-bg-variant-inactive: var(--gabito-bg-layer-inactive);
  --gabito-bg-variant-inactive-hover: var(--gabito-bg-layer-inactive-hover);
}

html.theme-light[data-bg-brightness='darker'],
html.theme-gray[data-bg-brightness='darker'],
html.theme-vivid[data-bg-brightness='darker'],
html.theme-green[data-bg-brightness='darker'] {
  --gabito-bg-layer-app: color-mix(in srgb, var(--gabito-bg-app-base) 84%, #000000);
  --gabito-bg-layer-surface: color-mix(in srgb, var(--gabito-bg-surface-base) 86%, #000000);
  --gabito-bg-layer-surface-alt: color-mix(in srgb, var(--gabito-bg-surface-alt-base) 84%, #000000);
  --gabito-bg-layer-muted: color-mix(in srgb, var(--gabito-bg-muted-base) 78%, #000000);
  --gabito-bg-layer-sidebar: color-mix(in srgb, var(--gabito-bg-sidebar-base) 83%, #000000);
  --gabito-bg-layer-table-stripe: color-mix(in srgb, var(--gabito-bg-table-stripe-base) 85%, #000000);
  --gabito-bg-layer-input-disabled: color-mix(in srgb, var(--gabito-bg-input-disabled-base) 82%, #000000);
  --gabito-bg-layer-inactive: color-mix(in srgb, var(--gabito-bg-inactive-base) 83%, #000000);
  --gabito-bg-layer-inactive-hover: color-mix(in srgb, var(--gabito-bg-inactive-hover-base) 85%, #000000);

  --gabito-bg-variant-app: var(--gabito-bg-layer-app);
  --gabito-bg-variant-surface: var(--gabito-bg-layer-surface);
  --gabito-bg-variant-surface-alt: var(--gabito-bg-layer-surface-alt);
  --gabito-bg-variant-muted: var(--gabito-bg-layer-muted);
  --gabito-bg-variant-sidebar: var(--gabito-bg-layer-sidebar);
  --gabito-bg-variant-table-stripe: var(--gabito-bg-layer-table-stripe);
  --gabito-bg-variant-input-disabled: var(--gabito-bg-layer-input-disabled);
  --gabito-bg-variant-inactive: var(--gabito-bg-layer-inactive);
  --gabito-bg-variant-inactive-hover: var(--gabito-bg-layer-inactive-hover);
}

html.theme-light[data-bg-brightness='black'],
html.theme-gray[data-bg-brightness='black'],
html.theme-vivid[data-bg-brightness='black'],
html.theme-green[data-bg-brightness='black'] {
  /* Stałe near-black (zgodne z podglądem #0a0a0a) — color-mix z jasnej bazy dawał ~#b8b8b8 na surface */
  --gabito-bg-layer-app: #0a0a0a;
  --gabito-bg-layer-surface: #111111;
  --gabito-bg-layer-surface-alt: #141414;
  --gabito-bg-layer-muted: #1a1a1a;
  --gabito-bg-layer-sidebar: #0d0d0d;
  --gabito-bg-layer-table-stripe: #121212;
  --gabito-bg-layer-input-disabled: #161616;
  --gabito-bg-layer-inactive: #151010;
  --gabito-bg-layer-inactive-hover: #1a1212;

  --gabito-bg-variant-app: var(--gabito-bg-layer-app);
  --gabito-bg-variant-surface: var(--gabito-bg-layer-surface);
  --gabito-bg-variant-surface-alt: var(--gabito-bg-layer-surface-alt);
  --gabito-bg-variant-muted: var(--gabito-bg-layer-muted);
  --gabito-bg-variant-sidebar: var(--gabito-bg-layer-sidebar);
  --gabito-bg-variant-table-stripe: var(--gabito-bg-layer-table-stripe);
  --gabito-bg-variant-input-disabled: var(--gabito-bg-layer-input-disabled);
  --gabito-bg-variant-inactive: var(--gabito-bg-layer-inactive);
  --gabito-bg-variant-inactive-hover: var(--gabito-bg-layer-inactive-hover);

  --gabito-text: #f5f5f5;
  --gabito-text-secondary: #d0d0d0;
  --gabito-text-muted: #a8a8a8;
  --gabito-border: #2a2a2a;
  --gabito-border-strong: #3a3a3a;
  --gabito-border-light: #222222;
  --gabito-border-input: #333333;
  --gabito-border-subtle: #1e1e1e;
}

/* Motywy ciemne (ciemny, bursztynowy) */

html.theme-dark[data-bg-brightness='sunny'],
html.theme-amber[data-bg-brightness='sunny'] {
  --gabito-bg-layer-app: color-mix(in srgb, var(--gabito-bg-app-base) 72%, #ffffff);
  --gabito-bg-layer-surface: color-mix(in srgb, var(--gabito-bg-surface-base) 76%, #ffffff);
  --gabito-bg-layer-surface-alt: color-mix(in srgb, var(--gabito-bg-surface-alt-base) 74%, #ffffff);
  --gabito-bg-layer-muted: color-mix(in srgb, var(--gabito-bg-muted-base) 68%, #ffffff);
  --gabito-bg-layer-sidebar: color-mix(in srgb, var(--gabito-bg-sidebar-base) 72%, #ffffff);
  --gabito-bg-layer-table-stripe: color-mix(in srgb, var(--gabito-bg-table-stripe-base) 74%, #ffffff);
  --gabito-bg-layer-input-disabled: color-mix(in srgb, var(--gabito-bg-input-disabled-base) 70%, #ffffff);
  --gabito-bg-layer-inactive: color-mix(in srgb, var(--gabito-bg-inactive-base) 71%, #ffffff);
  --gabito-bg-layer-inactive-hover: color-mix(in srgb, var(--gabito-bg-inactive-hover-base) 73%, #ffffff);

  --gabito-bg-variant-app: var(--gabito-bg-layer-app);
  --gabito-bg-variant-surface: var(--gabito-bg-layer-surface);
  --gabito-bg-variant-surface-alt: var(--gabito-bg-layer-surface-alt);
  --gabito-bg-variant-muted: var(--gabito-bg-layer-muted);
  --gabito-bg-variant-sidebar: var(--gabito-bg-layer-sidebar);
  --gabito-bg-variant-table-stripe: var(--gabito-bg-layer-table-stripe);
  --gabito-bg-variant-input-disabled: var(--gabito-bg-layer-input-disabled);
  --gabito-bg-variant-inactive: var(--gabito-bg-layer-inactive);
  --gabito-bg-variant-inactive-hover: var(--gabito-bg-layer-inactive-hover);
}

html.theme-dark[data-bg-brightness='lighter'],
html.theme-amber[data-bg-brightness='lighter'] {
  --gabito-bg-layer-app: color-mix(in srgb, var(--gabito-bg-app-base) 86%, #ffffff);
  --gabito-bg-layer-surface: color-mix(in srgb, var(--gabito-bg-surface-base) 88%, #ffffff);
  --gabito-bg-layer-surface-alt: color-mix(in srgb, var(--gabito-bg-surface-alt-base) 87%, #ffffff);
  --gabito-bg-layer-muted: color-mix(in srgb, var(--gabito-bg-muted-base) 82%, #ffffff);
  --gabito-bg-layer-sidebar: color-mix(in srgb, var(--gabito-bg-sidebar-base) 85%, #ffffff);
  --gabito-bg-layer-table-stripe: color-mix(in srgb, var(--gabito-bg-table-stripe-base) 86%, #ffffff);
  --gabito-bg-layer-input-disabled: color-mix(in srgb, var(--gabito-bg-input-disabled-base) 84%, #ffffff);
  --gabito-bg-layer-inactive: color-mix(in srgb, var(--gabito-bg-inactive-base) 85%, #ffffff);
  --gabito-bg-layer-inactive-hover: color-mix(in srgb, var(--gabito-bg-inactive-hover-base) 86%, #ffffff);

  --gabito-bg-variant-app: var(--gabito-bg-layer-app);
  --gabito-bg-variant-surface: var(--gabito-bg-layer-surface);
  --gabito-bg-variant-surface-alt: var(--gabito-bg-layer-surface-alt);
  --gabito-bg-variant-muted: var(--gabito-bg-layer-muted);
  --gabito-bg-variant-sidebar: var(--gabito-bg-layer-sidebar);
  --gabito-bg-variant-table-stripe: var(--gabito-bg-layer-table-stripe);
  --gabito-bg-variant-input-disabled: var(--gabito-bg-layer-input-disabled);
  --gabito-bg-variant-inactive: var(--gabito-bg-layer-inactive);
  --gabito-bg-variant-inactive-hover: var(--gabito-bg-layer-inactive-hover);
}

/* Jasność „Neutralny” (`light`) na motywach ciemnych = brak atrybutu data-bg-brightness (baza motywu).
   Nie dodawać reguły rozjaśniającej białym — powodowała odwrotną kolejność i rozjazd z etykietą. */

html.theme-dark[data-bg-brightness='darker'],
html.theme-amber[data-bg-brightness='darker'] {
  --gabito-bg-layer-app: color-mix(in srgb, var(--gabito-bg-app-base) 88%, #000000);
  --gabito-bg-layer-surface: color-mix(in srgb, var(--gabito-bg-surface-base) 90%, #000000);
  --gabito-bg-layer-surface-alt: color-mix(in srgb, var(--gabito-bg-surface-alt-base) 88%, #000000);
  --gabito-bg-layer-muted: color-mix(in srgb, var(--gabito-bg-muted-base) 82%, #000000);
  --gabito-bg-layer-sidebar: color-mix(in srgb, var(--gabito-bg-sidebar-base) 86%, #000000);
  --gabito-bg-layer-table-stripe: color-mix(in srgb, var(--gabito-bg-table-stripe-base) 88%, #000000);
  --gabito-bg-layer-input-disabled: color-mix(in srgb, var(--gabito-bg-input-disabled-base) 85%, #000000);
  --gabito-bg-layer-inactive: color-mix(in srgb, var(--gabito-bg-inactive-base) 86%, #000000);
  --gabito-bg-layer-inactive-hover: color-mix(in srgb, var(--gabito-bg-inactive-hover-base) 88%, #000000);

  --gabito-bg-variant-app: var(--gabito-bg-layer-app);
  --gabito-bg-variant-surface: var(--gabito-bg-layer-surface);
  --gabito-bg-variant-surface-alt: var(--gabito-bg-layer-surface-alt);
  --gabito-bg-variant-muted: var(--gabito-bg-layer-muted);
  --gabito-bg-variant-sidebar: var(--gabito-bg-layer-sidebar);
  --gabito-bg-variant-table-stripe: var(--gabito-bg-layer-table-stripe);
  --gabito-bg-variant-input-disabled: var(--gabito-bg-layer-input-disabled);
  --gabito-bg-variant-inactive: var(--gabito-bg-layer-inactive);
  --gabito-bg-variant-inactive-hover: var(--gabito-bg-layer-inactive-hover);
}

html.theme-dark[data-bg-brightness='black'],
html.theme-amber[data-bg-brightness='black'] {
  --gabito-bg-layer-app: #050505;
  --gabito-bg-layer-surface: #080808;
  --gabito-bg-layer-surface-alt: #0a0a0a;
  --gabito-bg-layer-muted: #101010;
  --gabito-bg-layer-sidebar: #060606;
  --gabito-bg-layer-table-stripe: #090909;
  --gabito-bg-layer-input-disabled: #0c0c0c;
  --gabito-bg-layer-inactive: #0b0808;
  --gabito-bg-layer-inactive-hover: #100a0a;

  --gabito-bg-variant-app: var(--gabito-bg-layer-app);
  --gabito-bg-variant-surface: var(--gabito-bg-layer-surface);
  --gabito-bg-variant-surface-alt: var(--gabito-bg-layer-surface-alt);
  --gabito-bg-variant-muted: var(--gabito-bg-layer-muted);
  --gabito-bg-variant-sidebar: var(--gabito-bg-layer-sidebar);
  --gabito-bg-variant-table-stripe: var(--gabito-bg-layer-table-stripe);
  --gabito-bg-variant-input-disabled: var(--gabito-bg-layer-input-disabled);
  --gabito-bg-variant-inactive: var(--gabito-bg-layer-inactive);
  --gabito-bg-variant-inactive-hover: var(--gabito-bg-layer-inactive-hover);
}

/* Ciemny motyw: wariant „ciemny” = lekko przyciemnione tło */

html.theme-dark[data-bg-brightness='dark'],
html.theme-amber[data-bg-brightness='dark'] {
  --gabito-bg-layer-app: color-mix(in srgb, var(--gabito-bg-app-base) 94%, #000000);
  --gabito-bg-layer-surface: color-mix(in srgb, var(--gabito-bg-surface-base) 95%, #000000);
  --gabito-bg-layer-surface-alt: color-mix(in srgb, var(--gabito-bg-surface-alt-base) 93%, #000000);
  --gabito-bg-layer-muted: color-mix(in srgb, var(--gabito-bg-muted-base) 90%, #000000);
  --gabito-bg-layer-sidebar: color-mix(in srgb, var(--gabito-bg-sidebar-base) 92%, #000000);
  --gabito-bg-layer-table-stripe: color-mix(in srgb, var(--gabito-bg-table-stripe-base) 93%, #000000);
  --gabito-bg-layer-input-disabled: color-mix(in srgb, var(--gabito-bg-input-disabled-base) 91%, #000000);
  --gabito-bg-layer-inactive: color-mix(in srgb, var(--gabito-bg-inactive-base) 92%, #000000);
  --gabito-bg-layer-inactive-hover: color-mix(in srgb, var(--gabito-bg-inactive-hover-base) 93%, #000000);

  --gabito-bg-variant-app: var(--gabito-bg-layer-app);
  --gabito-bg-variant-surface: var(--gabito-bg-layer-surface);
  --gabito-bg-variant-surface-alt: var(--gabito-bg-layer-surface-alt);
  --gabito-bg-variant-muted: var(--gabito-bg-layer-muted);
  --gabito-bg-variant-sidebar: var(--gabito-bg-layer-sidebar);
  --gabito-bg-variant-table-stripe: var(--gabito-bg-layer-table-stripe);
  --gabito-bg-variant-input-disabled: var(--gabito-bg-layer-input-disabled);
  --gabito-bg-variant-inactive: var(--gabito-bg-layer-inactive);
  --gabito-bg-variant-inactive-hover: var(--gabito-bg-layer-inactive-hover);
}

/* Odcienie koloru — nakładane na warstwę jasności (--gabito-bg-layer-*) */

html[data-bg-tint='ink'] {
  --gabito-bg-variant-app: color-mix(in srgb, var(--gabito-bg-layer-app) 74%, #2a2a2e);
  --gabito-bg-variant-surface: color-mix(in srgb, var(--gabito-bg-layer-surface) 76%, #2a2a2e);
  --gabito-bg-variant-surface-alt: color-mix(in srgb, var(--gabito-bg-layer-surface-alt) 75%, #2a2a2e);
  --gabito-bg-variant-muted: color-mix(in srgb, var(--gabito-bg-layer-muted) 72%, #2a2a2e);
  --gabito-bg-variant-sidebar: color-mix(in srgb, var(--gabito-bg-layer-sidebar) 74%, #2a2a2e);
  --gabito-bg-variant-table-stripe: color-mix(in srgb, var(--gabito-bg-layer-table-stripe) 75%, #2a2a2e);
  --gabito-bg-variant-input-disabled: color-mix(in srgb, var(--gabito-bg-layer-input-disabled) 73%, #2a2a2e);
  --gabito-bg-variant-inactive: color-mix(in srgb, var(--gabito-bg-layer-inactive) 74%, #2a2a2e);
  --gabito-bg-variant-inactive-hover: color-mix(in srgb, var(--gabito-bg-layer-inactive-hover) 75%, #2a2a2e);
}

html[data-bg-tint='navy'] {
  --gabito-bg-variant-app: color-mix(in srgb, var(--gabito-bg-layer-app) 70%, #1e3a5f);
  --gabito-bg-variant-surface: color-mix(in srgb, var(--gabito-bg-layer-surface) 72%, #1e3a5f);
  --gabito-bg-variant-surface-alt: color-mix(in srgb, var(--gabito-bg-layer-surface-alt) 71%, #1e3a5f);
  --gabito-bg-variant-muted: color-mix(in srgb, var(--gabito-bg-layer-muted) 68%, #1e3a5f);
  --gabito-bg-variant-sidebar: color-mix(in srgb, var(--gabito-bg-layer-sidebar) 70%, #1e3a5f);
  --gabito-bg-variant-table-stripe: color-mix(in srgb, var(--gabito-bg-layer-table-stripe) 71%, #1e3a5f);
  --gabito-bg-variant-input-disabled: color-mix(in srgb, var(--gabito-bg-layer-input-disabled) 69%, #1e3a5f);
  --gabito-bg-variant-inactive: color-mix(in srgb, var(--gabito-bg-layer-inactive) 70%, #1e3a5f);
  --gabito-bg-variant-inactive-hover: color-mix(in srgb, var(--gabito-bg-layer-inactive-hover) 71%, #1e3a5f);
}

html[data-bg-tint='graphite'] {
  --gabito-bg-variant-app: color-mix(in srgb, var(--gabito-bg-layer-app) 72%, #3d4451);
  --gabito-bg-variant-surface: color-mix(in srgb, var(--gabito-bg-layer-surface) 74%, #3d4451);
  --gabito-bg-variant-surface-alt: color-mix(in srgb, var(--gabito-bg-layer-surface-alt) 73%, #3d4451);
  --gabito-bg-variant-muted: color-mix(in srgb, var(--gabito-bg-layer-muted) 70%, #3d4451);
  --gabito-bg-variant-sidebar: color-mix(in srgb, var(--gabito-bg-layer-sidebar) 72%, #3d4451);
  --gabito-bg-variant-table-stripe: color-mix(in srgb, var(--gabito-bg-layer-table-stripe) 73%, #3d4451);
  --gabito-bg-variant-input-disabled: color-mix(in srgb, var(--gabito-bg-layer-input-disabled) 71%, #3d4451);
  --gabito-bg-variant-inactive: color-mix(in srgb, var(--gabito-bg-layer-inactive) 72%, #3d4451);
  --gabito-bg-variant-inactive-hover: color-mix(in srgb, var(--gabito-bg-layer-inactive-hover) 73%, #3d4451);
}

html[data-bg-tint='slate'] {
  --gabito-bg-variant-app: color-mix(in srgb, var(--gabito-bg-layer-app) 74%, #4a5568);
  --gabito-bg-variant-surface: color-mix(in srgb, var(--gabito-bg-layer-surface) 76%, #4a5568);
  --gabito-bg-variant-surface-alt: color-mix(in srgb, var(--gabito-bg-layer-surface-alt) 75%, #4a5568);
  --gabito-bg-variant-muted: color-mix(in srgb, var(--gabito-bg-layer-muted) 72%, #4a5568);
  --gabito-bg-variant-sidebar: color-mix(in srgb, var(--gabito-bg-layer-sidebar) 74%, #4a5568);
  --gabito-bg-variant-table-stripe: color-mix(in srgb, var(--gabito-bg-layer-table-stripe) 75%, #4a5568);
  --gabito-bg-variant-input-disabled: color-mix(in srgb, var(--gabito-bg-layer-input-disabled) 73%, #4a5568);
  --gabito-bg-variant-inactive: color-mix(in srgb, var(--gabito-bg-layer-inactive) 74%, #4a5568);
  --gabito-bg-variant-inactive-hover: color-mix(in srgb, var(--gabito-bg-layer-inactive-hover) 75%, #4a5568);
}

html[data-bg-tint='warm'] {
  --gabito-bg-variant-app: color-mix(in srgb, var(--gabito-bg-layer-app) 71%, #8b7355);
  --gabito-bg-variant-surface: color-mix(in srgb, var(--gabito-bg-layer-surface) 73%, #8b7355);
  --gabito-bg-variant-surface-alt: color-mix(in srgb, var(--gabito-bg-layer-surface-alt) 72%, #8b7355);
  --gabito-bg-variant-muted: color-mix(in srgb, var(--gabito-bg-layer-muted) 69%, #8b7355);
  --gabito-bg-variant-sidebar: color-mix(in srgb, var(--gabito-bg-layer-sidebar) 71%, #8b7355);
  --gabito-bg-variant-table-stripe: color-mix(in srgb, var(--gabito-bg-layer-table-stripe) 72%, #8b7355);
  --gabito-bg-variant-input-disabled: color-mix(in srgb, var(--gabito-bg-layer-input-disabled) 70%, #8b7355);
  --gabito-bg-variant-inactive: color-mix(in srgb, var(--gabito-bg-layer-inactive) 71%, #8b7355);
  --gabito-bg-variant-inactive-hover: color-mix(in srgb, var(--gabito-bg-layer-inactive-hover) 72%, #8b7355);
}

html[data-bg-tint='sage'] {
  --gabito-bg-variant-app: color-mix(in srgb, var(--gabito-bg-layer-app) 73%, #4a6b52);
  --gabito-bg-variant-surface: color-mix(in srgb, var(--gabito-bg-layer-surface) 75%, #4a6b52);
  --gabito-bg-variant-surface-alt: color-mix(in srgb, var(--gabito-bg-layer-surface-alt) 74%, #4a6b52);
  --gabito-bg-variant-muted: color-mix(in srgb, var(--gabito-bg-layer-muted) 71%, #4a6b52);
  --gabito-bg-variant-sidebar: color-mix(in srgb, var(--gabito-bg-layer-sidebar) 73%, #4a6b52);
  --gabito-bg-variant-table-stripe: color-mix(in srgb, var(--gabito-bg-layer-table-stripe) 74%, #4a6b52);
  --gabito-bg-variant-input-disabled: color-mix(in srgb, var(--gabito-bg-layer-input-disabled) 72%, #4a6b52);
  --gabito-bg-variant-inactive: color-mix(in srgb, var(--gabito-bg-layer-inactive) 73%, #4a6b52);
  --gabito-bg-variant-inactive-hover: color-mix(in srgb, var(--gabito-bg-layer-inactive-hover) 74%, #4a6b52);
}

/* Mapowanie na tokeny powierzchni (gdy ustawiona jasność lub odcień) */

html.theme-light[data-bg-brightness],
html.theme-gray[data-bg-brightness],
html.theme-vivid[data-bg-brightness],
html.theme-green[data-bg-brightness],
html.theme-dark[data-bg-brightness],
html.theme-amber[data-bg-brightness],
html.theme-light[data-bg-tint],
html.theme-gray[data-bg-tint],
html.theme-vivid[data-bg-tint],
html.theme-green[data-bg-tint],
html.theme-dark[data-bg-tint],
html.theme-amber[data-bg-tint] {
  --gabito-bg-app: var(--gabito-bg-variant-app);
  --gabito-bg-surface: var(--gabito-bg-variant-surface);
  --gabito-bg-surface-alt: var(--gabito-bg-variant-surface-alt);
  --gabito-bg-muted: var(--gabito-bg-variant-muted);
  --gabito-bg-sidebar: var(--gabito-bg-variant-sidebar);
  --gabito-bg-table-stripe: var(--gabito-bg-variant-table-stripe);
  --gabito-bg-input-disabled: var(--gabito-bg-variant-input-disabled);
  --gabito-bg-inactive: var(--gabito-bg-variant-inactive);
  --gabito-bg-inactive-hover: var(--gabito-bg-variant-inactive-hover);
}
/* src/assets/css/gabito-theme-forms.css */
/* Pola formularzy i modale — spójne z aktywnym motywem (nie-jasny też) */

html:not(.theme-light) input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='color']):not([type='file']),
html:not(.theme-light) select,
html:not(.theme-light) textarea {
  background-color: var(--gabito-bg-surface);
  color: var(--gabito-text);
  border-color: var(--gabito-border-input);
}

html:not(.theme-light) input::placeholder,
html:not(.theme-light) textarea::placeholder {
  color: var(--gabito-text-muted);
}

html:not(.theme-light) input:disabled,
html:not(.theme-light) select:disabled,
html:not(.theme-light) textarea:disabled {
  background-color: var(--gabito-bg-input-disabled);
  color: var(--gabito-text-muted);
}

html:not(.theme-light) .combobox-input,
html:not(.theme-light) .search-input-wrapper input {
  background-color: var(--gabito-bg-surface);
  color: var(--gabito-text);
  border-color: var(--gabito-border-input);
}

html:not(.theme-light) input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='color']):not([type='file']):focus,
html:not(.theme-light) select:focus,
html:not(.theme-light) textarea:focus,
html:not(.theme-light) .combobox-input:focus,
html:not(.theme-light) .search-input-wrapper input:focus {
  border-color: var(--gabito-color-primary-border, var(--gabito-color-primary));
  box-shadow:
    0 0 0 3px var(--gabito-focus-ring-primary),
    var(--gabito-form-focus-extra-glow, none);
}

html:not(.theme-light) .combobox-dropdown,
html:not(.theme-light) .employee-results,
html:not(.theme-light) .no-results {
  background: var(--gabito-bg-surface);
  border-color: var(--gabito-border);
  color: var(--gabito-text);
}

html:not(.theme-light) .employee-result:hover,
html:not(.theme-light) .combobox-dropdown li:hover {
  background: var(--gabito-bg-active-subtle);
}

/* src/assets/css/gabito-universal-message-modal.css */
/* UniversalMessageModal — spójny z aktywnym motywem Gabito */

.gabito-universal-msg-overlay {
  position: fixed;
  inset: 0;
  background: var(--gabito-overlay);
  /* bez backdrop-filter — obciąża GPU i spowalnia UI przy wielu warstwach */
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10010;
  animation: gabito-msg-fade-in 0.25s ease forwards;
}

.gabito-universal-msg-modal {
  background: var(--gabito-bg-surface);
  border: 2px solid var(--gabito-color-primary);
  border-radius: 10px;
  width: 90%;
  max-width: 520px;
  box-shadow: 0 12px 40px var(--gabito-shadow-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  color: var(--gabito-text);
  position: relative;
}

.gabito-universal-msg-header {
  padding: 18px 22px;
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--gabito-bg-surface-alt);
  border-bottom: 2px solid var(--gabito-color-primary);
}

.gabito-universal-msg-icon {
  font-size: 1.75rem;
  flex-shrink: 0;
  color: var(--gabito-color-primary);
}

.gabito-universal-msg-header h3 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: var(--gabito-text);
}

.gabito-universal-msg-close {
  margin-left: auto;
  padding: 0;
  background: transparent;
  color: var(--gabito-color-danger);
  border: 2px solid var(--gabito-color-danger);
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  border-radius: 50%;
  box-sizing: border-box;
  flex-shrink: 0;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.gabito-universal-msg-close::before {
  content: "×";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
  color: inherit;
}

.gabito-universal-msg-close:hover {
  background: var(--gabito-color-danger);
  color: var(--gabito-text-inverse);
  transform: rotate(90deg);
}

.gabito-universal-msg-body {
  padding: 22px;
  font-size: 0.98rem;
  line-height: 1.55;
  color: var(--gabito-text-secondary);
  flex: 1;
}

.gabito-universal-msg-body p {
  margin: 0 0 10px;
}

.gabito-universal-msg-footer {
  padding: 14px 22px;
  background: var(--gabito-bg-surface-alt);
  border-top: 1px solid var(--gabito-border);
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.gabito-universal-msg-btn {
  padding: 10px 24px;
  background: var(--gabito-color-primary);
  border: 2px solid var(--gabito-color-primary);
  color: var(--gabito-text-inverse);
  font-weight: 600;
  font-size: 0.95rem;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}

.gabito-universal-msg-btn:hover:not(:disabled) {
  background: var(--gabito-color-primary-hover);
  border-color: var(--gabito-color-primary-hover);
  transform: translateY(-1px);
}

.gabito-universal-msg-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* Success */
.gabito-universal-msg-success .gabito-universal-msg-modal {
  border-color: var(--gabito-color-success);
}

.gabito-universal-msg-success .gabito-universal-msg-icon {
  color: var(--gabito-color-success);
}

.gabito-universal-msg-success .gabito-universal-msg-header {
  border-bottom-color: var(--gabito-color-success);
}

.gabito-universal-msg-success .gabito-universal-msg-btn {
  background: var(--gabito-color-success);
  border-color: var(--gabito-color-success);
}

.gabito-universal-msg-success .gabito-universal-msg-btn:hover:not(:disabled) {
  background: var(--gabito-color-success-hover);
  border-color: var(--gabito-color-success-hover);
}

/* Error */
.gabito-universal-msg-error .gabito-universal-msg-modal {
  border-color: var(--gabito-color-danger);
}

.gabito-universal-msg-error .gabito-universal-msg-icon {
  color: var(--gabito-color-danger);
}

.gabito-universal-msg-error .gabito-universal-msg-header {
  border-bottom-color: var(--gabito-color-danger);
}

.gabito-universal-msg-error .gabito-universal-msg-btn {
  background: var(--gabito-color-danger);
  border-color: var(--gabito-color-danger);
}

.gabito-universal-msg-error .gabito-universal-msg-btn:hover:not(:disabled) {
  background: var(--gabito-color-danger-hover);
  border-color: var(--gabito-color-danger-hover);
}

@keyframes gabito-msg-fade-in {
  from {
    opacity: 0;
    transform: scale(0.96);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@media (max-width: 576px) {
  .gabito-universal-msg-modal {
    width: 96%;
    margin: 0 2%;
  }
}
/* src/assets/css/notes-info-colors.css */
/* Encoding: utf-8 */
/* Kolory kwadrantów i widoczności notatek — tokeny z gabito-theme.css */

.notes-info-light-quadrant-1,
.notes-info-strong-quadrant-1 {
  background: var(--gabito-note-quadrant-1);
  color: var(--gabito-note-on-accent);
  box-shadow: none;
}

.notes-info-light-quadrant-2,
.notes-info-strong-quadrant-2 {
  background: var(--gabito-note-quadrant-2);
  color: var(--gabito-note-on-accent);
  box-shadow: none;
}

.notes-info-light-quadrant-3,
.notes-info-strong-quadrant-3 {
  background: var(--gabito-note-quadrant-3);
  color: var(--gabito-note-on-accent);
  box-shadow: none;
}

.notes-info-light-quadrant-4,
.notes-info-strong-quadrant-4 {
  background: var(--gabito-note-quadrant-4);
  color: var(--gabito-note-on-accent);
  box-shadow: none;
}

.notes-info-light-visibility-private,
.notes-info-strong-visibility-private {
  background: var(--gabito-note-visibility-private);
  color: var(--gabito-note-on-accent);
  box-shadow: none;
}

.notes-info-light-visibility-public,
.notes-info-strong-visibility-public {
  background: var(--gabito-note-visibility-public);
  color: var(--gabito-note-on-accent);
  box-shadow: none;
}

.notes-info-light-visibility-client,
.notes-info-strong-visibility-client {
  background: var(--gabito-note-visibility-client);
  color: var(--gabito-note-on-accent);
  box-shadow: none;
}
/* c:\Gabito_system\gabito_front\src\assets\css\action-buttons.css */

/* Ogólne style dla przycisków akcji (dropdown i standalone) - spójne z modułami jak users/buttons/lead-sources */

/* Kontener dla przycisków akcji (np. w nagłówku karty) */
.actions-wrapper {
  position: relative;
  overflow: visible; /* DODANO: Aby dropdown mógł wychodzić poza rodzica bez obcinania */
}

/* Przycisk główny menu akcji (ellipsis) */
.action-btn {
  background: var(--gabito-bg-muted);
  border: none;
  border-radius: 6px;
  padding: 8px;
  cursor: pointer;
  color: var(--gabito-text-muted);
  transition: background 0.3s, border 0.3s;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 16px;
	height: 40px;
	width: 40px;


}

/* NOWE: Dodatkowy styl dla ikon wewnątrz .action-btn (obsługa Font Awesome) */
.action-btn i {
  font-size: 16px; /* Spójny rozmiar z tekstem ellipsis */
  color: inherit; /* Dziedziczy kolor z .action-btn */
  transition: color 0.3s; /* Płynna zmiana na hover */
}

.action-btn:hover:not(:disabled) i {
  color: var(--gabito-color-primary); /* Niebieski na hover dla ikony */
}

.action-btn:hover:not(:disabled) {
  background: var(--gabito-border);
}

/* UJEDNOLICONY STYL: Sygnalizacja historii zmian (przeniesiony z modułów clients/lead-sources) */
.action-btn.has-changes {
  border: 2px solid var(--gabito-color-warning);
  background-color: var(--gabito-bg-warning-subtle);
  color: var(--gabito-text);
  font-weight: 700;
}

.action-btn.has-changes:hover {
  background-color: var(--gabito-color-warning-hover);
  color: var(--gabito-text-inverse);
}

.action-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Admin dev aid: brak kontroli uprawnień w kodzie */
.gabito-btn-missing-permission {
  outline: 2px solid var(--gabito-color-danger, #dc3545) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--gabito-color-danger, #dc3545) 30%, transparent) !important;
}

.gabito-btn-missing-permission:hover:not(:disabled) {
  outline-color: var(--gabito-color-danger-hover, #c82333) !important;
}

/* Dropdown menu akcji */
.action-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  background: var(--gabito-bg-surface);
  border: 1px solid var(--gabito-bg-muted);
  border-radius: 8px;
  box-shadow: 0 8px 24px var(--gabito-shadow-sm);
  z-index: 1001;
  min-width: 140px;
  margin-top: 4px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.dropdown-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border: none;
  background: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
  font-size: 14px;
  color: var(--gabito-text);
  transition: background 0.3s;
  border-bottom: 1px solid var(--gabito-bg-surface-alt);
  font-weight: 700;
}

.dropdown-item:hover {
  background: var(--gabito-bg-surface-alt);
}

.dropdown-item:last-child {
  border-bottom: none;
}

.dropdown-item.danger {
  color: var(--gabito-color-danger);
}

.dropdown-item.danger:hover {
  background: var(--gabito-bg-danger-subtle);
}

.dropdown-item i {
  margin-right: 8px;
  width: 16px;
  text-align: center;
}

/* Specyficzne style dla typów akcji */

/* 'add' i 'create' - zielony */
.btn-add,
.btn-create,
.add-btn {
  background: var(--gabito-color-success);
  color: var(--gabito-bg-surface);
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  transition: background 0.3s, transform 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}

.btn-add:hover,
.btn-create:hover,
.add-btn:hover:not(:disabled) {
  background: var(--gabito-color-success-hover);
  transform: translateY(-1px);
}

/* 'edit' i 'view' - niebieski */
.btn-edit,
.btn-view {
  background: var(--gabito-color-primary);
  color: var(--gabito-bg-surface);
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  transition: background 0.3s, transform 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}

.btn-edit:hover,
.btn-view:hover {
  background: var(--gabito-color-primary-hover);
  transform: translateY(-1px);
}

/* 'delete' - czerwony */
.btn-delete {
  background: var(--gabito-color-danger);
  color: var(--gabito-bg-surface);
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  transition: background 0.3s, transform 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}

.btn-delete:hover {
  background: var(--gabito-color-danger-hover);
  transform: translateY(-1px);
}

/* 'permission' - szary */
.btn-permission {
  background: var(--gabito-color-muted);
  color: var(--gabito-bg-surface);
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  transition: background 0.3s, transform 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}

.btn-permission:hover {
  background: var(--gabito-color-secondary-hover);
  transform: translateY(-1px);
}

/* 'raport' i 'generate' - pomarańczowy */
.btn-raport,
.btn-generate {
  background: var(--gabito-color-warning);
  color: var(--gabito-bg-surface);
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  transition: background 0.3s, transform 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}

.btn-raport:hover,
.btn-generate:hover {
  background: var(--gabito-color-warning-hover);
  transform: translateY(-1px);
}

/* 'history' - fioletowy */
.btn-history {
  background: var(--gabito-color-accent-purple);
  color: var(--gabito-bg-surface);
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  transition: background 0.3s, transform 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}

.btn-history:hover {
  background: var(--gabito-color-accent-purple-hover);
  transform: translateY(-1px);
}

/* Ogólne style dla wszystkich przycisków akcji (disabled, responsywność) */
.btn-action:disabled,
.clear-btn {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.clear-btn {
  background: var(--gabito-color-muted);
  color: var(--gabito-bg-surface);
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  font-size: 16px;
  cursor: pointer;
  transition: background 0.3s, transform 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}

.clear-btn:hover:not(:disabled) {
  background: var(--gabito-color-secondary-hover);
  transform: translateY(-1px);
}

.action-dropdown.dropdown-left {
  right: auto;
  left: 0;
  transform: translateX(-100%); 
}


/* Responsywność - mniejsze przyciski na mobile */
@media (max-width: 768px) {
  .action-btn {
    width: 32px;
    height: 32px;
    font-size: 14px;
  }

  /* NOWE: Responsywność dla ikon w .action-btn */
  .action-btn i {
    font-size: 14px;
  }

  .dropdown-item {
    padding: 12px 14px;
    font-size: 18px;
    font-weight: 700;
  }

  .btn-add,
  .btn-edit,
  .btn-delete,
  .btn-permission,
  .btn-raport,
  .btn-generate,
  .btn-create,
  .btn-view,
  .btn-history,
  .add-btn,
  .clear-btn {
    padding: 10px 16px;
    font-size: 14px;
  }

  .action-dropdown {
    right: auto;
    left: 0;
    transform: none;
    width: fit-content;
    min-width: 120px;
    max-width: calc(100vw - 24px);
  }
  .action-dropdown.dropdown-left {
    right: 0;
    left: auto;
    transform: none;
  }
  
}/* src/assets/css/history-cards.css */

/* Kontener dla kart historii zmian – grid dla responsywności */
.history-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
  margin-top: 20px;
}

/* Pojedyncza karta zmiany */
.history-card {
  background: var(--gabito-bg-surface);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  transition: box-shadow 0.3s, transform 0.2s;
  border: 1px solid var(--gabito-bg-muted);
}

.history-card:hover {
  box-shadow: 0 8px 24px var(--gabito-shadow-sm);
  transform: translateY(-2px);
}

/* Nagłówek karty */
.card-header {
  padding: 16px;
  background: var(--gabito-bg-surface-alt);
  border-bottom: 1px solid var(--gabito-bg-muted);
}

/* Tytuł w nagłówku */
.card-title {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--gabito-text);
}

/* Zawartość karty */
.card-content {
  padding: 16px;
}

/* Opis zmiany */
.card-description {
  margin: 0;
  color: var(--gabito-text);
  line-height: 1.5;
  font-size: 14px;
  font-weight: 500;
}

.card-description strong {
  font-weight: 700;
}

/* Klasy dla typów wydarzeń – kolorowanie dla czytelności */
.event-created {
  color: var(--gabito-color-success); /* Zielony dla stworzenia */
}

.event-updated {
  color: var(--gabito-color-primary); /* Niebieski dla aktualizacji */
}

.event-deleted {
  color: var(--gabito-color-danger); /* Czerwony dla usunięcia */
}

.event-restored {
  color: var(--gabito-color-accent-purple); /* Fioletowy dla przywrócenia */
}

.event-default {
  color: var(--gabito-color-muted); /* Szary dla domyślnego */
}

/* Responsywność – na mniejszych ekranach stackuj karty */
@media (max-width: 768px) {
  .history-cards {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  
  .card-title {
    font-size: 16px;
  }
  
  .card-description {
    font-size: 13px;
  }
}/* src/assets/css/shared-card-styles.css */
/* Encoding: UTF-8 */
/* Shared styles for entity cards across modules */
/* === POPRAWIONA WERSJA Z WSPARCIEM DLA uniform-height === */

.shared-card {
  position: relative;
  background: var(--gabito-bg-surface);
  border-radius: 12px;
  box-shadow: 0 4px 12px var(--gabito-shadow-card);
  transition: box-shadow 0.3s, transform 0.2s;
  border: 1px solid var(--gabito-bg-muted);
  overflow: visible;

  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
  display: flex !important;
  flex-direction: column !important;
}

.shared-card:hover {
  box-shadow: 0 8px 24px var(--gabito-shadow-sm);
  transform: translateY(-2px);
  z-index: 2;
}

.shared-card.menu-open {
  z-index: 10;
}

.shared-card.inactive {
  background: var(--gabito-bg-inactive);
  border-color: var(--gabito-bg-danger-subtle);
}

.shared-card.inactive:hover {
  background: var(--gabito-bg-inactive-hover);
}

.shared-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 20px;
  background: var(--gabito-bg-surface-alt);
  border-bottom: 1px solid var(--gabito-bg-muted);
  min-width: 0;
}

.shared-card-header .header-left {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.shared-card-title {
  margin: 0;
  color: var(--gabito-text);
  font-size: 18px;
  font-weight: 700;
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.shared-card-content {
  padding: 20px;
  flex: 0 1 auto !important;
  min-height: 0;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.shared-card-description {
  margin: 0 0 0;
  color: var(--gabito-text);
  line-height: 1.5;
  font-size: 14px;
  font-weight: 500;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.shared-card-description strong {
  font-weight: 700;
  color: var(--gabito-text);
}

.shared-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.shared-card-meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--gabito-text);
  font-size: 14px;
  font-weight: 600;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.shared-card-meta-item i {
  color: var(--gabito-color-primary);
}

/* ==================== NOWE: UNIFORM HEIGHT (fix dla notatek i wszystkich modułów) ==================== */
.shared-card.uniform-height {
  height: 100% !important;
  align-self: stretch !important;
  min-height: 0 !important;
}

.shared-card.uniform-height .shared-card-content {
  flex: 1 1 auto !important; /* treść się rozciąga równo */
}

.shared-card.uniform-height .footer-wrapper {
  flex-shrink: 0;
  margin-top: auto;
}

/* Responsiveness */
@media (max-width: 768px) {
  .shared-card-header {
    padding-top: var(--gabito-card-content-gutter-y-top, 16px);
    padding-bottom: var(--gabito-card-content-gutter-y-top, 16px);
    padding-left: var(--gabito-card-content-gutter-left, 0);
    padding-right: var(--gabito-card-content-gutter-right, 0);
  }

  .shared-card-content {
    padding-top: var(--gabito-card-content-gutter-y-top, 16px);
    padding-bottom: var(--gabito-card-content-gutter-y-bottom, 16px);
    padding-left: var(--gabito-card-content-gutter-left, 0);
    padding-right: var(--gabito-card-content-gutter-right, 0);
  }

  .shared-card-title {
    font-size: 16px;
  }
}
/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */

/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */

/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */

/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell,
.gabito-btn-voucher-save {
  width: 42px;
  height: 42px;
  padding: 0;
  background: var(--gabito-color-success);
  color: var(--gabito-text-inverse);
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}

/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell {
  margin-right: 12px;
}

.gabito-btn-voucher-sell:hover:not(:disabled) {
  background: var(--gabito-color-success-hover);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}

/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save:hover:not(:disabled) {
  background: var(--gabito-color-success-hover);
  transform: translateY(-1px);
}

/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */

/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary {
  background: var(--gabito-color-muted);
  color: var(--gabito-text-inverse);
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}

.gabito-common-btn-secondary:hover:not(:disabled) {
  background: var(--gabito-color-secondary-hover);
}

.gabito-common-btn-secondary:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

.btn-text { display: inline; }
@media (max-width: 768px) {
  .btn-text { display: none; }
}

.gabito-form-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}

.gabito-form-btn {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}

/* === Kolory standardowe === */
.gabito-form-btn-save {
  background-color: var(--gabito-color-success);
  color: var(--gabito-bg-surface);
    min-height: 48px;

}

.gabito-form-btn-ok-save {
  background-color: var(--gabito-color-success);
  color: var(--gabito-bg-surface);
    min-height: 40px;

}

/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell / -send) → gabito-shared-ui.css */

.gabito-form-btn-save:hover:not(:disabled) {
  background-color: var(--gabito-color-success-hover);
  transform: translateY(-1px);
}

.gabito-form-btn-no-cancel {
  background-color: var(--gabito-color-success);
  color: var(--gabito-bg-surface);
      height: 40px !important;

}


.gabito-form-btn-yes-cancel {
  background-color: var(--gabito-color-danger) !important;
  color: var(--gabito-bg-surface) !important;
    height: 40px;

}

.gabito-form-btn-cancel {
  background-color: var(--gabito-color-danger);
  color: var(--gabito-bg-surface);
      height: 40px;

}

.gabito-form-btn-cancel:hover:not(:disabled) {
  background-color: var(--gabito-color-danger-hover);
  transform: translateY(-1px);
}

.gabito-form-btn:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}

/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn,
.calendar-settings-modal .gabito-form-btn,
.modal-footer .gabito-form-btn-cancel,
.modal-footer .gabito-form-btn-save {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;

}

/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}

/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {

  .modal-footer .gabito-form-btn,
  .calendar-settings-modal .gabito-form-btn {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
  }
}

/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit {
  background-color: var(--gabito-color-primary);
  color: var(--gabito-bg-surface);
    height: 40px;
  
}

.gabito-form-btn-visit-view {
  background-color: var(--gabito-color-primary);
  color: var(--gabito-bg-surface);
    height: 40px;
  
}


.gabito-form-btn-edit:hover:not(:disabled) {
  background-color: var(--gabito-color-primary-hover);
}

.gabito-form-btn-delete {
  background-color: var(--gabito-color-danger);
  color: var(--gabito-bg-surface);
}

.gabito-form-btn-delete:hover:not(:disabled) {
  background-color: var(--gabito-color-danger-hover);
}
/* src/assets/css/gabito-shared-ui.css */
/* Encoding: UTF-8 */
/*
 * Style UI współdzielone między modułami (nagłówki podglądów, layouty ogólne itd.).
 * Import globalny: main.js → import '@/assets/css/gabito-shared-ui.css'
 * Możesz dopisywać kolejne klasy wspólne w tym pliku.
 * Nagłówek bonu/karnetu: .gabito-form-btn-header-icon-sell (koszyk), .gabito-form-btn-header-icon-save (dyskietka), .gabito-form-btn-header-icon-send (samolot).
 * Checkbox — wariant „wyróżniony” (spójny rozmiar/akcent):
 *   • rozmiar/wygląd: .gabito-form-checkbox-standard — ten sam styl co checkbox w UniversalEntityPreview
 *     (26×26 px, ramka var(--gabito-text), zaznaczenie var(--gabito-color-primary) + „✔”).
 *   • .gabito-form-checkbox-dashed-save-outline — klasa legacy (bez widocznej obwódki; zostawiona w szablonach).
 * UniversalEntityPreview: .uep-header-actions .gabito-btn-edit.uep-edit-icon-only.
 * Modale (np. UniversalAdminModal): .gabito-modal-header-icon-close — jak .gabito-btn-close--preview-header.
 */

/* --- Kompaktowe przyciski ikon w nagłówku (np. UniversalEntityPreview → .uep-header-actions) --- */

/**
 * „Zapisz” / „Wyślij” — tylko ikona w nagłówku modala (dyskietka lub samolot), w jednej linii z zamknięciem.
 */
.gabito-form-btn-header-icon-save,
.gabito-form-btn-header-icon-send {
  background-color: var(--gabito-color-success);
  color: var(--gabito-bg-surface);
  border: none;
  min-height: 34px;
  height: 34px;
  min-width: 34px;
  width: 34px;
  padding: 0;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  box-sizing: border-box;
  transition: background-color 0.2s ease, transform 0.15s ease;
}

.gabito-form-btn-header-icon-save i,
.gabito-form-btn-header-icon-send i {
  font-size: 14px;
  line-height: 1;
}

.gabito-form-btn-header-icon-save:hover:not(:disabled),
.gabito-form-btn-header-icon-send:hover:not(:disabled) {
  background-color: var(--gabito-color-success-hover);
  transform: translateY(-1px);
}

.gabito-form-btn-header-icon-save:disabled,
.gabito-form-btn-header-icon-send:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}

/**
 * Wspólny checkbox (jak w UniversalEntityPreview.vue — treść .client-view-style):
 * 26×26 px, appearance: none, ramka, zaznaczenie niebieskie + biała „ptaszka” (SVG w tle).
 * W podglądzie UEP style :deep nakładają się na wszystkie checkboxy (także z tą klasą).
 * Znacznik zaznaczenia: SVG w background-image (nie ::after na input — Chrome go nie rysuje).
 */
input[type='checkbox'].gabito-form-checkbox-standard {
  width: 26px !important;
  height: 26px !important;
  border: 1px solid var(--gabito-text) !important;
  border-radius: 6px !important;
  background-color: var(--gabito-bg-surface) !important;
  background-image: none !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 16px 16px !important;
  cursor: default !important;
  opacity: 1 !important;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  flex-shrink: 0;
  box-sizing: border-box !important;
}

input[type='checkbox'].gabito-form-checkbox-standard:checked {
  background-color: var(--gabito-color-primary) !important;
  border-color: var(--gabito-color-primary) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23ffffff' d='M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 111.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 16px 16px !important;
}

input[type='checkbox'].gabito-form-checkbox-standard:disabled {
  opacity: 1 !important;
  cursor: default !important;
}

/* W komórkach tabeli API publicznego — bez dodatkowego offsetu w pionie */
.upapi-params-table-check input[type='checkbox'].gabito-form-checkbox-standard {
  margin-top: 0;
}

/* --- Tabela parametrów (Unit Public API, kartoteka klienta, szablony przypomnień) --- */

.upapi-table-scroll {
  overflow-x: auto;
  border: 1px solid var(--gabito-border);
  border-radius: 10px;
  background: var(--gabito-bg-surface);
}

.upapi-params-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.upapi-params-table thead th {
  text-align: left;
  padding: 10px 12px;
  background: var(--gabito-bg-surface-alt);
  color: var(--gabito-text);
  font-weight: 700;
  border-bottom: 1px solid var(--gabito-border);
}

.upapi-params-table-col-on {
  width: 140px;
  text-align: center;
}

.upapi-params-table tbody td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--gabito-bg-surface-alt);
  vertical-align: middle;
}

.upapi-params-table tbody tr:last-child td {
  border-bottom: none;
}

.upapi-params-table-label {
  color: var(--gabito-text-secondary);
  line-height: 1.35;
}

.upapi-params-table-check {
  text-align: center;
}

/* Moduł opinii klientów: filtry i modal ustawień (wyrównanie w flexie) */
.customer-reviews-filter-check input[type='checkbox'].gabito-form-checkbox-standard,
.customer-review-settings-checkbox input[type='checkbox'].gabito-form-checkbox-standard {
  margin-top: 0;
}

/* Publiczny formularz opinii (CustomerReviews) */
.pub-cr__check input[type='checkbox'].gabito-form-checkbox-standard {
  margin-top: 0;
}

/* Edytor parametrów systemu (UniversalEntityPreview → .editor-content) */
.editor-checkbox input[type='checkbox'].gabito-form-checkbox-standard {
  margin-top: 0;
}

/**
 * „Sprzedaj” (koszyk) — ten sam rozmiar co przycisk zapisu w nagłówku bonu/karnetu.
 */
.gabito-form-btn-header-icon-sell {
  background-color: var(--gabito-color-success);
  color: var(--gabito-bg-surface);
  border: none;
  min-height: 34px;
  height: 34px;
  min-width: 34px;
  width: 34px;
  padding: 0;
  margin: 0;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  box-sizing: border-box;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
  transition: background-color 0.2s ease, transform 0.15s ease;
}

.gabito-form-btn-header-icon-sell i {
  font-size: 14px;
  line-height: 1;
}

.gabito-form-btn-header-icon-sell:hover:not(:disabled) {
  background-color: var(--gabito-color-success-hover);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}

.gabito-form-btn-header-icon-sell:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}

/* --- UniversalEntityPreview: przycisk „Edytuj” w .uep-header-actions (mniejszy, w linii z zamknięciem) --- */

.uep-header-actions .gabito-btn-edit {
  height: 34px;
  min-height: 34px;
  padding: 0 12px;
  font-size: 14px;
  gap: 6px;
  box-sizing: border-box;
}

.uep-header-actions .gabito-btn-edit.uep-edit-icon-only {
  padding: 0;
  min-width: 34px;
  width: 34px;
  min-height: 34px;
  height: 34px;
  justify-content: center;
  flex-shrink: 0;
}

/* --- Zamknij w nagłówku modala (UniversalAdminModal, itp.) — spójnie z .gabito-btn-close--preview-header --- */

.gabito-modal-header-icon-close {
  position: relative;
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 8px;
  background: var(--gabito-color-danger);
  font-size: 0;
  line-height: 0;
  color: transparent;
  box-sizing: border-box;
  flex-shrink: 0;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.gabito-modal-header-icon-close::before {
  content: "×";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  color: var(--gabito-bg-surface);
  pointer-events: none;
  transform: translateY(-0.04em);
}

.gabito-modal-header-icon-close:hover:not(:disabled) {
  background: var(--gabito-color-danger-hover);
  transform: scale(1.05);
}

.gabito-modal-header-icon-close:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* src/assets/css/gabito-common-buttons.css */
/* Encoding: UTF-8 */
/* Wspólne, uniwersalne style przycisków akcji (edytuj, zamknij i przyszłe: anuluj, zapisz, edytuj itp.) */
/* Dostępne dla wszystkich modułów. Prefix "gabito-btn-" gwarantuje unikalność i spójność z resztą projektu. */

.gabito-btn-edit {
  height: 42px;
  padding: 0 16px;
  border: none;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  background: var(--gabito-color-primary);
  color: var(--gabito-text-inverse);
}

.gabito-btn-edit:hover:not(:disabled) {
  background: var(--gabito-color-primary-hover);
  transform: translateY(-1px);
}

/**
 * Krzyżyk przez ::before — absolutnie wyśrodkowany w kwadracie (× ma nieregularne metryki czcionki).
 * Znak w DOM zostaje dla czytników; ukryty (font-size: 0, color: transparent), żeby nie psuł flexa.
 */
.gabito-btn-close {
  position: relative;
  height: 40px;
  width: 40px;
  min-width: 40px;
  min-height: 40px;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex-shrink: 0;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
  color: transparent;
  cursor: pointer;
  transition: all 0.2s ease;
  background: var(--gabito-color-danger);
}

.gabito-btn-close::before {
  content: "×";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 600;
  line-height: 1;
  color: var(--gabito-text-inverse);
  pointer-events: none;
  transform: translateY(-0.04em);
}

.gabito-btn-close:hover:not(:disabled) {
  background: var(--gabito-color-danger-hover);
}

/**
 * Wariant jak przycisk zamknięcia w nagłówku UniversalEntityPreview
 * (m.in. vouchers/create, visit-history) — mniejszy kwadrat, ten sam kolor.
 */
.gabito-btn-close.gabito-btn-close--preview-header {
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  padding: 0;
  margin: 0;
  font-size: 0;
  line-height: 0;
  box-sizing: border-box;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.gabito-btn-close.gabito-btn-close--preview-header::before {
  font-size: 20px;
}

.gabito-btn-close.gabito-btn-close--preview-header:hover:not(:disabled) {
  transform: scale(1.05);
}

/* === PRZYSZŁE PRZYCISKI – dodawaj tutaj (przykłady gotowe do użycia) === */
.gabito-btn-save {
  background: var(--gabito-color-success);
  color: var(--gabito-bg-surface);
  padding: 0 20px;
  font-weight: 700;
  height:42px; 
  padding:0 20px; 
  font-weight:600;

}

.gabito-btn-save:hover:not(:disabled) {
  background: var(--gabito-color-success-hover);
}

.gabito-btn-cancel,
.gabito-btn-anuluj {
  background: var(--gabito-color-danger);
  color: var(--gabito-bg-surface);
  padding: 0 20px;
  font-weight: 700;
}

.gabito-btn-cancel:hover:not(:disabled),
.gabito-btn-anuluj:hover:not(:disabled) {
  background: var(--gabito-color-danger-hover);
}

.gabito-btn-edit-general {
  background: var(--gabito-color-primary);
  color: var(--gabito-bg-surface);
  padding: 0 20px;
  font-weight: 700;
}

.gabito-btn-edit-general:hover:not(:disabled) {
  background: var(--gabito-color-primary-hover);
}

/* === NOWE KLASY DEDYKOWANE DLA PRZYCISKÓW "Dalej" i "Anuluj" w NewHistorySetup.vue === */
.gabito-form-btn-dalej {
  background-color: var(--gabito-color-primary);
  color: var(--gabito-bg-surface);
  font-weight: 700;
  min-width: 140px;
}

.gabito-form-btn-dalej:hover:not(:disabled) {
  background-color: var(--gabito-color-primary-hover);
  transform: translateY(-1px);
}

.gabito-form-btn-anuluj {
  background-color: var(--gabito-color-muted);
  color: var(--gabito-bg-surface);
  font-weight: 700;
  min-width: 140px;
}

.gabito-form-btn-anuluj:hover:not(:disabled) {
  background-color: var(--gabito-color-secondary-hover);
  transform: translateY(-1px);
}


/* Responsywność wspólna dla wszystkich gabito-btn (pasuje do reszty projektu) */
@media (max-width: 768px) {

  .gabito-btn-edit,
  .gabito-btn-save,
  .gabito-btn-cancel,
  .gabito-btn-anuluj,
  .gabito-btn-edit-general,
  .gabito-form-btn-dalej,
  .gabito-form-btn-anuluj {
    height: 40px;
    font-size: 14px;
    padding: 0 14px;
  }

  .gabito-btn-close {
    height: 40px;
    width: 40px;
    min-width: 40px;
    min-height: 40px;
  }

  .gabito-btn-close::before {
    font-size: 22px;
  }

  .gabito-btn-close.gabito-btn-close--preview-header {
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
  }

  .gabito-btn-close.gabito-btn-close--preview-header::before {
    font-size: 20px;
  }
}

/**
 * Główny przycisk akcji (np. „Generuj”, „Zapisz”) — musi być dostępny globalnie.
 * Wiele widoków używa klasy bez lokalnego importu CSS; bez tych reguł może zostać
 * tylko jasny kolor tekstu z innego stylu → „biały na białym”.
 */
.gabito-btn-primary {
  background-color: var(--gabito-color-primary);
  color: var(--gabito-bg-surface);
  padding: 10px 24px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  box-sizing: border-box;
}

.gabito-btn-primary:hover:not(:disabled) {
  background-color: #0b5ed7;
  color: var(--gabito-bg-surface);
}

.gabito-btn-primary:visited {
  color: var(--gabito-bg-surface);
}

.gabito-btn-primary:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}/* src/assets/css/gabito-common-list-container.css */
/* Encoding: UTF-8 */
/* Jedno źródło stylów kontenera list (.gabito-common-list-container).
   Import globalny: main.js. Nie duplikować w modułach — tylko klasy specyficzne modułu. */

:root {
  --mobile-content-gutter: 14px;
  --gabito-list-page-gutter: 10px;
  /* Poziome odstępy treści kafelka — jak stopka z client-notes-notification-container */
  --gabito-card-content-gutter-left: 20px;
  --gabito-card-content-gutter-right: 26px;
  --gabito-card-content-gutter-y-top: 20px;
  --gabito-card-content-gutter-y-bottom: 24px;
}

.gabito-common-list-container {
  max-width: 100vw;
  margin: 0;
  padding: var(--gabito-list-page-gutter);
  background: var(--gabito-bg-surface);
  min-height: 100vh;
  height: auto;
  box-sizing: border-box;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  overflow: visible;
  overflow-y: visible;
  overscroll-behavior-y: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 768px) {
  :root {
    --gabito-list-page-gutter: var(--mobile-content-gutter);
    --gabito-card-content-gutter-left: 10px;
    --gabito-card-content-gutter-right: 10px;
    --gabito-card-content-gutter-y-top: 14px;
    --gabito-card-content-gutter-y-bottom: 14px;
  }

  .gabito-common-list-container {
    min-height: calc(100vh - 60px);
  }

  /* Kafelki na pełną szerokość — mniejszy odstęp treści od krawędzi ekranu niż nagłówek listy */
  .gabito-common-list-container [class$="-grid"],
  .gabito-common-list-container .items-grid {
    margin-left: calc(-1 * var(--gabito-list-page-gutter));
    margin-right: calc(-1 * var(--gabito-list-page-gutter));
    width: calc(100% + 2 * var(--gabito-list-page-gutter));
    box-sizing: border-box;
  }

  .gabito-common-list-container .shared-card-description {
    padding-right: 0 !important;
  }
}
/* src/assets/css/gabito-common-list-header.css */
/* Nagłówek listy (GabitoCommonTopHeader) — import w main.js */

.gabito-common-top-header {
  width: 100%;
  margin: 0 calc(-1 * var(--gabito-list-page-gutter)) 30px calc(-1 * var(--gabito-list-page-gutter));
  padding: 0;
  background: transparent;
  box-sizing: border-box;
}

.gabito-common-top-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  align-items: center;
  justify-content: space-between;
  padding: 0 10px;
}

.gabito-common-title-row-1 {
  order: 1;
  flex: 0 1 auto;
}

.gabito-common-title-row-2 {
  order: 2;
  flex: 1 1 auto;
  min-width: 240px;
  max-width: 420px;
  margin: 0 auto;
  text-align: center;
}

.gabito-common-title-row-3 {
  order: 3;
  flex: 0 1 auto;
  margin-left: auto;
}

.gabito-common-title-with-select {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: nowrap;
  width: 100%;
  margin-left: 20px;
}

.gabito-common-title-heading-group {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 1 auto;
  min-width: 0;
}

.gabito-common-title-heading-group h2 {
  margin: 0;
  color: var(--gabito-text);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
}

.gabito-common-title-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  justify-content: flex-end;
  width: 100%;
}

.gabito-common-list-error-message {
  color: var(--gabito-color-danger);
  background: var(--gabito-bg-danger-subtle);
  padding: 10px 15px;
  border-radius: 6px;
  border-left: 4px solid var(--gabito-color-danger);
  margin-top: 10px;
  flex-basis: 100%;
  font-weight: 600;
}

@media (max-width: 768px) {
  .gabito-common-top-inner {
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
  }

  .gabito-common-title-row-1,
  .gabito-common-title-row-2,
  .gabito-common-title-row-3 {
    order: initial;
    flex: 1 1 50%;
    margin: 0;
    justify-content: center !important;
    text-align: center !important;
  }

  .gabito-common-title-row-3 {
    margin-left: 0;
    justify-content: flex-end;
  }

  .gabito-common-title-with-select {
    margin: 0;
    padding-left: var(--gabito-list-page-gutter);
    padding-right: var(--gabito-list-page-gutter);
    justify-content: flex-start;
    box-sizing: border-box;
  }

  .gabito-common-top-header .gabito-common-list-error-message {
    margin-left: var(--gabito-list-page-gutter);
    margin-right: var(--gabito-list-page-gutter);
  }

  .gabito-common-title-heading-group h2 {
    font-size: 24px;
  }

  /* Nagłówki poza GabitoCommonTopHeader (formularze, legacy list-header) */
  .gabito-common-list-container > .list-header,
  .gabito-common-list-container > .form-header {
    padding-left: var(--gabito-list-page-gutter);
    padding-right: var(--gabito-list-page-gutter);
    box-sizing: border-box;
  }

  .gabito-common-title-actions {
    width: 100%;
    justify-content: flex-end;
    font-size: 1rem;
    font-weight: 400;
    align-items: center;
  }

  .gabito-common-title-actions .icon-actions-toolbar {
    width: 100%;
    justify-content: flex-end;
  }

  .gabito-common-title-actions > .gabito-common-btn-secondary:not(.icon-only),
  .gabito-common-title-actions > .gabito-common-admin-tools-btn-v1,
  .gabito-common-title-actions > .gabito-common-add-btn-v1,
  .gabito-common-title-actions > .gabito-common-clear-filters-btn-v1,
  .gabito-common-title-actions > .gabito-common-filters-toggle {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    align-self: center;
  }
}
/* src/assets/css/gabito-common-action-buttons-v1.css */
/* Encoding: UTF-8 */
/* Uniwersalne przyciski + uniwersalny nagłówek list (clients, visit-history, lead-sources itp.) */
/**
 * Przycisk „dodaj” (zielony kwadrat 42×42, np. fa-plus): pełny wygląd jest tutaj.
 * Użycie: nagłówek listy ORAZ pusty stan (empty-state) — ten sam class w obu miejscach.
 * W Vue: class="gabito-common-add-btn-v1 icon-only" — tylko ikona (np. fa-plus w empty-state).
 * Odstęp w pustym stanie listy: gabito-common-list-states.css
 */
.gabito-common-add-btn-v1,
.gabito-common-clear-filters-btn-v1,
.gabito-common-search-btn-v1 {
  height: 42px !important;
  min-height: 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  font-size: 16.5px !important;
  border: none !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  cursor: pointer;
  transition: all 0.2s ease;
  line-height: 0;
}
/* Wyśrodkowanie ikon Font Awesome w kwadratowych przyciskach (fa-plus itd.) */
.gabito-common-add-btn-v1 > i,
.gabito-common-clear-filters-btn-v1 > i,
.gabito-common-admin-tools-btn-v1 > i,
.gabito-common-filters-toggle > i,
.gabito-common-btn-secondary.icon-only > i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  line-height: 1;
  margin: 0;
  pointer-events: none;
}
.gabito-common-add-btn-v1 > i::before,
.gabito-common-clear-filters-btn-v1 > i::before,
.gabito-common-admin-tools-btn-v1 > i::before,
.gabito-common-filters-toggle > i::before,
.gabito-common-btn-secondary.icon-only > i::before {
  display: block;
  line-height: 1;
}
/* Tylko ikona — flex center + reset stylów empty-state na zagnieżdżonym <i> */
.gabito-common-add-btn-v1.icon-only {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}
.gabito-common-add-btn-v1.icon-only > i {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1em !important;
  height: 1em !important;
  margin: 0 !important;
  line-height: 1 !important;
  font-size: inherit !important;
  color: inherit !important;
}
/* Secondary — tylko ikona: ten sam rozmiar co .gabito-common-add-btn-v1 / .gabito-common-admin-tools-btn-v1 */
.gabito-common-btn-secondary.icon-only {
  height: 42px !important;
  min-height: 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  font-size: 16.5px !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
/* Nagłówek listy: gabito-common-list-header.css | Kontener: gabito-common-list-container.css */
.gabito-common-search-wrapper {
  position: relative;
  flex: 1;
  min-width: 300px;
}
.gabito-common-search-wrapper input {
  width: 100%;
  padding: 12px 16px;
  padding-right: 46px;
  border: 1px solid var(--gabito-border-input);
  border-radius: 8px;
  background: var(--gabito-bg-surface);
  color: var(--gabito-text);
  font-size: 16px;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.gabito-common-search-wrapper input:focus {
  border-color: var(--gabito-color-primary);
  box-shadow: 0 0 0 3px var(--gabito-focus-ring-primary);
  outline: none;
}
.gabito-common-list-select-control {
  min-width: 260px;
  padding: 12px 16px;
  border: 1px solid var(--gabito-border-input);
  border-radius: 8px;
  background: var(--gabito-bg-surface);
  color: var(--gabito-text);
  font-size: 16px;
  box-sizing: border-box;
  cursor: pointer;
  transition: border-color 0.3s, box-shadow 0.3s, background-color 0.2s;
}
.gabito-common-list-select-control:hover:not(:disabled):not(:focus) {
  border-color: var(--gabito-border-strong);
  background: var(--gabito-bg-surface-alt);
}
.gabito-common-list-select-control:focus {
  outline: none;
  border-color: var(--gabito-color-primary);
  box-shadow: 0 0 0 3px var(--gabito-focus-ring-primary);
}
.gabito-common-list-select-control:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  background: var(--gabito-bg-input-disabled);
}
.gabito-common-checkbox-filters-container {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.gabito-common-filter-label,
.gabito-common-filter-label.active-filter-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  color: var(--gabito-text);
  cursor: pointer;
  padding: 8px 12px;
  background: var(--gabito-bg-surface-alt);
  border-radius: 6px;
  border: 1px solid var(--gabito-border-input);
  transition: background 0.3s;
  font-weight: 600;
}
.gabito-common-filter-label:hover,
.gabito-common-filter-label.active-filter-label:hover {
  background: var(--gabito-bg-muted);
}
.gabito-common-filters-container {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  overflow: hidden;
  max-height: 500px;
  transition: max-height 0.3s ease-out, opacity 0.3s ease-out, padding 0.3s ease-out;
  opacity: 1;
  justify-content: space-around;
}
.gabito-common-filters-container.collapsed {
  max-height: 0;
  opacity: 0;
  padding: 0;
  margin: 0;
}
/* PRZYCISK FILTRÓW – ZAWSZE NIEBIESKI */
.gabito-common-filters-toggle {
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: var(--gabito-color-primary);
  color: var(--gabito-text-inverse);
  border: none;
  border-radius: 6px;
  width: 44px;
  height: 44px;
  font-size: 1.1rem;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.gabito-common-filters-toggle:hover {
  background: var(--gabito-color-primary-hover);
}
@media (max-width: 768px) {
  .gabito-common-filters-container,
  .gabito-common-search-section {
    flex-direction: column;
    width: 100%;
  }

  .gabito-common-search-wrapper {
    min-width: 100%;
  }
}
/* === PRZYCISKI AKCJI LISTY === */
.gabito-common-add-btn-v1 {
  background: var(--gabito-color-success) !important;
  color: var(--gabito-text-inverse) !important;
  font-size: 21px !important;
}
.gabito-common-add-btn-v1:hover {
  background: var(--gabito-color-success-hover) !important;
  transform: translateY(-1px) !important;
}
.gabito-common-clear-filters-btn-v1 {
  background-color: var(--gabito-color-danger) !important;
  color: var(--gabito-text-inverse) !important;
}
.gabito-common-clear-filters-btn-v1:hover {
  background-color: var(--gabito-color-secondary-hover) !important;
}
.gabito-common-clear-filters-btn-v1.active-filters {
  background-color: var(--gabito-color-danger) !important;
}
.gabito-common-search-btn-v1 {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  background-color: var(--gabito-color-primary);
  color: var(--gabito-text-inverse);
  border: none;
  width: 34px;
  height: 34px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 15px;
}
.gabito-common-search-btn-v1:hover {
  background-color: var(--gabito-color-primary-hover);
}
/* Responsywność mobile */
@media (max-width: 768px) {

  .gabito-common-add-btn-v1,
  .gabito-common-clear-filters-btn-v1,
  .gabito-common-filters-toggle,
  .gabito-common-btn-secondary.icon-only {
    width: 42px !important;
    height: 42px !important;
    font-size: 20px !important;

  }
}
/**
 * Przycisk ikonowy ustawień / narzędzi (fioletowy kwadrat 42×42, np. koło zębate w nagłówku list).
 * HTML: <button type="button" class="gabito-common-admin-tools-btn-v1" title="…"><i class="fas fa-cog"></i></button>
 * Style ładuj globalnie (main.js) lub przez niescoped <style>@import …</style> — nie importuj tego pliku
 * wewnątrz <style scoped> w komponentach ze slotami nagłówka (inaczej slot z rodzica nie dostanie wyglądu).
 */
.gabito-common-admin-tools-btn-v1 {
  height: 42px !important;
  min-height: 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  font-size: 16.5px !important;
  border: none !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  cursor: pointer;
  transition: all 0.2s ease;
  background: var(--gabito-color-accent-purple) !important;
  color: var(--gabito-text-inverse) !important;
}
.gabito-common-admin-tools-btn-v1:hover {
  background: var(--gabito-color-accent-purple-hover) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px var(--gabito-shadow-purple);
}
/* Responsywność mobile */
@media (max-width: 768px) {
  .gabito-common-admin-tools-btn-v1 {
    width: 42px !important;
    height: 42px !important;
    font-size: 20px !important;
  }
}/* src/assets/css/gabito-common-list-states.css */
/* Stany list: pusta lista, brak wynik�w (import w main.js) */
/* �adowanie: u�ywaj globalnego <GabitoPageLoading list message="?" /> (gabito-page-loading.css) */

.gabito-common-list-container .empty-state,
.gabito-common-list-container .no-results,
.gabito-common-list-container .no-data,
.gabito-common-list-container .error-state {
  text-align: center;
  padding: 60px 20px;
  color: var(--gabito-text-muted);
}

.gabito-common-list-container .empty-state > i,
.gabito-common-list-container .no-results > i {
  font-size: 48px;
  margin-bottom: 16px;
  display: block;
  color: var(--gabito-border);
}

.gabito-common-list-container .empty-state p,
.gabito-common-list-container .no-results p,
.gabito-common-list-container .no-data {
  font-size: 18px;
  margin-bottom: 20px;
  font-weight: 600;
  color: var(--gabito-text);
}

/**
 * Przycisk „dodaj” w pustym stanie listy (brak danych z backendu).
 * Wygląd przycisku: gabito-common-action-buttons-v1.css → .gabito-common-add-btn-v1
 * HTML: <button type="button" class="gabito-common-add-btn-v1 icon-only" title="…"><i class="fas fa-plus"></i></button>
 */
.gabito-common-list-container .empty-state .gabito-common-add-btn-v1,
.gabito-common-list-container .no-data .gabito-common-add-btn-v1 {
  margin-top: 4px;
}

.empty-state .gabito-common-add-btn-v1,
.no-data .gabito-common-add-btn-v1 {
  vertical-align: middle;
}

.client-voucher-list .empty-state .gabito-common-add-btn-v1 {
  margin-top: 16px;
}
/* src/assets/css/gabito-common-legacy-search.css */
/* Wzorzec .search-section / .search-container (listy przed GabitoCommonListOperations) */

.gabito-common-list-container .search-section,
.gabito-common-list-container .gabito-common-controls-section {
  margin-bottom: 20px;
  display: flex;
  gap: 15px;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
}

.gabito-common-list-container .search-container {
  position: relative;
  flex: 1;
  min-width: 300px;
}

.gabito-common-list-container .search-container .search-input,
.gabito-common-list-container .search-section .search-input {
  width: 100%;
  padding: 12px 16px;
  padding-right: 46px;
  border: 1px solid var(--gabito-border-input);
  border-radius: 8px;
  background: var(--gabito-bg-surface);
  color: var(--gabito-text);
  font-size: 16px;
  box-sizing: border-box;
  transition: border-color 0.3s, box-shadow 0.3s;
}

.gabito-common-list-container .search-container .search-input:focus,
.gabito-common-list-container .search-section .search-input:focus {
  outline: none;
  border-color: var(--gabito-color-primary);
  box-shadow: 0 0 0 3px var(--gabito-focus-ring-primary);
}

.gabito-common-list-container .search-container .gabito-common-search-btn-v1 {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
}

@media (max-width: 768px) {
  .gabito-common-list-container .search-container {
    min-width: 100%;
  }
}
/* Shared compact list tables (sales, clients, campaigns, vouchers). Import globally from main.js. */

.gabito-common-list-table-scroll {
  overflow-x: auto;
  margin-bottom: 16px;
}

table.gabito-common-list-table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  font-size: 0.9rem;
  background: var(--gabito-bg-surface);
}

table.gabito-common-list-table th,
table.gabito-common-list-table td {
  border: 1px solid var(--gabito-border);
  padding: 8px 10px;
  text-align: left;
  vertical-align: top;
}

table.gabito-common-list-table thead th {
  background: var(--gabito-bg-surface-alt);
  font-weight: 600;
  color: var(--gabito-text);
}

table.gabito-common-list-table tbody tr:nth-child(even) {
  background: var(--gabito-bg-table-stripe);
}

table.gabito-common-list-table tbody tr.is-inactive td {
  opacity: 0.85;
}

table.gabito-common-list-table .gabito-common-list-table__num {
  text-align: right;
  white-space: nowrap;
}

table.gabito-common-list-table .gabito-common-list-table__actions {
  width: 1%;
  white-space: nowrap;
}

table.gabito-common-list-table button.gabito-common-list-table__link {
  display: inline;
  padding: 0;
  margin: 0;
  border: none;
  background: none;
  color: var(--gabito-list-table-link, var(--gabito-color-primary));
  font: inherit;
  font-weight: 600;
  text-decoration: underline;
  cursor: pointer;
}

table.gabito-common-list-table button.gabito-common-list-table__link:hover {
  color: var(--gabito-list-table-link-hover, var(--gabito-color-primary-active));
}
/* gabito-common-list-operations.css
 * Opakowanie sekcji operacji listy (GabitoCommonListOperations.vue).
 */

.gabito-common-list-operations {
  margin-bottom: 20px;
}
/* gabito-common-search-field.css
 * Style dla GabitoCommonSearchField.vue (pole + przycisk szukaj).
 * Importuj w komponencie lub w bundlu — klasy z prefiksem, bez kolizji z innymi .search-input.
 */

.gabito-common-search-field {
  width: 100%;
  border-radius: 8px;
  display: flex;
  justify-content: center;
}

.gabito-common-search-field__container {
  position: relative;
  width: min(960px, 100%);
}

.gabito-common-search-field__input {
  width: 100%;
  padding: 12px 16px;
  padding-right: 50px;
  border: 1px solid var(--gabito-border-input);
  border-radius: 8px;
  font-size: 16px;
  box-sizing: border-box;
  background: var(--gabito-bg-surface);
  color: var(--gabito-text);
}

.gabito-common-search-field__input:focus {
  outline: none;
  border-color: var(--gabito-color-primary);
  box-shadow: 0 0 0 3px var(--gabito-focus-ring-primary-strong);
}

.gabito-common-search-field__input:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  background: var(--gabito-bg-input-disabled);
}
/* src/assets/css/gabito-mobile-ui.css */
/* Responsywne dopasowania UI — wąskie ekrany */

/* --- Przyciski „Zmień …” (termin, klient, usługa) --- */
@media (max-width: 768px) {
  .btn-change-employee,
  .btn-change-client,
  .btn-change-service {
    padding: 8px 10px;
    min-width: 40px;
    justify-content: center;
    font-size: 0;
    gap: 0;
  }

  .btn-change-employee i,
  .btn-change-client i,
  .btn-change-service i {
    font-size: 1rem;
    margin: 0;
  }

  .selected-employee,
  .selected-client,
  .selected-client-block,
  .selected-service-block {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 8px;
  }

  .selected-employee .employee-info,
  .selected-client .client-info,
  .selected-client-block .selected-client-main,
  .selected-service-block .selected-service-main {
    flex: 1 1 100%;
    min-width: 0;
  }

  .btn-change-employee,
  .btn-change-client,
  .btn-change-service {
    flex: 0 0 auto;
    align-self: flex-end;
    max-width: none;
    width: auto;
  }
}

/* --- Pasek ikon z overflow (IconActionsToolbar) --- */
.icon-actions-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
  min-width: 0;
}

.icon-actions-toolbar__inline {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
  min-width: 0;
}

.icon-actions-toolbar__toggle {
  display: none;
  flex-shrink: 0;
}

.icon-actions-toolbar--compact .icon-actions-toolbar__toggle {
  display: inline-flex;
}

.icon-actions-toolbar--compact .icon-actions-toolbar__item--overflow {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  pointer-events: none !important;
}

.icon-actions-toolbar__menu {
  min-width: 200px;
  max-width: min(320px, calc(100vw - 16px));
  padding: 6px;
  background: var(--gabito-bg-surface);
  border: 1px solid var(--gabito-border);
  border-radius: 8px;
  box-shadow: 0 8px 24px var(--gabito-shadow);
}

.icon-actions-toolbar__menu-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--gabito-text);
  font-size: 0.95rem;
  text-align: left;
  cursor: pointer;
}

.icon-actions-toolbar__menu-item:hover:not(:disabled) {
  background: var(--gabito-bg-active-subtle);
}

.icon-actions-toolbar__menu-item:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.icon-actions-toolbar__menu-item i {
  width: 1.25rem;
  text-align: center;
  color: var(--gabito-toolbar-menu-icon, var(--gabito-color-primary));
  text-shadow: var(--gabito-header-toolbar-icon-glow, none);
}

/* --- Ulubione ekrany w sidebarze (jak gwiazdka) --- */
@media (max-width: 768px) {
  .sidebar-content .favorite-screen-button {
    width: 42px;
    height: 42px;
    font-size: 1rem;
    padding: 6px;
  }

  .sidebar-content .favorite-screen-buttons {
    max-width: none;
    gap: 6px;
  }

  .sidebar-content .favorite-button {
    width: 42px;
    height: 42px;
    min-width: 42px;
    padding: 8px;
    font-size: 1.1rem;
  }
}

/* --- Nagłówek aplikacji: bardzo wąskie telefony --- */
@media (max-width: 420px) {
  .header {
    padding: 6px 8px;
  }

  .header-left h1 {
    font-size: 1.05em;
  }

  .header-user-info .unit-number {
    font-size: 0.75rem;
    max-width: 72px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .header-actions .icon-actions-toolbar__inline {
    gap: 6px;
  }

  .header-actions .toggle-sidebar-button,
  .header-actions .dashboard-button,
  .header-actions .contextual-help-header-btn,
  .header-actions .chatbot-button,
  .header-actions .notification-button,
  .header-actions .profile-button,
  .header-actions .favorite-screen-badge,
  .header-actions .icon-actions-toolbar__toggle {
    width: 36px;
    height: 36px;
    min-width: 36px;
    padding: 4px;
  }
}

/* --- Listy: mniejsze odstępy między ikonami --- */
@media (max-width: 420px) {
  .gabito-common-title-actions .icon-actions-toolbar__inline {
    gap: 6px;
  }
}
/* src/assets/css/gabito-card-hover-motion.css */
/* Encoding: UTF-8 */
/* Efekt „ruchomego” kafelka — osobno dla kafelków list i pozostałych paneli */

:root {
  --gabito-card-lift-shadow: 0 8px 24px var(--gabito-shadow-sm);
  --gabito-card-lift-transform: translateY(-2px);
}

/* —— Kafelki list (klienci, usługi, wyniki wyszukiwania…) —— */
.shared-card,
.color-card,
.notification-card,
.report-card,
.conversation-card,
.email-card,
.favorite-tile,
.note-tile {
  transition:
    box-shadow 0.3s ease,
    transform 0.3s ease,
    background 0.3s ease;
}

html:not(.gabito-tiles-static) .shared-card:hover,
html:not(.gabito-tiles-static) .color-card:hover,
html:not(.gabito-tiles-static) .notification-card:hover,
html:not(.gabito-tiles-static) .report-card:hover,
html:not(.gabito-tiles-static) .conversation-card:hover,
html:not(.gabito-tiles-static) .email-card:hover,
html:not(.gabito-tiles-static) .favorite-tile:hover,
html:not(.gabito-tiles-static) .note-tile:hover,
html:not(.gabito-tiles-static) .unit-config-card:hover {
  box-shadow: var(--gabito-card-lift-shadow);
  transform: var(--gabito-card-lift-transform);
}

html.gabito-tiles-static .shared-card:hover,
html.gabito-tiles-static .color-card:hover,
html.gabito-tiles-static .notification-card:hover,
html.gabito-tiles-static .report-card:hover,
html.gabito-tiles-static .conversation-card:hover,
html.gabito-tiles-static .email-card:hover,
html.gabito-tiles-static .favorite-tile:hover,
html.gabito-tiles-static .note-tile:hover,
html.gabito-tiles-static .unit-config-card:hover {
  transform: none !important;
}

/* —— Pozostałe komponenty (ustawienia, panele, formularze…) —— */
.gabito-lift-card,
.setting-card,
.history-card,
.resource-progress-card,
.unit-config-level-block,
.menu-card,
.payment-card,
.cart-item-card,
.add-item-card,
.promo-landing-card,
.my-profile-card,
.universal-editable-card,
.sms-history-conversation-card,
.upa-hub-card,
.ob-card,
.dashboard-nav,
.dashboard-resources,
.dashboard-notes-notification-container,
.voucher-stats-section,
.mini-bar-item,
.stat-item {
  transition:
    box-shadow 0.3s ease,
    transform 0.3s ease,
    background 0.3s ease;
}

html:not(.gabito-panels-static) .gabito-lift-card:hover,
html:not(.gabito-panels-static) .setting-card:hover,
html:not(.gabito-panels-static) .history-card:hover,
html:not(.gabito-panels-static) .resource-progress-card:hover,
html:not(.gabito-panels-static) .unit-config-level-block:hover,
html:not(.gabito-panels-static) .menu-card:hover,
html:not(.gabito-panels-static) .payment-card:hover,
html:not(.gabito-panels-static) .cart-item-card:hover,
html:not(.gabito-panels-static) .add-item-card:hover,
html:not(.gabito-panels-static) .promo-landing-card:hover,
html:not(.gabito-panels-static) .my-profile-card:hover,
html:not(.gabito-panels-static) .universal-editable-card:hover:not(.disabled),
html:not(.gabito-panels-static) .sms-history-conversation-card:hover,
html:not(.gabito-panels-static) .upa-hub-card:hover,
html:not(.gabito-panels-static) .ob-card:hover,
html:not(.gabito-panels-static) .dashboard-nav:hover,
html:not(.gabito-panels-static) .dashboard-resources:hover,
html:not(.gabito-panels-static) .dashboard-notes-notification-container:hover,
html:not(.gabito-panels-static) .voucher-stats-section:hover,
html:not(.gabito-panels-static) .mini-bar-item:hover,
html:not(.gabito-panels-static) .stat-item:hover {
  box-shadow: var(--gabito-card-lift-shadow);
  transform: var(--gabito-card-lift-transform);
}

html.gabito-panels-static .gabito-lift-card:hover,
html.gabito-panels-static .setting-card:hover,
html.gabito-panels-static .history-card:hover,
html.gabito-panels-static .resource-progress-card:hover,
html.gabito-panels-static .unit-config-level-block:hover,
html.gabito-panels-static .menu-card:hover,
html.gabito-panels-static .payment-card:hover,
html.gabito-panels-static .cart-item-card:hover,
html.gabito-panels-static .add-item-card:hover,
html.gabito-panels-static .promo-landing-card:hover,
html.gabito-panels-static .my-profile-card:hover,
html.gabito-panels-static .universal-editable-card:hover,
html.gabito-panels-static .sms-history-conversation-card:hover,
html.gabito-panels-static .upa-hub-card:hover,
html.gabito-panels-static .ob-card:hover,
html.gabito-panels-static .dashboard-nav:hover,
html.gabito-panels-static .dashboard-resources:hover,
html.gabito-panels-static .dashboard-notes-notification-container:hover,
html.gabito-panels-static .voucher-stats-section:hover,
html.gabito-panels-static .mini-bar-item:hover,
html.gabito-panels-static .stat-item:hover {
  transform: none !important;
}
