/*--------------------------------------------------------------------
[Colors]

- Text, dividers
- Brandng
- Backgrounds
- Status
- Rights
- Flags
- Pallette

---------------------------------------------------------------------*/
/*--------------------------------------------------------------------
[Text, dividers]                                                    */
/*--------------------------------------------------------------------
[Branding]                                                          */
/*--------------------------------------------------------------------
[Backgrounds]                                                       */
/*--------------------------------------------------------------------
[Status]                                                            */
/*--------------------------------------------------------------------
[Rights]                                                            */
/*--------------------------------------------------------------------
[Flags]                                                             */
/*--------------------------------------------------------------------
[Pallette]                                                          */
:root,
.theme-light {
  --bg-app: #fff;
  --font-on-dark: #fff;
  --font-on-light: #000;
}
.theme-dark {
  --bg-app: #121212;
  --font-on-dark: #000;
  --font-on-light: #fff;
}
@media (max-width: 500px) {
  .theme-dark {
    --bg-app: #000;
    --font-on-light: #d4d4d4;
    --font-on-dark: #000;
  }
}
/*--------------------------------------------------------------------
[_ThemeVars]

Semantic CSS custom properties for runtime theming.

Usage:
    color: var(--text-primary);
    background: var(--bg-surface);
    border: 1px solid var(--border-color);

Theme switching:
    <html class="theme-dark">  — forced dark
    <html class="theme-light"> — forced light
    (no class) + prefers-color-scheme — auto

LESS vars (@color_blue, @border_color, …) kept for legacy.
Rule: new code uses var(--...), legacy reads @less-var.
Dark = neutral grey, NOT blue tint.
---------------------------------------------------------------------*/
:root {
  /* ─── Surface layers (backgrounds) ─────────────────────────────── */
  --bg-app: #ffffff;
  /* page background */
  --bg-surface: #ffffff;
  /* cards, panels */
  --bg-surface-elevated: #fafafa;
  /* hover / elevated panels */
  --bg-muted: #f5f5f5;
  /* subtle backgrounds, disabled */
  --bg-inset: #eeeeee;
  /* inset inputs, wells */
  --bg-overlay: rgba(0, 0, 0, 0.5);
  /* ─── Text ─────────────────────────────────────────────────────── */
  --text-primary: #1a1a1a;
  --text-secondary: #5a5a5a;
  --text-muted: #8a8a8a;
  --text-on-accent: #ffffff;
  --text-link: #00a2e8;
  /* ─── Borders / dividers ──────────────────────────────────────── */
  --border-color: #e0e0e0;
  --border-color-strong: #c8c8c8;
  --border-color-subtle: #eeeeee;
  /* ─── Brand accent ────────────────────────────────────────────── */
  --color-primary: #00a2e8;
  --color-primary-hover: #1ab3f2;
  --color-primary-active: #0082b8;
  --color-primary-subtle: #dcf2ff;
  --color-primary-disabled: #88a2cc;
  /* ─── Status ──────────────────────────────────────────────────── */
  --color-success: #1dc81d;
  --color-success-subtle: #e1f5e1;
  --color-warning: #ffea01;
  --color-warning-subtle: #fff9cc;
  --color-danger: #d90036;
  --color-danger-subtle: #fde1e8;
  --color-info: #6299ba;
  /* ─── Accent (legacy) ─────────────────────────────────────────── */
  --color-gold: #fffba9;
  --color-yellow: #ffea01;
  /* ─── Skeleton placeholders ───────────────────────────────────── */
  --skeleton-bg: #e8e8e8;
  --skeleton-shimmer: #f5f5f5;
  --skeleton-header: #e0e0e0;
  /* ─── Shadows / elevation ─────────────────────────────────────── */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 2px 6px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);
  /* ─── Menu (left sidebar) ─────────────────────────────────────── */
  --menu-bg: #ffffff;
  --menu-item-bg: #ffffff;
  --menu-item-big-bg: #f8fbff;
  --menu-item-hover: #dcf2ff;
  --menu-item-active: #dcf2ff;
  --menu-item-border: #dde6f3;
  --menu-footer-bg: #e5eaf3;
  --menu-footer-text: #8e8e8e;
  --menu-divider: #dde6f3;
  /* ─── Footer (page bottom) ────────────────────────────────────── */
  --footer-bg: #f5f5f5;
  --footer-text: #5a5a5a;
  --footer-border: #e0e0e0;
  /* ─── Modal content box (original design = light blue) ───────── */
  --modal-content-bg: #dcf2ff;
  /* ─── Form inputs (.form-control, Bootstrap defaults) ────────── */
  --input-bg: #ffffff;
  --input-color: #495057;
  --input-border: #ced4da;
  --input-border-focus: #80bdff;
  --input-focus-shadow: rgba(0, 123, 255, 0.25);
  --input-placeholder: #6c757d;
  --input-disabled-bg: #e9ecef;
  /* ─── Wizard / registration inputs (.wp-control) ─────────────── */
  --wp-input-bg: #dcf2ff;
  --wp-input-bg-gradient-end: #bad8ea;
  --wp-input-border: #88a2cc;
  /* ─── Focus rings (Bootstrap-style 0.2rem shadow) ─────────────── */
  --focus-shadow-primary: rgba(0, 123, 255, 0.25);
  --focus-shadow-success: rgba(40, 167, 69, 0.25);
  --focus-shadow-danger: rgba(220, 53, 69, 0.25);
  --focus-shadow-accent: rgba(0, 162, 232, 0.25);
  /* ─── Alert text colors (dark text on subtle bg, BS4 tones) ──── */
  --alert-text-primary: #004085;
  --alert-text-success: #155724;
  --alert-text-danger: #721c24;
  --alert-text-warning: #856404;
  --alert-text-info: #0c5460;
}
/*--------------------------------------------------------------------
[Dark theme — neutral grey, NO blue tint]
---------------------------------------------------------------------*/
/*--------------------------------------------------------------------
[Anonymous avatar SVGs — theme recolor]

Applied to both <img src="...0_vector.svg"> and CSS background-image.
Light theme: SVG shown as-is. Dark theme: invert + hue-rotate to flip
whites/pastels to dark equivalents while preserving the silhouette.
---------------------------------------------------------------------*/
img[src$="0_vector.svg"],
img[src$="1_vector.svg"] {
  object-fit: contain;
}
html.theme-dark img[src$="0_vector.svg"],
.theme-dark img[src$="0_vector.svg"],
html.theme-dark img[src$="1_vector.svg"],
.theme-dark img[src$="1_vector.svg"],
html.theme-dark .box.man,
.theme-dark .box.man,
html.theme-dark .box.woman,
.theme-dark .box.woman,
html.theme-dark .anon-avatar-bg,
.theme-dark .anon-avatar-bg {
  filter: invert(0.86) hue-rotate(180deg);
}
@media (prefers-color-scheme: dark) {
  html:not(.theme-light):not(.theme-dark) img[src$="0_vector.svg"],
  html:not(.theme-light):not(.theme-dark) img[src$="1_vector.svg"],
  html:not(.theme-light):not(.theme-dark) .box.man,
  html:not(.theme-light):not(.theme-dark) .box.woman,
  html:not(.theme-light):not(.theme-dark) .anon-avatar-bg {
    filter: invert(0.86) hue-rotate(180deg);
  }
}
/* Explicit dark — user chose dark or html has class */
html.theme-dark,
body.theme-dark,
.theme-dark {
  --bg-app: #121212;
  --bg-surface: #1a1a1a;
  --bg-surface-elevated: #1f1f1f;
  --bg-muted: #181818;
  --bg-inset: #141414;
  --bg-overlay: rgba(0, 0, 0, 0.7);
  --text-primary: #e8e8e8;
  --text-secondary: #b0b0b0;
  --text-muted: #808080;
  --text-on-accent: #ffffff;
  --text-link: #4dc5f5;
  --border-color: #2e2e2e;
  --border-color-strong: #3a3a3a;
  --border-color-subtle: #242424;
  --color-primary: #1ab3f2;
  --color-primary-hover: #4dc5f5;
  --color-primary-active: #0099d6;
  --color-primary-subtle: #0f2a3a;
  --color-primary-disabled: #445569;
  --color-success-subtle: #14321a;
  --color-warning-subtle: #3a3100;
  --color-danger-subtle: #3a0e1a;
  --skeleton-bg: #2a2a2a;
  --skeleton-shimmer: #3a3a3a;
  --skeleton-header: #2a2a2a;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 2px 6px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.6);
  --menu-bg: #1a1a1a;
  --menu-item-bg: #1a1a1a;
  --menu-item-hover: #252525;
  --menu-item-active: #2a2a2a;
  --menu-item-border: #2e2e2e;
  --menu-footer-bg: #141414;
  --menu-footer-text: #808080;
  --menu-divider: #2e2e2e;
  --footer-bg: #181818;
  --footer-text: #b0b0b0;
  --footer-border: #2e2e2e;
  --modal-content-bg: #1f1f1f;
  --input-bg: #1f1f1f;
  --input-color: #e8e8e8;
  --input-border: #3a3a3a;
  --input-border-focus: #4da3ff;
  --input-focus-shadow: rgba(77, 163, 255, 0.25);
  --input-placeholder: #808080;
  --input-disabled-bg: #2a2a2a;
  --wp-input-bg: #1f1f1f;
  --wp-input-bg-gradient-end: #1a1a1a;
  --wp-input-border: #3a3a3a;
  --focus-shadow-primary: rgba(77, 163, 255, 0.35);
  --focus-shadow-success: rgba(29, 200, 29, 0.3);
  --focus-shadow-danger: rgba(255, 100, 120, 0.3);
  --focus-shadow-accent: rgba(77, 197, 245, 0.3);
  --alert-text-primary: #a5c8ff;
  --alert-text-success: #78dc78;
  --alert-text-danger: #ff8fa3;
  --alert-text-warning: #ffd96a;
  --alert-text-info: #6fc5d9;
}
/* Auto dark via OS — only when NO explicit theme class present */
@media (prefers-color-scheme: dark) {
  html:not(.theme-light):not(.theme-dark) {
    --bg-app: #121212;
    --bg-surface: #1a1a1a;
    --bg-surface-elevated: #1f1f1f;
    --bg-muted: #181818;
    --bg-inset: #141414;
    --bg-overlay: rgba(0, 0, 0, 0.7);
    --text-primary: #e8e8e8;
    --text-secondary: #b0b0b0;
    --text-muted: #808080;
    --text-on-accent: #ffffff;
    --text-link: #4dc5f5;
    --border-color: #2e2e2e;
    --border-color-strong: #3a3a3a;
    --border-color-subtle: #242424;
    --color-primary: #1ab3f2;
    --color-primary-hover: #4dc5f5;
    --color-primary-active: #0099d6;
    --color-primary-subtle: #0f2a3a;
    --color-primary-disabled: #445569;
    --color-success-subtle: #14321a;
    --color-warning-subtle: #3a3100;
    --color-danger-subtle: #3a0e1a;
    --skeleton-bg: #2a2a2a;
    --skeleton-shimmer: #3a3a3a;
    --skeleton-header: #2a2a2a;
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
    --shadow-md: 0 2px 6px rgba(0, 0, 0, 0.5);
    --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.6);
    --menu-bg: #1a1a1a;
    --menu-item-bg: #1a1a1a;
    --menu-item-hover: #252525;
    --menu-item-active: #2a2a2a;
    --menu-item-border: #2e2e2e;
    --menu-footer-bg: #141414;
    --menu-footer-text: #808080;
    --menu-divider: #2e2e2e;
    --footer-bg: #181818;
    --footer-text: #b0b0b0;
    --footer-border: #2e2e2e;
    --modal-content-bg: #1f1f1f;
    --input-bg: #1f1f1f;
    --input-color: #e8e8e8;
    --input-border: #3a3a3a;
    --input-border-focus: #4da3ff;
    --input-focus-shadow: rgba(77, 163, 255, 0.25);
    --input-placeholder: #808080;
    --input-disabled-bg: #2a2a2a;
    --wp-input-bg: #1f1f1f;
    --wp-input-bg-gradient-end: #1a1a1a;
    --wp-input-border: #3a3a3a;
    --focus-shadow-primary: rgba(77, 163, 255, 0.35);
    --focus-shadow-success: rgba(29, 200, 29, 0.3);
    --focus-shadow-danger: rgba(255, 100, 120, 0.3);
    --focus-shadow-accent: rgba(77, 197, 245, 0.3);
    --alert-text-primary: #a5c8ff;
    --alert-text-success: #78dc78;
    --alert-text-danger: #ff8fa3;
    --alert-text-warning: #ffd96a;
    --alert-text-info: #6fc5d9;
  }
}
/*--------------------------------------------------------------------
[_BootstrapReplace]

Minimal replacement for the specific Bootstrap 4 components actually
used on this site. Replaces ~200KB CDN dependency with ~8KB inline CSS.

Covered:
  - Form controls (.form-control)
  - Custom checkboxes / radios (.custom-control, .custom-checkbox, .custom-radio)
  - Badges (.badge, .badge-*)
  - Alerts (.alert, .alert-*)
  - Grid helpers (.row, .col-*, container widths)
  - Display utilities (.d-*, .flex-*)
  - Spacing utilities (.m[trbl]-[0-5], .p[trbl]-[0-5])
  - Text helpers (.text-center, .text-muted, etc.)

Not covered (remove from templates if used):
  - Modal API (use custom showModalWindow instead)
  - Dropdown toggle (no data-toggle="dropdown" on frontend)
  - Tooltip / Popover (no usage)
  - Carousel / Collapse (no usage)

All colors read from CSS vars — auto theme-switch.
---------------------------------------------------------------------*/
/* ─── Form controls ────────────────────────────────────────────────────
   Shape/spacing verbatim Bootstrap 4. All colors via --input-* vars
   (defined in _ThemeVars.less — single source of truth).
------------------------------------------------------------------------*/
body * {
  box-sizing: border-box;
}
.form-control {
  display: block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--input-color);
  background-color: var(--input-bg);
  background-clip: padding-box;
  border: 1px solid var(--input-border);
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.form-control:focus {
  color: var(--input-color);
  background-color: var(--input-bg);
  border-color: var(--input-border-focus);
  outline: 0;
  box-shadow: 0 0 0 0.2rem var(--input-focus-shadow);
}
.form-control:disabled,
.form-control[readonly] {
  background-color: var(--input-disabled-bg);
  opacity: 1;
}
.form-control::placeholder {
  color: var(--input-placeholder);
  opacity: 1;
}
.form-control-sm {
  height: calc(1.5em + 0.5rem + 2px);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}
.form-control-lg {
  height: calc(1.5em + 1rem + 2px);
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}
.form-group {
  margin-bottom: 1rem;
}
.form-text {
  display: block;
  margin-top: 0.25rem;
}
.form-inline {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}
.form-inline .form-control {
  display: inline-block;
  width: auto;
  vertical-align: middle;
}
/* ─── Custom checkboxes / radios ──────────────────────────────────── */
.custom-control {
  position: relative;
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5rem;
}
.custom-control-inline {
  display: inline-flex;
  margin-right: 1rem;
}
.custom-control-input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
.custom-control-input:checked ~ .custom-control-label::before {
  color: var(--text-on-accent);
  border-color: var(--color-primary);
  background-color: var(--color-primary);
}
.custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem var(--focus-shadow-accent);
}
.custom-control-input:disabled ~ .custom-control-label {
  color: var(--text-muted);
}
.custom-control-input:disabled ~ .custom-control-label::before {
  background-color: var(--bg-muted);
}
.custom-control-label {
  position: relative;
  margin-bottom: 0;
  vertical-align: top;
  cursor: pointer;
}
.custom-control-label::before {
  position: absolute;
  top: 0.25rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  pointer-events: none;
  content: "";
  background-color: var(--bg-surface);
  border: 1px solid var(--border-color-strong);
}
.custom-control-label::after {
  position: absolute;
  top: 0.25rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  content: "";
  background: 50% / 50% 50% no-repeat;
}
.custom-checkbox .custom-control-label::before {
  border-radius: 3px;
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
  left: -1px;
}
.custom-radio .custom-control-label::before {
  border-radius: 50%;
}
.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}
/* ─── Badges ──────────────────────────────────────────────────────── */
.badge {
  display: inline-block;
  padding: 0.25em 0.5em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 3px;
}
.badge-primary {
  color: var(--text-on-accent);
  background-color: var(--color-primary);
}
.badge-success {
  color: var(--text-on-accent);
  background-color: var(--color-success);
}
.badge-danger {
  color: var(--text-on-accent);
  background-color: var(--color-danger);
}
.badge-warning {
  color: var(--text-primary);
  background-color: var(--color-warning);
}
.badge-info {
  color: var(--text-on-accent);
  background-color: var(--color-info);
}
.badge-secondary {
  color: var(--text-on-accent);
  background-color: var(--text-muted);
}
/* ─── Alerts ──────────────────────────────────────────────────────── */
.alert {
  position: relative;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 4px;
}
.alert-primary {
  color: var(--alert-text-primary);
  background-color: var(--color-primary-subtle);
  border-color: var(--color-primary);
}
.alert-success {
  color: var(--alert-text-success);
  background-color: var(--color-success-subtle);
  border-color: var(--color-success);
}
.alert-danger {
  color: var(--alert-text-danger);
  background-color: var(--color-danger-subtle);
  border-color: var(--color-danger);
}
.alert-warning {
  color: var(--alert-text-warning);
  background-color: var(--color-warning-subtle);
  border-color: var(--color-warning);
}
.alert-info {
  color: var(--alert-text-info);
  background-color: var(--color-primary-subtle);
  border-color: var(--color-info);
}
.alert-dismissible {
  padding-right: 4rem;
}
/* ─── Validation feedback (Bootstrap 4 behavior) ─────────────────── */
.invalid-feedback,
.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
}
.invalid-feedback {
  color: var(--color-danger);
}
.valid-feedback {
  color: var(--color-success);
}
.was-validated .form-control:invalid ~ .invalid-feedback,
.was-validated .form-control:invalid ~ .invalid-tooltip,
.form-control.is-invalid ~ .invalid-feedback,
.form-control.is-invalid ~ .invalid-tooltip,
.was-validated .wp-control:invalid ~ .invalid-feedback,
.wp-control.is-invalid ~ .invalid-feedback,
.was-validated .custom-control-input:invalid ~ .invalid-feedback,
.custom-control-input.is-invalid ~ .invalid-feedback {
  display: block;
}
.was-validated .form-control:valid ~ .valid-feedback,
.form-control.is-valid ~ .valid-feedback {
  display: block;
}
.was-validated .form-control:invalid,
.form-control.is-invalid {
  border-color: var(--color-danger);
}
.was-validated .form-control:invalid:focus,
.form-control.is-invalid:focus {
  border-color: var(--color-danger);
  box-shadow: 0 0 0 0.2rem var(--focus-shadow-danger);
}
.was-validated .form-control:valid,
.form-control.is-valid {
  border-color: var(--color-success);
}
.was-validated .form-control:valid:focus,
.form-control.is-valid:focus {
  border-color: var(--color-success);
  box-shadow: 0 0 0 0.2rem var(--focus-shadow-success);
}
/* ─── Container (Bootstrap 4 defaults) ──────────────────────────── */
.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 576px) {
  .container,
  .container-sm {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container,
  .container-sm,
  .container-md {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container,
  .container-sm,
  .container-md,
  .container-lg {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl {
    max-width: 1140px;
  }
}
/* ─── Button base (Bootstrap 4 defaults) ─────────────────────────── */
.btn {
  display: inline-block;
  font-weight: 400;
  color: var(--text-primary);
  text-align: center;
  vertical-align: middle;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  cursor: pointer;
}
.btn:hover {
  color: var(--text-primary);
  text-decoration: none;
}
.btn:focus,
.btn.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem var(--focus-shadow-primary);
}
.btn.disabled,
.btn:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn:not(:disabled):not(.disabled):active,
.btn:not(:disabled):not(.disabled).active {
  background-image: none;
}
.btn-sm,
.btn-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}
.btn-lg,
.btn-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}
.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 0.5rem;
}
/* ─── Grid (subset for registration wizards) ─────────────────────── */
.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}
[class*="col-"] {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}
.col-1 {
  flex: 0 0 8.3333%;
  max-width: 8.3333%;
}
.col-2 {
  flex: 0 0 16.6667%;
  max-width: 16.6667%;
}
.col-3 {
  flex: 0 0 25%;
  max-width: 25%;
}
.col-4 {
  flex: 0 0 33.3333%;
  max-width: 33.3333%;
}
.col-5 {
  flex: 0 0 41.6667%;
  max-width: 41.6667%;
}
.col-6 {
  flex: 0 0 50%;
  max-width: 50%;
}
.col-7 {
  flex: 0 0 58.3333%;
  max-width: 58.3333%;
}
.col-8 {
  flex: 0 0 66.6667%;
  max-width: 66.6667%;
}
.col-9 {
  flex: 0 0 75%;
  max-width: 75%;
}
.col-10 {
  flex: 0 0 83.3333%;
  max-width: 83.3333%;
}
.col-11 {
  flex: 0 0 91.6667%;
  max-width: 91.6667%;
}
.col-12 {
  flex: 0 0 100%;
  max-width: 100%;
}
.col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
@media (min-width: 576px) {
  .col-sm-1 {
    flex: 0 0 8.3333%;
    max-width: 8.3333%;
  }
  .col-sm-2 {
    flex: 0 0 16.6667%;
    max-width: 16.6667%;
  }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
  .col-sm-5 {
    flex: 0 0 41.6667%;
    max-width: 41.6667%;
  }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 58.3333%;
    max-width: 58.3333%;
  }
  .col-sm-8 {
    flex: 0 0 66.6667%;
    max-width: 66.6667%;
  }
  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 83.3333%;
    max-width: 83.3333%;
  }
  .col-sm-11 {
    flex: 0 0 91.6667%;
    max-width: 91.6667%;
  }
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
}
@media (min-width: 768px) {
  .col-md-1 {
    flex: 0 0 8.3333%;
    max-width: 8.3333%;
  }
  .col-md-2 {
    flex: 0 0 16.6667%;
    max-width: 16.6667%;
  }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-md-4 {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
  .col-md-5 {
    flex: 0 0 41.6667%;
    max-width: 41.6667%;
  }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-7 {
    flex: 0 0 58.3333%;
    max-width: 58.3333%;
  }
  .col-md-8 {
    flex: 0 0 66.6667%;
    max-width: 66.6667%;
  }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-md-10 {
    flex: 0 0 83.3333%;
    max-width: 83.3333%;
  }
  .col-md-11 {
    flex: 0 0 91.6667%;
    max-width: 91.6667%;
  }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
}
@media (min-width: 992px) {
  .col-lg-1 {
    flex: 0 0 8.3333%;
    max-width: 8.3333%;
  }
  .col-lg-2 {
    flex: 0 0 16.6667%;
    max-width: 16.6667%;
  }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
  .col-lg-5 {
    flex: 0 0 41.6667%;
    max-width: 41.6667%;
  }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 58.3333%;
    max-width: 58.3333%;
  }
  .col-lg-8 {
    flex: 0 0 66.6667%;
    max-width: 66.6667%;
  }
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 83.3333%;
    max-width: 83.3333%;
  }
  .col-lg-11 {
    flex: 0 0 91.6667%;
    max-width: 91.6667%;
  }
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
}
@media (min-width: 1200px) {
  .col-xl-1 {
    flex: 0 0 8.3333%;
    max-width: 8.3333%;
  }
  .col-xl-2 {
    flex: 0 0 16.6667%;
    max-width: 16.6667%;
  }
  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
  .col-xl-5 {
    flex: 0 0 41.6667%;
    max-width: 41.6667%;
  }
  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 58.3333%;
    max-width: 58.3333%;
  }
  .col-xl-8 {
    flex: 0 0 66.6667%;
    max-width: 66.6667%;
  }
  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 83.3333%;
    max-width: 83.3333%;
  }
  .col-xl-11 {
    flex: 0 0 91.6667%;
    max-width: 91.6667%;
  }
  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
}
/* ─── Display utilities ──────────────────────────────────────────── */
.d-none {
  display: none !important;
}
.d-inline {
  display: inline !important;
}
.d-inline-block {
  display: inline-block !important;
}
.d-block {
  display: block !important;
}
.d-flex {
  display: flex !important;
}
.d-inline-flex {
  display: inline-flex !important;
}
.d-grid {
  display: grid !important;
}
.flex-row {
  flex-direction: row !important;
}
.flex-column {
  flex-direction: column !important;
}
.flex-wrap {
  flex-wrap: wrap !important;
}
.flex-nowrap {
  flex-wrap: nowrap !important;
}
.align-items-start {
  align-items: flex-start !important;
}
.align-items-center {
  align-items: center !important;
}
.align-items-end {
  align-items: flex-end !important;
}
.align-items-stretch {
  align-items: stretch !important;
}
.justify-content-start {
  justify-content: flex-start !important;
}
.justify-content-center {
  justify-content: center !important;
}
.justify-content-end {
  justify-content: flex-end !important;
}
.justify-content-between {
  justify-content: space-between !important;
}
.justify-content-around {
  justify-content: space-around !important;
}
/* ─── Spacing utilities ──────────────────────────────────────────── */
.m-0,
.mt-0,
.my-0 {
  margin-top: 0 !important;
}
.m-0,
.mr-0,
.mx-0 {
  margin-right: 0 !important;
}
.m-0,
.mb-0,
.my-0 {
  margin-bottom: 0 !important;
}
.m-0,
.ml-0,
.mx-0 {
  margin-left: 0 !important;
}
.m-1,
.mt-1,
.my-1 {
  margin-top: 0.25rem !important;
}
.m-1,
.mr-1,
.mx-1 {
  margin-right: 0.25rem !important;
}
.m-1,
.mb-1,
.my-1 {
  margin-bottom: 0.25rem !important;
}
.m-1,
.ml-1,
.mx-1 {
  margin-left: 0.25rem !important;
}
.m-2,
.mt-2,
.my-2 {
  margin-top: 0.5rem !important;
}
.m-2,
.mr-2,
.mx-2 {
  margin-right: 0.5rem !important;
}
.m-2,
.mb-2,
.my-2 {
  margin-bottom: 0.5rem !important;
}
.m-2,
.ml-2,
.mx-2 {
  margin-left: 0.5rem !important;
}
.m-3,
.mt-3,
.my-3 {
  margin-top: 1rem !important;
}
.m-3,
.mr-3,
.mx-3 {
  margin-right: 1rem !important;
}
.m-3,
.mb-3,
.my-3 {
  margin-bottom: 1rem !important;
}
.m-3,
.ml-3,
.mx-3 {
  margin-left: 1rem !important;
}
.m-4,
.mt-4,
.my-4 {
  margin-top: 1.5rem !important;
}
.m-4,
.mr-4,
.mx-4 {
  margin-right: 1.5rem !important;
}
.m-4,
.mb-4,
.my-4 {
  margin-bottom: 1.5rem !important;
}
.m-4,
.ml-4,
.mx-4 {
  margin-left: 1.5rem !important;
}
.m-5,
.mt-5,
.my-5 {
  margin-top: 3rem !important;
}
.m-5,
.mr-5,
.mx-5 {
  margin-right: 3rem !important;
}
.m-5,
.mb-5,
.my-5 {
  margin-bottom: 3rem !important;
}
.m-5,
.ml-5,
.mx-5 {
  margin-left: 3rem !important;
}
.p-0,
.pt-0,
.py-0 {
  padding-top: 0 !important;
}
.p-0,
.pr-0,
.px-0 {
  padding-right: 0 !important;
}
.p-0,
.pb-0,
.py-0 {
  padding-bottom: 0 !important;
}
.p-0,
.pl-0,
.px-0 {
  padding-left: 0 !important;
}
.p-1,
.pt-1,
.py-1 {
  padding-top: 0.25rem !important;
}
.p-1,
.pr-1,
.px-1 {
  padding-right: 0.25rem !important;
}
.p-1,
.pb-1,
.py-1 {
  padding-bottom: 0.25rem !important;
}
.p-1,
.pl-1,
.px-1 {
  padding-left: 0.25rem !important;
}
.p-2,
.pt-2,
.py-2 {
  padding-top: 0.5rem !important;
}
.p-2,
.pr-2,
.px-2 {
  padding-right: 0.5rem !important;
}
.p-2,
.pb-2,
.py-2 {
  padding-bottom: 0.5rem !important;
}
.p-2,
.pl-2,
.px-2 {
  padding-left: 0.5rem !important;
}
.p-3,
.pt-3,
.py-3 {
  padding-top: 1rem !important;
}
.p-3,
.pr-3,
.px-3 {
  padding-right: 1rem !important;
}
.p-3,
.pb-3,
.py-3 {
  padding-bottom: 1rem !important;
}
.p-3,
.pl-3,
.px-3 {
  padding-left: 1rem !important;
}
.p-4,
.pt-4,
.py-4 {
  padding-top: 1.5rem !important;
}
.p-4,
.pr-4,
.px-4 {
  padding-right: 1.5rem !important;
}
.p-4,
.pb-4,
.py-4 {
  padding-bottom: 1.5rem !important;
}
.p-4,
.pl-4,
.px-4 {
  padding-left: 1.5rem !important;
}
.p-5,
.pt-5,
.py-5 {
  padding-top: 3rem !important;
}
.p-5,
.pr-5,
.px-5 {
  padding-right: 3rem !important;
}
.p-5,
.pb-5,
.py-5 {
  padding-bottom: 3rem !important;
}
.p-5,
.pl-5,
.px-5 {
  padding-left: 3rem !important;
}
/* ─── Text helpers ──────────────────────────────────────────────── */
.text-left {
  text-align: left   !important;
}
.text-right {
  text-align: right  !important;
}
.text-center {
  text-align: center !important;
}
.text-muted {
  color: var(--text-muted) !important;
}
.text-danger {
  color: var(--color-danger) !important;
}
.text-success {
  color: var(--color-success) !important;
}
.text-primary {
  color: var(--color-primary) !important;
}
.font-weight-bold {
  font-weight: 700 !important;
}
.font-weight-normal {
  font-weight: 400 !important;
}
/* ─── Invisible for SEO/a11y ──────────────────────────────────── */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.form-control[input=text],
.form-control[input=password] {
  border: 1px solid var(--input-border);
  border-radius: 1px;
  color: var(--text-primary);
}
.form-control[input=text]::placeholder,
.form-control[input=password]::placeholder {
  color: var(--text-secondary);
}
.wp-control[type=text],
.wp-control[type=email],
.wp-control[type=password],
.wp-control[type=number],
.wp-control.content-editable {
  background-color: var(--wp-input-bg);
  border: 1px solid var(--wp-input-border);
  color: var(--text-primary);
  padding: 7px 10px;
  min-width: 250px;
  position: relative;
  height: 40px;
  box-sizing: border-box;
}
.wp-control[type=text]::placeholder,
.wp-control[type=email]::placeholder,
.wp-control[type=password]::placeholder,
.wp-control[type=number]::placeholder,
.wp-control.content-editable::placeholder {
  color: var(--text-primary);
}
.wp-control.content-editable[data-autoresize="true"] {
  height: auto;
  min-height: 40px;
  max-height: none;
  overflow: hidden;
}
.wp-control.content-editable > .text-section {
  position: relative;
}
.wp-control.content-editable > .text-section > .placeholder {
  position: absolute;
  user-select: none;
  pointer-events: none;
  top: 0;
  left: 0;
}
.wp-control.content-editable > .text-section > [data-text="false"] {
  pointer-events: none;
}
.wp-control.content-editable > .text-section > [data-text="true"] {
  outline: none;
  z-index: 5;
  max-height: 200px;
  overflow: auto;
}
.wp-control.content-editable.is-text > .text-section > .placeholder {
  display: none;
}
.wp-control.is-invalid {
  border-color: var(--color-danger);
  background-color: var(--color-danger-subtle);
}
textarea.wp-control {
  background-color: var(--wp-input-bg);
  border: 1px solid var(--wp-input-border);
  color: var(--text-primary);
  padding: 7px 10px;
}
.wp-group {
  display: flex;
  flex-direction: column;
}
.wp-group .ch_btn-section {
  max-width: 250px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.wp-group .ch_btn-section > * {
  margin-top: 15px;
}
.wp-group .ch_btn-section > *.invalid-feedback {
  margin-top: 0;
}
.wp-f-group {
  display: flex;
}
.wp-f-group > .wp-group {
  margin-right: 30px;
}
.wp-f-group > .wp-group:last-child {
  margin-right: 0;
}
.select2-init.is-invalid + .select2 .select2-selection.select2-selection--single {
  border-color: var(--color-danger);
  background: var(--color-danger-subtle);
}
.select2 {
  min-width: 250px;
  max-width: 100%;
}
.custom-control-label::before {
  border-radius: 0;
  background-color: var(--wp-input-bg);
  border: 1px solid var(--wp-input-border);
  width: 20px;
  height: 20px;
  color: var(--wp-input-border);
}
.custom-control-label::after {
  width: 20px;
  height: 20px;
}
.custom-checkbox {
  padding-left: 0;
  display: inline-flex;
  align-items: center;
}
.custom-checkbox .custom-control-label {
  margin-right: 10px;
  background-color: var(--wp-input-bg);
  border: 1px solid var(--wp-input-border);
  min-width: 20px;
  min-height: 20px;
}
.custom-checkbox .custom-control-label::before {
  display: none;
  position: static;
}
.custom-checkbox .custom-control-label::after {
  top: initial;
}
.custom-checkbox .is-invalid.custom-control-input + .custom-control-label {
  border-color: var(--color-danger);
  background-color: var(--color-danger-subtle);
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-color: var(--wp-input-bg);
  border: 1px solid var(--wp-input-border);
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2388a2cc' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E");
}
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent var(--wp-input-border) transparent;
}
.select2-container--default .select2-selection--single {
  background: linear-gradient(to bottom, var(--wp-input-bg) 0%, var(--wp-input-bg-gradient-end) 100%);
  height: 40px;
  border-radius: 0;
  border: 1px solid var(--wp-input-border);
}
.select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: var(--text-primary);
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 40px;
  padding-right: 30px;
  color: var(--text-primary);
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 38px;
  width: 30px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: var(--wp-input-border) transparent transparent transparent;
}
.select2-container--default .select2-selection--single .select2-selection__arrow::before {
  content: " ";
  position: absolute;
  height: 20px;
  width: 1px;
  top: 10px;
  left: 0;
  background-color: var(--wp-input-border);
}
.flex {
  display: flex;
}
.flex-b {
  display: inline-flex;
}
.f-jc-start {
  justify-content: flex-start;
}
.f-jc-end {
  justify-content: flex-end;
}
.f-jc-center {
  justify-content: center;
}
.f-jc-sa {
  justify-content: space-around;
}
.f-jc-sb {
  justify-content: space-between;
}
.f-ai-start {
  align-items: flex-start;
}
.f-ai-end {
  align-items: flex-end;
}
.f-ai-center {
  align-items: center;
}
.f-ai-sa {
  align-items: space-around;
}
.f-ai-sb {
  align-items: space-between;
}
.f-column {
  flex-direction: column;
}
.f-row {
  flex-direction: row;
}
.f-column-r {
  flex-direction: column-reverse;
}
.f-row-r {
  flex-direction: row-reverse;
}
.f-as-center {
  align-self: center;
}
.f-as-start {
  align-self: flex-start;
}
.f-as-end {
  align-self: flex-end;
}
.f-f-eq {
  flex: 1;
}
/* mobile */
@media (max-width: 600px) {
  .mobile-flex {
    display: flex;
  }
  .mobile-flex-b {
    display: inline-flex;
  }
  .mobile-f-jc-start {
    justify-content: flex-start;
  }
  .mobile-f-jc-end {
    justify-content: flex-end;
  }
  .mobile-f-jc-center {
    justify-content: center;
  }
  .mobile-f-jc-sa {
    justify-content: space-around;
  }
  .mobile-f-jc-sb {
    justify-content: space-between;
  }
  .mobile-f-ai-start {
    align-items: flex-start;
  }
  .mobile-f-ai-end {
    align-items: flex-end;
  }
  .mobile-f-ai-center {
    align-items: center;
  }
  .mobile-f-ai-sa {
    align-items: space-around;
  }
  .mobile-f-ai-sb {
    align-items: space-between;
  }
  .mobile-f-column {
    flex-direction: column;
  }
  .mobile-f-row {
    flex-direction: row;
  }
  .mobile-f-column-r {
    flex-direction: column-reverse;
  }
  .mobile-f-row-r {
    flex-direction: row-reverse;
  }
  .mobile-f-as-center {
    align-self: center;
  }
  .mobile-f-as-start {
    align-self: flex-start;
  }
  .mobile-f-as-end {
    align-self: flex-end;
  }
  .mobile-f-f-eq {
    flex: 1;
  }
}
@media (min-width: 600px) and (max-width: 1199px) {
  .tablet-flex {
    display: flex;
  }
  .tablet-flex-b {
    display: inline-flex;
  }
  .tablet-f-jc-start {
    justify-content: flex-start;
  }
  .tablet-f-jc-end {
    justify-content: flex-end;
  }
  .tablet-f-jc-center {
    justify-content: center;
  }
  .tablet-f-jc-sa {
    justify-content: space-around;
  }
  .tablet-f-jc-sb {
    justify-content: space-between;
  }
  .tablet-f-ai-start {
    align-items: flex-start;
  }
  .tablet-f-ai-end {
    align-items: flex-end;
  }
  .tablet-f-ai-center {
    align-items: center;
  }
  .tablet-f-ai-sa {
    align-items: space-around;
  }
  .tablet-f-ai-sb {
    align-items: space-between;
  }
  .tablet-f-column {
    flex-direction: column;
  }
  .tablet-f-row {
    flex-direction: row;
  }
  .tablet-f-column-r {
    flex-direction: column-reverse;
  }
  .tablet-f-row-r {
    flex-direction: row-reverse;
  }
  .tablet-f-as-center {
    align-self: center;
  }
  .tablet-f-as-start {
    align-self: flex-start;
  }
  .tablet-f-as-end {
    align-self: flex-end;
  }
}
body .panel {
  width: 100%;
}
body pre.tracy-dump {
  z-index: 999999;
  position: relative;
}
body .btn-secondary.disabled,
body .btn-secondary:disabled {
  color: #8a8a8a;
}
body .premissionModal .modal-content {
  max-width: 100%;
}
.list-group-horizontal {
  flex-direction: row!important;
  flex-wrap: wrap;
  align-items: center;
}
.list-group-horizontal .list-group-item {
  display: inline-flex;
  margin-bottom: 0;
  margin-left: -4px;
  margin-right: 0;
}
.list-group-horizontal .list-group-item:first-child {
  border-top-right-radius: 0;
  border-bottom-left-radius: 4px;
}
.list-group-horizontal .list-group-item:last-child {
  border-top-right-radius: 4px;
  border-bottom-left-radius: 0;
}
@media (min-width: 576px) {
  .premissionModal .modal-dialog {
    max-width: 80%;
  }
}
/*--------------------------------------------------------------------
[_Skeleton]

Shimmer placeholders for async-loaded lists.

Two variants:
  .skeleton-card    — mirrors .box-blue (profile grid)
  .skeleton-message — mirrors .message  (inzerát / conversation row)

Dark theme: supported via .theme-dark class and prefers-color-scheme.
---------------------------------------------------------------------*/
@keyframes sk-shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
.skeleton-card {
  min-width: 270px;
  height: 330px;
  box-sizing: border-box;
  border-radius: 6px;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
}
.skeleton-card .sk-top {
  height: 38px;
  background-color: var(--skeleton-header);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  gap: 8px;
}
.skeleton-card .sk-content {
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.skeleton-card .sk-content-row {
  display: flex;
  gap: 10px;
}
.skeleton-card .sk-lines {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding-top: 4px;
}
.skeleton-card .sk-text {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.skeleton-card .sk-nick {
  background: linear-gradient(90deg, var(--skeleton-bg) 25%, var(--skeleton-shimmer) 50%, var(--skeleton-bg) 75%);
  background-size: 400% 100%;
  animation: sk-shimmer 1.5s ease-in-out infinite;
  border-radius: 3px;
  width: 45%;
  height: 13px;
}
.skeleton-card .sk-meta {
  background: linear-gradient(90deg, var(--skeleton-bg) 25%, var(--skeleton-shimmer) 50%, var(--skeleton-bg) 75%);
  background-size: 400% 100%;
  animation: sk-shimmer 1.5s ease-in-out infinite;
  border-radius: 3px;
  width: 28%;
  height: 13px;
}
.skeleton-card .sk-image {
  background: linear-gradient(90deg, var(--skeleton-bg) 25%, var(--skeleton-shimmer) 50%, var(--skeleton-bg) 75%);
  background-size: 400% 100%;
  animation: sk-shimmer 1.5s ease-in-out infinite;
  border-radius: 3px;
  width: 82px;
  height: 100px;
  flex-shrink: 0;
  border-radius: 4px;
}
.skeleton-card .sk-line {
  background: linear-gradient(90deg, var(--skeleton-bg) 25%, var(--skeleton-shimmer) 50%, var(--skeleton-bg) 75%);
  background-size: 400% 100%;
  animation: sk-shimmer 1.5s ease-in-out infinite;
  border-radius: 3px;
  height: 12px;
  width: 80%;
}
.skeleton-card .sk-line:nth-child(2) {
  width: 65%;
}
.skeleton-card .sk-line:nth-child(3) {
  width: 72%;
}
.skeleton-card .sk-text-line {
  background: linear-gradient(90deg, var(--skeleton-bg) 25%, var(--skeleton-shimmer) 50%, var(--skeleton-bg) 75%);
  background-size: 400% 100%;
  animation: sk-shimmer 1.5s ease-in-out infinite;
  border-radius: 3px;
  height: 11px;
  width: 100%;
}
.skeleton-card .sk-text-line:nth-child(2) {
  width: 85%;
}
.skeleton-card .sk-text-line:nth-child(3) {
  width: 68%;
}
.skeleton-message {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  min-height: 75px;
  pointer-events: none;
  user-select: none;
}
.skeleton-message .sk-image {
  background: linear-gradient(90deg, var(--skeleton-bg) 25%, var(--skeleton-shimmer) 50%, var(--skeleton-bg) 75%);
  background-size: 400% 100%;
  animation: sk-shimmer 1.5s ease-in-out infinite;
  border-radius: 3px;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  flex-shrink: 0;
}
.skeleton-message .sk-nick {
  background: linear-gradient(90deg, var(--skeleton-bg) 25%, var(--skeleton-shimmer) 50%, var(--skeleton-bg) 75%);
  background-size: 400% 100%;
  animation: sk-shimmer 1.5s ease-in-out infinite;
  border-radius: 3px;
  height: 13px;
  width: 32%;
}
.skeleton-message .sk-time {
  background: linear-gradient(90deg, var(--skeleton-bg) 25%, var(--skeleton-shimmer) 50%, var(--skeleton-bg) 75%);
  background-size: 400% 100%;
  animation: sk-shimmer 1.5s ease-in-out infinite;
  border-radius: 3px;
  height: 11px;
  width: 15%;
}
.skeleton-message .sk-text-line {
  background: linear-gradient(90deg, var(--skeleton-bg) 25%, var(--skeleton-shimmer) 50%, var(--skeleton-bg) 75%);
  background-size: 400% 100%;
  animation: sk-shimmer 1.5s ease-in-out infinite;
  border-radius: 3px;
  height: 11px;
  width: 90%;
}
.skeleton-message .sk-text-line:nth-child(2) {
  width: 68%;
}
.skeleton-message .sk-text-box {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.skeleton-message .sk-title-row {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}
body {
  font-family: "Ubuntu", "Roboto", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 0.8125rem;
  background-color: var(--bg-app);
  color: var(--text-primary);
  margin: 0;
  line-height: 1.5;
}
body * {
  box-sizing: border-box;
}
body a {
  text-decoration: none;
}
body .grecaptcha-badge {
  display: none;
}
body > .container {
  height: calc(100% - 55px);
  overflow: auto;
}
body > .container > .right-container {
  display: flex;
  flex-direction: column;
}
.development-mode-enabled-warning {
  background: repeating-linear-gradient(-55deg, #ffc107, #ffc107 10px, #222 10px, #222 20px);
  color: white;
  font-weight: 600;
  font-size: 20px;
  padding: 0 15px;
  padding-bottom: 5px;
  position: fixed;
  top: 0;
  left: 10px;
  border-radius: 20px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  text-shadow: 2px 2px 0 black, 2px -2px 0 black, -2px 2px 0 black, -2px -2px 0 black, 2px 0px 0 black, 0px 2px 0 black, -2px 0px 0 black, 0px -2px 0 black;
  cursor: pointer;
  transition: padding 0.365s ease-out;
}
.development-mode-enabled-warning:hover {
  padding-top: 10px;
}
html {
  font-size: 100%;
}
html,
body {
  height: 100%;
}
.s-1 {
  color: var(--color-primary);
}
.no-results-message {
  grid-column: 1 / -1;
  padding: 40px 20px;
  text-align: center;
  font-size: 1rem;
  color: var(--text-secondary);
  background-color: var(--bg-surface);
  border: 1px dashed var(--border-color);
  border-radius: 6px;
  margin: 20px 0;
}
.debug-mode-acitve {
  border: 1px solid #6d0101;
  padding: 20px;
  background-color: white;
  color: #6d0101;
  font-weight: 600;
  font-size: 18px;
  max-width: 700px;
  position: absolute;
  top: 50px;
  z-index: 1000;
}
.debug-mode-acitve > div:first-child {
  position: absolute;
  top: 10px;
  right: 10px;
  font-weight: normal;
  font-size: 10px;
  cursor: pointer;
}
.debug-mode-acitve > div:first-child::after {
  content: "[zavřít]";
}
.script-content-div {
  visibility: hidden;
  opacity: 0.1;
  width: 0px;
  height: 0px;
  position: absolute;
  top: 0;
  left: 0;
}
.big3d-title {
  margin: 0.3em 0 0;
  color: white;
  font-size: 140px;
  text-shadow: 0 1px 0 #cccccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbbbbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaaaaa, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.2), 0 20px 20px rgba(0, 0, 0, 0.15);
}
a {
  color: var(--text-primary);
}
div {
  max-width: 100%;
}
.only-mobile {
  display: none;
}
.fc-yellow {
  color: var(--color-yellow);
}
.fc-blue {
  color: var(--color-primary);
}
.fc-green {
  color: var(--color-success);
}
.btn {
  display: inline-flex;
  align-items: center;
  font-family: inherit;
}
.btn.btn-blue {
  text-align: center;
  justify-content: center;
  padding: 7px 30px;
  font-weight: 500;
  color: var(--text-on-accent);
  border-radius: 3px;
  background-color: var(--color-primary);
}
.btn.btn-blue:hover {
  background-color: var(--color-primary-hover);
}
.btn.btn-blue.light {
  background-color: var(--color-primary-disabled);
}
.btn.btn-blue.light:hover {
  background-color: var(--color-primary-active);
}
.btn.btn-red {
  color: var(--text-on-accent);
  background-color: var(--color-danger);
}
.btn.btn-red:hover {
  background-color: #ff0d49;
}
.box-blue {
  display: inline-flex;
  flex-direction: column;
  min-width: 120px;
  min-height: auto;
}
.box-blue:not(.nb) {
  border: 1px solid var(--border-color-strong);
}
.box-blue > .top {
  padding: 5px 16px;
  background-color: var(--color-primary-disabled);
  color: var(--text-on-accent);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.box-blue > .top .fc-yellow {
  font-size: 1.1em;
  font-weight: 600;
}
.box-blue > .content {
  padding: 10px 0;
}
ul.blue-dots,
ul.blue-triangle {
  padding: 0;
  margin-bottom: 0;
  margin-top: 0;
}
ul.blue-dots > li,
ul.blue-triangle > li {
  list-style: none;
  font-size: 14px;
  margin-bottom: 5px;
  position: relative;
  padding-left: 22px;
}
ul.blue-dots > li strong,
ul.blue-triangle > li strong {
  color: var(--color-info);
}
ul.blue-dots > li::before,
ul.blue-triangle > li::before {
  content: "• ";
  margin-right: 3px;
  color: var(--color-info);
  position: absolute;
  left: 7px;
  top: -5px;
  font-size: 21px;
}
ul.blue-dots.checkboxes > li,
ul.blue-triangle.checkboxes > li {
  margin: 12px 0;
  padding-left: 28px;
}
ul.blue-dots.checkboxes > li::before,
ul.blue-triangle.checkboxes > li::before {
  left: 0;
  content: url("/images/generals/vip_checkbox.png");
}
ul.blue-dots.blue-triangle > li::before,
ul.blue-triangle.blue-triangle > li::before {
  content: "► ";
  top: 4px;
  font-size: 10px;
}
body .tooltip-inner {
  background-color: transparent;
  color: #4d778f;
  font-weight: 600;
}
body .tooltip.in {
  opacity: 1;
}
body .slider-handle {
  border: 1px solid #bfdced;
  background-color: #f8fcff;
  background-image: none;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 25px;
}
body .slider-handle:not(.hide) {
  display: flex;
}
body .slider-handle::after {
  content: " ";
  border-radius: 50%;
  background-color: #bfdced;
  width: 50%;
  height: 50%;
  position: absolute;
}
body .slider .tooltip {
  position: absolute;
  display: block;
  opacity: 1;
  pointer-events: none;
  z-index: 1;
}
body .slider .tooltip.top {
  margin-top: -28px;
}
body .slider.slider-horizontal .tooltip {
  transform: translateX(-50%);
}
body .slider.slider-horizontal .slider-track {
  background: #f8fcff;
  border: 1px solid #bfdced;
  height: 15px;
  border-radius: 10px;
}
body .slider.slider-horizontal .slider-track .slider-selection {
  background: transparent;
}
body .slider.slider-vertical .tooltip {
  transform: translateY(-50%);
}
.list-items {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
  align-content: flex-start;
}
.list-items .box-blue {
  min-width: 270px;
  max-height: 330px;
  width: 100%;
  color: var(--font-on-light);
}
.list-items .box-blue.vip {
  background-color: #a35757;
}
.list-items .box-blue.vip_gold {
  background-color: #f8df00;
}
.list-items .box-blue.with-star > .content {
  padding: 0 0 10px;
}
.list-items .box-blue.with-star > .content > .user-subinfo {
  display: grid;
  grid-template-columns: 1fr 100px;
}
.list-items .box-blue.with-star > .content .user-tags {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 10px 0;
}
.list-items .box-blue.with-star > .content .user-tags[data-stars='1'] [data-star-count='1'] {
  display: inline-block;
}
.list-items .box-blue.with-star > .content .user-tags[data-stars='2'] [data-star-count='2'] {
  display: inline-block;
}
.list-items .box-blue.with-star > .content .user-tags[data-stars='3'] [data-star-count='3'] {
  display: inline-block;
}
.list-items .box-blue.with-star > .content .user-tags > .c-badge {
  font-size: 11px;
  padding: 2px 7px;
  color: white;
  display: none;
}
.list-items .box-blue.with-star > .content .user-tags > .c-badge.green {
  background-color: #22b14c;
}
.list-items .box-blue.with-star > .content .user-tags > .c-badge.purple {
  background-color: #a349a4;
}
.list-items .box-blue.with-star > .content .user-tags > .c-badge.blue {
  background-color: #00a2e8;
  align-self: flex-start;
}
.list-items .box-blue.with-star > .content .user-tags > .c-badge.gray {
  background-color: #c3c3c3;
}
.list-items .box-blue.with-star > .content .user-tags > .c-badge.brown {
  background-color: #b97a57;
}
.list-items .box-blue.with-star > .content .star-list {
  height: 30px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  box-sizing: border-box;
}
.list-items .box-blue.with-star > .content .star-list > .box {
  width: 20px;
  height: 20px;
}
.list-items .box-blue.with-star > .content .star-list > .star {
  background: url("/images/generals/list-star.png") no-repeat;
  background-size: 100%;
  margin: 0 2px;
}
.list-items .box-blue.with-star > .content .star-list > .question {
  color: #424242;
}
.list-items .box-blue.with-star > .content .star-list > .question::after {
  content: "?";
  font-size: 22px;
  position: relative;
  top: -7px;
  left: 5px;
  opacity: 0.6;
}
.list-items .box-blue.with-star > .content > .top {
  height: 120px;
  padding-bottom: 10px;
}
.list-items .box-blue:hover {
  text-decoration: none;
}
.list-items .box-blue .content {
  display: flex;
  flex-direction: column;
}
.list-items .box-blue .content > .top {
  height: 150px;
  width: 100%;
  display: flex;
  align-items: center;
}
.list-items .box-blue .content > .top > div {
  width: 50%;
}
.list-items .box-blue .content > .top > div:first-child {
  padding-left: 20px;
}
.list-items .box-blue .content > .top > div > img {
  max-width: 100px;
  max-height: 100px;
}
.list-items .box-blue .content > .top > .basic-info-container > .basic-info {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  border: 1px solid #6299ba;
  margin: 10px;
  font-size: 20px;
  background-color: #dcf2ff;
  color: #6299ba;
  padding: 7px 12px 3px 15px;
  color: var(--font-on-light);
  margin-bottom: -7px;
}
.list-items .box-blue .content > .top > .basic-info-container > .basic-info ul.blue-dots > li {
  font-size: 12px;
}
.list-items .box-blue .content > .text {
  height: 57px;
  font-size: 13px;
  overflow: hidden;
}
.list-items .box-blue {
  max-width: 308px;
}
@keyframes blinker {
  0% {
    color: white;
  }
  49% {
    color: white;
  }
  50% {
    color: transparent;
  }
  99% {
    color: transparent;
  }
}
.theme-dark {
  background-color: var(--bg-app);
  color: var(--text-primary);
}
.theme-dark body {
  background-color: var(--bg-app);
  color: var(--text-primary);
}
.theme-dark a {
  color: var(--text-primary);
}
.theme-dark .fc-blue {
  color: var(--color-primary);
}
.theme-dark .fc-green {
  color: var(--color-success);
}
.theme-dark .fc-yellow {
  color: var(--color-yellow);
}
.theme-dark .box-blue:not(.nb) {
  border-color: var(--border-color);
}
.theme-dark .box-blue > .top {
  background-color: var(--bg-surface-elevated);
  color: var(--text-primary);
}
.theme-dark .box-blue > .content {
  background-color: var(--bg-muted);
  color: var(--text-primary);
}
.theme-dark .box-blue > .basic-info-container > .basic-info {
  background-color: var(--bg-inset);
  border-color: var(--border-color);
  color: var(--text-primary);
}
.theme-dark .box-blue:hover {
  text-decoration: none;
}
.theme-dark .list-items .box-blue > .top {
  background-color: var(--bg-surface-elevated);
}
.theme-dark .list-items .box-blue .content {
  background-color: var(--bg-muted);
}
.theme-dark .list-items .box-blue .content > .top > .basic-info-container > .basic-info {
  background-color: var(--bg-inset);
  border-color: var(--border-color);
}
.theme-dark .list-items .box-blue .content > .text {
  color: var(--text-secondary);
}
.theme-dark ul.blue-dots > li::before,
.theme-dark ul.blue-triangle > li::before {
  color: var(--color-info);
}
.theme-dark .debug-mode-acitve {
  background-color: #1a0000;
  color: #ff9090;
}
@media (min-width: 1200px) {
  .container {
    max-width: 1900px;
  }
}
@media (min-width: 1920px) {
  body > .container {
    max-width: 1920px;
  }
}
@media screen and (max-width: 960px) {
  .container,
  body > .container {
    max-width: 100%;
    padding: 0;
  }
}
@media screen and (max-width: 600px) {
  body > .container {
    height: 100%;
  }
  .container {
    padding-right: 0;
    padding-left: 0;
  }
  .only-mobile {
    display: flex;
  }
  .hide-mobile {
    display: none !important;
  }
  body > .container > .right-container {
    display: block;
  }
  .list-items .box-blue {
    max-width: none;
    max-height: none;
    width: 100%;
  }
  .list-items .box-blue .content > .text {
    height: auto;
    overflow: initial;
  }
  .list-items .box-blue .content > .top > .basic-info-container > .basic-info {
    margin-bottom: 3px;
  }
  .list-items .box-blue .content > .top > .basic-info-container > .basic-info ul.blue-dots > li {
    font-size: 14px;
  }
}
/*# sourceMappingURL=global.css.map */