﻿@charset "UTF-8";
:root {
  /* VESTA TOKENS */
  --vesta-primary: #6366F1;
  --vesta-primary-hover: #4F46E5;
  --vesta-primary-active: #4338CA;
  --vesta-primary-subtle: #EEF2FF;
  --vesta-primary-rgb: 99, 102, 241;
  --vesta-primary-strong: #4F46E5;
  --vesta-secondary: #64748B;
  --vesta-secondary-hover: #475569;
  --vesta-secondary-subtle: #F1F5F9;
  --vesta-secondary-rgb: 100, 116, 139;
  --vesta-success: #22C55E;
  --vesta-success-subtle: #F0FDF4;
  --vesta-success-rgb: 34, 197, 94;
  --vesta-warning: #F59E0B;
  --vesta-warning-subtle: #FFFBEB;
  --vesta-warning-rgb: 245, 158, 11;
  --vesta-danger: #EF4444;
  --vesta-danger-subtle: #FEF2F2;
  --vesta-danger-rgb: 239, 68, 68;
  --vesta-info: #06B6D4;
  --vesta-info-subtle: #ECFEFF;
  --vesta-info-rgb: 6, 182, 212;
  --vesta-bg-body: #F8FAFC;
  --vesta-bg-card: #FFFFFF;
  --vesta-bg-sidebar: #0F172A;
  --vesta-bg-sidebar-2: #1E293B;
  --vesta-sidebar-section: #94A3B8;
  --vesta-sidebar-section-strong: #E2E8F0;
  --vesta-sidebar-rule: rgba(148, 163, 184, .16);
  --vesta-bg-topbar: #FFFFFF;
  --vesta-bg-hover: #F1F5F9;
  --vesta-bg-active: #E2E8F0;
  --vesta-bg-input: #FFFFFF;
  --vesta-text-primary: #0F172A;
  --vesta-text-secondary: #475569;
  --vesta-text-muted: #5A6779;
  --vesta-text-inverse: #FFFFFF;
  --vesta-border: #E2E8F0;
  --vesta-border-subtle: #F1F5F9;
  --vesta-border-input: #CBD5E1;
  --vesta-radius-sm: 0.375rem;
  --vesta-radius: 0.5rem;
  --vesta-radius-lg: 0.75rem;
  --vesta-radius-xl: 1rem;
  --vesta-radius-full: 9999px;
  /* Elevation — slate-tinted (cool) for a cohesive, premium feel that matches
     the slate-900 sidebar. Intensities kept close to the previous ramp so
     existing surfaces do not visibly jump; only the hue warms toward slate. */
  --vesta-shadow-sm: 0 1px 2px 0 rgba(15,23,42,.06);
  --vesta-shadow: 0 4px 6px -1px rgba(15,23,42,.08), 0 2px 4px -2px rgba(15,23,42,.05);
  --vesta-shadow-md: 0 10px 15px -3px rgba(15,23,42,.09), 0 4px 6px -4px rgba(15,23,42,.05);
  --vesta-shadow-lg: 0 20px 25px -5px rgba(15,23,42,.12), 0 8px 10px -6px rgba(15,23,42,.06);
  --vesta-shadow-premium: 0 0 0 1px rgba(15,23,42,.05), 0 20px 50px 0 rgba(15,23,42,.12);
  --vesta-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --vesta-font-display: "Plus Jakarta Sans", var(--vesta-font);
  --vesta-font-mono: "JetBrains Mono", "Fira Code", ui-monospace, monospace;
  /* Typographic scale — root 16px, body 14px (0.875rem).
     Single source for sizes/weights/line-heights/tracking so components stop
     hardcoding px. Display sizes (xl+) are intended with --vesta-font-display. */
  --vesta-fs-2xs: 0.625rem; /* 10px  — eyebrow / uppercase micro-labels */
  --vesta-fs-xs: 0.6875rem; /* 11px  — table headers, meta chips */
  --vesta-fs-sm: 0.8125rem; /* 13px  — secondary text, dense tables */
  --vesta-fs-base: 0.875rem; /* 14px  — body (matches --bs-body-font-size) */
  --vesta-fs-md: 1rem; /* 16px  — emphasized body, card titles */
  --vesta-fs-lg: 1.125rem; /* 18px  — section headings */
  --vesta-fs-xl: 1.375rem; /* 22px  — page / panel titles */
  --vesta-fs-2xl: 1.75rem; /* 28px  — hero headings */
  --vesta-fs-3xl: 2.25rem; /* 36px  — KPI / stat figures */
  --vesta-lh-tight: 1.2; /* headings, KPI numbers */
  --vesta-lh-snug: 1.35; /* multi-line titles */
  --vesta-lh-base: 1.5; /* body copy */
  --vesta-fw-regular: 400;
  --vesta-fw-medium: 500;
  --vesta-fw-semibold: 600;
  --vesta-fw-bold: 700;
  --vesta-tracking-tight: -0.01em; /* large display type */
  --vesta-tracking-normal: 0;
  --vesta-tracking-wide: 0.06em; /* table headers */
  --vesta-tracking-wider: 0.08em; /* eyebrow labels */
  --vesta-sidebar-width: 260px;
  --vesta-sidebar-collapsed-width: 72px;
  --vesta-topbar-height: 64px;
  /* BOOTSTRAP 5 VARIABLE OVERRIDES */
  --bs-primary: var(--vesta-primary);
  --bs-primary-rgb: var(--vesta-primary-rgb);
  --bs-primary-text-emphasis: var(--vesta-primary-active);
  --bs-primary-bg-subtle: var(--vesta-primary-subtle);
  --bs-primary-border-subtle: #C7D2FE;
  --bs-secondary: var(--vesta-secondary);
  --bs-secondary-rgb: var(--vesta-secondary-rgb);
  --bs-secondary-text-emphasis: var(--vesta-secondary-hover);
  --bs-secondary-bg-subtle: var(--vesta-secondary-subtle);
  --bs-secondary-color: var(--vesta-text-secondary);
  --bs-success: var(--vesta-success);
  --bs-success-rgb: var(--vesta-success-rgb);
  --bs-success-text-emphasis: #15803D;
  --bs-success-bg-subtle: var(--vesta-success-subtle);
  --bs-warning: var(--vesta-warning);
  --bs-warning-rgb: var(--vesta-warning-rgb);
  --bs-warning-text-emphasis: #B45309;
  --bs-warning-bg-subtle: var(--vesta-warning-subtle);
  --bs-danger: var(--vesta-danger);
  --bs-danger-rgb: var(--vesta-danger-rgb);
  --bs-danger-text-emphasis: #B91C1C;
  --bs-danger-bg-subtle: var(--vesta-danger-subtle);
  --bs-info: var(--vesta-info);
  --bs-info-rgb: var(--vesta-info-rgb);
  --bs-info-text-emphasis: #0E7490;
  --bs-info-bg-subtle: var(--vesta-info-subtle);
  --bs-light: #F8FAFC;
  --bs-light-rgb: 248, 250, 252;
  --bs-dark: var(--vesta-text-primary);
  --bs-dark-rgb: 15, 23, 42;
  --bs-body-bg: var(--vesta-bg-body);
  --bs-body-bg-rgb: 248, 250, 252;
  --bs-body-color: var(--vesta-text-primary);
  --bs-body-color-rgb: 15, 23, 42;
  --bs-emphasis-color: var(--vesta-text-primary);
  --bs-secondary-color: var(--vesta-text-secondary);
  --bs-tertiary-color: var(--vesta-text-muted);
  --bs-tertiary-bg: var(--vesta-bg-hover);
  --bs-border-color: var(--vesta-border);
  --bs-border-color-translucent: rgba(15, 23, 42, .08);
  --bs-border-radius-sm: var(--vesta-radius-sm);
  --bs-border-radius: var(--vesta-radius);
  --bs-border-radius-lg: var(--vesta-radius-lg);
  --bs-border-radius-xl: var(--vesta-radius-xl);
  --bs-border-radius-pill: var(--vesta-radius-full);
  --bs-link-color: var(--vesta-primary-strong);
  --bs-link-color-rgb: 79, 70, 229;
  --bs-link-hover-color: var(--vesta-primary-active);
  --bs-link-hover-color-rgb: 79, 70, 229;
  --bs-font-sans-serif: var(--vesta-font);
  --bs-font-monospace: var(--vesta-font-mono);
  --bs-body-font-family: var(--vesta-font);
  --bs-body-font-size: 14px;
  --bs-body-line-height: 1.5;
  --bs-box-shadow-sm: var(--vesta-shadow-sm);
  --bs-box-shadow: var(--vesta-shadow);
  --bs-box-shadow-lg: var(--vesta-shadow-lg);
  --bs-focus-ring-color: rgba(var(--vesta-primary-rgb), .25);
  --bs-focus-ring-width: 3px;
  /* VESTA SEMANTIC TOKENS
     Token di dominio cross-module: priorità, avatar, KPI, layout, motion, z-index.
     Promossi da hex literal sparsi in _tickets.scss / _workflow.scss per riusabilità
     su Ticket / Cliente / Commessa / Contratto / Documenti / Workflow. */
  /* Text emphasis "strong" — per label standalone su sfondi neutri */
  --vesta-success-strong: #15803D;
  --vesta-warning-strong: #B45309;
  --vesta-danger-strong: #B91C1C;
  --vesta-info-strong: #0E7490;
  /* Fill tokens — sfondi pieni che portano testo BIANCO (badge, bottoni solidi, avatar).
     I fill brillanti sono troppo chiari per il bianco: #22C55E dà 2,27:1, #EF4444 3,76:1,
     #6366F1 4,46:1. Questi valori restano scuri in ENTRAMBI i temi, perché il testo sopra
     è bianco a prescindere dal tema (≥4,5:1 garantito). */
  --vesta-fill-primary: #4F46E5;
  --vesta-fill-success: #15803D;
  --vesta-fill-warning: #B45309;
  --vesta-fill-danger: #B91C1C;
  --vesta-fill-info: #0E7490;
  /* Workflow segment tones */
  --vesta-wf-done: var(--vesta-success);
  --vesta-wf-current-bg: #BBF7D0;
  --vesta-wf-todo: var(--vesta-border);
  --vesta-wf-alt: var(--vesta-danger);
  /* Priority palette (P1..P4) */
  --vesta-prio-p1: var(--vesta-danger);
  --vesta-prio-p2: var(--vesta-warning);
  --vesta-prio-p3: var(--vesta-info);
  --vesta-prio-p4: var(--vesta-text-muted);
  /* Avatar gradients (hash-deterministic, 7 varianti) */
  --vesta-av-purple: linear-gradient(135deg, #A855F7, #6366F1);
  --vesta-av-cyan: linear-gradient(135deg, #22D3EE, #0EA5E9);
  --vesta-av-amber: linear-gradient(135deg, #FBBF24, #F59E0B);
  --vesta-av-teal: linear-gradient(135deg, #2DD4BF, #14B8A6);
  --vesta-av-grey: linear-gradient(135deg, #94A3B8, #64748B);
  --vesta-av-rose: linear-gradient(135deg, #FB7185, #E11D48);
  --vesta-av-emerald: linear-gradient(135deg, #34D399, #10B981);
  /* KPI icon backgrounds (alpha 12-14%) */
  --vesta-kpi-bg-indigo: rgba(99, 102, 241, .12);
  --vesta-kpi-bg-danger: rgba(239, 68, 68, .12);
  --vesta-kpi-bg-red600: rgba(220, 38, 38, .14);
  --vesta-kpi-bg-warning: rgba(245, 158, 11, .14);
  --vesta-kpi-bg-success: rgba(34, 197, 94, .12);
  --vesta-kpi-bg-info: rgba(14, 116, 144, .12);
  /* Entity-list layout widths (riusabile su Ticket / Cliente / Commessa / Contratto) */
  --vesta-entity-filters-width: 250px;
  --vesta-entity-preview-width: 380px;
  --vesta-entity-sidecard-width: 380px;
  --vesta-entity-page-max: 1640px;
  /* Spacing scale (4-step rhythm) */
  --space-1: 4px;
  --space-2: 6px;
  --space-3: 8px;
  --space-4: 10px;
  --space-5: 12px;
  --space-6: 14px;
  --space-7: 16px;
  --space-8: 20px;
  --space-9: 24px;
  --space-10: 32px;
  --space-12: 48px;
  /* Z-index scale */
  --z-base: 1;
  --z-sticky-bar: 30;
  --z-topbar: 40;
  --z-drawer-backdrop: 55;
  --z-drawer: 60;
  --z-modal-backdrop: 1040;
  --z-modal: 1050;
  --z-toast: 1080;
  --z-tooltip: 1090;
  /* Motion / transitions */
  --motion-fast: 120ms ease;
  --motion-base: 200ms ease;
  --motion-slow: 250ms cubic-bezier(.4, 0, .2, 1);
  --motion-collapse: 250ms ease;
  /* Drawer shadow (preview/filters off-canvas) */
  --vesta-shadow-drawer: -16px 0 40px -10px rgba(15, 23, 42, .18);
  /* Accessibility */
  --focus-ring: 0 0 0 3px rgba(var(--vesta-primary-rgb), .25);
  --focus-outline: 2px solid var(--vesta-primary);
  --tap-target: 44px;
  /* ALIAS DI COMPATIBILITÀ
     Nomi usati nei partial ma mai dichiarati: `background: var(--vesta-bg-subtle)` non è un
     errore CSS, è `transparent` — e `border-radius: var(--vesta-radius-md)` è uno spigolo
     vivo. Difetti che si vedono solo a schermo. Qui i nomi orfani vengono ancorati al token
     canonico corrispondente; per il codice NUOVO usare direttamente i nomi canonici. */
  --vesta-bg: var(--vesta-bg-body);
  --vesta-bg-subtle: var(--vesta-bg-hover);
  --vesta-bg-muted: var(--vesta-bg-hover);
  --vesta-bg-surface: var(--vesta-bg-card);
  --vesta-surface: var(--vesta-bg-card);
  --vesta-card-bg: var(--vesta-bg-card);
  --vesta-text: var(--vesta-text-primary);
  --vesta-brand: var(--vesta-primary);
  --vesta-accent: var(--vesta-primary);
  --vesta-radius-md: var(--vesta-radius);
  --vesta-font-base: var(--vesta-font);
  --t-ease: cubic-bezier(.4, 0, .2, 1);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body,
#root {
  height: 100%;
  margin: 0;
}

body {
  font-family: var(--vesta-font);
  background: var(--vesta-bg-body);
  color: var(--vesta-text-primary);
  font-size: var(--vesta-fs-base);
  line-height: var(--vesta-lh-base);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--vesta-font-display);
  font-weight: var(--vesta-fw-bold);
  line-height: var(--vesta-lh-snug);
  letter-spacing: var(--vesta-tracking-tight);
  color: var(--vesta-text-primary);
}

:focus-visible {
  outline: var(--focus-outline);
  outline-offset: 2px;
  border-radius: var(--vesta-radius-sm);
}

.form-control:focus-visible,
.form-select:focus-visible,
.btn:focus-visible {
  outline: none;
}

svg.lucide {
  display: inline-block;
  vertical-align: middle;
}

kbd {
  --bs-body-bg: var(--vesta-bg-body);
  background: var(--vesta-bg-card);
  color: var(--vesta-text-secondary);
  border: 1px solid var(--vesta-border);
  font-family: var(--vesta-font-mono);
  font-size: 10.5px;
  padding: 2px 6px;
  border-radius: 5px;
  box-shadow: none;
}
[data-theme=dark] kbd {
  background: var(--vesta-bg-sidebar-2);
  color: var(--vesta-text-secondary);
  border-color: var(--vesta-border);
}

.btn {
  --bs-btn-padding-y: 0.5rem;
  --bs-btn-padding-x: 0.875rem;
  --bs-btn-font-size: 13px;
  --bs-btn-font-weight: 500;
  --bs-btn-line-height: 1;
  --bs-btn-border-radius: var(--vesta-radius);
  --bs-btn-border-width: 1px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  transition: background-color 0.15s, color 0.15s, border-color 0.15s, box-shadow 0.15s;
}
.btn .lucide,
.btn > i[data-lucide] {
  width: 15px;
  height: 15px;
}
.btn-sm {
  --bs-btn-padding-y: 0.25rem;
  --bs-btn-padding-x: 0.625rem;
  --bs-btn-font-size: 12px;
  --bs-btn-border-radius: var(--vesta-radius-sm);
  height: 28px;
  gap: 6px;
}
.btn-lg {
  --bs-btn-padding-y: 0.625rem;
  --bs-btn-padding-x: 1.125rem;
  --bs-btn-font-size: 14px;
  --bs-btn-border-radius: var(--vesta-radius-lg);
  height: 44px;
}
.btn-icon {
  width: 36px;
  padding: 0;
  justify-content: center;
}
.btn-icon.btn-sm {
  width: 28px;
}
.btn-icon.btn-lg {
  width: 44px;
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--vesta-fill-primary);
  --bs-btn-border-color: var(--vesta-fill-primary);
  --bs-btn-hover-bg: var(--vesta-primary-active);
  --bs-btn-hover-border-color: var(--vesta-primary-active);
  --bs-btn-active-bg: var(--vesta-primary-active);
  --bs-btn-active-border-color: var(--vesta-primary-active);
  --bs-btn-disabled-bg: var(--vesta-fill-primary);
  --bs-btn-disabled-border-color: var(--vesta-fill-primary);
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0) 55%);
}
.btn-primary:hover {
  box-shadow: 0 4px 14px rgba(var(--vesta-primary-rgb), 0.35);
}
.btn-primary:active {
  transform: translateY(1px);
  background-image: none;
}

.btn-secondary {
  --bs-btn-bg: var(--vesta-secondary);
  --bs-btn-border-color: var(--vesta-secondary);
  --bs-btn-hover-bg: var(--vesta-secondary-hover);
  --bs-btn-hover-border-color: var(--vesta-secondary-hover);
}

.btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--vesta-fill-success);
  --bs-btn-border-color: var(--vesta-fill-success);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #166534;
  --bs-btn-hover-border-color: #166534;
}

.btn-warning {
  --bs-btn-bg: var(--vesta-fill-warning);
  --bs-btn-border-color: var(--vesta-fill-warning);
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #92400E;
  --bs-btn-hover-border-color: #92400E;
}

.btn-danger {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--vesta-fill-danger);
  --bs-btn-border-color: var(--vesta-fill-danger);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #991B1B;
  --bs-btn-hover-border-color: #991B1B;
}

.btn-light {
  --bs-btn-color: var(--vesta-text-secondary);
  --bs-btn-bg: #fff;
  --bs-btn-border-color: var(--vesta-border);
  --bs-btn-hover-color: var(--vesta-text-primary);
  --bs-btn-hover-bg: var(--vesta-bg-hover);
  --bs-btn-hover-border-color: var(--vesta-border-input);
  --bs-btn-active-bg: var(--vesta-bg-active);
  --bs-btn-active-border-color: var(--vesta-border-input);
}
[data-theme=dark] .btn-light {
  --bs-btn-color: var(--vesta-text-secondary);
  --bs-btn-bg: var(--vesta-bg-card);
  --bs-btn-border-color: var(--vesta-border);
  --bs-btn-hover-color: var(--vesta-text-primary);
  --bs-btn-hover-bg: var(--vesta-bg-hover);
  --bs-btn-hover-border-color: var(--vesta-border-input);
}

.btn-outline-primary {
  --bs-btn-color: var(--vesta-primary-strong);
  --bs-btn-border-color: var(--vesta-primary);
  --bs-btn-hover-bg: var(--vesta-fill-primary);
  --bs-btn-hover-border-color: var(--vesta-fill-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: var(--vesta-primary-active);
  --bs-btn-active-border-color: var(--vesta-primary-active);
}

.btn-outline-success {
  --bs-btn-color: var(--vesta-success-strong);
  --bs-btn-border-color: var(--vesta-success);
  --bs-btn-hover-bg: var(--vesta-fill-success);
  --bs-btn-hover-border-color: var(--vesta-fill-success);
  --bs-btn-hover-color: #fff;
}

.btn-outline-secondary {
  --bs-btn-color: var(--vesta-text-secondary);
  --bs-btn-border-color: var(--vesta-border);
  --bs-btn-bg: #fff;
  --bs-btn-hover-bg: var(--vesta-bg-hover);
  --bs-btn-hover-color: var(--vesta-text-primary);
  --bs-btn-hover-border-color: var(--vesta-border-input);
}
[data-theme=dark] .btn-outline-secondary {
  --bs-btn-bg: var(--vesta-bg-card);
}

.btn-outline-danger {
  --bs-btn-color: var(--vesta-danger-strong);
  --bs-btn-border-color: var(--vesta-danger);
  --bs-btn-hover-bg: var(--vesta-fill-danger);
  --bs-btn-hover-border-color: var(--vesta-fill-danger);
  --bs-btn-hover-color: #fff;
}

.btn-soft-primary {
  --bs-btn-color: var(--vesta-primary-strong);
  --bs-btn-bg: var(--vesta-primary-subtle);
  --bs-btn-border-color: transparent;
  --bs-btn-hover-bg: #E0E7FF;
  --bs-btn-hover-color: var(--vesta-primary-active);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-bg: #C7D2FE;
}
[data-theme=dark] .btn-soft-primary {
  --bs-btn-hover-bg: rgba(99, 102, 241, .28);
  --bs-btn-hover-color: var(--vesta-primary-strong);
  --bs-btn-active-bg: rgba(99, 102, 241, .34);
}

.btn-soft-success {
  --bs-btn-color: var(--vesta-success-strong);
  --bs-btn-bg: var(--vesta-success-subtle);
  --bs-btn-border-color: transparent;
  --bs-btn-hover-bg: #DCFCE7;
  --bs-btn-hover-color: var(--vesta-success-strong);
  --bs-btn-hover-border-color: transparent;
}
[data-theme=dark] .btn-soft-success {
  --bs-btn-hover-bg: rgba(34, 197, 94, .26);
}

.btn-soft-warning {
  --bs-btn-color: var(--vesta-warning-strong);
  --bs-btn-bg: var(--vesta-warning-subtle);
  --bs-btn-border-color: transparent;
  --bs-btn-hover-bg: #FEF3C7;
  --bs-btn-hover-color: var(--vesta-warning-strong);
  --bs-btn-hover-border-color: transparent;
}
[data-theme=dark] .btn-soft-warning {
  --bs-btn-hover-bg: rgba(245, 158, 11, .26);
}

.btn-soft-danger {
  --bs-btn-color: var(--vesta-danger-strong);
  --bs-btn-bg: var(--vesta-danger-subtle);
  --bs-btn-border-color: transparent;
  --bs-btn-hover-bg: #FEE2E2;
  --bs-btn-hover-color: var(--vesta-danger-strong);
  --bs-btn-hover-border-color: transparent;
}
[data-theme=dark] .btn-soft-danger {
  --bs-btn-hover-bg: rgba(239, 68, 68, .26);
}

.btn-soft-info {
  --bs-btn-color: var(--vesta-info-strong);
  --bs-btn-bg: var(--vesta-info-subtle);
  --bs-btn-border-color: transparent;
  --bs-btn-hover-bg: #CFFAFE;
  --bs-btn-hover-color: var(--vesta-info-strong);
  --bs-btn-hover-border-color: transparent;
}
[data-theme=dark] .btn-soft-info {
  --bs-btn-hover-bg: rgba(6, 182, 212, .26);
}

.btn-ghost {
  --bs-btn-color: var(--vesta-text-secondary);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-bg: var(--vesta-bg-hover);
  --bs-btn-hover-color: var(--vesta-text-primary);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-bg: var(--vesta-bg-active);
  --bs-btn-active-border-color: transparent;
}

.v-btn-xs {
  height: 22px;
  min-width: 22px;
  padding: 2px 5px;
  font-size: 11px;
  line-height: 1;
}

.card {
  --bs-card-border-color: var(--vesta-border);
  --bs-card-border-radius: var(--vesta-radius-lg);
  --bs-card-inner-border-radius: calc(var(--vesta-radius-lg) - 1px);
  --bs-card-bg: var(--vesta-bg-card);
  --bs-card-color: var(--vesta-text-primary);
  --bs-card-spacer-y: 1.25rem;
  --bs-card-spacer-x: 1.25rem;
  --bs-card-cap-bg: transparent;
  --bs-card-cap-padding-y: 0.875rem;
  --bs-card-cap-padding-x: 1.25rem;
  box-shadow: var(--vesta-shadow-sm);
}
[data-theme=dark] .card {
  background-color: var(--vesta-bg-card);
  border-color: var(--vesta-border);
  color: var(--vesta-text-primary);
}

.card-header {
  border-bottom-color: var(--vesta-border-subtle);
  font-weight: 600;
}
[data-theme=dark] .card-header {
  border-bottom-color: var(--vesta-border);
  background: transparent;
}

.card-title {
  font-size: 14px;
  font-weight: 600;
  margin: 0;
}

.card-subtitle {
  font-size: 12px;
  color: var(--vesta-text-muted);
}

.badge {
  --bs-badge-padding-x: 0.5rem;
  --bs-badge-padding-y: 0.15rem;
  --bs-badge-font-size: 11px;
  --bs-badge-font-weight: 600;
  --bs-badge-border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  line-height: 1.5;
  white-space: nowrap;
}
.badge.bg-primary, .badge.text-bg-primary {
  --bs-primary-rgb: 79, 70, 229;
}
.badge.bg-success, .badge.text-bg-success {
  --bs-success-rgb: 21, 128, 61;
}
.badge.bg-danger, .badge.text-bg-danger {
  --bs-danger-rgb: 185, 28, 28;
}
.badge.bg-warning:not(.text-bg-warning):not(.text-dark):not(.text-body) {
  --bs-warning-rgb: 180, 83, 9;
}
.badge.bg-info:not(.text-bg-info):not(.text-dark):not(.text-body) {
  --bs-info-rgb: 14, 116, 144;
}

.progress {
  --bs-progress-height: 6px;
  --bs-progress-bg: var(--vesta-bg-hover);
  --bs-progress-border-radius: 999px;
  --bs-progress-bar-bg: var(--vesta-primary);
  --bs-progress-bar-transition: width .4s ease;
}

.form-control,
.form-select {
  --bs-body-bg: var(--vesta-bg-input);
  border-color: var(--vesta-border-input);
  border-radius: var(--vesta-radius);
  font-size: 13px;
  padding: 0.5rem 0.75rem;
}
.form-control:focus,
.form-select:focus {
  outline: none;
  border-color: var(--vesta-primary);
  box-shadow: var(--focus-ring);
}
[data-theme=dark] .form-control,
[data-theme=dark] .form-select {
  background-color: var(--vesta-bg-input);
  color: var(--vesta-text-primary);
  border-color: var(--vesta-border-input);
}

[data-theme=dark] .form-control::placeholder {
  color: var(--vesta-text-muted);
}

.form-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
  margin-bottom: 4px;
}

.form-text {
  font-size: 11.5px;
  color: var(--vesta-text-muted);
}

.form-check-input:checked {
  background-color: var(--vesta-primary);
  border-color: var(--vesta-primary);
}
.form-check-input:focus {
  outline: none;
  border-color: var(--vesta-primary);
  box-shadow: var(--focus-ring);
}

.table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--vesta-text-primary);
  --bs-table-border-color: var(--vesta-border-subtle);
  --bs-table-hover-bg: var(--vesta-bg-hover);
  font-size: 13px;
}
.table > thead {
  background: var(--vesta-bg-body);
}
.table > thead th {
  font-weight: 600;
  color: var(--vesta-text-secondary);
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-bottom-color: var(--vesta-border);
}
[data-theme=dark] .table {
  color: var(--vesta-text-primary);
  border-color: var(--vesta-border);
}
[data-theme=dark] .table > thead {
  background: var(--vesta-bg-sidebar-2);
}
[data-theme=dark] .table > thead th {
  color: var(--vesta-text-secondary);
  border-bottom-color: var(--vesta-border);
}

.nav-tabs {
  --bs-nav-tabs-border-color: var(--vesta-border);
  --bs-nav-tabs-link-active-color: var(--vesta-primary);
  --bs-nav-tabs-link-active-border-color: transparent transparent var(--vesta-primary);
  --bs-nav-tabs-link-hover-border-color: transparent transparent var(--vesta-border-input);
  --bs-nav-link-color: var(--vesta-text-secondary);
  --bs-nav-link-hover-color: var(--vesta-text-primary);
  --bs-nav-link-font-weight: 500;
  --bs-nav-link-font-size: 13px;
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
  --_tabnav-bg: var(--vesta-bg-card);
  --_tabnav-shadow: rgba(15, 23, 42, .14);
  background: linear-gradient(to right, var(--_tabnav-bg) 40%, rgba(0, 0, 0, 0)) left center/28px 100% no-repeat local, linear-gradient(to left, var(--_tabnav-bg) 40%, rgba(0, 0, 0, 0)) right center/28px 100% no-repeat local, radial-gradient(farthest-side at 0 50%, var(--_tabnav-shadow), rgba(0, 0, 0, 0)) left center/10px 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, var(--_tabnav-shadow), rgba(0, 0, 0, 0)) right center/10px 100% no-repeat scroll;
}
.nav-tabs::-webkit-scrollbar {
  display: none;
}
.nav-tabs .nav-link {
  border-width: 0 0 2px 0;
  margin-bottom: -1px;
  padding: 8px 14px;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
}
.nav-tabs .nav-link.active {
  background: transparent;
  font-weight: 600;
}
[data-theme=dark] .nav-tabs {
  border-bottom-color: var(--vesta-border);
  --_tabnav-shadow: rgba(0, 0, 0, .5);
}

.nav-pills {
  --bs-nav-pills-border-radius: 8px;
  --bs-nav-pills-link-active-bg: var(--vesta-primary);
}

.vesta-tabnav {
  position: relative;
  min-width: 0;
  margin-bottom: 0;
}
.card-header .vesta-tabnav {
  margin-bottom: 0;
}
.vesta-tabnav > .nav-tabs {
  min-width: 0;
}

.vesta-tabnav-arrow {
  position: absolute;
  top: 0;
  bottom: 2px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  padding: 0;
  border: 0;
  background: var(--vesta-bg-card);
  color: var(--vesta-text-secondary);
  cursor: pointer;
  transition: color 0.15s;
}
.vesta-tabnav-arrow[hidden] {
  display: none;
}
.vesta-tabnav-arrow:hover {
  color: var(--vesta-text-primary);
}
.vesta-tabnav-arrow--start {
  left: 0;
}
.vesta-tabnav-arrow--end {
  right: 0;
}

.vesta-tab-icon {
  display: inline-flex;
  flex: 0 0 auto;
  margin-right: 4px;
}
.vesta-tab-icon > svg {
  width: 14px;
  height: 14px;
}

.vesta-tab-count {
  font-size: 10px;
  font-weight: 600;
}

.vesta-tab-badge {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.modal-content {
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-xl);
  box-shadow: var(--vesta-shadow-premium);
  background: var(--vesta-bg-card);
}
[data-theme=dark] .modal-content {
  background: var(--vesta-bg-card);
  border-color: var(--vesta-border);
}

.modal-header {
  border-bottom-color: var(--vesta-border-subtle);
  padding: 1.125rem 1.25rem;
}

.modal-body {
  padding: 1rem 1.25rem;
}

.modal-footer {
  border-top-color: var(--vesta-border-subtle);
  background: var(--vesta-bg-body);
  padding: 0.875rem 1.25rem;
}
[data-theme=dark] .modal-footer {
  background: var(--vesta-bg-sidebar-2);
}

.dropdown-menu {
  --bs-dropdown-bg: var(--vesta-bg-card);
  --bs-dropdown-border-color: var(--vesta-border);
  --bs-dropdown-border-radius: var(--vesta-radius-lg);
  --bs-dropdown-box-shadow: var(--vesta-shadow-md);
  --bs-dropdown-link-hover-bg: var(--vesta-bg-hover);
  --bs-dropdown-link-active-bg: var(--vesta-primary-subtle);
  --bs-dropdown-link-active-color: var(--vesta-primary-active);
  --bs-dropdown-padding-y: 6px;
  --bs-dropdown-item-padding-y: 7px;
  --bs-dropdown-item-padding-x: 12px;
  --bs-dropdown-font-size: 13px;
}
[data-theme=dark] .dropdown-menu {
  background-color: var(--vesta-bg-card);
  border-color: var(--vesta-border);
}

[data-theme=dark] .dropdown-item {
  color: var(--vesta-text-primary);
}
[data-theme=dark] .dropdown-item:hover {
  background-color: var(--vesta-bg-hover);
}

.alert {
  border-radius: var(--vesta-radius-lg);
  border-width: 1px;
  padding: 0.875rem 1rem;
  font-size: 13px;
}
.alert-primary {
  --bs-alert-bg: var(--vesta-primary-subtle);
  --bs-alert-border-color: rgba(var(--vesta-primary-rgb), .25);
  --bs-alert-color: var(--vesta-primary-active);
}
.alert-success {
  --bs-alert-bg: var(--vesta-success-subtle);
  --bs-alert-border-color: rgba(var(--vesta-success-rgb), .25);
  --bs-alert-color: #15803D;
}
.alert-warning {
  --bs-alert-bg: var(--vesta-warning-subtle);
  --bs-alert-border-color: rgba(var(--vesta-warning-rgb), .3);
  --bs-alert-color: #B45309;
}
.alert-danger {
  --bs-alert-bg: var(--vesta-danger-subtle);
  --bs-alert-border-color: rgba(var(--vesta-danger-rgb), .25);
  --bs-alert-color: #B91C1C;
}

.app-shell {
  display: grid;
  grid-template-columns: var(--vesta-sidebar-width) 1fr;
  height: 100vh;
  transition: grid-template-columns 0.25s ease;
}
.app-shell.collapsed {
  grid-template-columns: var(--vesta-sidebar-collapsed-width) 1fr;
}
.app-shell.sb-open .sidebar {
  transform: translateX(0);
}
.app-shell.sb-open ~ .sb-backdrop {
  display: block;
  opacity: 1;
}

.sidebar,
.app-sidebar {
  background: var(--vesta-bg-sidebar);
  color: #CBD5E1;
  display: flex;
  flex-direction: column;
  gap: 0;
  height: 100vh;
}

.main,
.app-main {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  overflow: hidden;
}

.topbar,
.app-topbar {
  height: var(--vesta-topbar-height);
  flex: none;
  background: var(--vesta-bg-topbar);
  border-bottom: 1px solid var(--vesta-border);
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 0 24px;
}

.main-body {
  flex: 1;
  overflow: auto;
  position: relative;
}
.main-body:has(.tk-full) {
  padding: 0;
}

.page {
  padding: 24px var(--space-10);
  max-width: 1600px;
  margin: 0 auto;
}

.app-shell.has-dock .page {
  padding-bottom: 120px;
}

.page-header {
  display: flex;
  align-items: flex-end;
  gap: 24px;
  justify-content: space-between;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.page-title {
  font-family: var(--vesta-font-display);
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.page-sub {
  color: var(--vesta-text-secondary);
  font-size: 13.5px;
  margin: 0;
}

.page-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.page-header-main {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  min-width: 0;
}

.page-header-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  flex: none;
  border-radius: 12px;
  background: linear-gradient(145deg, var(--vesta-primary-subtle), color-mix(in srgb, var(--vesta-primary) 20%, var(--vesta-bg-card)));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--vesta-primary) 18%, transparent);
  color: var(--vesta-primary);
}
.page-header-icon i[data-lucide] {
  width: 22px;
  height: 22px;
}
[data-theme=dark] .page-header-icon {
  background: linear-gradient(145deg, rgba(var(--vesta-primary-rgb), 0.22), rgba(var(--vesta-primary-rgb), 0.08));
  color: var(--vesta-primary-active);
}

.page-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  flex: none;
}

.bento {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 18px;
}

.span-3 {
  grid-column: span 3;
}

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

.span-5 {
  grid-column: span 5;
}

.span-6 {
  grid-column: span 6;
}

.span-7 {
  grid-column: span 7;
}

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

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

.sb-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.55);
  backdrop-filter: blur(3px);
  z-index: 1040;
  opacity: 0;
  transition: opacity 0.25s;
}
[data-theme=dark] .sb-backdrop {
  background: rgba(0, 0, 0, 0.65);
}

.tb-burger {
  display: none;
}

body.no-scroll {
  overflow: hidden;
}

@media (max-width: 1200px) {
  .span-3 {
    grid-column: span 6;
  }
  .span-4, .span-5, .span-7, .span-8 {
    grid-column: span 12;
  }
}
@media (max-width: 1199.98px) {
  .page {
    padding: 20px 24px 20px;
  }
  .app-shell.has-dock .page {
    padding-bottom: 100px;
  }
  .bento {
    gap: 14px;
  }
  .kanban {
    grid-template-columns: repeat(5, minmax(240px, 1fr));
  }
}
@media (max-width: 991.98px) {
  :root {
    --vesta-sidebar-width: 220px;
  }
  .topbar {
    padding: 0 16px;
    gap: 10px;
  }
  .cal-wrap {
    grid-template-columns: 1fr;
  }
  .cal-pool {
    height: auto;
    max-height: 200px;
  }
  .page {
    padding: 18px 18px 18px;
  }
  .app-shell.has-dock .page {
    padding-bottom: 100px;
  }
  .span-3, .span-4 {
    grid-column: span 6;
  }
  .span-5, .span-7, .span-8 {
    grid-column: span 12;
  }
  .vesta-dock,
  .dock {
    min-width: min(540px, 80vw);
    max-width: min(540px, 80vw);
  }
  .vesta-dock.expanded {
    min-width: min(640px, 84vw);
  }
}
@media (max-width: 767.98px) {
  .app-shell,
  .app-shell.collapsed {
    grid-template-columns: 1fr;
  }
  .sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 280px;
    max-width: 86vw;
    z-index: 1045;
    transform: translateX(-100%);
    transition: transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
    box-shadow: 8px 0 32px -8px rgba(0, 0, 0, 0.3);
  }
  .tb-burger {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: grid;
    place-items: center;
    color: var(--vesta-text-secondary);
    transition: background 160ms var(--t-ease), color 160ms var(--t-ease), transform 160ms var(--t-ease);
    border: none;
  }
  .topbar {
    padding: 0 12px;
    gap: 8px;
    height: 56px;
  }
  :root {
    --vesta-topbar-height: 56px;
  }
  .tb-search {
    display: none !important;
  }
  .tb-breadcrumb {
    font-size: 12px;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
  }
  .tb-breadcrumb .tb-crumb:not(.current):not(.active),
  .tb-breadcrumb .tb-crumb-sep {
    display: none;
  }
  .vesta-lang-btn .vesta-lang-code {
    display: none;
  }
  .vts-name {
    display: none;
  }
  .vts-btn {
    padding: 0 8px;
  }
  .vesta-lang-chevron,
  .vts-btn > i[data-lucide=chevron-down] {
    display: none;
  }
  .tb-actions {
    flex: 0 1 auto;
    min-width: 0;
  }
  .page {
    padding: 14px 12px 14px;
  }
  .page-header {
    gap: 10px;
  }
  .page-title {
    font-size: 20px;
  }
  .page-sub {
    font-size: 12.5px;
  }
  .span-3, .span-4, .span-5,
  .span-6, .span-7, .span-8 {
    grid-column: span 12;
  }
  .bento {
    gap: 10px;
  }
  .kanban {
    grid-template-columns: repeat(5, 78vw);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 8px;
    gap: 10px;
  }
  .kanban-col {
    scroll-snap-align: start;
    min-height: 60vh;
  }
  .wbs-row {
    grid-template-columns: 1.5fr 80px 90px 90px 90px 70px;
    font-size: 11.5px;
  }
  .app-shell.has-dock .page {
    padding-bottom: 90px;
  }
}
@media (max-width: 575.98px) {
  .page {
    padding: 12px 10px 12px;
  }
  .page-title {
    font-size: 18px;
  }
  .page-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .page-actions {
    width: 100%;
    justify-content: flex-end;
  }
  .card-body {
    padding: 16px;
  }
  .stat-card .value,
  .stat-card .stat-value {
    font-size: 22px;
  }
  .stat-card .spark {
    right: 4px;
    bottom: 4px;
  }
  .btn,
  .v-btn {
    font-size: 12.5px;
    height: 34px;
    padding: 6px 12px;
    gap: 6px;
  }
  .btn-sm,
  .v-btn-sm {
    height: 26px;
    padding: 4px 8px;
    font-size: 11.5px;
  }
  .btn-icon,
  .v-btn-icon {
    width: 34px;
    padding: 0;
  }
  .btn-icon.btn-sm,
  .v-btn-icon.v-btn-sm {
    width: 26px;
  }
  .kanban {
    grid-template-columns: repeat(5, 84vw);
  }
  .vesta-lang-btn {
    padding: 4px 8px;
  }
  .vesta-theme-toggle {
    width: 48px;
    height: 26px;
  }
  .vesta-theme-toggle .vtt-thumb {
    width: 20px;
    height: 20px;
  }
  .vesta-theme-toggle[data-theme=dark] .vtt-thumb {
    transform: translateX(22px);
  }
  .vesta-dock {
    padding: 8px;
    gap: 8px;
  }
  .vd-timer {
    font-size: 14px;
    min-width: 60px;
  }
  .vd-ctx-title {
    max-width: 90px;
  }
  .vd-actions {
    gap: 2px;
  }
  .vd-btn {
    width: 30px;
    height: 30px;
  }
  .vesta-lang-menu {
    right: -10px;
    min-width: min(86vw, 280px);
  }
  .modal-dialog {
    margin: 12px;
  }
  .sidebar {
    width: 86vw;
    max-width: 86vw;
  }
  .wf-progress .wf-seg-label {
    display: none;
  }
  .wf-progress {
    min-width: 90px;
  }
  .app-shell.has-dock .page {
    padding-bottom: 90px;
  }
}
@media (hover: none) and (pointer: coarse) {
  .kanban-card:hover {
    transform: none;
  }
}
.sb-brand {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.sb-toggle {
  position: absolute;
  top: 50%;
  right: -14px;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--vesta-bg-card);
  color: var(--vesta-text-secondary);
  display: grid;
  place-items: center;
  box-shadow: var(--vesta-shadow-sm), 0 0 0 1px var(--vesta-border);
  z-index: 30;
  transition: transform 0.2s, background 0.2s, color 0.2s;
  cursor: pointer;
  padding: 0;
  border: none;
}
.sb-toggle:hover {
  background: var(--vesta-primary);
  color: white;
  box-shadow: 0 0 0 1px var(--vesta-primary), 0 6px 18px -2px rgba(var(--vesta-primary-rgb), 0.55), 0 12px 28px -8px rgba(var(--vesta-primary-rgb), 0.45);
  transform: translateY(-50%) scale(1.12);
}
.sb-toggle .lucide {
  transition: transform 0.28s;
}

.collapsed .sb-toggle .lucide {
  transform: rotate(180deg);
}

.sb-logo {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: linear-gradient(135deg, #818CF8, #6366F1);
  display: grid;
  place-items: center;
  color: white;
  font-weight: 700;
  flex: none;
}

.sb-brand-body {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.sb-name,
.sb-brand-name {
  font-weight: 700;
  color: white;
  letter-spacing: -0.01em;
  font-size: 15px;
}

.sb-sub,
.sb-brand-sub {
  font-size: 11px;
  color: var(--vesta-sidebar-section);
}

.sb-nav {
  padding: 4px 10px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
}

.sb-group {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.sb-group + .sb-group,
.sb-group + .sb-section {
  margin-top: 4px;
  border-top: 1px solid var(--vesta-sidebar-rule);
}

.sb-section,
.sb-group-title,
.sb-group-label {
  padding: 12px 6px 4px;
  font-size: 11px;
  font-weight: 700;
  color: var(--vesta-sidebar-section);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.sb-group-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  padding: 12px 6px 4px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  color: var(--vesta-sidebar-section);
  transition: color 0.15s;
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--vesta-bg-sidebar);
}
.sb-group-toggle:hover {
  color: var(--vesta-sidebar-section-strong);
}
.sb-group-toggle:focus-visible {
  outline: 2px solid var(--vesta-primary);
  outline-offset: -2px;
  border-radius: var(--vesta-radius-sm, 6px);
  color: var(--vesta-sidebar-section-strong);
}

.sb-group-text {
  flex: 1;
  min-width: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sb-group-badge {
  font-size: 9.5px;
  line-height: 1;
  padding: 2px 6px;
  border-radius: 999px;
  background: linear-gradient(135deg, #6366F1, #A855F7);
  color: white;
  font-weight: 700;
  flex: none;
}

.sb-group-chevron {
  flex: none;
  color: currentcolor;
  opacity: 0.45;
  transition: transform 0.2s ease, opacity 0.15s;
}

.sb-group-toggle:hover .sb-group-chevron,
.sb-group-toggle:focus-visible .sb-group-chevron {
  opacity: 1;
}

.sb-group--collapsed .sb-group-chevron {
  transform: rotate(-90deg);
}

.sb-group-body {
  display: grid;
  grid-template-rows: 1fr;
  transition: grid-template-rows 0.22s ease;
}

.sb-group--collapsed .sb-group-body {
  grid-template-rows: 0fr;
}

.sb-group-body-inner {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-height: 0;
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .sb-group-body,
  .sb-group-chevron {
    transition: none;
  }
}
.sb-section {
  padding-top: 14px;
  padding-left: 16px;
}

.sb-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  border-radius: 8px;
  color: #CBD5E1;
  cursor: pointer;
  font-size: 13.5px;
  font-weight: 500;
  position: relative;
  user-select: none;
  transition: background 0.15s, color 0.15s;
  text-decoration: none;
}
.sb-item:hover {
  background: rgba(255, 255, 255, 0.04);
  color: white;
}
.sb-item.active {
  background: rgba(99, 102, 241, 0.14);
  color: white;
}
.sb-item.active::before {
  content: "";
  position: absolute;
  left: -10px;
  top: 6px;
  bottom: 6px;
  width: 3px;
  border-radius: 2px;
  background: var(--vesta-primary);
}
.sb-item.highlight {
  color: white;
}
.sb-item.highlight .lucide {
  color: #C4B5FD;
}
.sb-item.locked {
  color: #64748B;
  opacity: 0.65;
}
.sb-item.locked:hover {
  background: rgba(255, 255, 255, 0.03);
  color: #94A3B8;
}
.sb-item.locked .sb-item-lock {
  margin-left: auto;
  width: 13px;
  height: 13px;
  color: #64748B;
  flex: none;
}
.sb-item .lucide {
  width: 18px;
  height: 18px;
  flex: none;
}
.sb-item .badge {
  margin-left: auto;
  font-size: 10.5px;
  padding: 1px 7px;
  border-radius: 999px;
  background: rgba(99, 102, 241, 0.18);
  color: #C7D2FE;
  font-weight: 600;
}
.sb-item .sb-tip {
  position: absolute;
  left: calc(100% + 14px);
  top: 50%;
  transform: translateY(-50%) translateX(-6px);
  background: #1E293B;
  color: #fff;
  font-size: 12.5px;
  font-weight: 500;
  padding: 6px 10px;
  border-radius: 6px;
  white-space: nowrap;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.14s ease, transform 0.14s ease;
  z-index: 50;
}
.sb-item .sb-tip::before {
  content: "";
  position: absolute;
  right: 100%;
  top: 50%;
  transform: translateY(-50%);
  border: 5px solid transparent;
  border-right-color: #1E293B;
}

.sb-item-label {
  flex: 1;
  min-width: 0;
}

.sb-item-badge {
  margin-left: auto;
  font-size: 10.5px;
  padding: 1px 7px;
  border-radius: 999px;
  background: rgba(99, 102, 241, 0.18);
  color: #C7D2FE;
  font-weight: 600;
}

.sb-item-count {
  margin-left: auto;
  font-size: 10.5px;
  font-weight: 600;
  background: rgba(99, 102, 241, 0.18);
  color: #C7D2FE;
}

.sb-item-pill {
  margin-left: auto;
  font-size: 9.5px;
  padding: 2px 7px;
  border-radius: 999px;
  background: linear-gradient(135deg, #6366F1, #A855F7);
  color: white;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.sb-foot {
  margin-top: auto;
  padding: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  display: flex;
  align-items: center;
  gap: 10px;
}
.sb-foot .v-btn-ghost,
.sb-foot .btn-light {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.1);
  color: #CBD5E1;
}
.sb-foot .v-btn-ghost:hover,
.sb-foot .btn-light:hover {
  background: rgba(255, 255, 255, 0.12);
  color: white;
  border-color: rgba(255, 255, 255, 0.16);
}

.sb-user {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
}

.sb-user-info {
  flex: 1;
  min-width: 0;
  width: 160px;
}

.sb-user-name {
  font-size: 12.5px;
  font-weight: 600;
  color: white;
}

.sb-user-role {
  font-size: 10.5px;
  color: #94A3B8;
}

.sb-user-av,
.sb-user-avatar {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: linear-gradient(135deg, #F472B6, #A855F7);
  display: grid;
  place-items: center;
  color: white;
  font-weight: 700;
  font-size: 12px;
  flex: none;
}

.sb-logout {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: transparent;
  color: #94A3B8;
  display: grid;
  place-items: center;
  cursor: pointer;
  flex: none;
  transition: background 0.15s, color 0.15s;
}
.sb-logout:hover {
  background: rgba(255, 255, 255, 0.08);
  color: white;
}
.sb-logout .lucide {
  width: 15px;
  height: 15px;
}

.collapsed .sb-name,
.collapsed .sb-sub,
.collapsed .sb-section,
.collapsed .sb-group-label,
.collapsed .sb-group-toggle,
.collapsed .sb-item span:not(.badge):not(.sb-tip),
.collapsed .sb-user-info,
.collapsed .sb-logout {
  display: none;
}
.collapsed .sb-group-body {
  grid-template-rows: 1fr;
}
.collapsed .sb-item {
  justify-content: center;
  padding: 10px 0;
}
.collapsed .sb-foot, .collapsed .sb-user {
  justify-content: center;
}
.collapsed .sb-item .badge {
  position: absolute;
  top: 2px;
  right: 8px;
  padding: 0 5px;
  font-size: 9px;
}
.collapsed .sb-item:hover .sb-tip {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

@media (min-width: 768px) and (max-width: 1023.98px) {
  .app-shell,
  .app-shell.collapsed {
    grid-template-columns: var(--vesta-sidebar-collapsed-width) 1fr;
  }
  .app-shell .sb-name,
  .app-shell .sb-sub,
  .app-shell .sb-section,
  .app-shell .sb-group-label,
  .app-shell .sb-group-toggle,
  .app-shell .sb-item span:not(.badge):not(.sb-tip),
  .app-shell .sb-user-info,
  .app-shell .sb-logout {
    display: none;
  }
  .app-shell .sb-group-body {
    grid-template-rows: 1fr;
  }
  .app-shell .sb-item {
    justify-content: center;
    padding: 10px 0;
  }
  .app-shell .sb-foot, .app-shell .sb-user {
    justify-content: center;
  }
  .app-shell .sb-item .badge {
    position: absolute;
    top: 2px;
    right: 8px;
    padding: 0 5px;
    font-size: 9px;
  }
  .app-shell .sb-item:hover .sb-tip {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
  }
  .sb-toggle {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .collapsed .sb-name,
  .collapsed .sb-sub,
  .collapsed .sb-section,
  .collapsed .sb-group-label,
  .collapsed .sb-item span:not(.badge):not(.sb-tip),
  .collapsed .sb-user-info,
  .collapsed .sb-logout {
    display: block;
  }
  .collapsed .sb-group-toggle {
    display: flex;
  }
  .collapsed .sb-group--collapsed .sb-group-body {
    grid-template-rows: 0fr;
  }
  .collapsed .sb-item {
    justify-content: flex-start;
    padding: 8px 12px;
  }
  .collapsed .sb-foot,
  .collapsed .sb-user {
    justify-content: flex-start;
  }
  .collapsed .sb-item .badge {
    position: static;
    margin-left: auto;
    font-size: 10.5px;
    padding: 1px 7px;
  }
  .collapsed .sb-item:hover .sb-tip {
    opacity: 0;
    pointer-events: none;
  }
  .sb-toggle {
    display: none;
  }
}
html,
.scrollbar-custom,
.table-responsive,
textarea {
  scrollbar-color: var(--vesta-text-muted) transparent;
  scrollbar-width: thin;
}

::-webkit-scrollbar {
  width: 8px; /* Più sottile dello standard (12px) per un look più premium */
  height: 8px; /* Per lo scroll orizzontale (es. tabelle responsive) */
}

::-webkit-scrollbar-track {
  background: transparent; /* Sfondo trasparente per farla fluttuare sul body o sulle card */
}

::-webkit-scrollbar-thumb {
  background-color: var(--vesta-text-muted);
  /* Arrotondamento coerente con i tuoi token */
  border-radius: var(--vesta-radius-full);
  /* Il trucco del bordo trasparente crea uno "spazio vuoto" elegante attorno al cursore */
  border: 2px solid transparent;
  background-clip: padding-box;
  /* Transizione fluida */
  transition: background-color var(--motion-fast);
}

/* Effetto Hover sul cursore */
::-webkit-scrollbar-thumb:hover {
  /* Passa a Slate-600 quando l'utente ci va sopra, garantendo ottimo contrasto */
  background-color: var(--vesta-text-secondary);
}

.sidebar,
[style*="--vesta-bg-sidebar"],
.bg-dark {
  scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}

.sidebar::-webkit-scrollbar-thumb,
[style*="--vesta-bg-sidebar"]::-webkit-scrollbar-thumb,
.bg-dark::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, 0.2); /* Bianco in semitrasparenza */
}

.sidebar::-webkit-scrollbar-thumb:hover,
[style*="--vesta-bg-sidebar"]::-webkit-scrollbar-thumb:hover,
.bg-dark::-webkit-scrollbar-thumb:hover {
  background-color: rgba(255, 255, 255, 0.4);
}

.tb-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  color: var(--vesta-text-secondary);
  font-size: 13px;
}
.tb-breadcrumb b {
  color: var(--vesta-text-primary);
  font-weight: 600;
}

.tb-crumb {
  color: var(--vesta-text-secondary);
  font-size: 13px;
  font-weight: 500;
  flex: 0 100 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tb-crumb.current, .tb-crumb.active {
  color: var(--vesta-text-primary);
  font-weight: 600;
  flex: 0 1 auto;
  min-width: 3rem;
}

.tb-crumb-sep {
  color: var(--vesta-text-muted);
  font-size: 11px;
  opacity: 0.45;
  flex: none;
}

.tb-search {
  flex: 0 1 440px;
  min-width: 160px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px 14px;
  border: 1px solid var(--vesta-border);
  border-radius: 10px;
  background: var(--vesta-bg-body);
  color: var(--vesta-text-muted);
  cursor: pointer;
  font-size: 13px;
  transition: background 0.15s, border-color 0.15s;
  user-select: none;
}
.tb-search span {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tb-search i[data-lucide] {
  flex: none;
}
.tb-search:hover {
  background: var(--vesta-bg-card);
  border-color: var(--vesta-border-input);
}
.tb-search kbd {
  font-family: var(--vesta-font-mono);
  font-size: 10.5px;
  padding: 2px 6px;
  border-radius: 5px;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  color: var(--vesta-text-secondary);
  flex: none;
}
[data-theme=dark] .tb-search {
  background: var(--vesta-bg-card);
  border-color: var(--vesta-border);
  color: var(--vesta-text-muted);
}
[data-theme=dark] .tb-search kbd {
  background: var(--vesta-bg-hover);
  border-color: var(--vesta-border);
  color: var(--vesta-text-secondary);
}

.tb-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: none;
}
.tb-actions .v-btn-icon,
.tb-actions .btn-icon {
  position: relative;
}

.dot-red {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--vesta-danger);
  border: 2px solid white;
  pointer-events: none;
}
[data-theme=dark] .dot-red {
  border-color: var(--vesta-bg-topbar);
}
.dot-red.dot-success {
  background: var(--vesta-success);
}

.topbar-count-badge {
  font-size: 0.6rem;
}

#vesta-user-dropdown .dropdown-menu {
  min-width: 200px;
}

.v-card-head {
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: space-between;
  margin-bottom: 14px;
}

.v-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 600;
  border-radius: 999px;
  white-space: nowrap;
  line-height: 1.5;
}
.v-badge-primary {
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary-strong);
}
.v-badge-success {
  background: var(--vesta-success-subtle);
  color: var(--vesta-success-strong);
}
.v-badge-warning {
  background: var(--vesta-warning-subtle);
  color: var(--vesta-warning-strong);
}
.v-badge-danger {
  background: var(--vesta-danger-subtle);
  color: var(--vesta-danger-strong);
}
.v-badge-info {
  background: var(--vesta-info-subtle);
  color: var(--vesta-info-strong);
}
.v-badge-neutral {
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-secondary);
}

.v-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}

.row {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--vesta-bg-card);
}
.row + .row {
  margin-top: 8px;
}
.row:hover {
  border-color: var(--vesta-border-input);
  box-shadow: var(--vesta-shadow-sm);
}
[data-theme=dark] .row {
  background: var(--vesta-bg-card);
  border-color: var(--vesta-border);
}

.v-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 13px;
}
.v-table th {
  text-align: left;
  font-weight: 600;
  color: var(--vesta-text-secondary);
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 10px 12px;
  background: var(--vesta-bg-body);
  border-bottom: 1px solid var(--vesta-border);
}
[data-theme=dark] .v-table th {
  background: var(--vesta-bg-sidebar-2);
  border-color: var(--vesta-border);
}
.v-table td {
  padding: 12px;
  border-bottom: 1px solid var(--vesta-border-subtle);
  vertical-align: middle;
}
.v-table tr:last-child td {
  border-bottom: none;
}
.v-table tr:hover td {
  background: var(--vesta-bg-hover);
}
[data-theme=dark] .v-table tr:hover td {
  background: var(--vesta-bg-hover);
}

.wf-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-secondary);
}

svg.lucide {
  display: inline-block;
  vertical-align: middle;
}

.unassigned-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: var(--vesta-text-muted);
  font-weight: 500;
}
.unassigned-chip::before {
  content: "+";
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  border-radius: 99px;
  border: 1.5px dashed var(--vesta-border-input);
  flex: none;
}
.unassigned-chip:hover {
  color: var(--vesta-primary);
}
.unassigned-chip:hover::before {
  border-color: var(--vesta-primary);
  color: var(--vesta-primary);
}

.cursor-pointer {
  cursor: pointer;
}

.v-avatar {
  width: var(--av-sz, 28px);
  height: var(--av-sz, 28px);
  font-size: var(--av-fs, 11px);
  background: var(--av-bg, var(--vesta-text-muted));
  color: white;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  flex-shrink: 0;
}

.v-avatar-img {
  object-fit: cover;
  background: var(--vesta-surface-2, #e2e8f0);
}

.stat-card {
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  --stat-accent: var(--vesta-primary);
  padding: 12px 14px;
  position: relative;
  overflow: hidden;
  transition: transform var(--motion-fast), box-shadow var(--motion-fast), border-color var(--motion-fast);
}
.stat-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--stat-accent) 28%, color-mix(in srgb, var(--stat-accent) 45%, transparent) 72%, transparent);
  opacity: 0.5;
  transition: opacity var(--motion-fast);
}
.stat-card::after {
  content: "";
  position: absolute;
  top: -44px;
  right: -44px;
  width: 128px;
  height: 128px;
  border-radius: 50%;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--stat-accent) 13%, transparent), transparent);
  pointer-events: none;
}
.stat-card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--stat-accent) 35%, var(--vesta-border));
  box-shadow: var(--vesta-shadow-lg), 0 0 20px color-mix(in srgb, var(--stat-accent) 14%, transparent);
}
.stat-card:hover::before {
  opacity: 1;
}
.stat-card:hover .icon {
  transform: scale(1.08) rotate(-4deg);
}
.stat-card .label,
.stat-card .stat-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--vesta-text-secondary);
  font-weight: 500;
  margin-bottom: 8px;
}
.stat-card .icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--stat-accent) 12%, transparent);
  color: var(--stat-accent);
  transition: transform var(--motion-fast);
}
.stat-card .value,
.stat-card .stat-value {
  font-family: var(--vesta-font-display);
  font-size: 21px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.1;
  font-feature-settings: "tnum";
  color: var(--vesta-text-primary);
  animation: v-value-in var(--motion-base) both;
}
.stat-card .value--warn,
.stat-card .stat-value--warn {
  color: var(--vesta-warning);
}
.stat-card .value--danger,
.stat-card .stat-value--danger {
  color: var(--vesta-danger);
}
.stat-card .stat-sub {
  font-size: 11.5px;
  color: var(--vesta-text-muted);
  margin-top: 3px;
  font-weight: 400;
  line-height: 1.3;
}
.stat-card .trend {
  display: flex;
  align-items: center;
  gap: 4px;
  display: inline-flex;
  font-size: 11.5px;
  font-weight: 600;
  margin-top: 7px;
  padding: 2px 8px;
  border-radius: var(--vesta-radius-full);
}
.stat-card .trend.up {
  color: #15803D;
  background: var(--vesta-success-subtle);
}
.stat-card .trend.down {
  color: #B91C1C;
  background: var(--vesta-danger-subtle);
}
.stat-card .spark {
  position: absolute;
  right: 8px;
  bottom: 8px;
  opacity: 0.85;
  pointer-events: none;
}
.stat-card.glow-warn {
  --stat-accent: var(--vesta-warning);
  box-shadow: 0 0 0 1px var(--vesta-warning), 0 0 24px rgba(245, 158, 11, 0.18);
}
.stat-card.glow-danger {
  --stat-accent: var(--vesta-danger);
  box-shadow: 0 0 0 1px var(--vesta-danger), 0 0 24px rgba(239, 68, 68, 0.18);
}
[data-theme=dark] .stat-card .icon {
  filter: brightness(1.05);
}
[data-theme=dark] .stat-card::after {
  background: radial-gradient(closest-side, color-mix(in srgb, var(--stat-accent) 15%, transparent), transparent);
}
[data-theme=dark] .stat-card .trend.up {
  color: var(--vesta-success);
}
[data-theme=dark] .stat-card .trend.down {
  color: var(--vesta-danger);
}

.stat-card--lg {
  padding: 24px;
}
.stat-card--lg .stat-value,
.stat-card--lg .value {
  font-size: 24px;
}

.spark-bar {
  display: inline-flex;
  align-items: flex-end;
  gap: 2px;
  height: 28px;
}
.spark-bar i {
  display: block;
  width: 4px;
  background: linear-gradient(180deg, currentColor, color-mix(in srgb, currentColor 45%, transparent));
  border-radius: 2px;
  opacity: 0.6;
}

@keyframes v-value-in {
  from {
    opacity: 0;
    transform: translateY(5px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .stat-card {
    transition: none;
  }
  .stat-card .value,
  .stat-card .stat-value {
    animation: none;
  }
  .stat-card:hover {
    transform: none;
  }
  .stat-card:hover .icon {
    transform: none;
  }
  .stat-card .icon {
    transition: none;
  }
}
.vesta-empty-state {
  padding-block: 36px;
}
.vesta-empty-state__title {
  font-family: var(--vesta-font-display);
  font-size: 15px;
  color: var(--vesta-text-primary);
}
.vesta-empty-state__message {
  max-width: 380px;
  margin-inline: auto;
  line-height: 1.5;
}

.ves-orb {
  position: relative;
  width: 92px;
  height: 92px;
  margin: 0 auto 14px;
  display: grid;
  place-items: center;
}

.ves-orb-ring {
  position: absolute;
  inset: 12px;
  border-radius: 50%;
  border: 1px dashed color-mix(in srgb, var(--vesta-primary) 35%, transparent);
  animation: ves-orbit 26s linear infinite;
}
.ves-orb-ring--outer {
  inset: 0;
  border-style: solid;
  border-color: color-mix(in srgb, var(--vesta-primary) 14%, transparent);
  animation: ves-orbit 40s linear infinite reverse;
}
.ves-orb-ring--outer::before {
  content: "";
  position: absolute;
  top: -3px;
  left: 50%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--vesta-primary);
  box-shadow: 0 0 8px color-mix(in srgb, var(--vesta-primary) 60%, transparent);
}

.ves-orb-core {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--vesta-primary);
  background: linear-gradient(145deg, var(--vesta-primary-subtle), color-mix(in srgb, var(--vesta-primary) 16%, var(--vesta-bg-card)));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--vesta-primary) 20%, transparent), 0 8px 20px -8px color-mix(in srgb, var(--vesta-primary) 45%, transparent);
  animation: ves-float 5s ease-in-out infinite;
}
.ves-orb-core .lucide {
  width: 24px;
  height: 24px;
}

@keyframes ves-orbit {
  to {
    transform: rotate(360deg);
  }
}
@keyframes ves-float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-4px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ves-orb-ring,
  .ves-orb-core {
    animation: none;
  }
}
.tk-kanban-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 2px 2px 12px;
}

.tk-kanban-wf-select {
  width: auto;
  min-width: 220px;
  max-width: 360px;
}

.v-kanban {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  overflow-x: auto;
  padding: 4px 2px 14px;
  scrollbar-width: thin;
}

.v-kanban-col {
  flex: 0 0 290px;
  width: 290px;
  display: flex;
  flex-direction: column;
  background: var(--vesta-bg-hover);
  border: 1px solid var(--vesta-border);
  border-radius: 12px;
  max-height: 100%;
}
[data-theme=dark] .v-kanban-col {
  background: var(--vesta-bg-sidebar-2);
  border-color: var(--vesta-border-subtle);
}

.v-kanban-col-head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--vesta-border-subtle);
}

.v-kanban-col-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex: none;
}

.v-kanban-col-title {
  flex: 1;
  min-width: 0;
  font-size: 13px;
  font-weight: 700;
  color: var(--vesta-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.v-kanban-col-count {
  flex: none;
  font-size: 12px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 99px;
  padding: 1px 8px;
}
[data-theme=dark] .v-kanban-col-count {
  background: var(--vesta-bg-hover);
  border-color: transparent;
}

.v-kanban-col-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px;
  overflow-y: auto;
  border-radius: 0 0 12px 12px;
  transition: background var(--motion-fast), box-shadow var(--motion-fast);
}
.v-kanban-col-body.drag-over {
  background: var(--vesta-primary-subtle);
  box-shadow: inset 0 0 0 2px var(--vesta-primary);
}

.tk-kanban-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 12px;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-left: 3px solid var(--vesta-border);
  border-radius: 10px;
  cursor: grab;
  transition: box-shadow var(--motion-fast), border-color var(--motion-fast), opacity var(--motion-fast);
}
.tk-kanban-card:active {
  cursor: grabbing;
}
.tk-kanban-card:hover {
  box-shadow: var(--vesta-shadow-sm);
}
.tk-kanban-card:focus-visible {
  outline: var(--focus-outline);
  outline-offset: 2px;
}
.tk-kanban-card.selected {
  border-color: var(--vesta-primary);
}
.tk-kanban-card.prio-p1 {
  border-left-color: var(--vesta-danger);
}
.tk-kanban-card.prio-p2 {
  border-left-color: var(--vesta-warning);
}
.tk-kanban-card.prio-p3 {
  border-left-color: var(--vesta-primary);
}
.tk-kanban-card.prio-p4 {
  border-left-color: var(--vesta-border-input);
}

.tk-kanban-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.tk-kanban-card-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--vesta-text-primary);
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.tk-kanban-card-meta {
  display: flex;
  gap: 4px;
  font-size: 11.5px;
  color: var(--vesta-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tk-kanban-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.tk-kanban-empty {
  padding: 16px 8px;
  font-size: 12px;
  color: var(--vesta-text-muted);
  text-align: center;
}

.v-tree {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.tk-tree-groups {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tk-tree-group {
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-left: 3px solid var(--vesta-border);
  border-radius: 12px;
  overflow: hidden;
}
.tk-tree-group .v-tree {
  gap: 0;
}
.tk-tree-group .v-tree-row {
  border-radius: 0;
  border-bottom: 1px solid var(--vesta-border-subtle);
}
.tk-tree-group .v-tree-row:last-child {
  border-bottom: none;
}
.tk-tree-group .v-tree-row[aria-level="1"] {
  background: var(--vesta-bg-hover);
}
.tk-tree-group .v-tree-row[aria-level="1"] .tk-tree-title {
  font-weight: 700;
}
[data-theme=dark] .tk-tree-group .v-tree-row[aria-level="1"] {
  background: var(--vesta-bg-sidebar-2);
}
.tk-tree-group.prio-p1 {
  border-left-color: var(--vesta-danger);
}
.tk-tree-group.prio-p2 {
  border-left-color: var(--vesta-warning);
}
.tk-tree-group.prio-p3 {
  border-left-color: var(--vesta-primary);
}
.tk-tree-group.prio-p4 {
  border-left-color: var(--vesta-border-input);
}

.v-tree-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid transparent;
  border-radius: 10px;
  cursor: pointer;
  transition: background var(--motion-fast), border-color var(--motion-fast);
}
.v-tree-row:hover {
  background: var(--vesta-bg-hover);
}
.v-tree-row:focus-visible {
  outline: var(--focus-outline);
  outline-offset: 2px;
}
.v-tree-row.selected {
  background: var(--vesta-primary-subtle);
  border-color: var(--vesta-primary);
}

.v-tree-indent {
  flex: none;
  width: calc(var(--tree-level, 0) * 24px);
}

.v-tree-chevron {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  padding: 0;
  border: none;
  background: transparent;
  border-radius: 6px;
  color: var(--vesta-text-muted);
  cursor: pointer;
}
.v-tree-chevron:hover:not(.v-tree-chevron--leaf) {
  background: var(--vesta-bg-active);
  color: var(--vesta-text-primary);
}
.v-tree-chevron--leaf {
  cursor: default;
}

.v-tree-row-content {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}

.tk-tree-main {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.tk-tree-title {
  min-width: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--vesta-text-primary);
}

.tk-tree-agg {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: 96px;
}
.tk-tree-agg .progress {
  flex: 1;
}

.tk-tree-agg-count {
  flex: none;
  font-size: 11px;
  color: var(--vesta-text-muted);
}

.tk-tree-wf {
  flex: none;
  width: 180px;
  overflow: hidden;
}

.tk-tree-side {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  width: 230px;
}

.tk-tree-sla {
  min-width: 60px;
  font-size: 12px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  text-align: right;
  color: var(--vesta-text-secondary);
}
.tk-tree-sla.breached {
  color: var(--vesta-danger);
}

.tk-tree-assignee {
  max-width: 90px;
}

@media (max-width: 1100px) {
  .tk-tree-wf {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .tk-tree-agg,
  .tk-tree-assignee {
    display: none;
  }
  .tk-tree-side {
    width: auto;
    gap: 8px;
  }
}
.vcal-wrap {
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 12px;
  overflow: hidden;
}

.vcal-dow-row {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  border-bottom: 1px solid var(--vesta-border);
}

.vcal-dow {
  padding: 10px 0;
  text-align: center;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--vesta-text-muted);
}

.vcal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}

.vcal-cell {
  min-height: 80px;
  padding: 8px;
  border-right: 1px solid var(--vesta-border-subtle);
  border-bottom: 1px solid var(--vesta-border-subtle);
  border-left: none;
  border-top: none;
  background: none;
  text-align: left;
  cursor: pointer;
  transition: background 0.12s;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.vcal-cell:hover {
  background: var(--vesta-primary-subtle);
}
.vcal-cell:nth-child(7n) {
  border-right: none;
}
.vcal-cell--outside {
  min-height: 80px;
  border-right: 1px solid var(--vesta-border-subtle);
  border-bottom: 1px solid var(--vesta-border-subtle);
  opacity: 0.25;
  pointer-events: none;
}
.vcal-cell--outside:nth-child(7n) {
  border-right: none;
}
.vcal-cell--today .vcal-day-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--vesta-primary);
  color: #fff;
  font-weight: 700;
}
.vcal-cell--selected {
  background: var(--vesta-primary-subtle);
}

.vcal-day-num {
  font-size: 13px;
  font-weight: 600;
  color: var(--vesta-text-primary);
  line-height: 24px;
}

.cal-wrap {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 16px;
}

.cal-pool,
.cal-board {
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 12px;
  overflow: auto;
  height: 78vh;
  min-width: 0;
}
[data-theme=dark] .cal-pool,
[data-theme=dark] .cal-board {
  background: var(--vesta-bg-card);
  border-color: var(--vesta-border);
}

.cal-pool {
  padding: 12px;
}

.cal-rt {
  position: relative;
  min-width: 720px;
}

.cal-rt-grid {
  display: grid;
  grid-template-columns: 168px minmax(0, 1fr);
}

.cal-rt-corner {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 4;
  background: var(--vesta-bg-card);
  border-bottom: 1px solid var(--vesta-border);
  border-right: 1px solid var(--vesta-border-subtle);
}

.cal-rt-hours {
  display: flex;
  position: sticky;
  top: 0;
  z-index: 3;
  background: var(--vesta-bg-card);
  border-bottom: 1px solid var(--vesta-border);
}

.cal-rt-hour {
  flex: 1 1 0;
  min-width: 44px;
  padding: 8px 4px;
  font-size: 11px;
  color: var(--vesta-text-muted);
  text-align: center;
  border-right: 1px solid var(--vesta-border-subtle);
}
.cal-rt-hour:last-child {
  border-right: none;
}

.cal-rt-label {
  position: sticky;
  left: 0;
  z-index: 2;
  padding: 8px 12px;
  background: var(--vesta-bg-card);
  border-right: 1px solid var(--vesta-border);
  border-bottom: 1px solid var(--vesta-border-subtle);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
}
.cal-rt-label .tname {
  font-size: 13px;
  font-weight: 600;
  color: var(--vesta-text-primary);
}
.cal-rt-label .tmeta {
  font-size: 11px;
  color: var(--vesta-text-muted);
}
.cal-rt-label.on-leave .tname {
  color: var(--vesta-warning, #b8860b);
}

.cal-load {
  width: 100%;
  max-width: 120px;
  height: 4px;
  border-radius: var(--vesta-radius-full);
  background: var(--vesta-bg-hover);
  overflow: hidden;
}

.cal-load-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  transition: width var(--motion-base);
}
.cal-load-fill.ok {
  background: var(--vesta-success);
}
.cal-load-fill.warn {
  background: var(--vesta-warning);
}
.cal-load-fill.over {
  background: var(--vesta-danger);
}

.cal-rt-leave {
  font-size: 11px;
  font-weight: 600;
  color: var(--vesta-warning, #b8860b);
  cursor: pointer;
}

.cal-rt-track {
  position: relative;
  border-bottom: 1px solid var(--vesta-border-subtle);
  min-height: 64px;
}
.cal-rt-track.on-leave {
  background: repeating-linear-gradient(45deg, var(--vesta-bg-muted, rgba(0, 0, 0, 0.04)), var(--vesta-bg-muted, rgba(0, 0, 0, 0.04)) 6px, transparent 6px, transparent 12px);
}

.cal-rt-leaveband {
  background: repeating-linear-gradient(45deg, color-mix(in srgb, var(--vesta-warning, #b8860b) 28%, transparent), color-mix(in srgb, var(--vesta-warning, #b8860b) 28%, transparent) 6px, transparent 6px, transparent 12px);
  position: absolute;
  top: 0;
  height: 100%;
  border-left: 2px solid var(--vesta-warning, #b8860b);
  border-right: 2px solid var(--vesta-warning, #b8860b);
  cursor: pointer;
}

.cal-rt-cells {
  position: absolute;
  inset: 0;
  display: flex;
}

.cal-rt-cell {
  flex: 1 1 0;
  border-right: 1px solid var(--vesta-border-subtle);
  cursor: pointer;
  transition: background 0.12s;
}
.cal-rt-cell:last-child {
  border-right: none;
}
.cal-rt-track.on-leave .cal-rt-cell, .cal-rt-cell.is-onleave {
  cursor: not-allowed;
}
.cal-rt-track:not(.on-leave) .cal-rt-cell:not(.is-onleave):hover {
  background: var(--vesta-primary-subtle);
}
.cal-rt-cell.is-mid {
  border-right-color: color-mix(in srgb, var(--vesta-border-subtle) 45%, transparent);
}

.cal-rt-now {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--vesta-danger, #ef4444);
  z-index: 3;
  pointer-events: none;
}
.cal-rt-now::before {
  content: "";
  position: absolute;
  top: -3px;
  left: -3px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--vesta-danger, #ef4444);
}

.cal-rt-block {
  position: absolute;
  border-radius: 8px;
  padding: 4px 8px;
  font-size: 11.5px;
  color: white;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.4);
  overflow: hidden;
  cursor: grab;
  z-index: 2;
}
.cal-rt-block .b-title {
  display: flex;
  align-items: center;
  gap: 4px;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.2;
}
.cal-rt-block .b-title .lucide {
  width: 12px;
  height: 12px;
  flex: none;
}
.cal-rt-block .b-title > span {
  min-width: 0;
}
.cal-rt-block .b-meta {
  font-size: 10.5px;
  opacity: 0.9;
}
.cal-rt-block.p1 {
  background: linear-gradient(135deg, #EF4444, #DC2626);
}
.cal-rt-block.p2 {
  background: linear-gradient(135deg, #F59E0B, #D97706);
}
.cal-rt-block.p3 {
  background: linear-gradient(135deg, #6366F1, #4F46E5);
}
.cal-rt-block.p4 {
  background: linear-gradient(135deg, #64748B, #475569);
}
.cal-rt-block.appt {
  background: linear-gradient(135deg, #0EA5E9, #0284C7);
  cursor: grab;
}
.cal-rt-block.appt.appt-draft {
  background: linear-gradient(135deg, #38BDF8, #0EA5E9);
  border-style: dashed;
  opacity: 0.85;
}
.cal-rt-block.wl {
  background: linear-gradient(135deg, #14B8A6, #0D9488);
  cursor: pointer;
}
.cal-rt-block.ext {
  background: linear-gradient(135deg, #7C3AED, #6D28D9);
  border: 1px dashed rgba(255, 255, 255, 0.55);
  cursor: default;
  opacity: 0.92;
}
.cal-rt-block.is-sla-breach {
  box-shadow: 0 0 0 2px var(--vesta-danger), 0 0 12px rgba(239, 68, 68, 0.45);
}
.cal-rt-block.is-sla-due {
  box-shadow: 0 0 0 2px var(--vesta-warning);
}
.cal-rt-block.is-conflict {
  border: 2px dashed #fff;
  filter: saturate(1.25);
}
.cal-rt-block:active {
  cursor: grabbing;
}

.cal-rt-move {
  position: absolute;
  top: 2px;
  right: 2px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  padding: 0;
  border: none;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.22);
  color: inherit;
  opacity: 0;
  transition: opacity 0.12s;
}
.cal-rt-block:hover .cal-rt-move {
  opacity: 1;
}
.cal-rt-move:hover {
  background: rgba(255, 255, 255, 0.38);
}
@media (hover: none) {
  .cal-rt-move {
    opacity: 1;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.3);
  }
}

.cal-rt--dragging .cal-rt-cell.is-droptarget,
.cal-rt--dragging .cal-rt-wcell.is-droptarget {
  background: var(--vesta-primary-subtle);
  box-shadow: inset 0 0 0 2px var(--vesta-primary);
}
.cal-rt--dragging .cal-rt-block {
  pointer-events: none;
}

.cal-rt-wgrid {
  display: grid;
  grid-template-columns: 168px repeat(7, minmax(0, 1fr));
}

.cal-rt-whead {
  position: sticky;
  top: 0;
  z-index: 3;
  padding: 10px 8px;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  text-transform: capitalize;
  background: var(--vesta-bg-card);
  border-bottom: 1px solid var(--vesta-border);
  border-right: 1px solid var(--vesta-border-subtle);
  cursor: pointer;
}
.cal-rt-whead:hover {
  background: var(--vesta-primary-subtle);
}
.cal-rt-whead.is-today {
  color: var(--vesta-primary);
  font-weight: 700;
}

.cal-rt-wcell {
  min-height: 76px;
  padding: 6px;
  border-right: 1px solid var(--vesta-border-subtle);
  border-bottom: 1px solid var(--vesta-border-subtle);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.cal-rt-wcell:hover {
  background: var(--vesta-primary-subtle);
}
.cal-rt-wcell.is-today {
  background: var(--vesta-primary-subtle);
}
.cal-rt-wcell.on-leave {
  background: repeating-linear-gradient(45deg, var(--vesta-bg-muted, rgba(0, 0, 0, 0.04)), var(--vesta-bg-muted, rgba(0, 0, 0, 0.04)) 6px, transparent 6px, transparent 12px);
  cursor: not-allowed;
}

.cal-rt-chip {
  display: flex;
  align-items: baseline;
  gap: 4px;
  padding: 2px 6px;
  border-radius: 6px;
  font-size: 11px;
  background: var(--vesta-primary-subtle);
  color: var(--vesta-text-primary);
  cursor: pointer;
  min-width: 0;
}
.cal-rt-chip.is-appt {
  background: rgba(14, 165, 233, 0.14);
}
.cal-rt-chip.prio-p1 {
  box-shadow: inset 3px 0 0 var(--vesta-danger);
}
.cal-rt-chip.prio-p2 {
  box-shadow: inset 3px 0 0 var(--vesta-warning);
}
.cal-rt-chip.prio-p3 {
  box-shadow: inset 3px 0 0 var(--vesta-primary);
}
.cal-rt-chip.prio-p4 {
  box-shadow: inset 3px 0 0 var(--vesta-text-muted);
}
.cal-rt-chip.is-sla-breach {
  background: var(--vesta-danger-subtle);
  color: var(--vesta-danger);
}
.cal-rt-chip.is-sla-due {
  background: var(--vesta-warning-subtle);
}
.cal-rt-chip .cal-rt-chip-time {
  font-weight: 700;
  flex: 0 0 auto;
}
.cal-rt-chip .cal-rt-chip-title {
  min-width: 0;
}

.cal-rt-more {
  font-size: 10.5px;
  font-weight: 600;
  color: var(--vesta-text-muted);
}

.cal-rt-acts {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  margin-top: 4px;
}

.cal-rt-actchip {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  max-width: 100%;
  padding: 1px 6px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 600;
  background: rgba(20, 184, 166, 0.12);
  color: #0D9488;
  border: 1px solid rgba(20, 184, 166, 0.28);
  cursor: pointer;
}
.cal-rt-actchip svg {
  width: 11px;
  height: 11px;
  flex: 0 0 auto;
}
.cal-rt-actchip span {
  min-width: 0;
}
.cal-rt-actchip:hover {
  background: rgba(20, 184, 166, 0.2);
}
.cal-rt-actchip.is-ext {
  background: rgba(124, 58, 237, 0.12);
  color: #6D28D9;
  border: 1px dashed rgba(124, 58, 237, 0.4);
  cursor: default;
}
.cal-rt-actchip.is-ext:hover {
  background: rgba(124, 58, 237, 0.18);
}

.cal-year {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
}

.cal-year-month {
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 12px;
  overflow: hidden;
}
.cal-year-month .vcal-wrap {
  border: none;
  border-radius: 0;
}
.cal-year-month .vcal-cell {
  min-height: 40px;
  padding: 4px;
  align-items: center;
}
.cal-year-month .vcal-cell--outside {
  min-height: 40px;
}
.cal-year-month .vcal-day-num {
  font-size: 11px;
  line-height: 18px;
}
.cal-year-month .vcal-cell--today .vcal-day-num {
  width: 18px;
  height: 18px;
}

.cal-year-mname {
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 700;
  text-transform: capitalize;
  border-bottom: 1px solid var(--vesta-border);
}

.cal-year-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  margin-top: 1px;
}
.cal-year-dot.lvl1 {
  background: rgba(99, 102, 241, 0.35);
}
.cal-year-dot.lvl2 {
  background: rgba(99, 102, 241, 0.6);
}
.cal-year-dot.lvl3 {
  background: var(--vesta-primary);
}
.cal-year-dot.lvl4 {
  background: var(--vesta-danger, #ef4444);
  width: 9px;
  height: 9px;
}

.appt-attendees {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  max-height: 140px;
  overflow-y: auto;
}

.appt-conflicts {
  padding: 8px 10px;
  border-radius: 8px;
  background: var(--vesta-bg-muted, rgba(0, 0, 0, 0.04));
}

.appt-conflict-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2px;
  padding: 2px 0;
}

.pool-item {
  padding: 10px;
  border-radius: 8px;
  border: 1px dashed var(--vesta-border);
  background: var(--vesta-bg-body);
  margin-bottom: 8px;
  cursor: grab;
  transition: all 0.15s;
}
.pool-item:hover {
  border-color: var(--vesta-primary);
  background: var(--vesta-primary-subtle);
}
[data-theme=dark] .pool-item {
  background: var(--vesta-bg-sidebar-2);
  border-color: var(--vesta-border);
}

@media (max-width: 767.98px) {
  .cal-wrap {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .cal-pool {
    height: auto;
    max-height: 200px;
  }
  .cal-board {
    height: 70vh;
  }
  .cal-rt {
    min-width: 0;
  }
  .cal-rt-label .tname {
    font-size: 12px;
  }
  .cal-year {
    grid-template-columns: 1fr;
  }
}
.cal-agenda {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-width: 860px;
}

.cal-agenda-item {
  --agenda-accent: var(--vesta-text-muted);
  display: grid;
  grid-template-columns: 52px 3px minmax(0, 1fr) auto;
  gap: 0 12px;
  align-items: center;
  padding: 10px 14px 10px 10px;
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  background: var(--vesta-bg-card);
  cursor: pointer;
  transition: transform var(--motion-fast), box-shadow var(--motion-fast), border-color var(--motion-fast);
}
.cal-agenda-item:hover {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--agenda-accent) 40%, var(--vesta-border));
  box-shadow: var(--vesta-shadow);
}
.cal-agenda-item.prio-p1 {
  --agenda-accent: var(--vesta-danger);
}
.cal-agenda-item.prio-p2 {
  --agenda-accent: var(--vesta-warning);
}
.cal-agenda-item.prio-p3 {
  --agenda-accent: var(--vesta-primary);
}
.cal-agenda-item.prio-p4 {
  --agenda-accent: var(--vesta-text-muted);
}
.cal-agenda-item.is-appt {
  --agenda-accent: #0EA5E9;
}
.cal-agenda-item.is-ext {
  --agenda-accent: #7C3AED;
  border-style: dashed;
  cursor: pointer;
}
.cal-agenda-item.is-ext-promoted {
  border-style: solid;
  opacity: 0.75;
}
.cal-agenda-item.is-now {
  border-color: color-mix(in srgb, var(--agenda-accent) 50%, var(--vesta-border));
  background: linear-gradient(90deg, color-mix(in srgb, var(--agenda-accent) 6%, var(--vesta-bg-card)), var(--vesta-bg-card) 55%);
}

.cal-agenda-time {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  font-feature-settings: "tnum";
}
.cal-agenda-time .t-start {
  font-size: 14px;
  font-weight: 700;
  color: var(--vesta-text-primary);
}
.cal-agenda-time .t-end {
  font-size: 11px;
  color: var(--vesta-text-muted);
}

.cal-agenda-rail {
  align-self: stretch;
  border-radius: 2px;
  background: var(--agenda-accent);
}

.cal-agenda-body {
  min-width: 0;
}

.cal-agenda-title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--vesta-text-primary);
}
.cal-agenda-title .lucide {
  width: 15px;
  height: 15px;
  flex: none;
  color: var(--agenda-accent);
}

.cal-agenda-sub {
  font-size: 12px;
  color: var(--vesta-text-secondary);
  margin-top: 1px;
}

.cal-agenda-badge {
  flex: none;
  padding: 1px 7px;
  border-radius: var(--vesta-radius-full);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.cal-agenda-badge.is-now {
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary);
}
.cal-agenda-badge.is-sla {
  background: var(--vesta-danger-subtle);
  color: var(--vesta-danger);
}

.cal-agenda-assignee {
  font-size: 11.5px;
  color: var(--vesta-text-muted);
  max-width: 160px;
}

.cal-agenda-now {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-left: 44px;
}
.cal-agenda-now::after {
  content: "";
  flex: 1;
  height: 2px;
  border-radius: 1px;
  background: linear-gradient(90deg, var(--vesta-danger), transparent);
}

.cal-agenda-now-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--vesta-danger);
  box-shadow: 0 0 8px color-mix(in srgb, var(--vesta-danger) 60%, transparent);
  flex: none;
}

.cal-agenda-now-label {
  font-size: 11px;
  font-weight: 700;
  color: var(--vesta-danger);
  flex: none;
}

@media (max-width: 575.98px) {
  .cal-agenda-item {
    grid-template-columns: 44px 3px minmax(0, 1fr);
  }
  .cal-agenda-assignee {
    display: none;
  }
}
.v-list {
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--vesta-shadow-sm);
}
[data-theme=dark] .v-list {
  background: var(--vesta-bg-card);
  border-color: var(--vesta-border);
}

.v-list-scroll {
  container-type: inline-size;
  container-name: vlist;
}

.vl-colrow {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-bottom: 1px solid var(--vesta-border-subtle);
  cursor: grab;
}
.vl-colrow:last-child {
  border-bottom: 0;
}
.vl-colrow:hover {
  background: var(--vesta-bg-body);
}

.vl-preset-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.vl-preset-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.vl-preset-apply,
.vl-preset-del {
  border: 0;
  background: transparent;
  padding: 0;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.vl-preset-del {
  display: inline-flex;
  opacity: 0.6;
}
.vl-preset-del:hover {
  opacity: 1;
}

.vl-preset-save {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--vesta-border-subtle);
}

.v-list-head,
.v-list-row {
  display: grid;
  grid-template-columns: var(--vl-cols, 1fr);
  column-gap: 14px;
  align-items: center;
  padding: 10px 14px;
  min-width: 0;
}

.v-list-head {
  background: var(--vesta-bg-body);
  border-bottom: 1px solid var(--vesta-border);
  font-size: var(--vesta-fs-xs);
  font-weight: var(--vesta-fw-bold);
  color: var(--vesta-text-muted);
  letter-spacing: var(--vesta-tracking-wide);
  text-transform: uppercase;
}
[data-theme=dark] .v-list-head {
  background: var(--vesta-bg-sidebar-2);
}

.v-list-row {
  border-top: 1px solid var(--vesta-border-subtle);
  cursor: pointer;
  transition: background 0.12s;
  position: relative;
}
.v-list-row:first-of-type {
  border-top: 0;
}
.v-list-row:hover {
  background: var(--vesta-bg-body);
}
.v-list-row.selected {
  background: var(--vesta-primary-subtle);
}
.v-list-row.selected::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--vesta-primary);
}
.v-list-row.alert::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--vesta-danger);
}
.v-list-row > * {
  min-width: 0;
}
.v-list-row > * > .text-truncate {
  display: block;
  max-width: 100%;
}
.v-list-row .vl-label {
  display: none;
  font-size: var(--vesta-fs-xs);
  font-weight: var(--vesta-fw-bold);
  color: var(--vesta-text-muted);
  letter-spacing: var(--vesta-tracking-wide);
  text-transform: uppercase;
  line-height: 1.2;
  margin-bottom: 2px;
}

.v-list-group {
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--vesta-shadow-sm);
}
.v-list-group + .v-list-group {
  margin-top: 14px;
}
.v-list-group .v-list {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
[data-theme=dark] .v-list-group {
  background: var(--vesta-bg-card);
  border-color: var(--vesta-border);
}

.v-list-group-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  background: var(--vesta-bg-body);
  border-bottom: 1px solid var(--vesta-border);
  flex-wrap: wrap;
}
.v-list-group-head .vl-grp-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary);
  flex: 0 0 auto;
}
[data-theme=dark] .v-list-group-head .vl-grp-icon {
  background: rgba(99, 102, 241, 0.18);
  color: #C7D2FE;
}
.v-list-group-head .vl-grp-name {
  font-weight: 700;
  font-size: 14px;
  color: var(--vesta-text-primary);
}
.v-list-group-head .vl-grp-meta {
  color: var(--vesta-text-muted);
  font-size: 11.5px;
}
.v-list-group-head .vl-grp-stats {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-left: auto;
  flex-wrap: wrap;
}
.v-list-group-head .vl-grp-stat {
  font-size: 11px;
  color: var(--vesta-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 600;
}
.v-list-group-head .vl-grp-stat b {
  display: block;
  font-size: 13px;
  color: var(--vesta-text-primary);
  font-family: var(--vesta-font-mono);
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
  margin-top: 1px;
}
[data-theme=dark] .v-list-group-head {
  background: var(--vesta-bg-sidebar-2);
  border-color: var(--vesta-border);
}

.vl-prog {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.vl-prog-bar {
  flex-grow: 1;
  height: 6px;
  border-radius: 99px;
  background: var(--vesta-bg-hover);
  overflow: hidden;
  min-width: 0;
}
[data-theme=dark] .vl-prog-bar {
  background: rgba(255, 255, 255, 0.06);
}

.vl-prog-fill {
  height: 100%;
  border-radius: inherit;
  background: var(--vesta-primary);
  transition: width 0.25s;
  display: flex;
}
.vl-prog-fill.warn {
  background: var(--vesta-warning);
}
.vl-prog-fill.danger {
  background: var(--vesta-danger);
}
.vl-prog-fill.success {
  background: var(--vesta-success);
}

.vl-prog-val {
  font-family: var(--vesta-font-mono);
  font-size: 11.5px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
  white-space: nowrap;
}

@container vlist (max-width: 720px) {
  .v-list-head {
    display: none;
  }
  .v-list-row {
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: min-content;
    row-gap: 10px;
    column-gap: 18px;
    padding: 14px;
    align-items: start;
  }
  .v-list-row > * {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .v-list-row > .vl-hero {
    grid-column: 1/-1;
    order: -1;
  }
  .v-list-row > .vl-wide {
    grid-column: 1/-1;
  }
  .v-list-row > .vl-end {
    text-align: right;
    align-items: flex-end;
  }
  .v-list-row .vl-label {
    display: block;
  }
  .vl-prog {
    width: 100%;
  }
}
@media (max-width: 900px) {
  .v-dt-cards .v-table thead {
    display: none;
  }
  .v-dt-cards .v-table tbody tr {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: min-content;
    row-gap: 8px;
    column-gap: 14px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--vesta-border-subtle);
  }
  .v-dt-cards .v-table tbody tr td {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
    border: none;
  }
  .v-dt-cards .v-table tbody tr td[data-area=title] {
    grid-column: 1/-1;
    order: -1;
  }
  .v-dt-cards .v-table tbody tr td[data-area=meta], .v-dt-cards .v-table tbody tr td[data-area=wide] {
    grid-column: 1/-1;
  }
  .v-dt-cards .v-table tbody tr td[data-area=status], .v-dt-cards .v-table tbody tr td[data-area=end] {
    text-align: right;
    align-items: flex-end;
  }
}
.pt-table {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  --vl-cols: minmax(220px, 2.2fr) minmax(110px, 1fr) 150px 90px 130px;
}
.pt-table .v-list-head {
  position: sticky;
  top: 0;
  z-index: 1;
}

.pt-table--users {
  --vl-cols: minmax(200px, 2fr) minmax(110px, 1fr) 130px minmax(120px, 1fr) minmax(120px, 1.1fr) 110px 88px;
}

.pt-table--projects {
  --vl-cols: minmax(180px, 1.6fr) minmax(120px, 1fr) minmax(140px, 1.1fr) 96px minmax(120px, 1.2fr) 100px 112px;
}

.pt-table--internal-jobs {
  --vl-cols: minmax(200px, 2fr) minmax(140px, 1.2fr) 96px 90px 90px 110px;
}

.v-list--internal-job-techs {
  --vl-cols: minmax(180px, 1.6fr) minmax(160px, 1.4fr) 100px 110px;
}

.v-list--internal-job-hours {
  --vl-cols: 150px minmax(150px, 0.9fr) minmax(240px, 3fr) 90px;
}
.v-list--internal-job-hours .v-list-head.vl-day-head {
  --vl-cols: 1fr auto;
}

.pt-table--contracts {
  --vl-cols: 72px minmax(180px, 2fr) 130px 150px 72px minmax(120px, 1.4fr) 140px;
}

.pt-table--billing {
  --vl-cols: 72px minmax(180px, 1.8fr) minmax(130px, 1.2fr) minmax(120px, 1fr) minmax(110px, 1fr) 80px 110px 130px 140px;
}

.pt-table--invoices {
  --vl-cols: 140px minmax(180px, 2fr) minmax(120px, 1fr) 120px 130px 120px;
}

.pt-table--documents {
  --vl-cols: 150px 120px minmax(180px, 2fr) 120px 130px 120px;
}

.pt-table--acc-periods {
  --vl-cols: 100px 100px 130px minmax(120px, 1fr) minmax(150px, 1.4fr) 150px;
}

.pt-table--periodic-reports {
  --vl-cols: 110px minmax(150px, 1.4fr) 140px 100px 100px 120px 190px;
}

.v-list--party-contacts {
  --vl-cols: minmax(140px, 1.5fr) minmax(90px, 0.9fr) minmax(192px, 2.2fr) 100px 145px;
}

.v-list--party-sites {
  --vl-cols: 80px minmax(130px, 1fr) 90px 55px 65px 65px 145px;
}

.v-list--party-agents {
  --vl-cols: minmax(170px, 2fr) 130px minmax(130px, 1fr) 80px 145px;
}

.pt-table--vat-intent {
  --vl-cols: 70px minmax(110px, 1fr) minmax(150px, 1.2fr) minmax(110px, 0.9fr) minmax(110px, 0.9fr) minmax(120px, 0.9fr) 110px 90px;
}

.pt-table--holidays {
  --vl-cols: 110px minmax(180px, 2fr) minmax(150px, 1fr) minmax(140px, 1fr) minmax(140px, 0.9fr) 110px 110px;
}

.pt-table--leave-requests {
  --vl-cols: minmax(110px, 1fr) 100px 100px minmax(110px, 120px) 60px 110px 80px;
}

.pt-table--leave-team {
  --vl-cols: minmax(130px, 1fr) 100px 100px 100px minmax(110px, 120px) 60px 110px minmax(100px, 1fr) 120px;
}

.pt-table--workload {
  --vl-cols: minmax(160px, 1.6fr) 100px 100px 110px 120px 120px 120px 130px;
}

.pt-table--billing-groups {
  --vl-cols: minmax(160px, 1.6fr) 170px 130px 110px 90px 90px 130px;
}

.pt-table--billing-group-activities,
.pt-table--billing-group-candidates {
  --vl-cols: 90px 110px minmax(180px, 2fr) 90px 90px;
}

.pt-table--dead-letter {
  --vl-cols: minmax(160px, 1.4fr) 130px 90px minmax(220px, 2fr) 150px 48px;
}

.pt-table--acc-journal {
  --vl-cols: 120px minmax(180px, 2fr) 130px 130px 130px;
}

.pt-table--acc-jentry {
  --vl-cols: minmax(120px, 1.2fr) minmax(180px, 2fr) 140px 140px;
}

.pt-table--acc-jline {
  --vl-cols: minmax(110px, 1.2fr) minmax(150px, 2fr) 110px 110px 44px;
}

.pt-table--acc-payments {
  --vl-cols: 120px minmax(180px, 2fr) 130px 130px 120px 150px;
}

.pt-table--inventory-articles {
  --vl-cols: 150px minmax(180px, 2fr) minmax(110px, 1fr) 130px 90px 130px 90px;
}

.pt-table--inventory-warehouses {
  --vl-cols: 150px minmax(180px, 2fr) 130px 90px;
}

.pt-table--inventory-bom {
  --vl-cols: 150px minmax(180px, 2fr) 120px 44px;
}

.pt-table--inventory-movements {
  --vl-cols: 150px 130px minmax(180px, 2fr) minmax(160px, 1.4fr) 110px;
}

.pt-table--inventory-stock {
  --vl-cols: minmax(160px, 1.4fr) minmax(180px, 2fr) 130px 110px;
}

.pt-table--inventory-serials {
  --vl-cols: 160px minmax(180px, 2fr) 120px 130px 140px;
}

.pt-table--quotes {
  --vl-cols: 120px minmax(180px, 2fr) minmax(160px, 1.6fr) 130px 120px 120px;
}

.pt-table--import-preview {
  --vl-cols: 110px minmax(200px, 2.2fr) 120px minmax(160px, 1.6fr) minmax(140px, 1.2fr);
}

.pt-table--alerts {
  --vl-cols: 160px 110px minmax(200px, 2fr) 96px 120px 100px;
}

.pt-table--workflows {
  --vl-cols: minmax(180px, 1.8fr) minmax(160px, 2fr) 130px 36px;
}

.pt-table--wf-transitions {
  --vl-cols: minmax(90px, 1fr) minmax(90px, 1fr) 60px minmax(110px, 1fr) 60px 80px;
}

.pt-table--technicians {
  --vl-cols: minmax(180px, 2fr) 130px 90px 95px 95px 95px 90px 95px 100px 95px 95px 90px 90px 120px 120px 100px;
}

@media (min-width: 901px) {
  .pt-table--technicians .v-list-head > :first-child,
  .pt-table--technicians .v-list-row > .vl-hero {
    position: sticky;
    left: 0;
    z-index: 1;
    align-self: stretch;
    display: flex;
    align-items: center;
    margin-left: -14px;
    padding-left: 14px;
    margin-right: -14px;
    padding-right: 14px;
    box-shadow: 8px 0 10px -8px rgba(0, 0, 0, 0.14);
  }
  .pt-table--technicians .v-list-head > :not(:first-child) {
    position: relative;
    z-index: 0;
  }
  .pt-table--technicians .v-list-head > :first-child {
    z-index: 3;
    background: inherit;
  }
  .pt-table--technicians .v-list-row > .vl-hero {
    background: var(--vesta-bg-card);
  }
  .pt-table--technicians .v-list-row:hover > .vl-hero {
    background: var(--vesta-bg-body);
  }
}
.pt-load {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
  min-width: 0;
}
.pt-load .pt-load-track {
  width: 56px;
  height: 4px;
  border-radius: 999px;
  background: var(--vesta-bg-active);
  overflow: hidden;
}
.pt-load .pt-load-track .pt-load-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--vesta-primary), var(--vesta-primary-hover));
}
.pt-load.is-over .pt-load-fill {
  background: linear-gradient(90deg, var(--vesta-warning), var(--vesta-danger));
}

.pt-table--tech-activities {
  --vl-cols: minmax(240px, 2.6fr) minmax(140px, 1.3fr) 130px minmax(150px, 1.1fr);
}

.ta-summary {
  margin-bottom: 12px;
}

.ta-toolbar {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 10px;
}

.ta-panel .pt-table {
  max-height: min(58vh, 620px);
}

.pt-table--tech-activities .v-list-head {
  position: static;
}

.ta-day {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px 7px;
  background: var(--vesta-bg-card);
  border-bottom: 1px solid var(--vesta-border-subtle);
  box-shadow: 0 6px 10px -8px rgba(0, 0, 0, 0.18);
}
.ta-day .ta-day-date {
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--vesta-text-secondary);
}
.ta-day .ta-day-date::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--vesta-primary);
  margin-right: 8px;
  vertical-align: 1px;
}
.ta-day .ta-day-track {
  flex: 1 1 auto;
  max-width: 180px;
  height: 4px;
  border-radius: 999px;
  background: var(--vesta-bg-active);
  overflow: hidden;
}
.ta-day .ta-day-track .ta-day-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--vesta-primary), var(--vesta-primary-hover));
  opacity: 0.55;
}
.ta-day .ta-day-meta {
  flex: 0 0 auto;
  margin-left: auto;
  font-size: 11.5px;
  color: var(--vesta-text-muted);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.ta-day.ta-day--weekend .ta-day-date {
  color: var(--vesta-text-muted);
}
.ta-day.ta-day--weekend .ta-day-date::before {
  background: var(--vesta-text-muted);
}
.ta-day.ta-day--weekend .ta-day-fill {
  opacity: 0.3;
}

@media (prefers-reduced-motion: no-preference) {
  @keyframes ta-bar-grow {
    from {
      transform: scaleX(0);
    }
    to {
      transform: scaleX(1);
    }
  }
  @keyframes ta-row-in {
    from {
      opacity: 0;
      transform: translateY(4px);
    }
    to {
      opacity: 1;
      transform: none;
    }
  }
  .ta-hourbar-fill,
  .ta-day-fill {
    transform-origin: left;
    animation: ta-bar-grow 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  .pt-table--tech-activities .v-list-row {
    animation: ta-row-in 0.3s ease-out both;
  }
  .pt-table--tech-activities .v-list-row:nth-child(2) {
    animation-delay: 0.025s;
  }
  .pt-table--tech-activities .v-list-row:nth-child(3) {
    animation-delay: 0.05s;
  }
  .pt-table--tech-activities .v-list-row:nth-child(4) {
    animation-delay: 0.075s;
  }
  .pt-table--tech-activities .v-list-row:nth-child(5) {
    animation-delay: 0.1s;
  }
  .pt-table--tech-activities .v-list-row:nth-child(6) {
    animation-delay: 0.125s;
  }
  .pt-table--tech-activities .v-list-row:nth-child(7) {
    animation-delay: 0.15s;
  }
  .pt-table--tech-activities .v-list-row:nth-child(8) {
    animation-delay: 0.175s;
  }
  .pt-table--tech-activities .v-list-row:nth-child(9) {
    animation-delay: 0.2s;
  }
  .pt-table--tech-activities .v-list-row:nth-child(10) {
    animation-delay: 0.225s;
  }
  .pt-table--tech-activities .v-list-row:nth-child(11) {
    animation-delay: 0.25s;
  }
}
.pt-table--tech-activities .v-list-row {
  border-left: 2px solid transparent;
  transition: background 0.12s, border-color 0.12s;
}
.pt-table--tech-activities .v-list-row:hover {
  border-left-color: var(--vesta-primary);
}

.ta-ticket {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.ta-ticket .ta-ticket-link {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-decoration: none;
}
.ta-ticket .ta-ticket-link:hover {
  text-decoration: underline;
}
.ta-ticket .ta-ticket-id {
  font-size: 11.5px;
  color: var(--vesta-text-muted);
}
.ta-ticket .ta-desc {
  font-size: 11.5px;
  color: var(--vesta-text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ta-hours {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.ta-hours .ta-hourbar {
  flex: 0 0 64px;
  height: 6px;
  border-radius: 999px;
  background: var(--vesta-bg-active);
  overflow: hidden;
}
.ta-hours .ta-hourbar .ta-hourbar-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--vesta-primary), var(--vesta-primary-hover));
}

.pt-table--workreports {
  --vl-cols: 140px minmax(180px, 2fr) 120px 90px 130px 130px;
}

.pt-table--audit {
  --vl-cols: 170px minmax(150px, 1.4fr) 80px 80px minmax(150px, 1.4fr) minmax(160px, 1.8fr);
}

.pt-table--recipients {
  --vl-cols: minmax(180px, 1.6fr) 140px minmax(160px, 1.4fr) 150px;
}

.pt-table--activity {
  --vl-cols: 96px minmax(160px, 1.6fr) minmax(180px, 2fr) minmax(120px, 1fr) 80px 110px 130px;
}

.pt-table--activity-eco {
  --vl-cols: 96px minmax(150px, 1.4fr) minmax(170px, 1.8fr) minmax(110px, 1fr) 72px 100px 120px 96px 96px;
}

.pt-table--reconciliation {
  --vl-cols: minmax(160px, 1.5fr) minmax(150px, 1.3fr) 104px 108px 104px 116px 112px 100px 96px;
}
.pt-table--reconciliation .v-list-row > [role=gridcell] {
  min-width: 0;
}

.v-list-row.is-group-start {
  border-top: 1px solid var(--vesta-border);
}
.v-list-row.is-group-start:not(:first-of-type) {
  margin-top: 4px;
}

.v-list-row.is-expanded {
  background: var(--vesta-primary-subtle);
  outline: none;
}
.v-list-row.is-expanded .vl-expand-ico {
  color: var(--vesta-primary);
}

.vl-detail {
  margin: 0.6rem 0.6rem 0.6rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--vesta-border);
  border-left: 3px solid var(--vesta-primary);
  border-radius: var(--vesta-radius-md, 10px);
  background: var(--vesta-surface-muted, var(--vesta-bg-muted));
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr);
  gap: 0.9rem 2rem;
  align-items: start;
}
@media (max-width: 900px) {
  .vl-detail {
    grid-template-columns: 1fr;
  }
}
.vl-detail .vl-detail-label {
  display: block;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--vesta-text-muted);
  margin-bottom: 0.25rem;
}
.vl-detail .vl-detail-desc {
  grid-row: span 2;
  min-width: 0;
}
.vl-detail .vl-detail-desc p {
  color: var(--vesta-text);
  white-space: pre-wrap;
}
.vl-detail .vl-detail-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 0.75rem 1.25rem;
}
.vl-detail .vl-detail-meta .vl-detail-field span:last-child {
  color: var(--vesta-text);
}
.vl-detail .vl-detail-actions {
  grid-column: 2;
  display: flex;
  gap: 0.5rem;
}
@media (max-width: 900px) {
  .vl-detail .vl-detail-actions {
    grid-column: 1;
  }
}

.pt-table-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--vesta-border);
  flex-wrap: wrap;
}

.pt-table-search {
  display: flex;
  align-items: center;
  gap: 7px;
  flex: 1;
  min-width: 0;
  max-width: 360px;
  padding: 6px 10px;
  border: 1px solid var(--vesta-border);
  border-radius: 8px;
  background: var(--vesta-bg-body);
  color: var(--vesta-text-muted);
}
.pt-table-search:focus-within {
  border-color: var(--vesta-primary);
  box-shadow: 0 0 0 3px var(--vesta-primary-subtle);
}
.pt-table-search input {
  border: 0;
  background: transparent;
  outline: none;
  flex: 1;
  min-width: 0;
  font-size: 13px;
  color: var(--vesta-text-primary);
}
[data-theme=dark] .pt-table-search {
  background: var(--vesta-bg-sidebar-2);
}

.pt-table-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  color: var(--vesta-text-muted);
  white-space: nowrap;
}

.pt-sort-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 9px;
  border-radius: 99px;
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary-strong);
  font-weight: 700;
}

.v-sort {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  color: inherit;
}
.v-sort .lucide {
  width: 12px;
  height: 12px;
  opacity: 0.45;
}
.v-sort:hover {
  color: var(--vesta-text-primary);
}
.v-sort.is-active {
  color: var(--vesta-primary-strong);
}
.v-sort.is-active .lucide {
  opacity: 1;
}
.v-sort--end {
  width: 100%;
  justify-content: flex-end;
}

.pt-table-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
}

@media (max-width: 900px) {
  .pt-table {
    height: auto;
  }
  .pt-table-scroll {
    overflow: visible;
  }
}
@container vlist (max-width: 720px) {
  .pt-table-scroll .v-list-row > .vl-end {
    text-align: left;
    align-items: flex-start;
  }
}
.pt-name-cell {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

button.pt-name-cell {
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  color: inherit;
  font: inherit;
}
button.pt-name-cell:hover .pt-row-name {
  text-decoration: underline;
}

.pt-name-wrap {
  min-width: 0;
}

.pt-row-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--vesta-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pt-row-sub {
  display: block;
  font-size: 11px;
  color: var(--vesta-text-muted);
  margin-top: 1px;
}

.v-sidecard-tiles {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.v-overview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
}

.pt-split {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 20px;
  align-items: start;
}

.pt-left {
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 0;
  overflow: hidden;
  box-shadow: var(--vesta-shadow-sm);
  position: sticky;
  top: 72px;
  max-height: calc(100vh - 108px);
  display: flex;
  flex-direction: column;
}
[data-theme=dark] .pt-left {
  background: var(--vesta-bg-card);
  border-color: var(--vesta-border);
}

.pt-search {
  padding: 10px 12px;
  border-bottom: 1px solid var(--vesta-border);
  flex-shrink: 0;
}

.pt-type-tabs {
  display: flex;
  gap: 2px;
  padding: 8px 10px;
  border-bottom: 1px solid var(--vesta-border);
  flex-shrink: 0;
}

.pt-type-tab {
  font-size: 11.5px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 6px;
  border: 0;
  background: transparent;
  color: var(--vesta-text-muted);
  cursor: pointer;
  transition: all 0.12s;
}
.pt-type-tab.active {
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary-strong);
}
.pt-type-tab:hover:not(.active) {
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-primary);
}

.pt-card-list {
  overflow-y: auto;
  flex: 1;
  min-height: 0;
}

.pt-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 14px;
  cursor: pointer;
  border-bottom: 1px solid var(--vesta-border-subtle);
  transition: background 0.12s;
  position: relative;
}
.pt-card:last-child {
  border-bottom: 0;
}
.pt-card:hover {
  background: var(--vesta-bg-body);
}
.pt-card.active {
  background: var(--vesta-primary-subtle);
}
.pt-card.active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--vesta-primary);
}
[data-theme=dark] .pt-card:hover {
  background: rgba(255, 255, 255, 0.04);
}
[data-theme=dark] .pt-card.active {
  background: rgba(99, 102, 241, 0.14);
}

.pt-card-body {
  min-width: 0;
  flex: 1;
}

.pt-card-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--vesta-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pt-card-meta {
  font-size: 11px;
  color: var(--vesta-text-muted);
  margin-top: 2px;
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
}

.pt-hero {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 20px;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 12px;
}
[data-theme=dark] .pt-hero {
  background: var(--vesta-bg-card);
  border-color: var(--vesta-border);
}

.pt-hero-body {
  min-width: 0;
  flex: 1;
}

.pt-hero-name {
  font-size: 17px;
  font-weight: 700;
  color: var(--vesta-text-primary);
  line-height: 1.2;
  margin-bottom: 5px;
}

.pt-hero-meta {
  font-size: 12px;
  color: var(--vesta-text-muted);
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.pt-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 260px;
  color: var(--vesta-text-muted);
  font-size: 13px;
  gap: 10px;
}

.ar-group-head {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-md, 10px);
  background: var(--vesta-surface, var(--vesta-bg));
  margin: 0.35rem 0.3rem;
  transition: background 0.12s ease, border-color 0.12s ease;
}
.ar-group-head:hover {
  background: var(--vesta-surface-muted, var(--vesta-bg-muted));
}
.ar-group-head.is-open {
  border-color: var(--vesta-primary);
  background: var(--vesta-surface-muted, var(--vesta-bg-muted));
}
.ar-group-head .ar-group-title {
  flex: 1;
  min-width: 0;
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--vesta-text);
  text-transform: capitalize;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ar-group-head .ar-group-meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: var(--vesta-text-muted);
  font-size: 0.8125rem;
}

.ar-group-body {
  margin: 0 0.3rem 0.6rem 1.3rem;
  border-left: 2px solid var(--vesta-border);
  padding-left: 0.4rem;
}

.ar-group-more {
  border-top: 1px dashed var(--vesta-border);
  margin-top: 0.3rem;
}

@keyframes pulseSeg {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.55;
  }
}
.wf-progress {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 3px;
  min-width: 140px;
}
.wf-progress.compact {
  gap: 2px;
  min-width: 110px;
  max-width: 160px;
}
.wf-progress.two-row, .wf-progress.expanded {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 4px 3px;
}
.wf-progress.two-row .wf-seg-label, .wf-progress.expanded .wf-seg-label {
  font-size: 10px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wf-progress.expanded .wf-seg-label {
  font-size: 11px;
  font-weight: 600;
}
.wf-progress.expanded .wf-seg-bar {
  height: 8px;
}
@media (max-width: 767.98px) {
  .wf-progress {
    min-width: 110px;
  }
}

.wf-seg {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.wf-seg .wf-seg-bar {
  height: 6px;
  border-radius: 99px;
  background: #E2E8F0;
  transition: background 0.2s;
}
[data-theme=dark] .wf-seg .wf-seg-bar {
  background: var(--vesta-bg-hover);
}
.wf-seg .wf-seg-label {
  font-size: 9.5px;
  color: var(--vesta-text-muted);
  text-align: center;
  font-weight: 500;
  letter-spacing: -0.005em;
}
.wf-seg.done .wf-seg-bar {
  background: #22C55E;
}
.wf-seg.done .wf-seg-label {
  color: #22C55E;
}
.wf-seg.current .wf-seg-bar {
  background: #F59E0B;
  box-shadow: 0 0 0 2px #FFFBEB;
  position: relative;
}
.wf-seg.current .wf-seg-label {
  color: #B45309;
  font-weight: 700;
}
[data-theme=dark] .wf-seg.current .wf-seg-bar {
  box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.18);
}
.wf-seg.current.final .wf-seg-bar {
  background: #22C55E;
  box-shadow: 0 0 0 2px #F0FDF4;
}
.wf-seg.current.final .wf-seg-label {
  color: #15803D;
}
[data-theme=dark] .wf-seg.current.final .wf-seg-bar {
  box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.18);
}
.wf-seg.current.breached .wf-seg-bar {
  background: #EF4444;
  box-shadow: 0 0 0 2px #FEF2F2;
  animation: pulseSeg 1.4s ease-in-out infinite;
}
[data-theme=dark] .wf-seg.current.breached .wf-seg-bar {
  box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.22);
}

.wf-rail {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.wf-rail-head {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.wf-rail-current {
  font-size: 13px;
  font-weight: 700;
  color: #B45309;
}
.wf-rail-current.is-final {
  color: #15803D;
}
.wf-rail-current.is-breached {
  color: var(--vesta-danger);
}

.wf-rail-step {
  font-size: 11px;
  font-weight: 600;
  color: var(--vesta-text-muted);
  font-family: var(--vesta-font-mono);
}

.wf-rail-track {
  display: flex;
  flex-wrap: nowrap;
  gap: 3px;
  width: 100%;
  min-width: 0;
}

.wf-rail-seg {
  flex: 1 1 0;
  min-width: 0;
  height: 6px;
  border-radius: 99px;
  background: #E2E8F0;
}
[data-theme=dark] .wf-rail-seg {
  background: var(--vesta-bg-hover);
}
.wf-rail-seg.done {
  background: #22C55E;
}
.wf-rail-seg.current {
  background: #F59E0B;
}
.wf-rail-seg.current.final {
  background: #22C55E;
}
.wf-rail-seg.current.breached {
  background: #EF4444;
  animation: pulseSeg 1.4s ease-in-out infinite;
}

.wf-bar-track {
  flex: 1;
  height: 5px;
  background: var(--vesta-border);
  border-radius: 99px;
  overflow: hidden;
  position: relative;
}
[data-theme=dark] .wf-bar-track {
  background: var(--vesta-bg-hover);
}

.wf-bar-fill {
  height: 100%;
  border-radius: 99px;
  width: var(--w, 0%);
  background: var(--c, var(--vesta-primary));
  transition: width 0.4s ease, background 0.2s;
}

.wf-bar-label {
  font-size: 10.5px;
  font-weight: 600;
  min-width: 56px;
  text-align: right;
  font-family: var(--vesta-font-mono);
  color: var(--c, var(--vesta-text-primary));
}

.wbs-row {
  display: grid;
  grid-template-columns: 1fr 90px 100px 100px 100px 80px;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 8px;
  align-items: center;
  font-size: 12.5px;
}
.wbs-row.head {
  background: var(--vesta-bg-body);
  color: var(--vesta-text-secondary);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.wbs-row:not(.head):hover {
  background: var(--vesta-bg-hover);
}

.wbs-name {
  display: flex;
  align-items: center;
  gap: 8px;
}

.wbs-tree-indent {
  width: 12px;
  height: 12px;
  border-left: 1.5px solid var(--vesta-border-input);
  border-bottom: 1.5px solid var(--vesta-border-input);
  border-bottom-left-radius: 4px;
  margin-left: 8px;
}

.wf-color-swatch {
  display: inline-block;
  width: 24px;
  height: 24px;
  border-radius: 4px;
  border: 1px solid var(--vesta-border);
  flex-shrink: 0;
}

.wf-builder {
  display: grid;
  grid-template-columns: 300px 1fr 300px;
  gap: 12px;
  align-items: start;
}
@media (max-width: 991.98px) {
  .wf-builder {
    grid-template-columns: 1fr;
  }
}

.wf-builder-panel {
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 10px;
  overflow: hidden;
}
[data-theme=dark] .wf-builder-panel {
  border-color: var(--vesta-border);
}

.wf-builder-panel-head {
  display: flex;
  align-items: center;
  gap: 0;
  justify-content: space-between;
  padding: 9px 14px;
  background: var(--vesta-bg-body);
  border-bottom: 1px solid var(--vesta-border);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--vesta-text-secondary);
}
[data-theme=dark] .wf-builder-panel-head {
  background: var(--vesta-bg-sidebar-2);
}

.wf-palette-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  font-size: 13px;
  transition: background 0.12s;
}
.wf-palette-item + .wf-palette-item {
  border-top: 1px solid var(--vesta-border-subtle);
}
.wf-palette-item:hover {
  background: var(--vesta-bg-hover);
}

.wf-palette-dot {
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--wf-dot-color, var(--vesta-border-input));
}

.wf-canvas-placeholder {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  justify-content: center;
  min-height: 300px;
  background: var(--vesta-bg-body);
  border-radius: 10px;
  border: 2px dashed var(--vesta-border);
  color: var(--vesta-text-muted);
  font-size: 13px;
  text-align: center;
  padding: 24px;
}
[data-theme=dark] .wf-canvas-placeholder {
  background: var(--vesta-bg-sidebar-2);
}

.wf-canvas-wrap {
  border-radius: 10px;
  border: 1px solid var(--vesta-border);
  overflow: hidden;
  height: 420px;
  position: relative;
}
[data-theme=dark] .wf-canvas-wrap {
  border-color: var(--vesta-border);
}

.wf-canvas-wrap--bd .diagram-canvas {
  background: var(--vesta-bg-body);
  border-radius: 10px;
}
[data-theme=dark] .wf-canvas-wrap--bd .diagram-canvas {
  background: var(--vesta-bg-sidebar-2);
}

.wf-canvas-wrap--bd .diagram-canvas-grid {
  opacity: 0.4;
}
[data-theme=dark] .wf-canvas-wrap--bd .diagram-canvas-grid {
  opacity: 0.2;
}

.diagram-link path.main-path {
  stroke: var(--vesta-border-input);
  stroke-width: 1.5;
}

.diagram-link:hover path.main-path {
  stroke: var(--vesta-text-secondary);
}

.diagram-link.selected path.main-path {
  stroke: var(--vesta-primary);
  stroke-width: 2;
}

.diagram-link .link-label {
  font-size: 10.5px;
  font-family: var(--vesta-font-base);
  fill: var(--vesta-text-muted);
  pointer-events: none;
}

.diagram-link.selected .link-label,
.diagram-link:hover .link-label {
  fill: var(--vesta-primary);
}

.wf-state-node {
  width: 160px;
  height: 52px;
  border-radius: 9px;
  border: 1.5px solid;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  user-select: none;
  overflow: visible;
  transition: box-shadow 0.15s;
}
.wf-state-node--sel {
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.3);
}

.wf-state-node-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 22px;
  width: 100%;
  overflow: hidden;
  pointer-events: none;
}

.wf-state-node-name {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--vesta-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
  text-align: center;
}

.wf-state-node-kind {
  font-size: 9px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.wf-kind-indicator {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wf-kind-indicator--r {
  left: auto;
  right: 10px;
}

.wf-kind-ring {
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1.5px solid var(--ki, currentColor);
}
.wf-kind-ring--lg {
  width: 12px;
  height: 12px;
}

.wf-kind-dot {
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--ki, currentColor);
}
.wf-kind-dot--lg {
  width: 6px;
  height: 6px;
}

.diagram-port.wf-connect-port {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--vesta-primary);
  border: 2px solid var(--vesta-bg-card);
  cursor: crosshair;
  opacity: 0;
  transition: opacity 0.15s;
  pointer-events: all;
}

.wf-state-node:hover .diagram-port.wf-connect-port {
  opacity: 0.8;
}

.diagram-node:not(.locked) .wf-state-node {
  cursor: grab;
}
.diagram-node:not(.locked) .wf-state-node:active {
  cursor: grabbing;
}

.wf-palette-item--sel {
  background: var(--vesta-bg-hover);
  font-weight: 700;
}
.wf-palette-item--sel .wf-palette-dot {
  box-shadow: 0 0 0 2px var(--vesta-bg-card), 0 0 0 3.5px var(--wf-dot-color, var(--vesta-border-input));
}

.wf-rule-card {
  padding: 10px 14px;
  font-size: 12px;
  line-height: 1.4;
}
.wf-rule-card + .wf-rule-card {
  border-top: 1px solid var(--vesta-border-subtle);
}
.wf-rule-card .wf-rule-kv {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
  gap: 2px 6px;
  margin-top: 2px;
}
.wf-rule-card .wf-rule-label {
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--vesta-text-muted);
}
.wf-rule-card .wf-rule-val {
  font-size: 11.5px;
  color: var(--vesta-text-secondary);
}

.wf-resolver {
  border-top: 1px solid var(--vesta-border);
  padding: 10px 14px;
}

.wf-resolver--aside {
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius, 10px);
  background: var(--vesta-surface, var(--vesta-card-bg));
  padding: 14px 16px;
}
@media (min-width: 1200px) {
  .wf-resolver--aside {
    position: sticky;
    top: 12px;
  }
}

.vtl {
  position: relative;
  display: flex;
  flex-direction: column;
}

.vtl-item {
  position: relative;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 14px;
  padding-bottom: 18px;
}
.vtl-item::before {
  content: "";
  position: absolute;
  left: 13px;
  top: 28px;
  bottom: -4px;
  width: 2px;
  background: var(--vesta-border);
}
.vtl-item:last-child {
  padding-bottom: 0;
}
.vtl-item:last-child::before {
  display: none;
}

.vtl-marker {
  position: relative;
  z-index: 1;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--vesta-bg-card);
  border: 2px solid var(--vesta-border);
  color: var(--vesta-text-muted);
}
.vtl-marker .lucide {
  width: 14px;
  height: 14px;
}

.vtl-item.is-active .vtl-marker {
  border-color: var(--vesta-primary);
  color: var(--vesta-primary);
}

.vtl-item.is-done .vtl-marker {
  background: var(--vesta-success);
  border-color: var(--vesta-success);
  color: #fff;
}

.vtl-item.is-warn .vtl-marker {
  border-color: var(--vesta-warning);
  color: var(--vesta-warning);
}

.vtl-item.is-danger .vtl-marker {
  border-color: var(--vesta-danger, #ef4444);
  color: var(--vesta-danger, #ef4444);
}

.vtl-item.is-live .vtl-marker {
  background: transparent;
  border-color: transparent;
}

.vtl-pulse {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--vesta-primary);
  box-shadow: 0 0 0 4px var(--vesta-primary-subtle);
  animation: pulseSeg 1.4s ease-in-out infinite;
}

.vtl-content {
  min-width: 0;
  padding-top: 3px;
}

.vtl-head {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.vtl-title {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--vesta-text-primary);
}

.vtl-suffix {
  flex: none;
  text-align: end;
}

.vtl-meta {
  font-size: 11px;
  color: var(--vesta-text-muted);
  margin-top: 2px;
}

.vtl-body {
  margin-top: 8px;
}

.wl-open-bar {
  border: 1.5px solid var(--vesta-accent);
}

.wl-hourly-wrap {
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 12px;
  padding: 16px;
}

.wl-hourly-header {
  display: flex;
  align-items: center;
  gap: 8px;
  gap: 4px;
  margin-bottom: 12px;
  color: var(--vesta-text-secondary);
}

.wl-hourly-axis {
  display: grid;
  grid-template-columns: repeat(11, 1fr);
  height: 24px;
  border-bottom: 1px solid var(--vesta-border-subtle);
  margin-bottom: 8px;
}
.wl-hourly-axis span {
  font-size: 10px;
  color: var(--vesta-text-muted);
  padding-left: 4px;
  border-left: 1px solid var(--vesta-border-subtle);
}
.wl-hourly-axis span:first-child {
  border-left: none;
}

.wl-hourly-track {
  position: relative;
  height: 36px;
  background: var(--vesta-bg-body);
  border-radius: 6px;
  overflow: hidden;
}

.wl-nav-wrap {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.wl-nav-header {
  display: flex;
  align-items: center;
  gap: 8px;
  gap: 4px;
  margin-bottom: 12px;
  color: var(--vesta-text-secondary);
}

.wl-nav-zoom {
  display: flex;
  gap: 4px;
}

.wl-track-outer {
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.wl-track-outer::-webkit-scrollbar {
  display: none;
}

.wl-track-inner {
  min-width: 100%;
}

.wl-minimap {
  position: relative;
  height: 16px;
  background: var(--vesta-bg-body);
  border: 1px solid var(--vesta-border-subtle);
  border-radius: 4px;
  margin-top: 6px;
  overflow: hidden;
  cursor: grab;
  user-select: none;
}
.wl-minimap:active {
  cursor: grabbing;
}

.wl-minimap-block {
  position: absolute;
  top: 3px;
  bottom: 3px;
  border-radius: 2px;
  opacity: 0.7;
}
.wl-minimap-block.billable {
  background: #22C55E;
}
.wl-minimap-block.interno {
  background: #6366F1;
}

.wl-minimap-viewport {
  position: absolute;
  top: 0;
  bottom: 0;
  background: rgba(99, 102, 241, 0.18);
  border: 1.5px solid var(--vesta-primary);
  border-radius: 3px;
  pointer-events: none;
  min-width: 16px;
}

.wl-session-detail {
  margin-top: 8px;
  padding: 10px 14px;
  background: var(--vesta-primary-subtle);
  border: 1px solid var(--vesta-primary);
  border-radius: 8px;
  font-size: 12px;
}

.wl-interruption-block {
  position: absolute;
  top: 0;
  bottom: 0;
  background: rgba(245, 158, 11, 0.55);
  border-radius: 4px;
  pointer-events: none;
  min-width: 3px;
}

.wl-session-block {
  position: absolute;
  top: 4px;
  bottom: 4px;
  border-radius: 6px;
  padding: 0 6px;
  font-size: 10px;
  font-weight: 600;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 8px;
  overflow: hidden;
  white-space: nowrap;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
  min-width: 4px;
  cursor: pointer;
  border: 2px solid transparent;
  transition: border-color 0.12s, box-shadow 0.12s;
}
.wl-session-block:focus-visible {
  outline: 2px solid var(--vesta-primary);
  outline-offset: 1px;
}
.wl-session-block.selected {
  border-color: #fff;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.45);
}
.wl-session-block.billable {
  background: linear-gradient(135deg, #22C55E, #16A34A);
}
.wl-session-block.interno {
  background: linear-gradient(135deg, #6366F1, #4F46E5);
}

.wl-session-card {
  display: grid;
  grid-template-columns: auto 100px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px 16px;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 10px;
  transition: border-color 0.15s;
}
.wl-session-card:hover {
  border-color: var(--vesta-primary);
}
.wl-session-card.selected {
  border-color: var(--vesta-primary);
  background: var(--vesta-primary-subtle);
}
.wl-session-card--activity {
  border-style: dashed;
}
.wl-session-card--activity:hover {
  border-color: var(--vesta-info, var(--vesta-primary));
}

.wl-session-type {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: var(--vesta-bg-subtle, rgba(148, 163, 184, 0.14));
  color: var(--vesta-text-secondary);
}
.wl-session-type svg {
  width: 16px;
  height: 16px;
}
.wl-session-card--activity .wl-session-type {
  background: var(--vesta-info-subtle, rgba(59, 130, 246, 0.12));
  color: var(--vesta-info, #2563eb);
}

.wl-session-time {
  font-size: 11.5px;
  font-weight: 700;
  color: var(--vesta-text-secondary);
  white-space: nowrap;
}

.wl-session-body {
  min-width: 0;
}

.wl-session-title {
  font-size: 13px;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wl-session-title--link {
  display: block;
  max-width: 100%;
  border: 0;
  background: none;
  color: var(--vesta-primary);
  cursor: pointer;
}
.wl-session-title--link:hover {
  text-decoration: underline;
}

.wl-session-actions {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
}

.wl-month-meta {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: auto;
}

.wl-month-hours {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  max-width: 100%;
  padding: 2px 8px;
  border-radius: 6px;
  background: color-mix(in srgb, var(--vesta-primary) calc(var(--wl-heat, 0%) * 0.24), var(--vesta-primary-subtle));
  color: var(--vesta-primary);
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.01em;
  font-variant-numeric: tabular-nums;
}

.wl-month-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--vesta-warning);
}

.wl-month-badges {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.wl-month-sessions,
.wl-month-manual {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.wl-month-sessions .lucide,
.wl-month-manual .lucide {
  width: 13px;
  height: 13px;
  flex: none;
}

.wl-month-sessions .lucide {
  color: var(--vesta-primary);
}

.wl-month-manual .lucide {
  color: var(--vesta-accent, #D97706);
}

@media (max-width: 575.98px) {
  .wl-session-card {
    grid-template-columns: 1fr;
  }
  .wl-session-actions {
    flex-wrap: wrap;
  }
}
.wl-week {
  --wl-week-hour-h: 46px;
  --wl-week-axis-w: 56px;
  --wl-week-col-min: 128px;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  overflow: hidden;
}

.wl-week-scroll {
  overflow-x: auto;
  overflow-y: visible;
}

.wl-week-grid {
  display: grid;
  grid-template-columns: var(--wl-week-axis-w) repeat(7, minmax(var(--wl-week-col-min), 1fr));
  min-width: 100%;
}

.wl-week-head {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 8px 6px;
  background: var(--vesta-bg-subtle);
  border: 0;
  border-bottom: 1px solid var(--vesta-border);
  border-left: 1px solid var(--vesta-border);
  color: inherit;
  cursor: pointer;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.wl-week-head:hover {
  background: var(--vesta-primary-subtle);
}
.wl-week-head:focus-visible {
  outline: none;
  border-color: var(--vesta-primary);
  box-shadow: var(--focus-ring);
}
.wl-week-head.is-today {
  box-shadow: inset 0 -2px 0 0 var(--vesta-primary);
}

.wl-week-head--axis {
  border-left: 0;
  cursor: default;
  pointer-events: none;
}

.wl-week-dow {
  font-size: var(--vesta-fs-2xs);
  font-weight: var(--vesta-fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--vesta-tracking-wider);
  color: var(--vesta-text-muted);
}

.wl-week-dom {
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
}

.wl-week-total {
  font-size: 11px;
  color: var(--vesta-text-muted);
}

.wl-week-axis {
  display: flex;
  flex-direction: column;
}

.wl-week-hour {
  height: var(--wl-week-hour-h);
  display: flex;
  justify-content: flex-end;
  padding: 0 6px;
  font-size: 11px;
  color: var(--vesta-text-muted);
}
.wl-week-hour span {
  transform: translateY(-6px);
}

.wl-week-col {
  position: relative;
  border-left: 1px solid var(--vesta-border);
}
.wl-week-col.is-weekend {
  background: color-mix(in srgb, var(--vesta-text-muted) 5%, transparent);
}
.wl-week-col.is-today {
  background: color-mix(in srgb, var(--vesta-primary) 5%, transparent);
}

.wl-week-cell {
  display: block;
  width: 100%;
  height: var(--wl-week-hour-h);
  padding: 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--vesta-border-subtle);
  cursor: pointer;
  transition: background 0.12s ease;
}
.wl-week-cell:hover {
  background: color-mix(in srgb, var(--vesta-primary) 8%, transparent);
}
.wl-week-cell:hover .wl-week-cell-hint {
  opacity: 1;
  transform: scale(1);
}
.wl-week-cell:focus-visible {
  outline: none;
  border-color: var(--vesta-primary);
  box-shadow: var(--focus-ring);
}

.wl-week-cell-hint {
  display: block;
  color: var(--vesta-primary);
  opacity: 0;
  transform: scale(0.7);
  transition: opacity 0.12s ease, transform 0.12s ease;
}
@media (prefers-reduced-motion: reduce) {
  .wl-week-cell-hint {
    transition: none;
  }
}

.wl-week-ghost {
  position: absolute;
  left: 3px;
  right: 3px;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 3px 6px;
  overflow: hidden;
  text-align: left;
  border: 1px dashed color-mix(in srgb, var(--vesta-text-muted) 55%, transparent);
  border-radius: var(--vesta-radius-sm);
  background: repeating-linear-gradient(135deg, color-mix(in srgb, var(--vesta-text-muted) 8%, transparent) 0 6px, transparent 6px 12px);
  color: var(--vesta-text-muted);
  cursor: pointer;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.wl-week-ghost:hover {
  border-style: solid;
  border-color: var(--vesta-primary);
  color: var(--vesta-primary);
}
.wl-week-ghost:focus-visible {
  outline: none;
  border-color: var(--vesta-primary);
  box-shadow: var(--focus-ring);
}

.wl-week-ghost-time {
  font-size: 10px;
  font-weight: 600;
}

.wl-week-ghost-title {
  font-size: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wl-week-now {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 4;
  height: 0;
  border-top: 2px solid var(--vesta-danger);
  pointer-events: none;
}
.wl-week-now::before {
  content: "";
  position: absolute;
  left: -4px;
  top: -4px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--vesta-danger);
}

.wl-week-block {
  position: absolute;
  left: 3px;
  right: 3px;
  z-index: 2;
  animation: wl-block-in 0.22s cubic-bezier(0.32, 0.72, 0, 1) both;
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 3px 6px;
  overflow: hidden;
  text-align: left;
  border: 1px solid transparent;
  border-left: 3px solid var(--vesta-primary);
  border-radius: var(--vesta-radius-sm);
  background: color-mix(in srgb, var(--vesta-primary) 14%, var(--vesta-bg-card));
  color: var(--vesta-text);
  box-shadow: var(--vesta-shadow-premium);
  cursor: pointer;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.wl-week-block:hover {
  filter: brightness(1.04);
}
.wl-week-block:focus-visible {
  outline: none;
  border-color: var(--vesta-primary);
  box-shadow: var(--focus-ring);
}
.wl-week-block.is-resolved {
  border-left-color: var(--vesta-success);
  background: color-mix(in srgb, var(--vesta-success) 14%, var(--vesta-bg-card));
}
.wl-week-block.is-suggested {
  border-left-color: var(--vesta-info);
  background: color-mix(in srgb, var(--vesta-info) 14%, var(--vesta-bg-card));
}
.wl-week-block.is-to-clarify {
  border-left-color: var(--vesta-warning);
  background: color-mix(in srgb, var(--vesta-warning) 16%, var(--vesta-bg-card));
}
.wl-week-block.is-internal {
  border-left-color: var(--vesta-secondary);
  background: color-mix(in srgb, var(--vesta-secondary) 12%, var(--vesta-bg-card));
}
[data-theme=dark] .wl-week-block {
  box-shadow: none;
}
@media (prefers-reduced-motion: reduce) {
  .wl-week-block {
    animation: none;
  }
}

.wl-week-block-time {
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
}

.wl-week-block-title {
  font-size: 11px;
  color: var(--vesta-text-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 767.98px) {
  .wl-week {
    --wl-week-hour-h: 40px;
    --wl-week-axis-w: 44px;
    --wl-week-col-min: 96px;
  }
}
.wl-agenda {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.wl-agenda-day {
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  overflow: hidden;
}

.wl-agenda-day-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 14px;
  background: var(--vesta-bg-subtle);
  border-bottom: 1px solid var(--vesta-border);
}
.wl-agenda-day-head.is-today {
  box-shadow: inset 3px 0 0 0 var(--vesta-primary);
}

.wl-agenda-day-title {
  font-size: 13px;
  font-weight: 600;
  text-transform: capitalize;
}

.wl-agenda-day-total {
  font-size: 12px;
  color: var(--vesta-text-muted);
}

.wl-agenda-row {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 10px 14px;
  text-align: left;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--vesta-border);
  color: inherit;
  cursor: pointer;
  min-height: var(--tap-target, 44px);
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.wl-agenda-row:last-child {
  border-bottom: 0;
}
.wl-agenda-row:hover {
  background: var(--vesta-bg-subtle);
}
.wl-agenda-row:focus-visible {
  outline: none;
  border-color: var(--vesta-primary);
  box-shadow: var(--focus-ring);
}

.wl-agenda-time {
  flex: 0 0 auto;
  min-width: 92px;
  font-size: 12px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.wl-agenda-body {
  flex: 1 1 auto;
  min-width: 0;
}

.wl-agenda-title {
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wl-agenda-sub {
  font-size: 11px;
  color: var(--vesta-text-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wl-agenda-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 8px;
}

.wl-agenda-now {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 2px 14px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--vesta-danger);
}
.wl-agenda-now::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: var(--vesta-danger);
  opacity: 0.5;
}

.wl-res-badge {
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 10px;
  font-weight: 600;
  white-space: nowrap;
}
.wl-res-badge.is-resolved {
  background: color-mix(in srgb, var(--vesta-success) 16%, transparent);
  color: var(--vesta-success);
}
.wl-res-badge.is-suggested {
  background: color-mix(in srgb, var(--vesta-info) 16%, transparent);
  color: var(--vesta-info);
}
.wl-res-badge.is-to-clarify {
  background: color-mix(in srgb, var(--vesta-warning) 20%, transparent);
  color: var(--vesta-warning);
}
.wl-res-badge.is-internal {
  background: color-mix(in srgb, var(--vesta-secondary) 18%, transparent);
  color: var(--vesta-secondary);
}

@keyframes wl-block-in {
  from {
    opacity: 0;
    transform: translateY(4px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.wl-sheet-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1055;
  background: rgba(0, 0, 0, 0.38);
  animation: wl-sheet-fade 0.18s ease;
}

.wl-sheet {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1056;
  display: flex;
  flex-direction: column;
  max-height: 90dvh;
  margin: 0 auto;
  max-width: 560px;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-bottom: 0;
  border-radius: var(--vesta-radius-lg) var(--vesta-radius-lg) 0 0;
  box-shadow: var(--vesta-shadow-premium);
  animation: wl-sheet-up 0.22s cubic-bezier(0.32, 0.72, 0, 1);
}
@media (prefers-reduced-motion: reduce) {
  .wl-sheet {
    animation: none;
  }
}

.wl-sheet-grip {
  align-self: center;
  width: 38px;
  height: 4px;
  margin: 8px 0 2px;
  border-radius: 2px;
  background: var(--vesta-border);
}

.wl-sheet-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 16px 10px;
}

.wl-sheet-title {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
}

.wl-sheet-body {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 0 16px 12px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.wl-sheet-notes {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.wl-sheet-notes > :first-child {
  flex: 1 1 auto;
  min-width: 0;
}

.wl-sheet-mic {
  flex: 0 0 auto;
  min-width: var(--tap-target, 44px);
  min-height: var(--tap-target, 44px);
}
.wl-sheet-mic.is-listening {
  border-color: var(--vesta-danger);
  color: var(--vesta-danger);
  animation: wl-mic-pulse 1.2s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .wl-sheet-mic.is-listening {
    animation: none;
  }
}

.wl-sheet-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--vesta-border);
}
.wl-sheet-actions .btn {
  min-height: var(--tap-target, 44px);
}

.wl-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}

.wl-chip {
  border-radius: 999px;
  min-height: var(--tap-target, 44px);
  padding: 0 16px;
  font-size: 13px;
  font-weight: 600;
  background: var(--vesta-bg-subtle);
  border: 1px solid var(--vesta-border);
  color: var(--vesta-text);
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.wl-chip:hover {
  background: var(--vesta-primary-subtle);
}
.wl-chip:focus-visible {
  outline: none;
  border-color: var(--vesta-primary);
  box-shadow: var(--focus-ring);
}
.wl-chip.is-active {
  background: var(--vesta-primary);
  border-color: var(--vesta-primary);
  color: #fff;
}

@keyframes wl-sheet-up {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes wl-sheet-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes wl-mic-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.55;
  }
}
.wl-assist {
  gap: 14px;
}

.wl-assist-head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 4px;
  color: var(--vesta-primary);
}

.wl-assist-verdict {
  flex: 1 1 auto;
  font-size: 14px;
  font-weight: 600;
  color: var(--vesta-text);
}

.wl-assist-score {
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 600;
  background: color-mix(in srgb, var(--vesta-primary) 16%, transparent);
  color: var(--vesta-primary);
}

.wl-assist-note {
  margin: 0;
  font-size: 11px;
  color: var(--vesta-text-muted);
}

.wl-assist-ticket {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid var(--vesta-border);
  border-left: 3px solid var(--vesta-primary);
  border-radius: var(--vesta-radius-sm);
  background: var(--vesta-bg-subtle);
}

.wl-assist-ticket-code {
  font-size: 12px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--vesta-primary);
}

.wl-assist-ticket-title {
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wl-thinking {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 10px;
  border-radius: var(--vesta-radius-sm);
  border: 1px solid color-mix(in srgb, var(--vesta-primary) 30%, transparent);
  color: var(--vesta-primary);
  font-size: 11px;
  font-weight: 600;
  background: linear-gradient(100deg, color-mix(in srgb, var(--vesta-primary) 8%, transparent) 30%, color-mix(in srgb, var(--vesta-primary) 20%, transparent) 50%, color-mix(in srgb, var(--vesta-primary) 8%, transparent) 70%);
  background-size: 200% 100%;
  animation: wl-thinking-sweep 1.5s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .wl-thinking {
    animation: none;
  }
}

.wl-thinking-text {
  letter-spacing: 0.01em;
}

@keyframes wl-thinking-sweep {
  from {
    background-position: 200% 0;
  }
  to {
    background-position: -200% 0;
  }
}
.wl-chips-shortcuts .wl-chip {
  max-width: 220px;
  gap: 6px;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.wl-chips-shortcuts .wl-chip-recent {
  border-style: dashed;
  color: var(--vesta-text-muted);
}
.wl-chips-shortcuts .wl-chip-manage {
  padding: 0 12px;
  flex: 0 0 auto;
}

.wl-templates-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.wl-templates-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px;
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-sm, 8px);
  background: var(--vesta-bg-subtle);
}

.wl-templates-item-main {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.wl-templates-item-name {
  font-weight: 600;
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wl-templates-item-notes {
  font-size: 12px;
  color: var(--vesta-text-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wl-templates-item-meta {
  flex: 0 0 auto;
  font-size: 12px;
  color: var(--vesta-text-muted);
  font-variant-numeric: tabular-nums;
}

.wl-templates-item-actions {
  flex: 0 0 auto;
  display: flex;
  gap: 2px;
}

.wl-templates-editor {
  padding: 8px;
  border: 1px dashed var(--vesta-border);
  border-radius: var(--vesta-radius-sm, 8px);
}

.wl-batch-rows {
  list-style: none;
  margin: 0 0 8px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.wl-batch-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 110px 120px 44px;
  gap: 8px;
  align-items: end;
}
@media (max-width: 640px) {
  .wl-batch-row {
    grid-template-columns: minmax(0, 1fr) 90px 44px;
  }
  .wl-batch-row .wl-batch-row-notes {
    grid-column: 1/-1;
  }
}

.wl-batch-row-remove {
  margin-bottom: 2px;
}

.wl-sheet-dialog {
  display: contents;
}
.wl-sheet-dialog > .modal {
  --bs-modal-zindex: 1058;
}
.wl-sheet-dialog > .modal-backdrop {
  --bs-backdrop-zindex: 1057;
}

.doc-preview-frame {
  width: 100%;
  background: #9aa3ad;
  padding: 16px;
  border-radius: 6px;
  overflow: auto;
}
.doc-preview-frame iframe {
  display: block;
  width: 100%;
  height: 1123px;
  border: 0;
  background: #fff;
  box-shadow: 0 6px 26px rgba(0, 0, 0, 0.22);
}

.email-preview-frame {
  width: 100%;
  height: 520px;
  border: 1px solid var(--vesta-border);
  border-radius: 8px;
  background: #fff;
}

.vesta-theme-toggle {
  position: relative;
  width: 56px;
  height: 30px;
  border-radius: 999px;
  border: 1px solid var(--vesta-border);
  background: linear-gradient(135deg, #FEF3C7 0%, #DBEAFE 100%);
  cursor: pointer;
  padding: 0;
  transition: background 0.35s ease;
  overflow: hidden;
  flex: none;
}
.vesta-theme-toggle[data-theme=dark] {
  background: linear-gradient(135deg, #1E293B 0%, #312E81 100%);
  border-color: #334155;
}
.vesta-theme-toggle[data-theme=dark] .vtt-thumb {
  transform: translateX(26px);
  background: #0F172A;
  color: #C7D2FE;
}
.vesta-theme-toggle[data-theme=dark] .vtt-icon-sun {
  opacity: 0;
}
.vesta-theme-toggle[data-theme=light] .vtt-icon-moon {
  opacity: 0;
}
.vesta-theme-toggle .vtt-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: var(--vesta-bg-card);
  display: grid;
  place-items: center;
  color: #F59E0B;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(0, 0, 0, 0.04);
  transition: transform 0.35s cubic-bezier(0.68, -0.4, 0.27, 1.55), color 0.35s, background 0.35s;
  z-index: 2;
}
.vesta-theme-toggle .vtt-icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  opacity: 0.55;
  transition: opacity 0.35s;
}
.vesta-theme-toggle .vtt-icon-sun {
  position: relative;
  left: 2px;
  color: #B45309;
}
.vesta-theme-toggle .vtt-icon-moon {
  position: relative;
  right: -2px;
  color: #818CF8;
}

@keyframes vtsIn {
  from {
    opacity: 0;
    transform: translateY(-6px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.vesta-theme-switch {
  position: relative;
}

.vts-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 30px;
  padding: 0 10px 0 8px;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 999px;
  color: var(--vesta-text-primary);
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
}
.vts-btn:hover {
  border-color: var(--vesta-border-input);
  background: var(--vesta-bg-hover);
}
.vts-btn.is-custom {
  border-color: rgba(var(--vesta-primary-rgb), 0.35);
  box-shadow: 0 0 0 3px rgba(var(--vesta-primary-rgb), 0.12);
}
.vts-btn i[data-lucide] {
  color: var(--vesta-text-secondary);
}

.vts-dot {
  width: 14px;
  height: 14px;
  border-radius: 999px;
  flex: none;
  border: 2px solid var(--vesta-bg-card);
  box-shadow: 0 0 0 1px var(--vesta-border);
}

.vts-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 130px;
}

.vts-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: 320px;
  max-height: 70vh;
  overflow: auto;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 14px;
  box-shadow: var(--vesta-shadow-lg);
  padding: 8px;
  z-index: 1050;
  animation: vtsIn 0.18s cubic-bezier(0.2, 0.8, 0.2, 1.05);
}
[data-theme=dark] .vts-menu {
  background: rgba(19, 26, 44, 0.96);
  border-color: rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(8px);
}

.vts-header {
  font-size: 13px;
  font-weight: 700;
  color: var(--vesta-text-primary);
  padding: 6px 10px 8px;
  border-bottom: 1px solid var(--vesta-border-subtle);
  margin-bottom: 4px;
}

.vts-section-label {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: space-between;
  font-size: var(--vesta-fs-2xs);
  font-weight: var(--vesta-fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--vesta-tracking-wider);
  color: var(--vesta-text-muted);
  padding: 10px 10px 4px;
}

.vts-section-count {
  font-size: 10px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  color: var(--vesta-text-muted);
  background: var(--vesta-bg-hover);
  padding: 1px 7px;
  border-radius: 999px;
}

.vts-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.vts-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  border: 0;
  background: transparent;
  padding: 8px 10px;
  border-radius: 9px;
  cursor: pointer;
  color: var(--vesta-text-primary);
  font-size: 13px;
  font-weight: 500;
  text-align: left;
}
.vts-item:hover {
  background: var(--vesta-bg-hover);
}
.vts-item.active {
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary-active);
}
.vts-item.active .vts-item-sub {
  color: var(--vesta-primary);
  opacity: 0.8;
}
.vts-item i[data-lucide] {
  margin-left: auto;
  color: var(--vesta-primary);
}

.vts-item-name {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  line-height: 1.25;
}

.vts-item-sub {
  font-size: 10.5px;
  font-weight: 500;
  color: var(--vesta-text-muted);
}

.vts-swatch {
  width: 22px;
  height: 22px;
  border-radius: 7px;
  flex: none;
  border: 1px solid var(--vesta-border);
}
.vts-swatch-light {
  background: linear-gradient(135deg, #FFFFFF 0%, #F1F5F9 100%);
}
.vts-swatch-dark {
  background: linear-gradient(135deg, #1E293B 0%, #0B1120 100%);
  border-color: #1E2A47;
}
[data-theme=dark] .vts-swatch {
  border-color: rgba(255, 255, 255, 0.08);
}

.vts-swatch-multi {
  width: 22px;
  height: 22px;
  border-radius: 7px;
  flex: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  overflow: hidden;
  border: 1px solid var(--vesta-border);
}
.vts-swatch-multi span {
  display: block;
}
[data-theme=dark] .vts-swatch-multi {
  border-color: rgba(255, 255, 255, 0.08);
}

.vts-footer {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid var(--vesta-border-subtle);
}

.vts-foot-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  padding: 8px 10px;
  background: transparent;
  border: 0;
  border-radius: 8px;
  color: var(--vesta-primary);
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
}
.vts-foot-btn:hover {
  background: var(--vesta-primary-subtle);
}

@keyframes vlMenuIn {
  from {
    opacity: 0;
    transform: translateY(-6px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.vesta-lang {
  position: relative;
}

.vesta-lang-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--vesta-border);
  background: var(--vesta-bg-card);
  cursor: pointer;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
  height: 30px;
}
.vesta-lang-btn:hover {
  background: var(--vesta-bg-hover);
}

.vlf-flag {
  font-size: 14px;
  line-height: 1;
}

.vlf-code {
  letter-spacing: 0.04em;
}

.vesta-lang-flag {
  display: inline-block;
  width: 18px;
  height: auto;
  border-radius: 2px;
  object-fit: cover;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
  flex: none;
}

.vesta-lang-item .vesta-lang-flag {
  width: 20px;
}

.vesta-lang-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 220px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(22px) saturate(180%);
  -webkit-backdrop-filter: blur(22px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.6);
  box-shadow: var(--vesta-shadow-premium);
  padding: 8px;
  z-index: 1060;
  animation: vlMenuIn 0.18s cubic-bezier(0.2, 0.8, 0.2, 1.05);
}
[data-theme=dark] .vesta-lang-menu {
  background: rgba(19, 26, 44, 0.7);
  backdrop-filter: blur(24px) saturate(200%);
  -webkit-backdrop-filter: blur(24px) saturate(200%);
  border-color: rgba(255, 255, 255, 0.06);
}

.vesta-lang-header {
  font-size: var(--vesta-fs-2xs);
  font-weight: var(--vesta-fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--vesta-tracking-wider);
  color: var(--vesta-text-muted);
  padding: 4px 8px 6px;
}

.vesta-lang-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  border: 0;
  background: transparent;
  padding: 8px 10px;
  border-radius: 8px;
  cursor: pointer;
  color: var(--vesta-text-primary);
}
.vesta-lang-item:hover {
  background: rgba(99, 102, 241, 0.1);
}
.vesta-lang-item.active {
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary);
}

.vesta-lang-footer {
  font-size: 10px;
  color: var(--vesta-text-muted);
  padding: 8px 10px 4px;
  border-top: 1px solid var(--vesta-border-subtle);
  margin-top: 4px;
}
.vesta-lang-footer code {
  font-family: var(--vesta-font-mono);
  font-size: 10px;
  padding: 1px 4px;
  background: var(--vesta-bg-hover);
  border-radius: 4px;
}

@keyframes dockGlow {
  0%, 100% {
    opacity: 0.55;
  }
  50% {
    opacity: 1;
  }
}
@keyframes dockPulse {
  0% {
    transform: scale(1);
    opacity: 0.55;
  }
  100% {
    transform: scale(3);
    opacity: 0;
  }
}
@keyframes dockSecBlink {
  50% {
    opacity: 0.55;
  }
}
.vesta-dock-wrap {
  position: fixed;
  bottom: 22px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1021;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  pointer-events: none;
  opacity: 0;
  transform: translateX(-50%) translateY(48px);
  transition: transform 0.55s cubic-bezier(0.18, 1.05, 0.45, 1.1), opacity 0.35s;
}
.vesta-dock-wrap > * {
  pointer-events: auto;
}
.vesta-dock-wrap.in {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.vesta-dock-wrap .vesta-dock {
  position: relative;
  left: auto;
  bottom: auto;
  transform: none;
  opacity: 1;
}

.vesta-dock {
  position: fixed;
  left: 50%;
  transform: translateX(-50%) translateY(48px);
  z-index: 1021;
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(24px) saturate(200%);
  -webkit-backdrop-filter: blur(24px) saturate(200%);
  border: 1px solid rgba(255, 255, 255, 0.7);
  box-shadow: var(--vesta-shadow-premium);
  border-radius: 22px;
  padding: 10px 12px 10px 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 520px;
  opacity: 0;
  transition: transform 0.55s cubic-bezier(0.18, 1.05, 0.45, 1.1), opacity 0.35s;
}
.vesta-dock.in {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  bottom: 22px;
}
.vesta-dock.expanded {
  min-width: 620px;
  padding: 12px 12px 12px 18px;
}
.vesta-dock.minimized {
  min-width: auto;
  padding: 8px 10px 8px 14px;
  border-radius: 18px;
  gap: 8px;
  cursor: default;
}
.vesta-dock.minimized .vd-timer {
  font-size: 16px;
  min-width: 60px;
  padding: 0;
}
[data-theme=dark] .vesta-dock {
  background: rgba(19, 26, 44, 0.7);
  backdrop-filter: blur(24px) saturate(200%);
  -webkit-backdrop-filter: blur(24px) saturate(200%);
  border-color: rgba(255, 255, 255, 0.06);
}
.vesta-dock.live::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-shadow: 0 0 0 1px rgba(99, 102, 241, 0.35), 0 0 28px -4px rgba(99, 102, 241, 0.45);
  animation: dockGlow 2.6s ease-in-out infinite;
}

.vd-pulse-wrap {
  width: 14px;
  flex: none;
  display: grid;
  place-items: center;
}

.vd-pulse {
  width: 10px;
  height: 10px;
  border-radius: 99px;
  background: var(--vesta-primary);
  position: relative;
}
.vd-pulse::before, .vd-pulse::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 99px;
  background: var(--vesta-primary);
  opacity: 0.55;
  animation: dockPulse 1.8s ease-out infinite;
}
.vd-pulse::after {
  animation-delay: 0.9s;
}
.vd-pulse.paused {
  background: var(--vesta-warning);
  animation: none;
}
.vd-pulse.paused::before, .vd-pulse.paused::after {
  display: none;
}
.vd-pulse.idle {
  background: var(--vesta-text-muted);
}
.vd-pulse.idle::before, .vd-pulse.idle::after {
  display: none;
}

.vd-context {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  flex: 1;
}

.vd-ctx-label {
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: var(--vesta-primary);
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.vd-ctx-sep {
  color: var(--vesta-text-muted);
}

.vd-ctx-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--vesta-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 280px;
}

.vd-ctx-meta {
  font-size: 11px;
  color: var(--vesta-text-secondary);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 2px;
  flex-wrap: wrap;
}

.vd-ctx-note {
  font-size: 11px;
  font-style: italic;
  color: var(--vesta-text-secondary);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 2px;
  max-width: 280px;
}
.vd-ctx-note span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vd-timer {
  font-family: var(--vesta-font-mono);
  font-size: 22px;
  font-weight: 700;
  color: var(--vesta-text-primary);
  padding: 0 10px;
  min-width: 108px;
  text-align: center;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.4);
}
[data-theme=dark] .vd-timer {
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.3);
}

.vd-timer-sec {
  color: var(--vesta-primary);
  animation: dockSecBlink 2s steps(2, end) infinite;
}

.vd-actions {
  display: flex;
  align-items: center;
  gap: 4px;
}

.vd-btn {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  border: 0;
  background: rgba(0, 0, 0, 0.04);
  display: grid;
  place-items: center;
  cursor: pointer;
  color: var(--vesta-text-secondary);
  transition: background 0.12s, color 0.12s;
}
.vd-btn:hover {
  background: rgba(99, 102, 241, 0.1);
  color: var(--vesta-primary);
}
.vd-btn-danger:hover {
  background: rgba(239, 68, 68, 0.12);
  color: var(--vesta-danger);
}
.vd-btn-ghost {
  background: transparent;
}
[data-theme=dark] .vd-btn {
  background: rgba(255, 255, 255, 0.04);
}
[data-theme=dark] .vd-btn:hover {
  background: rgba(99, 102, 241, 0.18);
}

.vd-start {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 10px;
  border: 0;
  background: var(--vesta-primary);
  color: white;
  font-weight: 600;
  font-size: 12.5px;
  cursor: pointer;
}
.vd-start:hover {
  background: var(--vesta-primary-hover);
}

.vd-paused-stack {
  position: fixed;
  bottom: 94px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1022;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 720px;
  pointer-events: auto;
}

.vd-paused-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 99px;
  border: 1px solid rgba(245, 158, 11, 0.4);
  background: rgba(255, 251, 235, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  cursor: pointer;
  max-width: 320px;
  box-shadow: 0 6px 16px -8px rgba(0, 0, 0, 0.15);
  color: var(--vesta-text-primary);
  font-size: 11.5px;
  transition: transform 0.15s, box-shadow 0.15s;
}
.vd-paused-chip:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 22px -10px rgba(245, 158, 11, 0.4);
  border-color: var(--vesta-warning);
}
.vd-paused-chip > i[data-lucide] {
  color: var(--vesta-warning);
}
[data-theme=dark] .vd-paused-chip {
  background: rgba(40, 30, 12, 0.7);
  border-color: rgba(245, 158, 11, 0.3);
  color: var(--vesta-text-primary);
}

.vd-paused-title {
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 140px;
}

.vd-paused-ago {
  color: var(--vesta-text-muted);
  font-size: 10.5px;
}

.vd-paused-more {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 99px;
  background: rgba(245, 158, 11, 0.15);
  color: #B45309;
  font-size: 11px;
  font-weight: 700;
}

.vd-min-content {
  display: flex;
  align-items: center;
  gap: 6px;
  align-items: center;
  cursor: pointer;
  padding: 2px 4px;
  border-radius: 8px;
}
.vd-min-content:hover {
  background: rgba(99, 102, 241, 0.08);
}

.vd-min-count {
  font-size: 12px;
  font-weight: 700;
  color: var(--vesta-warning);
  min-width: 14px;
  text-align: center;
}

.vd-picker {
  position: relative;
}

.vd-btn-dot {
  position: absolute;
  top: -3px;
  right: -3px;
  min-width: 14px;
  height: 14px;
  padding: 0 4px;
  border-radius: 99px;
  background: var(--vesta-warning);
  color: white;
  font-size: 9px;
  font-weight: 700;
  display: grid;
  place-items: center;
  line-height: 1;
}

.vd-picker-menu {
  position: absolute;
  bottom: calc(100% + 10px);
  right: -10px;
  width: 340px;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(22px) saturate(180%);
  -webkit-backdrop-filter: blur(22px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.6);
  box-shadow: var(--vesta-shadow-premium);
  border-radius: 14px;
  padding: 6px;
  z-index: 1080;
  animation: vlMenuIn 0.18s ease;
}
[data-theme=dark] .vd-picker-menu {
  background: rgba(19, 26, 44, 0.7);
  backdrop-filter: blur(22px) saturate(200%);
  -webkit-backdrop-filter: blur(22px) saturate(200%);
  border-color: rgba(255, 255, 255, 0.06);
}

.vd-pick-header {
  font-size: var(--vesta-fs-2xs);
  font-weight: var(--vesta-fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--vesta-tracking-wider);
  color: var(--vesta-text-muted);
  padding: 6px 10px 4px;
}

.vd-pick-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 8px;
  cursor: default;
}
.vd-pick-row:hover {
  background: rgba(99, 102, 241, 0.08);
}
.vd-pick-row.active {
  background: var(--vesta-primary-subtle);
}
.vd-pick-row.clickable {
  cursor: pointer;
}

.vd-pick-text {
  flex: 1;
  min-width: 0;
}

.vd-pick-title {
  font-size: 12px;
  font-weight: 600;
}

.vd-pick-sub {
  font-size: 11px;
  color: var(--vesta-text-muted);
}

.vd-pick-empty {
  padding: 8px 10px;
  font-size: 12px;
  color: var(--vesta-text-muted);
}

.vd-pick-dot {
  width: 8px;
  height: 8px;
  border-radius: 99px;
  flex: none;
}
.vd-pick-dot.live {
  background: var(--vesta-primary);
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.2);
  animation: dockSecBlink 1.6s ease-in-out infinite;
}
.vd-pick-dot.paused {
  background: var(--vesta-warning);
}

.vd-pick-btn {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  border: 0;
  background: rgba(0, 0, 0, 0.05);
  cursor: pointer;
  color: var(--vesta-text-secondary);
  display: grid;
  place-items: center;
}
.vd-pick-btn:hover {
  background: var(--vesta-primary);
  color: white;
}
.vd-pick-btn.danger:hover {
  background: var(--vesta-danger);
  color: white;
}

.vd-pick-foot {
  padding: 6px 6px 4px;
  border-top: 1px solid var(--vesta-border-subtle);
  margin-top: 4px;
}

.vesta-dock-launcher {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1021;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(24px) saturate(200%);
  -webkit-backdrop-filter: blur(24px) saturate(200%);
  box-shadow: var(--vesta-shadow-premium);
  display: grid;
  place-items: center;
  cursor: pointer;
  color: var(--vesta-text-secondary);
  transition: transform 0.15s, color 0.12s, box-shadow 0.15s;
}
.vesta-dock-launcher:hover {
  transform: translateY(-2px);
  color: var(--vesta-primary);
}
[data-theme=dark] .vesta-dock-launcher {
  background: rgba(19, 26, 44, 0.7);
  backdrop-filter: blur(24px) saturate(200%);
  -webkit-backdrop-filter: blur(24px) saturate(200%);
  border-color: rgba(255, 255, 255, 0.06);
}
.vesta-dock-launcher.live {
  color: var(--vesta-primary);
}
.vesta-dock-launcher.live::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-shadow: 0 0 0 1px rgba(99, 102, 241, 0.35), 0 0 22px -4px rgba(99, 102, 241, 0.5);
  animation: dockGlow 2.6s ease-in-out infinite;
}

.vesta-dock-launcher-count {
  position: absolute;
  top: -2px;
  right: -2px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 99px;
  background: var(--vesta-warning);
  color: white;
  font-size: 10px;
  font-weight: 700;
  display: grid;
  place-items: center;
  line-height: 1;
}

@media (max-width: 991.98px) {
  .vesta-dock,
  .dock {
    min-width: min(540px, 80vw);
    max-width: min(540px, 80vw);
  }
  .vesta-dock.expanded {
    min-width: min(640px, 84vw);
  }
}
@media (max-width: 767.98px) {
  .vesta-dock {
    padding: 8px 10px 8px 14px;
    min-width: 94vw;
    max-width: 94vw;
    border-radius: 16px;
  }
  .vd-timer {
    font-size: 16px;
    min-width: 70px;
  }
  .vd-ctx-title {
    max-width: 110px;
    font-size: 12px;
  }
  .vd-ctx-meta {
    font-size: 10.5px;
  }
}
.vesta-dock-scrim {
  position: fixed;
  inset: 0;
  z-index: 1020;
}

.vesta-dock-dial {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1021;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  pointer-events: none;
}
.vesta-dock-dial .vesta-dock-launcher {
  position: static;
  pointer-events: auto;
  color: #fff;
  background: var(--vesta-primary);
  border-color: transparent;
  transition: transform 0.18s cubic-bezier(0.32, 0.72, 0, 1), filter 0.15s;
}
.vesta-dock-dial .vesta-dock-launcher:hover {
  transform: none;
  filter: brightness(1.06);
  color: #fff;
}
.vesta-dock-dial.is-open .vesta-dock-launcher {
  transform: rotate(45deg);
}
@media (prefers-reduced-motion: reduce) {
  .vesta-dock-dial .vesta-dock-launcher {
    transition: none;
  }
  .vesta-dock-dial.is-open .vesta-dock-launcher {
    transform: none;
  }
}

.vesta-dock-dial-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  opacity: 0;
  transform: translateY(8px) scale(0.96);
  pointer-events: none;
  transition: opacity 0.16s ease, transform 0.18s cubic-bezier(0.32, 0.72, 0, 1);
}
.vesta-dock-dial.is-open .vesta-dock-dial-actions {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}
@media (prefers-reduced-motion: reduce) {
  .vesta-dock-dial-actions {
    transition: none;
  }
}

.vesta-dock-dial-action {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
}
.vesta-dock-dial-action:focus-visible {
  outline: none;
  border-color: var(--vesta-primary);
  box-shadow: var(--focus-ring);
}
.vesta-dock-dial-action:hover .vesta-dock-dial-icon {
  filter: brightness(1.06);
}

.vesta-dock-dial-label {
  padding: 5px 10px;
  border-radius: var(--vesta-radius-sm);
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  box-shadow: var(--vesta-shadow-premium);
  color: var(--vesta-text);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.vesta-dock-dial-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  box-shadow: var(--vesta-shadow-premium);
  color: var(--vesta-primary);
}

.tk-side {
  border-right: 1px solid var(--vesta-border);
  background: var(--vesta-bg-card);
  padding: 16px 14px;
  overflow-y: auto;
  transition: width 0.2s ease, padding 0.2s ease, opacity 0.2s ease;
}
.tk-side.collapsed {
  width: 0;
  padding: 0;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
}
[data-theme=dark] .tk-side {
  background: var(--vesta-bg-card);
  border-color: var(--vesta-border);
}

.tk-side-top {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 12px;
}

.tk-side-group {
  margin-top: 14px;
}

.tk-side-title {
  font-size: var(--vesta-fs-2xs);
  font-weight: var(--vesta-fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--vesta-tracking-wider);
  color: var(--vesta-text-muted);
  padding: 0 6px 6px;
}

.tk-side-subtitle {
  padding: 6px 6px 2px;
  font-size: 11px;
  font-weight: 600;
  color: var(--vesta-text-muted);
}

.tk-side-item {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 6px 8px;
  border-radius: 7px;
  font-size: 12.5px;
  color: var(--vesta-text-secondary);
  cursor: pointer;
  user-select: none;
}
.tk-side-item:hover {
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-primary);
}
.tk-side-item.active {
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary);
  font-weight: 600;
}
.tk-side-item.danger {
  color: var(--vesta-danger);
}
.tk-side-item.danger:hover {
  background: var(--vesta-danger-subtle);
}

.tk-side-count {
  font-size: 10.5px;
  color: var(--vesta-text-muted);
  font-family: var(--vesta-font-mono);
}

.tk-side-item.active .tk-side-count {
  color: var(--vesta-primary);
}

.tk-search-side {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--vesta-border);
  padding: 8px 10px;
  border-radius: 8px;
  margin-bottom: 8px;
  background: var(--vesta-bg-body);
}
.tk-search-side .tk-search-icon {
  opacity: 0.5;
  flex-shrink: 0;
}
.tk-search-side input {
  border: 0;
  outline: 0;
  background: transparent;
  flex: 1;
  font-size: 12.5px;
  font-family: inherit;
}
[data-theme=dark] .tk-search-side {
  background: var(--vesta-bg-input);
}

.tk-toolbar-search {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--vesta-border);
  padding: 6px 10px;
  border-radius: 8px;
  background: var(--vesta-bg-body);
  min-width: 180px;
}
.tk-toolbar-search .lucide {
  opacity: 0.5;
  flex-shrink: 0;
}
.tk-toolbar-search input {
  border: 0;
  outline: 0;
  background: transparent;
  flex: 1;
  font-size: 12.5px;
  font-family: inherit;
  min-width: 0;
}
.tk-toolbar-search:focus-within {
  border-color: var(--vesta-primary);
  box-shadow: 0 0 0 3px var(--vesta-primary-subtle);
}
[data-theme=dark] .tk-toolbar-search {
  background: var(--vesta-bg-input);
}

.tk-side-rail {
  border-right: 1px solid var(--vesta-border);
  background: var(--vesta-bg-card);
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  padding: 14px 0;
}
.tk-side-rail .tk-side-railbtn {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  border: 1px solid var(--vesta-border);
  background: var(--vesta-bg-card);
  cursor: pointer;
  display: grid;
  place-items: center;
  color: var(--vesta-text-secondary);
}
.tk-side-rail .tk-side-railbtn:hover {
  background: var(--vesta-bg-hover);
  color: var(--vesta-primary);
}
[data-theme=dark] .tk-side-rail {
  background: var(--vesta-bg-card);
  border-color: var(--vesta-border);
}

.tk-side-customize {
  margin-top: 18px;
  width: 100%;
  border: 1.5px dashed var(--vesta-border);
  background: transparent;
  padding: 8px;
  border-radius: 8px;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.tk-side-customize:hover {
  background: var(--vesta-primary-subtle);
  border-color: var(--vesta-primary);
  color: var(--vesta-primary);
}

.tk-main {
  padding: 20px 24px 40px;
  overflow: auto;
  min-width: 0;
}

.tk-head {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 14px;
}

.tk-view-toggle {
  display: inline-flex;
  border: 1px solid var(--vesta-border);
  border-radius: 8px;
  overflow: hidden;
  background: var(--vesta-bg-card);
}
.tk-view-toggle button {
  border: 0;
  background: transparent;
  padding: 7px 12px;
  font-size: 12px;
  font-weight: 500;
  color: var(--vesta-text-secondary);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-right: 1px solid var(--vesta-border);
}
.tk-view-toggle button:last-child {
  border-right: 0;
}
.tk-view-toggle button.on {
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary);
  font-weight: 600;
}

.tk-list {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  gap: 10px;
}

.tk-table {
  background: transparent;
  min-width: 0;
}

.tk-table-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 12px;
  box-shadow: var(--vesta-shadow-sm);
  container-type: inline-size;
  container-name: tktable;
}
[data-theme=dark] .tk-table-scroll {
  background: var(--vesta-bg-card);
  border-color: var(--vesta-border);
}

@media (max-width: 900px) {
  .tk-list {
    height: auto;
  }
  .tk-table-scroll {
    overflow: visible;
  }
}
.tk-subtoolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.tk-subtoolbar-search {
  position: relative;
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1 1 280px;
  max-width: 460px;
  padding: 7px 12px;
  border: 1px solid var(--vesta-border);
  border-radius: 9px;
  background: var(--vesta-bg-card);
  color: var(--vesta-text-muted);
}
.tk-subtoolbar-search input {
  border: 0;
  outline: 0;
  background: transparent;
  width: 100%;
  font-size: 13px;
  color: var(--vesta-text-primary);
}

.tk-thead,
.tk-row {
  display: grid;
  grid-template-columns: var(--tk-cols, 30px 84px minmax(200px, 1fr) 62px 118px 100px 104px 62px 62px 30px);
  align-items: center;
  padding: 0 12px;
  gap: 10px;
}

@container tktable (min-width: 821px) {
  .tk-thead > *,
  .tk-row > * {
    order: var(--o, 0);
  }
  .vl-c-hidden {
    display: none;
  }
}
.tk-c-wf {
  min-width: 0;
}
.tk-c-wf .wf-chip {
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tk-thead {
  background: var(--vesta-bg-body);
  padding: 7px 12px;
  border-bottom: 1px solid var(--vesta-border);
  font-size: var(--vesta-fs-xs);
  font-weight: var(--vesta-fw-bold);
  color: var(--vesta-text-muted);
  letter-spacing: var(--vesta-tracking-wide);
  text-transform: uppercase;
  position: sticky;
  top: 0;
  z-index: 2;
}
[data-theme=dark] .tk-thead {
  background: var(--vesta-bg-sidebar-2);
}

.tk-row {
  padding: 7px 12px;
  border-bottom: 1px solid var(--vesta-border-subtle);
  cursor: pointer;
  transition: background 0.12s;
  position: relative;
}
.tk-row:hover {
  background: var(--vesta-bg-body);
}
.tk-row.selected {
  background: var(--vesta-primary-subtle);
}
.tk-row.selected::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--vesta-primary);
}
.tk-row.child {
  background: #FAFBFC;
}
[data-theme=dark] .tk-row.child {
  background: rgba(255, 255, 255, 0.02);
}
.tk-row.p1::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(180deg, #EF4444, #DC2626);
}
.tk-row.selected.p1::after {
  display: none;
}

.tk-c-id {
  font-family: var(--vesta-font-mono);
  font-size: 11.5px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
  display: flex;
  align-items: center;
  gap: 4px;
}

.tk-c-actions .btn-icon {
  width: 28px;
  height: 28px;
  min-height: 0;
  padding: 0;
}
.tk-c-actions .btn-icon .lucide {
  width: 15px;
  height: 15px;
}

.tk-row-indent {
  flex: none;
  width: calc(var(--row-level, 0) * 18px);
}

.tk-expand {
  border: 0;
  background: transparent;
  padding: 2px;
  cursor: pointer;
  color: var(--vesta-text-muted);
  display: grid;
  place-items: center;
  border-radius: 4px;
}
.tk-expand:hover {
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-primary);
}

.tk-child-tree {
  color: var(--vesta-text-muted);
  display: inline-flex;
  margin-right: -2px;
}

.tk-c-title {
  min-width: 0;
}

.tk-title-row {
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 1.4;
}

.tk-title-text {
  font-size: 13px;
  font-weight: 600;
  color: var(--vesta-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tk-title-meta {
  font-size: 11px;
  line-height: 1.45;
  color: var(--vesta-text-muted);
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  overflow: hidden;
}
.tk-title-meta .lucide {
  width: 13px;
  height: 13px;
  flex: none;
  vertical-align: -2px;
}
.tk-title-meta .v-type-badge,
.tk-title-meta .tk-meta-tag,
.tk-title-meta .tk-child-badge {
  line-height: 1.5;
  padding-block: 0;
}

.tk-meta-party {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 72px;
  flex: 1 1 auto;
  overflow: hidden;
  white-space: nowrap;
}

.tk-meta-party-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tk-meta-city {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex: none;
}

.tk-meta-tags {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 1 auto;
  min-width: 0;
  overflow: hidden;
}

.tk-meta-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex: none;
  max-width: 120px;
  padding: 1px 8px;
  border-radius: 99px;
  background: var(--vesta-bg-muted, rgba(0, 0, 0, 0.05));
  color: var(--vesta-text-secondary);
  white-space: nowrap;
}
.tk-meta-tag .lucide {
  width: 12px;
  height: 12px;
  flex: none;
}
[data-theme=dark] .tk-meta-tag {
  background: rgba(255, 255, 255, 0.06);
}

.tk-meta-tag-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tk-child-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 10px;
  padding: 1px 6px;
  border-radius: 99px;
  background: #F5F3FF;
  color: #7C3AED;
  font-weight: 700;
}
[data-theme=dark] .tk-child-badge {
  background: rgba(167, 139, 250, 0.18);
  color: #C4B5FD;
}

.tk-foot {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 4px;
}

@container tktable (max-width: 1180px) {
  .tk-meta-tag {
    max-width: none;
    padding-inline: 6px;
  }
  .tk-meta-tag-text {
    display: none;
  }
}
@container tktable (max-width: 1040px) {
  .tk-meta-city {
    display: none;
  }
}
@container tktable (max-width: 820px) {
  .tk-thead,
  .tk-row {
    grid-template-columns: 30px 84px minmax(140px, 1fr) 62px 118px 100px 104px 30px;
  }
  .tk-c-hours {
    display: none;
  }
}
@container tktable (max-width: 700px) {
  .tk-thead,
  .tk-row {
    grid-template-columns: 30px 76px minmax(130px, 1fr) 58px 110px 96px 30px;
  }
  .tk-c-assignee {
    display: none;
  }
}
@container tktable (max-width: 560px) {
  .tk-thead {
    display: none;
  }
  .tk-row {
    grid-template-columns: 28px 1fr auto 32px;
    grid-template-areas: "check  id      prio    actions" "check  title   title   title" "check  wf      sla     sla";
    row-gap: 6px;
    column-gap: 10px;
    padding: 10px 14px;
    align-items: center;
  }
  .tk-row + .tk-row {
    border-top: 1px solid var(--vesta-border-subtle);
  }
  .tk-row .tk-c-check {
    grid-area: check;
    align-self: start;
    padding-top: 3px;
  }
  .tk-row .tk-c-id {
    grid-area: id;
    align-self: center;
  }
  .tk-row .tk-c-prio {
    grid-area: prio;
    justify-self: end;
    align-self: center;
  }
  .tk-row .tk-c-actions {
    grid-area: actions;
    align-self: center;
    justify-self: end;
  }
  .tk-row .tk-c-title {
    grid-area: title;
    min-width: 0;
  }
  .tk-row .tk-c-title .tk-title-text {
    white-space: normal;
  }
  .tk-row .tk-c-title .tk-title-row {
    flex-wrap: wrap;
    row-gap: 2px;
  }
  .tk-row .tk-c-title .tk-title-meta {
    flex-wrap: wrap;
    row-gap: 2px;
    margin-top: 4px;
  }
  .tk-row .tk-c-wf {
    grid-area: wf;
    min-width: 0;
  }
  .tk-row .tk-c-sla {
    grid-area: sla;
    justify-self: end;
    min-width: 0;
  }
  .tk-row.child {
    padding-left: 22px;
  }
  .tk-row.child .tk-c-id {
    padding-left: 0;
  }
}
@container tktable (max-width: 420px) {
  .tk-row {
    grid-template-columns: 24px 1fr auto 28px;
    padding: 10px 12px;
    column-gap: 8px;
  }
}
.tk-detail {
  background: var(--vesta-bg-card);
  border-left: 1px solid var(--vesta-border);
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow: hidden;
  min-width: 0;
}
.tk-detail.compact {
  border-left: 1px solid var(--vesta-border);
}
.tk-detail.compact .tk-detail-body {
  padding: 0;
}
.tk-detail.compact .compact-body {
  padding: 14px 16px;
}
[data-theme=dark] .tk-detail {
  background: var(--vesta-bg-card);
  border-color: var(--vesta-border);
}
@media (max-width: 1280px) {
  .tk-detail {
    position: fixed;
    top: 64px;
    right: 0;
    bottom: 0;
    width: min(440px, 92vw);
    z-index: 60;
    box-shadow: -16px 0 40px -10px rgba(15, 23, 42, 0.18);
  }
}

.tk-detail-head {
  padding: 16px 20px;
  border-bottom: 1px solid var(--vesta-border);
}

.tk-detail-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 14px;
}

.tk-detail-tabs {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 0 12px;
  border-bottom: 1px solid var(--vesta-border);
  background: var(--vesta-bg-body);
  overflow-x: auto;
}
[data-theme=dark] .tk-detail-tabs {
  background: var(--vesta-bg-sidebar-2);
  border-color: var(--vesta-border);
}

.tk-detail-tab {
  background: transparent;
  border: 0;
  padding: 10px 12px;
  font-size: 12px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.tk-detail-tab:hover {
  color: var(--vesta-text-primary);
}
.tk-detail-tab.active {
  color: var(--vesta-primary);
  border-bottom-color: var(--vesta-primary);
}

.tk-tab-count {
  font-size: 10px;
  padding: 1px 5px;
  border-radius: 99px;
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-muted);
  font-family: var(--vesta-font-mono);
}

.tk-detail-tab.active .tk-tab-count {
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary);
}

.tk-detail-body {
  padding: 16px 20px;
  overflow-y: auto;
  flex: 1;
}

.tk-sub {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--vesta-border-subtle);
  border-radius: 10px;
  margin-bottom: 6px;
  background: var(--vesta-bg-card);
}
.tk-sub:hover {
  border-color: var(--vesta-primary);
  background: var(--vesta-primary-subtle);
}

.tk-tree {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tk-tree-group {
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--vesta-shadow-sm);
}

.tk-tree-parent {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: linear-gradient(90deg, #F5F3FF, white);
  border-bottom: 1px solid var(--vesta-border-subtle);
  cursor: pointer;
}
.tk-tree-parent:hover {
  background: linear-gradient(90deg, #EDE9FE, #F5F3FF);
}
[data-theme=dark] .tk-tree-parent {
  background: linear-gradient(90deg, rgba(167, 139, 250, 0.1), var(--vesta-bg-card));
}
[data-theme=dark] .tk-tree-parent:hover {
  background: linear-gradient(90deg, rgba(167, 139, 250, 0.18), rgba(167, 139, 250, 0.06));
}

.tk-tree-children {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.tk-tree-child {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px 10px 36px;
  border-bottom: 1px solid var(--vesta-border-subtle);
  cursor: pointer;
}
.tk-tree-child:last-child {
  border-bottom: 0;
}
.tk-tree-child:hover {
  background: var(--vesta-bg-body);
}

.tk-full {
  display: grid;
  grid-template-columns: 260px 1fr;
  height: 100%;
  background: var(--vesta-bg-body);
}
.tk-full--no-list {
  grid-template-columns: 1fr;
}

.tk-full-list {
  border-right: 1px solid var(--vesta-border);
  background: var(--vesta-bg-card);
  overflow-y: auto;
}
[data-theme=dark] .tk-full-list {
  background: var(--vesta-bg-card);
  border-color: var(--vesta-border);
}

.tk-full-list-head {
  padding: 10px 12px;
  border-bottom: 1px solid var(--vesta-border);
  display: flex;
  align-items: center;
  gap: 8px;
  position: sticky;
  top: 0;
  background: var(--vesta-bg-card);
  z-index: 1;
}
[data-theme=dark] .tk-full-list-head {
  background: var(--vesta-bg-card);
}

.tk-full-list-item {
  padding: 10px 12px;
  border-bottom: 1px solid var(--vesta-border-subtle);
  cursor: pointer;
}
.tk-full-list-item:hover {
  background: var(--vesta-bg-body);
}
.tk-full-list-item.on {
  background: var(--vesta-primary-subtle);
  border-left: 3px solid var(--vesta-primary);
  padding-left: 9px;
}

.tk-full-main {
  overflow-y: auto;
  padding: 20px 32px 60px;
  max-width: 1400px;
  margin: 0 auto;
  width: 100%;
}

.tk-full-head {
  padding-bottom: 16px;
  border-bottom: 1px solid var(--vesta-border);
}

.tk-full-body {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 24px;
  align-items: start;
}

.tk-full-col-main {
  min-width: 0;
}

.tk-full-col-side {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tk-full-head h1 {
  margin: 0 0 10px;
}

.tk-wf-completed {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 99px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  color: var(--vesta-success-strong);
  background: color-mix(in srgb, var(--vesta-success) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--vesta-success) 30%, transparent);
}

.tk-detail-full {
  border-left: 0;
  width: 100%;
}
.tk-detail-full .tk-detail-head,
.tk-detail-full .tk-detail-tabs,
.tk-detail-full .tk-detail-body {
  padding-left: 32px;
  padding-right: 32px;
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}
.tk-detail-full .tk-detail-head {
  padding: 20px 32px;
}
.tk-detail-full .tk-detail-tabs {
  padding: 0 32px;
}
.tk-detail-full .tk-detail-body {
  padding: 24px 32px;
}
.tk-detail-full .tk-info-grid {
  grid-template-columns: repeat(3, 1fr);
}

.tk-detail-compact .tk-detail-body {
  padding: 16px 18px;
}

@media (max-width: 1100px) {
  .tk-full {
    grid-template-columns: 220px 1fr;
  }
  .tk-full-body {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 991.98px) {
  .tk-detail {
    position: fixed;
    top: var(--vesta-topbar-height);
    right: 0;
    bottom: 0;
    width: min(440px, 86vw);
    z-index: 1043;
    box-shadow: -16px 0 40px -10px rgba(15, 23, 42, 0.18);
  }
  .tk-main {
    padding: 18px;
  }
}
@media (max-width: 767.98px) {
  .tk-detail {
    width: 100vw !important;
    max-width: 100vw;
  }
  .tk-main {
    padding: 14px;
  }
  .tk-full {
    grid-template-columns: 1fr;
  }
  .tk-full-list {
    display: none;
  }
  .tk-full-main {
    padding: 16px;
  }
  .tk-full-head {
    padding-bottom: 12px;
    margin-bottom: 14px;
  }
  .tk-detail-full .tk-detail-head,
  .tk-detail-full .tk-detail-tabs,
  .tk-detail-full .tk-detail-body {
    padding-left: 16px;
    padding-right: 16px;
  }
  .tk-detail-full .tk-info-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .sidebar {
    width: 86vw;
    max-width: 86vw;
  }
}
.v-pager {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 10px 14px;
  font-size: 13px;
  color: var(--vesta-text-secondary);
}

.v-pager-info {
  display: flex;
  align-items: center;
  gap: 5px;
}
.v-pager-info b {
  color: var(--vesta-text-primary);
}

.v-pager-sep {
  color: var(--vesta-text-muted);
}

.v-pager-nav {
  display: flex;
  align-items: center;
  gap: 4px;
}

.v-pager-btn {
  min-width: 32px;
  height: 32px;
  padding: 0 6px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--vesta-border);
  border-radius: 8px;
  background: var(--vesta-bg-card);
  color: var(--vesta-text-secondary);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
}
.v-pager-btn .lucide {
  width: 16px;
  height: 16px;
}
.v-pager-btn:hover:not(:disabled):not(.is-active) {
  background: var(--vesta-bg-hover);
  border-color: var(--vesta-primary);
  color: var(--vesta-text-primary);
}
.v-pager-btn.is-active {
  background: var(--vesta-primary);
  border-color: var(--vesta-primary);
  color: #fff;
}
.v-pager-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.tk-act-status {
  font-size: 9.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 2px 8px;
  border-radius: 99px;
}
.tk-act-status.is-closed {
  background: var(--vesta-success-subtle, #DCFCE7);
  color: var(--vesta-success, #16A34A);
}
.tk-act-status.is-open {
  background: var(--vesta-warning-subtle, #FEF3C7);
  color: var(--vesta-warning, #B45309);
}

.tk-cal-nav {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.tk-cal-range {
  font-size: 13px;
  font-weight: 600;
  color: var(--vesta-text-primary);
  min-width: 200px;
  text-transform: capitalize;
}

.tk-cal-scroll {
  overflow-x: auto;
}

.tk-cal-grid {
  display: grid;
  grid-template-columns: 120px repeat(7, minmax(76px, 1fr));
  border: 1px solid var(--vesta-border);
  border-radius: 10px;
  overflow: hidden;
  min-width: 652px;
}

.tk-cal-corner {
  background: var(--vesta-bg-body);
  border-bottom: 1px solid var(--vesta-border);
  border-right: 1px solid var(--vesta-border);
  position: sticky;
  left: 0;
  z-index: 2;
}

.tk-cal-dayhead {
  background: var(--vesta-bg-body);
  border-bottom: 1px solid var(--vesta-border);
  border-right: 1px solid var(--vesta-border-subtle);
  padding: 8px 10px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--vesta-text-muted);
}
.tk-cal-dayhead.is-today {
  color: var(--vesta-primary);
  background: var(--vesta-primary-subtle);
}
.tk-cal-dayhead:last-child {
  border-right: 0;
}

.tk-cal-tech {
  background: var(--vesta-bg-body);
  border-right: 1px solid var(--vesta-border);
  border-bottom: 1px solid var(--vesta-border-subtle);
  padding: 10px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--vesta-text-primary);
  position: sticky;
  left: 0;
  z-index: 1;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  display: block;
  line-height: 36px;
}

.tk-cal-cell {
  border-right: 1px solid var(--vesta-border-subtle);
  border-bottom: 1px solid var(--vesta-border-subtle);
  padding: 6px;
  min-height: 56px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.tk-cal-cell:nth-child(8n+1) {
  border-right: 0;
}
.tk-cal-cell.is-clickable {
  cursor: pointer;
}
.tk-cal-cell.is-clickable:hover {
  background: var(--vesta-bg-hover);
}

.tk-cal-chip {
  font-size: 11px;
  line-height: 1.25;
  padding: 4px 7px;
  border-radius: 6px;
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-secondary);
  border-left: 3px solid var(--vesta-text-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tk-cal-chip.prio-p1 {
  border-left-color: #EF4444;
}
.tk-cal-chip.prio-p2 {
  border-left-color: #F59E0B;
}
.tk-cal-chip.prio-p3 {
  border-left-color: #3B82F6;
}
.tk-cal-chip.prio-p4 {
  border-left-color: #94A3B8;
}
.tk-cal-chip.is-current {
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary);
  border-left-color: var(--vesta-primary);
  font-weight: 700;
}
.tk-cal-chip.is-other {
  opacity: 0.72;
}

.tk-appt-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.tk-appt-row {
  display: grid;
  grid-template-columns: minmax(0, 190px) minmax(0, 1fr) minmax(0, 120px) auto;
  gap: 10px;
  align-items: center;
  width: 100%;
  padding: 8px 10px;
  border: 1px solid var(--vesta-border);
  border-radius: 8px;
  background: var(--vesta-bg-body);
  color: var(--vesta-text-primary);
  font-size: 13px;
  text-align: left;
}
.tk-appt-row:hover {
  border-color: var(--vesta-primary);
  background: var(--vesta-bg-hover);
}

.tk-appt-when {
  font-weight: 600;
  white-space: nowrap;
}

.tk-appt-who,
.tk-appt-where {
  min-width: 0;
}

.tk-act-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 10px;
  margin-bottom: 10px;
  border: 1px dashed var(--vesta-border);
  border-radius: 10px;
  background: var(--vesta-bg-body);
}
.tk-act-form > * {
  min-width: 0;
}
.tk-act-form .tk-act-desc {
  flex: 1 1 100%;
}
.tk-act-form .tk-act-notes {
  flex: 1 1 100%;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.tk-act-form .tk-act-notes .tk-act-notes-hint {
  line-height: 1.3;
}
.tk-act-form .tk-act-date {
  flex: 0 0 150px;
}
.tk-act-form .tk-act-hours {
  flex: 0 0 120px;
}
.tk-act-form .tk-act-billable {
  flex: 0 0 auto;
}
.tk-act-form .tk-act-cost {
  flex: 0 0 160px;
}
.tk-act-form .btn {
  flex: 0 0 auto;
}
.tk-act-form .tk-act-new-materials {
  flex: 1 1 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 4px;
  padding-top: 10px;
  border-top: 1px dashed var(--vesta-border);
}
.tk-act-form .tk-act-new-materials .tk-act-materials-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--vesta-text-muted);
}
.tk-act-form .tk-act-new-materials .tk-act-materials-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.tk-act-form .tk-act-new-materials .tk-act-materials-list li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 8px;
  border-radius: 8px;
  background: var(--vesta-bg-subtle, rgba(0, 0, 0, 0.03));
}
.tk-act-form .tk-act-new-materials .tk-act-materials-list li .tk-mat-qty {
  flex: 0 0 auto;
  font-weight: 600;
}
.tk-act-form .tk-act-new-materials .tk-act-materials-list li .tk-mat-desc {
  flex: 1 1 auto;
  min-width: 0;
}
.tk-act-form .tk-act-new-materials .tk-act-materials-list li .btn {
  margin-left: auto;
}
.tk-act-form .tk-act-new-materials .tk-act-material-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.tk-act-form .tk-act-new-materials .tk-act-material-form .tk-mat-picker {
  flex: 1 1 240px;
  min-width: 0;
}
.tk-act-form .tk-act-new-materials .tk-act-material-form .tk-mat-qty-input {
  flex: 0 0 120px;
}

.tk-exh {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px 14px;
  border-radius: var(--vesta-radius);
  background: var(--_exh-bg);
  border: 1px solid rgba(var(--_exh-rgb), 0.3);
  border-left: 3px solid var(--_exh-color);
}
.tk-exh--warning {
  --_exh-color: var(--vesta-warning);
  --_exh-bg: var(--vesta-warning-subtle);
  --_exh-rgb: var(--vesta-warning-rgb);
}
.tk-exh--critical {
  --_exh-color: var(--vesta-danger);
  --_exh-bg: var(--vesta-danger-subtle);
  --_exh-rgb: var(--vesta-danger-rgb);
}
.tk-exh-head {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.tk-exh-icon {
  display: flex;
  flex: none;
  margin-top: 1px;
  color: var(--_exh-color);
}
.tk-exh-icon .lucide {
  width: 16px;
  height: 16px;
}
.tk-exh-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}
.tk-exh-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--_exh-color);
}
.tk-exh-msg {
  font-size: 12.5px;
  color: var(--vesta-text-secondary);
}
.tk-exh-pct {
  flex: none;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--_exh-color);
  color: #fff;
  font-size: 12.5px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.tk-exh-meter {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.tk-exh-track {
  position: relative;
  height: 8px;
  border-radius: 999px;
  background: rgba(var(--_exh-rgb), 0.2);
}
.tk-exh-bar {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: var(--tk-exh-fill, 0%);
  border-radius: 999px;
  background: var(--_exh-color);
}
.tk-exh-mark {
  position: absolute;
  top: -3px;
  bottom: -3px;
  left: var(--tk-exh-mark, 0%);
  width: 2px;
  border-radius: 1px;
  background: var(--vesta-text-secondary);
  opacity: 0.5;
}
.tk-exh-legend {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: space-between;
  font-size: 11.5px;
  color: var(--vesta-text-muted);
  font-variant-numeric: tabular-nums;
}
.tk-exh-details {
  display: flex;
  flex-direction: column;
  gap: 2px;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 11.5px;
  color: var(--vesta-text-muted);
}

.v-sla-bar {
  min-width: 110px;
  max-width: 140px;
}
.v-sla-bar__row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.v-sla-bar__track-col {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.v-sla-bar__track {
  border-radius: 999px;
  overflow: hidden;
  height: 5px;
  background: var(--vesta-border);
}
.v-sla-bar__fill {
  height: 100%;
  border-radius: 999px;
  width: var(--_sla-fill, 100%);
  background: var(--_sla-color, var(--vesta-success));
}
.v-sla-bar__label {
  min-width: 56px;
  color: var(--_sla-text, var(--vesta-success-strong));
}
.v-sla-bar__markers {
  position: relative;
  height: 14px;
}
.v-sla-bar__marker {
  position: absolute;
  font-size: 9px;
  color: var(--vesta-text-muted);
  transform: translateX(-50%);
  white-space: nowrap;
  font-weight: 500;
  line-height: 1;
}
.v-sla-bar__marker.tone-danger {
  color: var(--vesta-danger);
}
.v-sla-bar__marker.tone-warning {
  color: var(--vesta-warning);
}
.v-sla-bar__marker.tone-success {
  color: var(--vesta-success);
}
.v-sla-bar--compact .v-sla-bar__markers {
  display: none;
}

.v-sla-banner {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 16px;
  border-radius: var(--vesta-radius);
  border-left: 3px solid var(--_banner-color, var(--vesta-info));
  background: var(--_banner-bg, var(--vesta-info-subtle));
}
.v-sla-banner-icon {
  flex-shrink: 0;
  color: var(--_banner-color, var(--vesta-info));
}
.v-sla-banner-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.v-sla-banner-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--_banner-color, var(--vesta-info));
}
.v-sla-banner-desc {
  font-size: 12px;
  color: var(--vesta-text-muted);
  line-height: 1.4;
}
.v-sla-banner-action {
  flex-shrink: 0;
  font-size: 12px;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 6px;
  border: 1px solid var(--_banner-color, var(--vesta-info));
  color: var(--_banner-color, var(--vesta-info));
  background: transparent;
  cursor: pointer;
}
.v-sla-banner-action:hover {
  filter: brightness(0.93);
}
.v-sla-banner--ok {
  --_banner-color: var(--vesta-success);
  --_banner-bg: var(--vesta-success-subtle);
}
.v-sla-banner--warning {
  --_banner-color: var(--vesta-warning);
  --_banner-bg: var(--vesta-warning-subtle);
}
.v-sla-banner--breached {
  --_banner-color: var(--vesta-danger);
  --_banner-bg: var(--vesta-danger-subtle);
}

.v-sla-meter {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.v-sla-meter-header {
  display: flex;
  align-items: center;
  gap: 8px;
}
.v-sla-meter-label {
  flex: 1;
  font-size: 13px;
  font-weight: 500;
  color: var(--vesta-text-primary);
}
.v-sla-meter-value {
  font-size: 12px;
  font-weight: 600;
}
.v-sla-meter-value.tone-ok {
  color: var(--vesta-success);
}
.v-sla-meter-value.tone-warning {
  color: var(--vesta-warning);
}
.v-sla-meter-value.tone-breached {
  color: var(--vesta-danger);
}
.v-sla-meter-track {
  position: relative;
  height: 10px;
  border-radius: 999px;
  overflow: visible;
}
.v-sla-meter-gradient {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: linear-gradient(to right, var(--vesta-success), var(--vesta-warning) 60%, var(--vesta-danger));
  opacity: 0.22;
}
.v-sla-meter-fill {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: linear-gradient(to right, var(--vesta-success), var(--vesta-warning) 60%, var(--vesta-danger));
  width: var(--_sla-pct, 0%);
}
.v-sla-meter-now {
  position: absolute;
  top: -16px;
  left: var(--_sla-pct, 0%);
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: center;
  pointer-events: none;
}
.v-sla-meter-now-label {
  font-size: 9px;
  font-weight: 700;
  color: var(--vesta-text-primary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.v-sla-meter-now-pin {
  width: 2px;
  height: 26px;
  background: var(--vesta-text-primary);
  border-radius: 2px;
  margin-top: -2px;
}
.v-sla-meter-axis {
  position: relative;
  height: 14px;
}

.v-sla-events {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
}
.v-sla-events::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 14px;
  bottom: 14px;
  width: 1px;
  background: var(--vesta-border);
}

.v-sla-event-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 5px 0 5px 28px;
  position: relative;
}
.v-sla-event-item.tone-ok .v-sla-event-dot {
  background: var(--vesta-success-subtle);
  color: var(--vesta-success);
  border-color: var(--vesta-success);
}
.v-sla-event-item.tone-warning .v-sla-event-dot {
  background: var(--vesta-warning-subtle);
  color: var(--vesta-warning);
  border-color: var(--vesta-warning);
}
.v-sla-event-item.tone-breached .v-sla-event-dot {
  background: var(--vesta-danger-subtle);
  color: var(--vesta-danger);
  border-color: var(--vesta-danger);
}

.v-sla-event-dot {
  position: absolute;
  left: 1px;
  top: 7px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  display: grid;
  place-items: center;
  color: var(--vesta-text-muted);
}

.v-sla-event-body {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
}

.v-sla-event-label {
  flex: 1;
  font-size: 12px;
  font-weight: 500;
  color: var(--vesta-text-primary);
}

.v-sla-event-time {
  font-size: 11px;
  color: var(--vesta-text-muted);
  white-space: nowrap;
}

.tk-kpis,
.v-kpi-strip {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px;
  margin-bottom: 14px;
}
@media (max-width: 767.98px) {
  .tk-kpis,
  .v-kpi-strip {
    grid-template-columns: repeat(2, 1fr);
  }
}

.tk-kpi,
.v-kpi-tile {
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 10px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.v-kpi-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}
.v-kpi-cards--4 {
  grid-template-columns: repeat(4, 1fr);
}
.v-kpi-cards--3 {
  grid-template-columns: repeat(3, 1fr);
}
.v-kpi-cards--2 {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 900px) {
  .v-kpi-cards--4, .v-kpi-cards--3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
  .v-kpi-cards {
    grid-template-columns: 1fr;
  }
  .v-kpi-cards--4, .v-kpi-cards--3, .v-kpi-cards--2 {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .v-kpi-cards .stat-card {
    animation: v-value-in var(--motion-base) both;
  }
  .v-kpi-cards .stat-card:nth-child(1) {
    animation-delay: 0s;
  }
  .v-kpi-cards .stat-card:nth-child(2) {
    animation-delay: 0.035s;
  }
  .v-kpi-cards .stat-card:nth-child(3) {
    animation-delay: 0.07s;
  }
  .v-kpi-cards .stat-card:nth-child(4) {
    animation-delay: 0.105s;
  }
  .v-kpi-cards .stat-card:nth-child(5) {
    animation-delay: 0.14s;
  }
  .v-kpi-cards .stat-card:nth-child(6) {
    animation-delay: 0.175s;
  }
  .v-kpi-cards .stat-card:nth-child(7) {
    animation-delay: 0.21s;
  }
  .v-kpi-cards .stat-card:nth-child(8) {
    animation-delay: 0.245s;
  }
  .v-kpi-cards .stat-card:nth-child(9) {
    animation-delay: 0.28s;
  }
  .v-kpi-cards .stat-card:nth-child(10) {
    animation-delay: 0.315s;
  }
  .v-kpi-cards .stat-card:nth-child(11) {
    animation-delay: 0.35s;
  }
  .v-kpi-cards .stat-card:nth-child(12) {
    animation-delay: 0.385s;
  }
}

.v-alert-card {
  --alert-accent: var(--vesta-info);
  border: 1px solid var(--vesta-border);
  border-left: 3px solid var(--alert-accent);
  background: linear-gradient(90deg, color-mix(in srgb, var(--alert-accent) 7%, transparent), transparent 45%), var(--vesta-bg-card);
}
.v-alert-card--critical {
  --alert-accent: var(--vesta-danger);
}
.v-alert-card--warning {
  --alert-accent: var(--vesta-warning);
}
.v-alert-card--info {
  --alert-accent: var(--vesta-info);
}

.tk-kpi-icon,
.v-kpi-icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary);
}
.tk-kpi-icon.danger,
.v-kpi-icon.danger {
  background: var(--vesta-danger-subtle);
  color: var(--vesta-danger);
}
.tk-kpi-icon.warning,
.v-kpi-icon.warning {
  background: var(--vesta-warning-subtle);
  color: var(--vesta-warning);
}
.tk-kpi-icon.success,
.v-kpi-icon.success {
  background: var(--vesta-success-subtle);
  color: var(--vesta-success);
}
.tk-kpi-icon.info,
.v-kpi-icon.info {
  background: var(--vesta-info-subtle);
  color: var(--vesta-info);
}

.tk-info-card,
.v-sidecard {
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 10px;
  padding: 14px;
  margin-bottom: 14px;
  box-shadow: var(--vesta-shadow-sm);
}
[data-theme=dark] .tk-info-card,
[data-theme=dark] .v-sidecard {
  background: var(--vesta-bg-card);
  border-color: var(--vesta-border);
}

.v-sidecard-head {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: space-between;
  margin-bottom: 10px;
}

.v-sidecard-title {
  font-size: var(--vesta-fs-2xs);
  font-weight: var(--vesta-fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--vesta-tracking-wider);
  color: var(--vesta-text-muted);
}

.v-sidecard-head-actions {
  display: flex;
  align-items: center;
  gap: 4px;
}

.v-sidecard-body {
  min-width: 0;
}

.tk-info-grid,
.v-sidecard-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 16px;
}
@media (max-width: 767.98px) {
  .tk-info-grid,
  .v-sidecard-grid {
    grid-template-columns: 1fr;
  }
}

.tk-info-l,
.v-sidecard-label {
  font-size: var(--vesta-fs-2xs);
  font-weight: var(--vesta-fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--vesta-tracking-wider);
  color: var(--vesta-text-muted);
  margin-bottom: 2px;
}

.tk-info-v,
.v-sidecard-value {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--vesta-text-primary);
}

.tk-quick-grid,
.v-field-tile-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 8px;
}
@media (max-width: 767.98px) {
  .tk-quick-grid,
  .v-field-tile-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.tk-quick,
.v-field-tile {
  padding: 8px 10px;
  background: var(--vesta-bg-body);
  border: 1px solid var(--vesta-border-subtle);
  border-radius: 8px;
}
[data-theme=dark] .tk-quick,
[data-theme=dark] .v-field-tile {
  background: var(--vesta-bg-sidebar-2);
  border-color: var(--vesta-border);
}

.tk-quick-l,
.v-field-tile-label {
  font-size: var(--vesta-fs-2xs);
  font-weight: var(--vesta-fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--vesta-tracking-wider);
  color: var(--vesta-text-muted);
  display: flex;
  align-items: center;
  gap: 4px;
  display: inline-flex;
  margin-bottom: 2px;
}

.tk-quick-v,
.v-field-tile-value {
  font-size: 12px;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tk-quick-v.is-mono,
.v-field-tile-value.is-mono {
  font-family: var(--vesta-font-mono);
}

.v-field-tile-sub {
  font-size: 10.5px;
  color: var(--vesta-text-muted);
  margin-top: 2px;
}

.v-field-tile.is-danger {
  border-color: var(--vesta-danger);
}
.v-field-tile.is-danger .v-field-tile-value {
  color: var(--vesta-danger);
}

.v-field-tile.is-warning {
  border-color: var(--vesta-warning);
}
.v-field-tile.is-warning .v-field-tile-value {
  color: var(--vesta-warning);
}

.v-sidecard-actions {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.v-sidecard-action {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px 10px;
  min-height: var(--tap-target, 36px);
  background: var(--vesta-bg-body);
  border: 1px solid var(--vesta-border-subtle);
  border-radius: 8px;
  color: var(--vesta-text-primary);
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.v-sidecard-action:hover {
  background: var(--vesta-primary-subtle);
  border-color: var(--vesta-primary);
  color: var(--vesta-primary);
}
.v-sidecard-action:focus-visible {
  outline: var(--focus-outline, 2px solid var(--vesta-primary));
  outline-offset: 2px;
}
[data-theme=dark] .v-sidecard-action {
  background: var(--vesta-bg-sidebar-2);
  border-color: var(--vesta-border);
}

.v-sidecard-action-icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  color: var(--vesta-text-secondary);
}

.tk-mini-section,
.v-sidecard-mini {
  margin-top: 14px;
  padding: 10px 12px;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border-subtle);
  border-radius: 10px;
}
[data-theme=dark] .tk-mini-section,
[data-theme=dark] .v-sidecard-mini {
  background: var(--vesta-bg-card);
  border-color: var(--vesta-border);
}

.tk-mini-head,
.v-sidecard-mini-head {
  font-size: var(--vesta-fs-2xs);
  font-weight: var(--vesta-fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--vesta-tracking-wider);
  color: var(--vesta-text-muted);
  display: flex;
  align-items: center;
  gap: 5px;
  display: inline-flex;
  margin-bottom: 6px;
}

.tk-quick-panel,
.v-sidecard-panel {
  border-left: 1px solid var(--vesta-border);
  background: var(--vesta-bg-card);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-width: 0;
  width: 320px;
}
[data-theme=dark] .tk-quick-panel,
[data-theme=dark] .v-sidecard-panel {
  background: var(--vesta-bg-card);
  border-color: var(--vesta-border);
}

.tk-qp-head,
.v-sidecard-panel-head {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: space-between;
  padding: 14px 16px 12px;
  border-bottom: 1px solid var(--vesta-border-subtle);
  flex-shrink: 0;
}

.tk-qp-body,
.v-sidecard-panel-body {
  flex: 1;
  overflow-y: auto;
  padding: 14px 16px;
}
.tk-qp-body dl,
.v-sidecard-panel-body dl {
  margin: 0;
}

.tk-qp-row,
.v-sidecard-panel-row {
  margin-bottom: 14px;
}
.tk-qp-row dt,
.v-sidecard-panel-row dt {
  font-size: var(--vesta-fs-2xs);
  font-weight: var(--vesta-fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--vesta-tracking-wider);
  color: var(--vesta-text-muted);
  margin-bottom: 4px;
}
.tk-qp-row dd,
.v-sidecard-panel-row dd {
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  color: var(--vesta-text-primary);
}

.tk-qp-foot,
.v-sidecard-panel-foot {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: space-between;
  padding: 12px 16px;
  border-top: 1px solid var(--vesta-border-subtle);
  flex-shrink: 0;
}
[data-theme=dark] .tk-qp-foot,
[data-theme=dark] .v-sidecard-panel-foot {
  background: var(--vesta-bg-sidebar-2);
}

.v-detail-hero {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0px 20px 20px 0px;
  border-bottom: 1px solid var(--vesta-border);
}

.v-detail-hero-chips {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.v-detail-hero-titlerow {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.v-detail-hero-title {
  margin: 0;
  font-family: var(--vesta-font-display);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--vesta-text-primary);
  line-height: 1.2;
}

.v-detail-hero-id {
  font-family: var(--vesta-font-mono);
  font-size: 12px;
  color: var(--vesta-text-muted);
  padding: 2px 6px;
  border-radius: 6px;
  background: var(--vesta-bg-hover);
}

.v-detail-hero-postchips {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.v-detail-hero-meta,
.v-detail-hero-tracker,
.v-detail-hero-actions {
  min-width: 0;
}

.v-detail-hero-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.v-meta-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 12px;
  color: var(--vesta-text-secondary);
}

.v-meta-sep {
  color: var(--vesta-text-muted);
}

.v-meta-item {
  display: flex;
  align-items: center;
  gap: 4px;
}
.v-meta-item.is-danger {
  color: var(--vesta-danger);
}
.v-meta-item.is-warning {
  color: var(--vesta-warning);
}
.v-meta-item.is-success {
  color: var(--vesta-success);
}

.v-meta-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v-action-row {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.v-action-btn {
  display: flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}

.v-action-more {
  display: grid;
  place-items: center;
  min-width: var(--tap-target, 36px);
  min-height: var(--tap-target, 36px);
}

.v-action-overflow-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  border: 0;
  background: transparent;
}

.tk-actionbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px 16px;
  flex-wrap: wrap;
  width: 100%;
}

.tk-actionbar-nav,
.tk-actionbar-main {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  min-width: 0;
}

.tk-actionbar-main {
  justify-content: flex-end;
}

.tk-detail-nav {
  display: inline-flex;
  gap: 2px;
}

.tk-detail-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.tk-stat {
  border: 1px solid var(--vesta-border);
  border-radius: 10px;
  padding: 10px 12px;
  background: var(--vesta-bg-card);
}

.tk-stat-l {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--vesta-text-muted);
  margin-bottom: 4px;
}

.tk-stat-v {
  font-size: 18px;
  font-weight: 700;
  color: var(--vesta-text-primary);
}

.tk-info-sub {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--vesta-text-muted);
  margin-bottom: 6px;
}

.tk-fieldgrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px 16px;
}

.tk-field dt {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--vesta-text-muted);
  margin-bottom: 3px;
}
.tk-field dd {
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  color: var(--vesta-text-primary);
}

@media (max-width: 760px) {
  .tk-detail-stats {
    grid-template-columns: repeat(2, 1fr);
  }
}
.v-detail-back {
  margin-bottom: 2px;
}

.v-detail-back-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--vesta-text-muted);
  cursor: pointer;
  text-decoration: none;
}
.v-detail-back-link .lucide {
  width: 14px;
  height: 14px;
}
.v-detail-back-link:hover {
  color: var(--vesta-primary);
}

.v-watchers {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.v-watcher-chip {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 3px 8px 3px 3px;
  border-radius: 999px;
  background: var(--vesta-bg-body);
  border: 1px solid var(--vesta-border-subtle);
}
[data-theme=dark] .v-watcher-chip {
  background: var(--vesta-bg-sidebar-2);
  border-color: var(--vesta-border);
}

.v-watcher-name {
  font-size: 12px;
  font-weight: 600;
  color: var(--vesta-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 120px;
}

.v-watcher-remove {
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--vesta-text-muted);
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.v-watcher-remove:hover {
  background: var(--vesta-danger-subtle);
  color: var(--vesta-danger);
}
.v-watcher-remove:focus-visible {
  outline: var(--focus-outline, 2px solid var(--vesta-primary));
  outline-offset: 1px;
}

.v-watcher-add {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  min-height: 28px;
  border: 1px dashed var(--vesta-border);
  border-radius: 999px;
  background: transparent;
  color: var(--vesta-text-secondary);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.15s, color 0.15s;
}
.v-watcher-add:hover {
  border-color: var(--vesta-primary);
  color: var(--vesta-primary);
}
.v-watcher-add:focus-visible {
  outline: var(--focus-outline, 2px solid var(--vesta-primary));
  outline-offset: 2px;
}

.v-watcher-picker {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  flex-wrap: wrap;
}
.v-watcher-picker select {
  flex: 1 1 120px;
  min-width: 0;
}

.v-contact-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px;
  border-radius: 10px;
  background: var(--vesta-bg-body);
  border: 1px solid var(--vesta-border-subtle);
}
[data-theme=dark] .v-contact-card {
  background: var(--vesta-bg-sidebar-2);
  border-color: var(--vesta-border);
}

.v-contact-head {
  display: flex;
  align-items: center;
  gap: 10px;
}

.v-contact-id {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.v-contact-name {
  font-size: 13px;
  font-weight: 700;
  color: var(--vesta-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v-contact-role {
  font-size: 11px;
  color: var(--vesta-text-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v-contact-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.v-contact-btn {
  display: flex;
  align-items: center;
  gap: 5px;
  flex: 1;
  justify-content: center;
  padding: 6px 10px;
  min-height: var(--tap-target, 36px);
  border-radius: 8px;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  color: var(--vesta-text-primary);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.v-contact-btn:hover {
  background: var(--vesta-primary-subtle);
  border-color: var(--vesta-primary);
  color: var(--vesta-primary);
}
.v-contact-btn:focus-visible {
  outline: var(--focus-outline, 2px solid var(--vesta-primary));
  outline-offset: 2px;
}

.tk-comment,
.v-comment {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px dashed var(--vesta-border-subtle);
}

.tk-comment-body,
.v-comment-body {
  margin: 4px 0 0;
  line-height: 1.55;
  white-space: pre-wrap;
}

.tk-comment-box,
.v-comment-box {
  margin-top: 12px;
  border: 1px solid var(--vesta-border);
  border-radius: 10px;
  padding: 8px;
}
.tk-comment-box input,
.v-comment-box input {
  width: 100%;
  border: 0;
  outline: 0;
  padding: 8px 4px;
  font-size: 13px;
  font-family: inherit;
}

.tk-comment-bar,
.v-comment-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 6px;
  border-top: 1px solid var(--vesta-border-subtle);
}

.tk-vis,
.v-comment-vis {
  font-size: 11.5px;
  color: var(--vesta-text-secondary);
  display: flex;
  align-items: center;
  gap: 4px;
}

.v-comment-content {
  flex: 1;
  min-width: 0;
}

.v-comment-header {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}

.v-comment-author {
  font-size: 13px;
  font-weight: 600;
}

.v-comment-role {
  font-size: 11px;
  color: var(--vesta-text-secondary);
}

.v-comment-time {
  font-size: 11px;
  color: var(--vesta-text-muted);
  flex-shrink: 0;
}

.v-comment-actions {
  margin-top: 6px;
}

.v-comment-textarea {
  width: 100%;
  border: 0;
  outline: 0;
  padding: 8px 4px;
  font-size: 13px;
  font-family: inherit;
  resize: vertical;
  min-height: 72px;
  background: transparent;
  color: inherit;
}
.v-comment-textarea::placeholder {
  color: var(--vesta-text-muted);
}

.v-comment-list {
  display: flex;
  flex-direction: column;
}

.v-comment-list-head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--vesta-border-subtle);
  margin-bottom: 4px;
}

.v-comment-list-title {
  font-size: 13px;
  font-weight: 600;
}

.tk-files,
.v-file-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
@media (max-width: 1023.98px) {
  .tk-files,
  .v-file-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 767.98px) {
  .tk-files,
  .v-file-grid {
    grid-template-columns: 1fr;
  }
}

.tk-file,
.v-file-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--vesta-border-subtle);
  border-radius: 10px;
  background: var(--vesta-bg-card);
}

.tk-file-icon,
.v-file-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-secondary);
  flex-shrink: 0;
}
.tk-file-icon.image,
.v-file-icon.image {
  background: #EFF6FF;
  color: #1D4ED8;
}
[data-theme=dark] .tk-file-icon.image,
[data-theme=dark] .v-file-icon.image {
  background: rgba(59, 130, 246, 0.18);
  color: #93C5FD;
}
.tk-file-icon.pdf,
.v-file-icon.pdf {
  background: #FEF2F2;
  color: #DC2626;
}
[data-theme=dark] .tk-file-icon.pdf,
[data-theme=dark] .v-file-icon.pdf {
  background: rgba(239, 68, 68, 0.18);
  color: #FCA5A5;
}
.tk-file-icon.text,
.v-file-icon.text {
  background: #F0FDF4;
  color: #15803D;
}
[data-theme=dark] .tk-file-icon.text,
[data-theme=dark] .v-file-icon.text {
  background: rgba(34, 197, 94, 0.18);
  color: #86EFAC;
}

.v-file-meta {
  flex: 1;
  min-width: 0;
}

.v-file-name {
  display: block;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.v-dropzone {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 24px 16px;
  border: 2px dashed var(--vesta-border);
  border-radius: 12px;
  cursor: pointer;
  text-align: center;
  color: var(--vesta-text-secondary);
  margin-top: 8px;
  transition: border-color var(--motion-fast), background var(--motion-fast), color var(--motion-fast);
}
.v-dropzone:hover {
  border-color: var(--vesta-primary);
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary);
}

.v-dropzone-text {
  font-size: 13px;
  font-weight: 500;
}

.v-dropzone-hint {
  font-size: 11px;
}

.tk-act,
.v-history-act {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px dashed var(--vesta-border-subtle);
}
.tk-act:last-child,
.v-history-act:last-child {
  border-bottom: 0;
}

.tk-act-pulse,
.v-history-pulse {
  width: 10px;
  height: 10px;
  border-radius: 99px;
  background: #F59E0B;
  box-shadow: 0 0 0 4px #FFFBEB;
  animation: pulseSeg 1.4s ease-in-out infinite;
}
[data-theme=dark] .tk-act-pulse,
[data-theme=dark] .v-history-pulse {
  box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.18);
}

.tk-act-icon,
.v-history-act-icon {
  width: 24px;
  flex-shrink: 0;
  display: grid;
  place-items: center;
}

.tk-act-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
}

.tk-act-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
}
.tk-act-actions:empty {
  display: none;
  margin-top: 0;
}

.tk-act-internal-notes {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-top: 8px;
  padding: 8px 10px;
  border-left: 3px solid var(--vesta-warning, #d97706);
  border-radius: 6px;
  background: var(--vesta-warning-subtle, rgba(217, 119, 6, 0.08));
}
.tk-act-internal-notes .tk-act-internal-notes-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--vesta-warning, #b45309);
}
.tk-act-internal-notes .tk-act-internal-notes-text {
  font-size: 13px;
  color: var(--vesta-text);
  white-space: pre-wrap;
}

.tk-act-materials {
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px dashed var(--vesta-border, #e3e7ec);
}
.tk-act-materials .tk-act-materials-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.tk-act-materials .tk-act-materials-title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--vesta-muted, #8a94a2);
}
.tk-act-materials .tk-act-materials-list {
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
}
.tk-act-materials .tk-act-materials-list li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 2px 0;
  font-size: 13px;
}
.tk-act-materials .tk-act-materials-list .tk-mat-qty {
  min-width: 60px;
  color: var(--vesta-muted, #55606d);
}
.tk-act-materials .tk-act-materials-list .tk-mat-desc {
  flex: 1 1 auto;
  min-width: 0;
}
.tk-act-materials .tk-act-material-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}
.tk-act-materials .tk-act-material-form .tk-mat-picker {
  flex: 1 1 220px;
  min-width: 180px;
}

.tk-timeline,
.v-history-timeline {
  position: relative;
  padding-left: 18px;
}
.tk-timeline::before,
.v-history-timeline::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 6px;
  bottom: 6px;
  width: 1px;
  background: var(--vesta-border);
}

.tk-tl-item,
.v-history-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 6px 0;
  position: relative;
}

.tk-tl-dot,
.v-history-dot {
  position: absolute;
  left: -18px;
  top: 8px;
  width: 14px;
  height: 14px;
  border-radius: 99px;
  background: var(--vesta-bg-card);
  border: 2px solid var(--vesta-primary);
  display: grid;
  place-items: center;
  color: var(--vesta-primary);
}
[data-theme=dark] .tk-tl-dot,
[data-theme=dark] .v-history-dot {
  background: var(--vesta-bg-card);
}

.tk-history-body,
.v-history-body,
.vesta-timeline {
  padding: 4px 20px 16px;
}

.tk-section-body,
.v-section-body {
  padding: 0 16px 16px;
}

.v-history-content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.v-history-main {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
  align-items: baseline;
}

.v-history-actor {
  font-size: 12px;
  font-weight: 600;
  color: var(--vesta-text-primary);
}

.v-history-desc {
  font-size: 12px;
  color: var(--vesta-text-secondary);
}

.v-history-diff {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: var(--vesta-text-muted);
}

.v-history-from {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 120px;
  font-style: italic;
}

.v-history-to {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 120px;
  font-weight: 500;
  color: var(--vesta-text-secondary);
}

.v-history-time {
  font-size: 10px;
  color: var(--vesta-text-muted);
}

.v-history-filters {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}

.v-history-chip {
  font-size: 11px;
  font-weight: 500;
  padding: 3px 10px;
  border-radius: 999px;
  border: 1px solid var(--vesta-border);
  background: transparent;
  color: var(--vesta-text-secondary);
  cursor: pointer;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
}
.v-history-chip:hover {
  background: var(--vesta-bg-hover);
  border-color: var(--vesta-primary);
  color: var(--vesta-primary);
}
.v-history-chip.is-active {
  background: var(--vesta-primary-subtle);
  border-color: var(--vesta-primary);
  color: var(--vesta-primary);
  font-weight: 600;
}

.v-history-toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--vesta-border-subtle);
  margin-bottom: 8px;
}

.v-history-export {
  margin-left: auto;
}

.tk-rel-group,
.v-relation-group {
  margin-bottom: 10px;
}

.tk-rel-group-head,
.v-relation-group-head {
  font-size: var(--vesta-fs-2xs);
  font-weight: var(--vesta-fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--vesta-tracking-wider);
  color: var(--vesta-text-muted);
  display: flex;
  align-items: center;
  gap: 5px;
  display: inline-flex;
  padding: 0 0 6px;
}

.tk-rel-item,
.v-relation-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 0;
  border-bottom: 1px dashed var(--vesta-border-subtle);
}
.tk-rel-item:last-child,
.v-relation-item:last-child {
  border-bottom: 0;
}

.tk-rel-id,
.v-relation-id {
  flex-shrink: 0;
}

.tk-rel-link,
.v-relation-link {
  flex: 1;
  min-width: 0;
  font-size: 13px;
  font-weight: 500;
  color: var(--vesta-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-decoration: none;
}
.tk-rel-link:hover,
.v-relation-link:hover {
  color: var(--vesta-primary);
  text-decoration: underline;
}

.v-relation-list-head {
  display: flex;
  align-items: center;
  gap: 6px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--vesta-border-subtle);
  margin-bottom: 6px;
}

.v-relation-ext {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 5px;
  color: var(--vesta-text-muted);
  transition: color 0.12s, background 0.12s;
  flex-shrink: 0;
}
.v-relation-ext:hover {
  color: var(--vesta-primary);
  background: var(--vesta-primary-subtle);
}

.tk-rel-group-head.tone-parent {
  color: var(--vesta-primary);
}
.tk-rel-group-head.tone-block {
  color: var(--vesta-danger);
}
.tk-rel-group-head.tone-dup {
  color: #B45309;
}
.tk-rel-group-head.tone-related {
  color: var(--vesta-success);
}

.tk-check,
.v-checklist-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
}

.tk-check-box,
.v-checklist-box {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  border: 1.5px solid var(--vesta-border-input);
  display: grid;
  place-items: center;
  color: white;
  flex-shrink: 0;
  cursor: pointer;
  background: none;
  padding: 0;
  transition: background var(--motion-fast), border-color var(--motion-fast);
}
.tk-check-box.done,
.v-checklist-box.done {
  background: var(--vesta-success);
  border-color: var(--vesta-success);
}

.v-checklist-text {
  font-size: 13px;
  flex: 1;
  transition: color var(--motion-fast), text-decoration var(--motion-fast);
}

.v-checklist-item.is-done .v-checklist-text {
  text-decoration: line-through;
  color: var(--vesta-text-muted);
}

.v-checklist-meta {
  font-size: 11px;
  flex-shrink: 0;
}

.v-chk-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.v-chk-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 2px;
}

.v-chk-title {
  font-size: 13px;
  font-weight: 600;
}

.v-chk-list {
  display: flex;
  flex-direction: column;
}

.v-chk-add {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  padding: 6px 8px;
  border: 1px dashed var(--vesta-border);
  border-radius: 8px;
  background: none;
  font-size: 12px;
  color: var(--vesta-text-secondary);
  cursor: pointer;
  margin-top: 4px;
  transition: border-color var(--motion-fast), color var(--motion-fast);
}
.v-chk-add:hover {
  border-color: var(--vesta-primary);
  color: var(--vesta-primary);
}

.v-checklist-del {
  margin-left: auto;
  width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--vesta-text-muted);
  cursor: pointer;
}
.v-checklist-del:hover {
  background: var(--vesta-danger-subtle);
  color: var(--vesta-danger);
}

.v-activity-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px dashed var(--vesta-border-subtle);
}
.v-activity-item:last-child {
  border-bottom: none;
}

.v-activity-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 34px;
  flex-shrink: 0;
  text-align: center;
}

.v-activity-dow {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--vesta-text-muted);
  line-height: 1;
}

.v-activity-day {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--vesta-text);
}

.v-activity-body {
  flex: 1;
  min-width: 0;
}

.v-activity-desc {
  display: block;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.v-activity-meta {
  display: block;
  font-size: 11px;
  color: var(--vesta-text-muted);
}

.v-activity-hours {
  font-size: 13px;
  font-weight: 700;
  flex-shrink: 0;
  color: var(--vesta-text-secondary);
}

.v-cons-tile {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 10px 14px;
  border-radius: var(--vesta-radius);
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
}
.v-cons-tile-label {
  font-size: var(--vesta-fs-2xs);
  font-weight: var(--vesta-fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--vesta-tracking-wider);
  color: var(--vesta-text-muted);
  color: var(--vesta-text-muted);
}
.v-cons-tile-value {
  font-size: 17px;
  font-weight: 700;
  color: var(--_cons-color, var(--vesta-text-primary));
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}
.v-cons-tile-sub {
  font-size: 11px;
  color: var(--vesta-text-muted);
}
.v-cons-tile--positive {
  --_cons-color: var(--vesta-success);
}
.v-cons-tile--negative {
  --_cons-color: var(--vesta-danger);
}
.v-cons-tile--warning {
  --_cons-color: var(--vesta-warning);
}

.v-ai-box {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px 16px;
  border-radius: var(--vesta-radius-lg);
  background: var(--vesta-primary-subtle);
  border: 1px solid rgba(var(--vesta-primary-rgb), 0.2);
}
[data-theme=dark] .v-ai-box {
  background: rgba(var(--vesta-primary-rgb), 0.12);
  border-color: rgba(var(--vesta-primary-rgb), 0.25);
}

.v-ai-header {
  display: flex;
  align-items: center;
  gap: 8px;
}

.v-ai-brand {
  font-size: 11px;
  font-weight: 700;
  color: var(--vesta-primary);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.v-ai-body {
  font-size: 13px;
  color: var(--vesta-text-primary);
  line-height: 1.55;
  margin: 0;
}

.v-ai-cta {
  align-self: flex-start;
  font-size: 12px;
  font-weight: 500;
  padding: 5px 12px;
  border-radius: 6px;
  border: 1px solid var(--vesta-primary);
  color: var(--vesta-primary);
  background: transparent;
  cursor: pointer;
  transition: background 0.12s, color 0.12s;
}
.v-ai-cta:hover {
  background: var(--vesta-primary);
  color: #fff;
}

.v-aggregate-bar {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.v-aggregate-bar-header {
  display: flex;
  align-items: center;
  gap: 6px;
}
.v-aggregate-bar-label {
  flex: 1;
  font-size: 12px;
  font-weight: 500;
  color: var(--vesta-text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v-aggregate-bar-counter {
  font-size: 11px;
  color: var(--vesta-text-muted);
}
.v-aggregate-bar-pct {
  font-size: 12px;
  font-weight: 600;
  color: var(--_ag-color, var(--vesta-primary));
  min-width: 34px;
  text-align: right;
}
.v-aggregate-bar-track {
  height: 6px;
  border-radius: 999px;
  background: var(--vesta-border);
  overflow: hidden;
}
.v-aggregate-bar-fill {
  height: 100%;
  border-radius: 999px;
  width: var(--_ag-pct, 0%);
  background: var(--_ag-color, var(--vesta-primary));
  transition: width 0.25s ease;
}

@keyframes vWizardFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes vWizardScaleIn {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}
.v-wizard-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.4);
  backdrop-filter: blur(4px);
  z-index: 1060;
  animation: vWizardFadeIn 0.15s ease;
}

.v-wizard {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1061;
  width: min(600px, 94vw);
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  gap: 0;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 16px;
  box-shadow: var(--vesta-shadow-premium);
  animation: vWizardScaleIn 0.18s cubic-bezier(0.2, 0.8, 0.2, 1.05);
}
[data-theme=dark] .v-wizard {
  background: var(--vesta-bg-card);
  border-color: var(--vesta-border);
}
@media (max-width: 767.98px) {
  .v-wizard {
    width: 96vw;
    max-height: 88vh;
  }
}

.v-wizard-head {
  padding: 18px 20px 12px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  border-bottom: 1px solid var(--vesta-border-subtle);
}

.v-wizard-body {
  padding: 12px 8px;
  overflow-y: auto;
  overflow-x: visible;
  flex: 1;
}

.v-wizard-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  cursor: pointer;
  border-radius: 8px;
}
.v-wizard-row:hover {
  background: var(--vesta-bg-hover);
}

.v-wizard-foot {
  padding: 14px 20px;
  border-top: 1px solid var(--vesta-border-subtle);
  display: flex;
  align-items: center;
  gap: 8px;
}
[data-theme=dark] .v-wizard-foot {
  background: var(--vesta-bg-sidebar-2);
}

.v-wizard-switch {
  width: 36px;
  height: 20px;
  border-radius: 99px;
  background: var(--vesta-bg-active);
  position: relative;
  cursor: pointer;
  transition: background 0.15s;
  flex: none;
}
.v-wizard-switch.on {
  background: var(--vesta-primary);
}
[data-theme=dark] .v-wizard-switch {
  background: var(--vesta-bg-active);
}

.v-wizard-switch-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  border-radius: 99px;
  background: white;
  transition: transform 0.18s cubic-bezier(0.2, 0.8, 0.2, 1.05);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.v-wizard-switch.on .v-wizard-switch-thumb {
  transform: translateX(16px);
}

.v-wizard-titlebar {
  padding: 16px 20px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.v-wizard-brand-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--vesta-primary-subtle);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--vesta-primary);
  flex-shrink: 0;
}

.v-wizard-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--vesta-text-primary);
  margin: 0;
  flex: 1;
  min-width: 0;
}

.v-wizard-close {
  width: 32px;
  height: 32px;
  border-radius: var(--vesta-radius);
  border: 1px solid var(--vesta-border);
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--vesta-text-muted);
  flex-shrink: 0;
  cursor: pointer;
  transition: background var(--motion-fast), color var(--motion-fast);
}
.v-wizard-close:hover {
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-primary);
}
.v-wizard-close:focus-visible {
  outline: var(--focus-outline);
  outline-offset: 2px;
}

.v-wizard-stepper {
  display: flex;
  align-items: center;
  padding: 20px 20px;
  border-top: 1px solid var(--vesta-border-subtle);
  border-bottom: 1px solid var(--vesta-border-subtle);
  gap: 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.v-wizard-stepper::-webkit-scrollbar {
  display: none;
}

.v-wizard-step {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: none;
}

.v-wizard-step-bubble {
  width: 26px;
  height: 26px;
  border-radius: var(--vesta-radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 2px solid var(--vesta-border);
  color: var(--vesta-text-muted);
  background: transparent;
  transition: background var(--motion-base), border-color var(--motion-base), color var(--motion-base);
}

.v-wizard-step--done .v-wizard-step-bubble {
  background: var(--vesta-success);
  border-color: var(--vesta-success);
  color: white;
}

.v-wizard-step--current .v-wizard-step-bubble {
  background: var(--vesta-primary);
  border-color: var(--vesta-primary);
  color: white;
}

.v-wizard-step-num {
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}

.v-wizard-step-label {
  font-size: 12px;
  font-weight: 500;
  color: var(--vesta-text-muted);
  white-space: nowrap;
}

.v-wizard-stepper--compact .v-wizard-step:not(.v-wizard-step--current) .v-wizard-step-label {
  display: none;
}
.v-wizard-stepper--compact .v-wizard-step-divider {
  width: 20px;
  margin: 0 4px;
}

.v-wizard-step--current .v-wizard-step-label {
  color: var(--vesta-text-primary);
  font-weight: 600;
}

.v-wizard-step--done .v-wizard-step-label {
  color: var(--vesta-text-secondary);
}

.v-wizard-step-divider {
  height: 1px;
  width: 28px;
  flex-shrink: 0;
  background: var(--vesta-border);
  margin: 0 6px;
}

.v-wizard-step--done + .v-wizard-step-divider {
  background: var(--vesta-success);
}

.v-wizard-step-panel {
  padding: 4px 0;
}

.v-wizard-section {
  padding: 0 12px;
}
.v-wizard-section + .v-wizard-section {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--vesta-border-subtle);
}

.v-wizard-section-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--vesta-text-primary);
  margin: 0 0 12px;
}

.v-wizard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px;
}

.v-wizard-grid-full {
  grid-column: 1/-1;
}

@media (max-width: 575.98px) {
  .v-wizard-grid {
    grid-template-columns: 1fr;
  }
}
.vf-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.vf-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.vf-label .vf-required {
  color: var(--vesta-danger);
}
.vf-label .vf-optional {
  color: var(--vesta-text-muted);
  font-weight: 500;
  margin-left: 2px;
}

.vf-help {
  font-size: 11.5px;
  color: var(--vesta-text-muted);
  line-height: 1.4;
}

.vf-error {
  font-size: 11.5px;
  color: var(--vesta-danger);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-weight: 500;
}
.vf-error .lucide {
  width: 12px;
  height: 12px;
}

.vf-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}

.vf-stack {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.vf-tile-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
}

.vf-tile {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 14px;
  background: var(--vesta-bg-body);
  border: 1px solid var(--vesta-border-subtle);
  border-radius: 10px;
  min-width: 0;
}
.vf-tile .vf-tile-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--vesta-text-muted);
}
.vf-tile .vf-tile-value {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--vesta-text-primary);
  font-variant-numeric: tabular-nums;
}
.vf-tile .vf-tile-sub {
  font-size: 11.5px;
  color: var(--vesta-text-secondary);
}

.vf-input,
.vf-textarea {
  width: 100%;
  font-size: 13px;
  line-height: 1.4;
  background: var(--vesta-bg-card);
  color: var(--vesta-text-primary);
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius);
  font-family: inherit;
  transition: border-color 0.12s, box-shadow 0.12s, background 0.12s;
  min-width: 0;
  padding: 8px 12px;
}
.vf-input:hover,
.vf-textarea:hover {
  border-color: var(--vesta-border-input);
}
.vf-input:focus, .vf-input:focus-within,
.vf-textarea:focus,
.vf-textarea:focus-within {
  outline: none;
  border-color: var(--vesta-primary);
  box-shadow: var(--focus-ring);
}
.vf-input:disabled, .vf-input.disabled,
.vf-textarea:disabled,
.vf-textarea.disabled {
  background-color: var(--vesta-bg-body);
  color: var(--vesta-text-muted);
  cursor: not-allowed;
}
.vf-input.vf-invalid,
.vf-textarea.vf-invalid {
  border-color: var(--vesta-danger);
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12);
}
.vf-input::placeholder,
.vf-textarea::placeholder {
  color: var(--vesta-text-muted);
}
.vf-input[readonly],
.vf-textarea[readonly] {
  background: var(--vesta-bg-body);
}

.vf-textarea {
  min-height: 80px;
  resize: vertical;
}

.vf-input-wrap {
  position: relative;
  display: flex;
  align-items: stretch;
}
.vf-input-wrap .vf-input {
  padding-left: 36px;
}
.vf-input-wrap.no-icon .vf-input {
  padding-left: 12px;
}
.vf-input-wrap.with-suffix .vf-input {
  padding-right: 36px;
}
.vf-input-wrap.sm .vf-input {
  padding-left: 30px;
}
.vf-input-wrap.sm .vf-input-icon {
  left: 3px;
}

.vf-input-icon {
  position: absolute;
  left: 6px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--vesta-text-muted);
  pointer-events: none;
  display: flex;
}

.vf-input-suffix {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--vesta-text-muted);
  font-size: 12px;
  pointer-events: none;
  font-family: var(--vesta-font-mono);
}

.vf-input-clear {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  padding: 4px;
  color: var(--vesta-text-muted);
  cursor: pointer;
  border-radius: 4px;
  display: flex;
}
.vf-input-clear:hover {
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-secondary);
}

.vf-input.sm, .vf-textarea.sm {
  padding: 5px 10px;
  font-size: 12px;
  border-radius: var(--vesta-radius-sm);
}

.vf-input.lg, .vf-textarea.lg {
  padding: 11px 14px;
  font-size: 14px;
}

.vf-richtext-editor {
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-md);
  background: var(--vesta-bg-surface);
  overflow: hidden;
}
.vf-richtext-editor.vf-invalid {
  border-color: var(--vesta-danger);
}
.vf-richtext-editor.vf-disabled {
  opacity: 0.6;
}
.vf-richtext-editor .vf-rt-toolbar {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 4px 6px;
  border-bottom: 1px solid var(--vesta-border);
  background: var(--vesta-bg-body);
}
.vf-richtext-editor .vf-rt-toolbar button {
  min-width: 28px;
  height: 26px;
  padding: 0 6px;
  border: 1px solid transparent;
  border-radius: var(--vesta-radius-sm);
  background: transparent;
  color: var(--vesta-text-primary);
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
}
.vf-richtext-editor .vf-rt-toolbar button:hover:not(:disabled) {
  background: var(--vesta-bg-hover);
  border-color: var(--vesta-border);
}
.vf-richtext-editor .vf-rt-toolbar button:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.vf-richtext-editor .vf-rt-toolbar .vf-rt-sep {
  width: 1px;
  height: 18px;
  margin: 0 4px;
  background: var(--vesta-border);
}
.vf-richtext-editor .vf-rt-area {
  min-height: 90px;
  max-height: 320px;
  overflow-y: auto;
  padding: 8px 12px;
  font-size: 13px;
  color: var(--vesta-text-primary);
  outline: none;
}
.vf-richtext-editor .vf-rt-area:empty::before {
  content: attr(data-placeholder);
  color: var(--vesta-text-muted);
}
.vf-richtext-editor .vf-rt-area p {
  margin: 0 0 0.5em;
}
.vf-richtext-editor .vf-rt-area ul, .vf-richtext-editor .vf-rt-area ol {
  margin: 0 0 0.5em 1.25em;
}
.vf-richtext-editor .vf-rt-area a {
  color: var(--vesta-primary);
}

.vf-richtext {
  font-size: 13px;
  color: var(--vesta-text-primary);
  white-space: pre-wrap;
  word-break: break-word;
}
.vf-richtext p {
  margin: 0 0 0.5em;
  white-space: normal;
}
.vf-richtext ul, .vf-richtext ol {
  margin: 0 0 0.5em 1.25em;
  white-space: normal;
}
.vf-richtext a {
  color: var(--vesta-primary);
}
.vf-richtext.vf-richtext-empty {
  color: var(--vesta-text-muted);
  font-style: italic;
}

.vf-check, .vf-radio {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  cursor: pointer;
  user-select: none;
  font-size: 13px;
  color: var(--vesta-text-primary);
  padding: 4px 0;
}
.vf-check input, .vf-radio input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.vf-check small, .vf-radio small {
  display: block;
  color: var(--vesta-text-muted);
  font-size: 11.5px;
}
.vf-check.disabled, .vf-radio.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.vf-check-box, .vf-radio-dot {
  display: inline-block;
  width: 18px;
  height: 18px;
  border: 1.5px solid var(--vesta-border-input);
  background: var(--vesta-bg-card);
  flex: 0 0 auto;
  transition: all 0.15s;
  position: relative;
}

.vf-check-box {
  border-radius: 5px;
}

.vf-radio-dot {
  border-radius: 50%;
}

.vf-check:hover .vf-check-box,
.vf-radio:hover .vf-radio-dot {
  border-color: var(--vesta-primary);
}

.vf-check input:checked + .vf-check-box {
  background: var(--vesta-primary);
  border-color: var(--vesta-primary);
}
.vf-check input:checked + .vf-check-box::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.vf-check input:indeterminate + .vf-check-box,
.vf-check.is-indeterminate .vf-check-box {
  background: var(--vesta-primary);
  border-color: var(--vesta-primary);
}
.vf-check input:indeterminate + .vf-check-box::after,
.vf-check.is-indeterminate .vf-check-box::after {
  content: "";
  position: absolute;
  left: 3px;
  right: 3px;
  top: 7px;
  height: 2px;
  background: white;
  border-radius: 1px;
}

.vf-radio input:checked + .vf-radio-dot {
  border-color: var(--vesta-primary);
}
.vf-radio input:checked + .vf-radio-dot::after {
  content: "";
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: var(--vesta-primary);
}

.vf-check input:focus-visible + .vf-check-box,
.vf-radio input:focus-visible + .vf-radio-dot {
  box-shadow: 0 0 0 3px rgba(var(--vesta-primary-rgb), 0.25);
}

.vf-check-label, .vf-radio-label {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.vf-radio-card {
  padding: 10px 14px;
  border: 1px solid var(--vesta-border);
  border-radius: 8px;
  flex: 1 1 0;
  transition: all 0.15s;
  background: var(--vesta-bg-card);
}
.vf-radio-card:has(input:checked) {
  border-color: var(--vesta-primary);
  background: var(--vesta-primary-subtle);
}
.vf-radio-card:hover:not(.disabled) {
  border-color: var(--vesta-border-input);
}

.vf-radio-card-group {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.vf-switch {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
  font-size: 13px;
  padding: 4px 0;
}
.vf-switch input {
  position: absolute;
  opacity: 0;
}
.vf-switch.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.vf-switch-track {
  width: 36px;
  height: 20px;
  border-radius: 99px;
  background: var(--vesta-bg-hover);
  position: relative;
  transition: background 0.2s;
  flex: 0 0 auto;
}
.vf-switch-track::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: white;
  transition: left 0.2s;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.vf-switch input:checked + .vf-switch-track {
  background: var(--vesta-primary);
}
.vf-switch input:checked + .vf-switch-track::after {
  left: 18px;
}

.vf-switch input:focus-visible + .vf-switch-track {
  box-shadow: 0 0 0 3px rgba(var(--vesta-primary-rgb), 0.2);
}

.vf-select {
  width: 100%;
  font-size: 13px;
  line-height: 1.4;
  background: var(--vesta-bg-card);
  color: var(--vesta-text-primary);
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius);
  font-family: inherit;
  transition: border-color 0.12s, box-shadow 0.12s, background 0.12s;
  min-width: 0;
  padding: 8px 36px 8px 12px;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
}
.vf-select:hover {
  border-color: var(--vesta-border-input);
}
.vf-select:focus, .vf-select:focus-within {
  outline: none;
  border-color: var(--vesta-primary);
  box-shadow: var(--focus-ring);
}
.vf-select:disabled, .vf-select.disabled {
  background-color: var(--vesta-bg-body);
  color: var(--vesta-text-muted);
  cursor: not-allowed;
}
.vf-select.vf-invalid {
  border-color: var(--vesta-danger);
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12);
}
.vf-select.sm {
  padding: 5px 30px 5px 10px;
  font-size: 12px;
  border-radius: var(--vesta-radius-sm);
  background-position: right 9px center;
}
.vf-select.vf-inline {
  width: auto;
}

.vf-select option:checked {
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary);
  font-weight: 600;
}

.vf-select optgroup {
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--vesta-text-muted);
}

.vf-combo {
  position: relative;
}

.vf-combo-input {
  width: 100%;
  font-size: 13px;
  line-height: 1.4;
  background: var(--vesta-bg-card);
  color: var(--vesta-text-primary);
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius);
  font-family: inherit;
  transition: border-color 0.12s, box-shadow 0.12s, background 0.12s;
  min-width: 0;
  padding: 8px 36px 8px 12px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.vf-combo-input:hover {
  border-color: var(--vesta-border-input);
}
.vf-combo-input:focus, .vf-combo-input:focus-within {
  outline: none;
  border-color: var(--vesta-primary);
  box-shadow: var(--focus-ring);
}
.vf-combo-input:disabled, .vf-combo-input.disabled {
  background-color: var(--vesta-bg-body);
  color: var(--vesta-text-muted);
  cursor: not-allowed;
}
.vf-combo-input.vf-invalid {
  border-color: var(--vesta-danger);
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12);
}

.vf-combo.has-clear .vf-combo-input {
  padding-right: 60px;
}

.vf-combo-search-icon {
  display: flex;
  flex: none;
  color: var(--vesta-text-muted);
}
.vf-combo-search-icon .lucide {
  width: 14px;
  height: 14px;
}

.vf-combo-toggle {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  padding: 6px;
  color: var(--vesta-text-muted);
  cursor: pointer;
  border-radius: 4px;
  display: flex;
}
.vf-combo-toggle:hover {
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-secondary);
}
.vf-combo-toggle .lucide {
  width: 14px;
  height: 14px;
}

.vf-combo-menu {
  position: absolute;
  left: 0;
  top: calc(100% + 4px);
  z-index: 100;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 8px;
  box-shadow: var(--vesta-shadow-lg);
  width: max-content;
  max-width: min(360px, 90vw);
  max-height: 320px;
  overflow-y: auto;
  padding: 4px;
  animation: vfMenuIn 0.12s ease-out;
}

@keyframes vfMenuIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.vf-combo-empty {
  padding: 16px;
  text-align: center;
  color: var(--vesta-text-muted);
  font-size: 12px;
}
.vf-combo-empty .lucide {
  width: 22px;
  height: 22px;
  margin-bottom: 4px;
}

.vf-combo-section {
  padding: 6px 10px 4px;
  font-size: 10px;
  font-weight: 700;
  color: var(--vesta-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  display: flex;
  justify-content: space-between;
}

.vf-combo-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 10px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 13px;
  color: var(--vesta-text-primary);
  transition: background 0.1s;
  line-height: 1.3;
}
.vf-combo-option:hover, .vf-combo-option.active {
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary);
}
.vf-combo-option.disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.vf-combo-option mark {
  background: rgba(252, 211, 77, 0.55);
  color: inherit;
  padding: 0 2px;
  border-radius: 3px;
  font-weight: 700;
}
.vf-combo-option .vf-combo-tag {
  margin-left: auto;
  font-size: 10.5px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 99px;
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-secondary);
}
.vf-combo-option.active .vf-combo-tag {
  background: rgba(99, 102, 241, 0.18);
  color: var(--vesta-primary);
}
.vf-combo-option.active .vf-combo-text .vf-combo-sub {
  color: rgba(99, 102, 241, 0.85);
}

.vf-combo-icon {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: var(--vesta-bg-body);
  color: var(--vesta-text-secondary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.vf-combo-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
}
.vf-combo-text .vf-combo-title {
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.vf-combo-text .vf-combo-sub {
  font-size: 11.5px;
  color: var(--vesta-text-muted);
}

.vf-combo-menu .vf-combo-text {
  flex: 0 1 auto;
}

.vf-combo.multi .vf-combo-input {
  padding-left: 8px;
  min-height: 38px;
  height: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  padding-top: 4px;
  padding-bottom: 4px;
}

.vf-combo-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 4px 2px 8px;
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary);
  border-radius: 99px;
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.4;
}
.vf-combo-chip button {
  border: 0;
  background: transparent;
  padding: 2px;
  cursor: pointer;
  color: inherit;
  display: inline-flex;
  border-radius: 99px;
}
.vf-combo-chip button:hover {
  background: rgba(99, 102, 241, 0.15);
}

.vf-combo-filters {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  padding: 6px 8px 4px;
  border-bottom: 1px solid var(--vesta-border-subtle);
  margin-bottom: 4px;
}

.vf-combo-filter {
  padding: 3px 9px;
  border: 1px solid var(--vesta-border-subtle);
  border-radius: 99px;
  background: transparent;
  color: var(--vesta-text-muted);
  cursor: pointer;
  font-size: 11px;
  font-weight: 600;
  font-family: inherit;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: all 0.12s;
}
.vf-combo-filter:hover {
  color: var(--vesta-text-secondary);
}
.vf-combo-filter.active {
  background: var(--vesta-primary-subtle);
  border-color: var(--vesta-primary);
  color: var(--vesta-primary);
}

.vf-combo-foot {
  padding: 6px 10px;
  border-top: 1px solid var(--vesta-border-subtle);
  margin-top: 4px;
  font-size: 10.5px;
  color: var(--vesta-text-muted);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.vf-combo-foot kbd {
  font-family: var(--vesta-font-mono);
  font-size: 10px;
  padding: 1px 5px;
  border: 1px solid var(--vesta-border);
  border-radius: 3px;
  background: var(--vesta-bg-card);
  color: var(--vesta-text-secondary);
}
.vf-combo-foot .vf-kbd-grp {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.vf-combo-search {
  border: 0;
  outline: none;
  background: transparent;
  flex: 1;
  width: 100%;
  min-width: 0;
  padding: 0;
  font-size: 13px;
  color: inherit;
  font-family: inherit;
  text-overflow: ellipsis;
}

.vf-combo.multi .vf-combo-search {
  padding: 2px 4px;
  min-width: 80px;
}

.vf-combo-check {
  margin-left: 6px;
  color: var(--vesta-primary);
}

.vf-combo-empty-text {
  margin-top: 6px;
}

.vf-combo-empty-action {
  margin-top: 8px;
}

.vf-combo.vf-inline {
  display: inline-block;
  width: auto;
  min-width: 120px;
  max-width: 100%;
}
.vf-combo.vf-inline .vf-combo-search {
  width: auto;
}

.vf-combo.sm .vf-combo-input {
  padding: 5px 28px 5px 10px;
  font-size: 12px;
  line-height: 1.3;
  border-radius: var(--vesta-radius-sm);
}
.vf-combo.sm .vf-combo-toggle {
  padding: 4px;
}
.vf-combo.sm .vf-combo-toggle .lucide {
  width: 12px;
  height: 12px;
}
.vf-combo.sm .vf-combo-search-icon .lucide {
  width: 12px;
  height: 12px;
}
.vf-combo.sm.has-clear .vf-combo-input {
  padding-right: 50px;
}
.vf-combo.sm.vf-inline {
  min-width: 0;
}

.vf-combo.vf-invalid .vf-combo-input {
  border-color: var(--vesta-danger);
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12);
}

.vf-combo-clear {
  position: absolute;
  right: 28px;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  padding: 6px;
  color: var(--vesta-text-muted);
  cursor: pointer;
  border-radius: 4px;
  display: flex;
}
.vf-combo-clear:hover {
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-secondary);
}
.vf-combo-clear .lucide {
  width: 14px;
  height: 14px;
}

.vf-combo-toggle.with-clear {
  right: 4px;
}

.vf-hidden-src {
  display: none;
}

.vf-radio-card .vf-radio-label {
  flex: 1;
}

.vf-radio-card-icon {
  margin-right: 6px;
  vertical-align: -2px;
}

[data-theme=dark] .vf-input,
[data-theme=dark] .vf-textarea,
[data-theme=dark] .vf-combo-input,
[data-theme=dark] .vf-check-box,
[data-theme=dark] .vf-radio-dot {
  background: var(--vesta-bg-card);
}
[data-theme=dark] .vf-select {
  background-color: var(--vesta-bg-card);
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}
[data-theme=dark] .vf-radio-card:has(input:checked) {
  background: rgba(99, 102, 241, 0.12);
}
[data-theme=dark] .vf-combo-option mark {
  background: rgba(252, 211, 77, 0.25);
  color: #FDE68A;
}

.gl-layout {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 24px;
  align-items: start;
}
@media (max-width: 880px) {
  .gl-layout {
    grid-template-columns: 1fr;
  }
}

.gl-side {
  position: sticky;
  top: 80px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  max-height: calc(100vh - 96px);
  overflow-y: auto;
}
@media (max-width: 880px) {
  .gl-side {
    display: none;
  }
}

.gl-side-group {
  font-size: var(--vesta-fs-2xs);
  font-weight: var(--vesta-fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--vesta-tracking-wider);
  color: var(--vesta-text-muted);
  margin: 12px 0 4px;
}
.gl-side-group:first-child {
  margin-top: 0;
}

.gl-side-link {
  font-size: 12.5px;
  color: var(--vesta-text-secondary);
  text-decoration: none;
  padding: 4px 8px;
  border-radius: 6px;
}
.gl-side-link:hover {
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-primary);
}

.gl-main {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 980px;
  padding-bottom: 60px;
  min-width: 0;
}

.gl-card {
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  padding: 20px;
  box-shadow: var(--vesta-shadow-sm);
  scroll-margin-top: 80px;
}

.gl-card-title {
  font-size: 15px;
  font-weight: 700;
  margin: 0 0 4px;
  letter-spacing: -0.01em;
}

.gl-sub {
  font-size: 12px;
  color: var(--vesta-text-muted);
  margin: 0 0 16px;
}

.gl-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}

.gl-stack {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.gl-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: flex-start;
}

.gl-eyebrow {
  font-size: var(--vesta-fs-2xs);
  font-weight: var(--vesta-fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--vesta-tracking-wider);
  color: var(--vesta-text-muted);
  margin: 18px 0 8px;
}

.gl-out {
  font-family: var(--vesta-font-mono);
  font-size: 11.5px;
  color: var(--vesta-text-muted);
  margin-top: 4px;
}
.gl-out.ok {
  color: var(--vesta-success);
}

.gl-actions {
  margin-top: 18px;
  display: flex;
  gap: 10px;
  align-items: center;
}

.gl-mt {
  margin-top: 14px;
}

.gl-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.gl-swatch {
  width: 88px;
}

.gl-swatch-color {
  height: 46px;
  border-radius: 8px;
  border: 1px solid var(--vesta-border);
}

.gl-swatch-name {
  font-size: 11px;
  font-weight: 600;
  margin-top: 6px;
}

.gl-swatch-val {
  font-size: 10px;
  font-family: var(--vesta-font-mono);
  color: var(--vesta-text-muted);
}

.gl-swatch-color.primary {
  background: var(--vesta-primary);
}

.gl-swatch-color.primary-subtle {
  background: var(--vesta-primary-subtle);
}

.gl-swatch-color.secondary {
  background: var(--vesta-secondary);
}

.gl-swatch-color.success {
  background: var(--vesta-success);
}

.gl-swatch-color.warning {
  background: var(--vesta-warning);
}

.gl-swatch-color.danger {
  background: var(--vesta-danger);
}

.gl-swatch-color.info {
  background: var(--vesta-info);
}

.gl-swatch-color.body {
  background: var(--vesta-bg-body);
}

.gl-swatch-color.sidebar {
  background: var(--vesta-bg-sidebar);
}

.gl-swatch-color.text {
  background: var(--vesta-text-primary);
}

.gl-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.gl-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 10px;
  border-radius: 99px;
  font-size: 11.5px;
  font-weight: 600;
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-secondary);
}
.gl-pill::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}
.gl-pill.solid {
  color: #fff;
}
.gl-pill.no-dot::before {
  display: none;
}

.gl-pill.primary {
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary-strong);
}

.gl-pill.success {
  background: rgba(34, 197, 94, 0.14);
  color: var(--vesta-success-strong);
}

.gl-pill.warning {
  background: rgba(245, 158, 11, 0.16);
  color: var(--vesta-warning-strong);
}

.gl-pill.danger {
  background: rgba(239, 68, 68, 0.14);
  color: var(--vesta-danger-strong);
}

.gl-pill.info {
  background: rgba(6, 182, 212, 0.14);
  color: var(--vesta-info-strong);
}

.gl-pill.primary.solid {
  background: var(--vesta-fill-primary);
}

.gl-pill.success.solid {
  background: var(--vesta-fill-success);
}

.gl-pill.danger.solid {
  background: var(--vesta-fill-danger);
}

.gl-minilist {
  width: 100%;
  border-collapse: collapse;
  font-size: 12.5px;
}
.gl-minilist th {
  font-size: var(--vesta-fs-xs);
  font-weight: var(--vesta-fw-bold);
  color: var(--vesta-text-muted);
  letter-spacing: var(--vesta-tracking-wide);
  text-transform: uppercase;
  text-align: left;
  padding: 8px 10px;
  border-bottom: 1px solid var(--vesta-border);
}
.gl-minilist td {
  padding: 9px 10px;
  border-bottom: 1px solid var(--vesta-border-subtle);
  color: var(--vesta-text-secondary);
}
.gl-minilist tbody tr:hover {
  background: var(--vesta-bg-hover);
}
.gl-minilist .mono {
  font-family: var(--vesta-font-mono);
  color: var(--vesta-text-primary);
}

.gl-toolbar {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

:root {
  --vesta-bp-list-rail: 1280px;
}

.v-list-page {
  display: flex;
  align-items: flex-start;
  gap: var(--space-9);
  width: 100%;
  max-width: var(--vesta-entity-page-max);
  margin: 0 auto;
  padding: 0 var(--space-10);
  position: relative;
}
.v-list-page > .v-list-page-filters,
.v-list-page > .v-list-page-main,
.v-list-page > .v-list-page-preview {
  min-width: 0;
}

.v-list-page-filters {
  flex: 0 0 var(--vesta-entity-filters-width);
  position: sticky;
  min-height: calc(100vh - var(--vesta-topbar-height));
  max-height: calc(100vh - var(--vesta-topbar-height));
  overflow-y: auto;
  background: var(--vesta-bg-card);
  box-shadow: var(--vesta-shadow-sm);
}

.v-list-page-main {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
  min-width: 0;
  padding-top: var(--space-9);
}

.v-list-page-header {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.v-list-page-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
  min-width: 0;
}

.v-list-page-preview {
  flex: 0 0 var(--vesta-entity-preview-width);
  position: sticky;
  min-height: calc(100vh - var(--vesta-topbar-height));
  max-height: calc(100vh - var(--vesta-topbar-height));
  overflow-y: auto;
  background: var(--vesta-bg-card);
  box-shadow: var(--vesta-shadow-sm);
}

.v-list-page-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.4);
  z-index: var(--z-drawer-backdrop);
  cursor: pointer;
}

.v-list-page:not(.is-filters-open) > .v-list-page-filters,
.v-list-page:not(.is-preview-open) > .v-list-page-preview {
  display: none;
}

.v-list-page.tk-list-page .v-list-page-main,
.v-list-page.pt-list-page .v-list-page-main {
  height: calc(100vh - var(--vesta-topbar-height));
  max-height: calc(100vh - var(--vesta-topbar-height));
}
.v-list-page.tk-list-page .v-list-page-body,
.v-list-page.pt-list-page .v-list-page-body {
  flex: 1 1 auto;
  min-height: 0;
}

@media (min-width: 1280px) {
  .v-list-page.is-filters-open {
    padding-left: 0;
  }
}
@media (min-width: 1540px) {
  .v-list-page.is-preview-open {
    padding-right: 0;
  }
  .v-list-page.is-preview-open .v-kpi-cards {
    display: none;
  }
}
@media (max-width: 1539.98px) {
  .v-list-page-preview {
    position: fixed;
    top: var(--vesta-topbar-height);
    right: 0;
    bottom: 0;
    width: min(var(--vesta-entity-preview-width), 90vw);
    min-height: 0;
    max-height: none;
    border-radius: 0;
    box-shadow: var(--vesta-shadow-drawer);
    transition: transform var(--motion-slow);
    z-index: var(--z-drawer);
    transform: translateX(100%);
    border-right: 0;
  }
  .v-list-page.is-preview-open > .v-list-page-preview {
    display: block;
    transform: translateX(0);
  }
  .v-list-page.is-preview-open > .v-list-page-backdrop {
    display: block;
  }
}
@media (max-width: 1279.98px) {
  .v-list-page-filters {
    position: fixed;
    top: var(--vesta-topbar-height);
    left: 0;
    bottom: 0;
    width: min(var(--vesta-entity-filters-width) + 40px, 90vw);
    min-height: 0;
    max-height: none;
    border-radius: 0;
    box-shadow: var(--vesta-shadow-drawer);
    transition: transform var(--motion-slow);
    z-index: var(--z-drawer);
    transform: translateX(-100%);
    border-left: 0;
  }
  .v-list-page.is-filters-open > .v-list-page-filters {
    display: block;
    transform: translateX(0);
  }
  .v-list-page.is-filters-open > .v-list-page-backdrop {
    display: block;
  }
  .v-list-page-filters > * {
    position: static;
    transform: none;
    width: 100%;
    max-width: none;
    height: auto;
    box-shadow: none;
  }
}
@media (max-width: 900px) {
  .v-list-page.tk-list-page .v-list-page-main,
  .v-list-page.pt-list-page .v-list-page-main {
    height: auto;
    max-height: none;
    padding-top: 0px;
  }
  .v-list-page {
    padding: var(--space-7) var(--space-7);
    gap: var(--space-7);
  }
}
@media (max-width: 600px) {
  .v-list-page {
    padding: var(--space-5) var(--space-5);
  }
  .v-list-page-filters,
  .v-list-page-preview {
    width: 90vw;
  }
}
.v-detail-page {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--vesta-entity-sidecard-width);
  gap: var(--space-9);
  align-items: start;
  width: 100%;
  max-width: var(--vesta-entity-page-max);
  margin: 0 auto;
  padding: var(--space-9) var(--space-10);
}

.v-detail-page-main {
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
  min-width: 0;
}

.v-detail-page-header {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.v-detail-page-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
  min-width: 0;
}

.v-detail-page-sidecard {
  position: sticky;
  top: var(--space-9);
  max-height: calc(100vh - var(--vesta-topbar-height) - var(--space-10));
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
  min-width: 0;
}

.v-detail-page:not(.has-sidecard) {
  grid-template-columns: minmax(0, 1fr);
}

.v-detail-page:not(.has-sidecard) > .v-detail-page-sidecard {
  display: none;
}

@media (max-width: 1280px) {
  .v-detail-page,
  .v-detail-page.has-sidecard {
    display: flex;
    flex-direction: column;
    gap: var(--space-7);
    align-items: stretch;
  }
  .v-detail-page-main {
    display: contents;
  }
  .v-detail-page-header {
    order: 0;
  }
  .v-detail-page-sidecard {
    order: 1;
    position: static;
    max-height: none;
    overflow: visible;
  }
  .v-detail-page-body {
    order: 2;
  }
}
@media (max-width: 900px) {
  .v-detail-page {
    padding: var(--space-7) var(--space-7);
    gap: var(--space-7);
  }
}
@media (max-width: 600px) {
  .v-detail-page {
    padding: var(--space-5) var(--space-5);
  }
}
.v-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px 20px;
}
@media (max-width: 767.98px) {
  .v-detail-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .v-detail-grid {
    grid-template-columns: 1fr;
  }
}

.v-detail-label {
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--vesta-text-muted);
  margin-bottom: 3px;
}

.v-detail-value {
  font-size: 13px;
  font-weight: 500;
  color: var(--vesta-text-primary);
}

.v-bottom-bar {
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-7);
  background: var(--vesta-bg-card);
  border-top: 1px solid var(--vesta-border);
  padding: var(--space-7) var(--space-9);
  z-index: var(--z-sticky-bar);
  box-shadow: 0 -2px 8px -4px rgba(15, 23, 42, 0.08);
}

.v-bottom-bar-left,
.v-bottom-bar-right {
  display: flex;
  align-items: center;
  gap: var(--space-5);
  min-width: 0;
  flex-wrap: wrap;
}

.v-bottom-bar-right {
  justify-content: flex-end;
  margin-left: auto;
}

.v-bottom-bar.is-hidden {
  display: none;
}

@media (max-width: 600px) {
  .v-bottom-bar {
    flex-direction: column;
    align-items: stretch;
    padding: var(--space-5) var(--space-5);
  }
  .v-bottom-bar-left,
  .v-bottom-bar-right {
    justify-content: stretch;
  }
  .v-bottom-bar-right > * {
    flex: 1;
    min-height: var(--tap-target);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .v-bottom-bar {
    transition: transform var(--motion-base), opacity var(--motion-base);
  }
}
.v-view-toggle {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 3px;
  background: var(--vesta-bg-body);
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-full);
}

.v-view-toggle-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: 6px 12px;
  min-height: 32px;
  background: transparent;
  border: 0;
  border-radius: var(--vesta-radius-full);
  color: var(--vesta-text-secondary);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: background var(--motion-fast), color var(--motion-fast);
}
.v-view-toggle-btn:hover {
  color: var(--vesta-text-primary);
  background: var(--vesta-bg-hover);
}
.v-view-toggle-btn:focus-visible {
  outline: var(--focus-outline);
  outline-offset: 2px;
}
.v-view-toggle-btn > .v-view-toggle-icon {
  display: inline-flex;
}
.v-view-toggle-btn > .v-view-toggle-label {
  line-height: 1;
}
.v-view-toggle-btn.is-active {
  background: var(--vesta-primary);
  color: var(--vesta-text-inverse);
}
.v-view-toggle-btn.is-active:hover {
  background: var(--vesta-primary-hover);
}

@media (max-width: 600px) {
  .v-view-toggle-btn > .v-view-toggle-label {
    display: none;
  }
  .v-view-toggle-btn {
    padding: 6px 10px;
    min-width: var(--tap-target);
    min-height: var(--tap-target);
    justify-content: center;
  }
}
.v-period {
  position: relative;
  display: inline-flex;
}

.v-period-seg {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 3px;
  background: var(--vesta-bg-body);
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-full);
  box-shadow: var(--vesta-shadow-xs, 0 1px 2px rgba(0, 0, 0, 0.04));
}

.v-period-seg-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: 6px 14px;
  min-height: 32px;
  background: transparent;
  border: 0;
  border-radius: var(--vesta-radius-full);
  color: var(--vesta-text-secondary);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.01em;
  white-space: nowrap;
  cursor: pointer;
  transition: background var(--motion-fast), color var(--motion-fast);
}
.v-period-seg-btn:hover {
  color: var(--vesta-text-primary);
  background: var(--vesta-bg-hover);
}
.v-period-seg-btn:focus-visible {
  outline: var(--focus-outline);
  outline-offset: 2px;
}
.v-period-seg-btn.is-active {
  background: var(--vesta-fill-primary);
  color: var(--vesta-text-inverse);
}
.v-period-seg-btn.is-active:hover {
  background: var(--vesta-primary-hover);
}

.v-period-seg-custom {
  position: relative;
  margin-left: 4px;
  padding-left: 12px;
}
.v-period-seg-custom::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 6px;
  width: 1px;
  background: var(--vesta-border);
}
.v-period-seg-custom > svg {
  width: 15px;
  height: 15px;
}

.v-period-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1040;
}

.v-period-pop {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 1041;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 260px;
  padding: var(--space-4);
  background: var(--vesta-bg-surface, var(--vesta-bg-card));
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  box-shadow: var(--vesta-shadow-lg, 0 12px 32px rgba(0, 0, 0, 0.16));
  animation: v-period-pop-in var(--motion-fast) ease-out;
}

@keyframes v-period-pop-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.v-period-pop-row {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.v-period-pop-row .form-label {
  margin-bottom: 0;
  color: var(--vesta-text-secondary);
}

.v-period-pop-actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-2);
  margin-top: 2px;
}

@media (max-width: 600px) {
  .v-period-seg {
    flex-wrap: wrap;
  }
}
.v-saved-filters {
  position: relative;
  display: inline-flex;
}

.v-saved-filters-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1040;
  border: 0;
  background: transparent;
  cursor: default;
}

.v-saved-filters-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 1041;
  display: flex;
  flex-direction: column;
  min-width: 280px;
  max-height: 60vh;
  overflow-y: auto;
  padding: var(--space-2);
  background: var(--vesta-bg-surface, var(--vesta-bg-card));
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  box-shadow: var(--vesta-shadow-lg, 0 12px 32px rgba(0, 0, 0, 0.16));
  animation: v-saved-filters-in var(--motion-fast) ease-out;
}

@keyframes v-saved-filters-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.v-saved-filters-sep {
  height: 1px;
  margin: var(--space-2) 0;
  background: var(--vesta-border);
}

.v-saved-filters-item {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  border-radius: var(--vesta-radius);
  color: var(--vesta-text-primary);
  font-size: 13px;
}
.v-saved-filters-item.is-applied {
  background: var(--vesta-bg-hover);
}
.v-saved-filters-item.is-action {
  width: 100%;
  padding: 8px 10px;
  border: 0;
  background: transparent;
  color: var(--vesta-text-secondary);
  font-weight: 600;
  cursor: pointer;
}
.v-saved-filters-item.is-action:hover:not(:disabled) {
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-primary);
}
.v-saved-filters-item.is-action:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.v-saved-filters-name {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  gap: var(--space-2);
  min-width: 0;
  padding: 8px 10px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.v-saved-filters-name > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v-saved-filters-name:hover {
  color: var(--vesta-primary);
}

.v-saved-filters-icon {
  flex: 0 0 auto;
  display: inline-flex;
  padding: 6px;
  border: 0;
  background: transparent;
  color: var(--vesta-text-muted);
  border-radius: var(--vesta-radius);
  cursor: pointer;
}
.v-saved-filters-icon:hover {
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-primary);
}

.v-saved-filters-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-4);
  color: var(--vesta-text-muted);
  font-size: 12.5px;
  text-align: center;
}

.v-saved-filters-section .v-saved-filters-item {
  width: 100%;
}
.v-saved-filters-section .v-saved-filters-item.is-action {
  font-size: 12.5px;
}
.v-saved-filters-section .v-saved-filters-sep {
  margin: var(--space-1) 0 var(--space-2);
}

.es-mail-frame {
  max-width: 100%;
  border: 1px solid var(--vesta-border, #E2E8F0);
  border-radius: 12px;
  overflow: hidden;
  background: #FFFFFF;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.es-mail-frame .es-mail-head {
  background: var(--vesta-primary, #6366F1);
  color: #FFFFFF;
  font-weight: 700;
  font-size: 16px;
  padding: 16px 22px;
}
.es-mail-frame .es-mail-body {
  padding: 22px;
  color: #0F172A;
  font-size: 14px;
  line-height: 1.6;
}
.es-mail-frame .es-mail-sign {
  padding: 18px 22px;
  border-top: 1px solid var(--vesta-border, #E2E8F0);
}
.es-mail-frame .es-mail-foot {
  padding: 14px 22px;
  border-top: 1px solid var(--vesta-border, #E2E8F0);
  color: #94A3B8;
  font-size: 12px;
  line-height: 1.5;
}

.v-qpp {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

.v-qpp-header {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-5) var(--space-7);
  border-bottom: 1px solid var(--vesta-border);
  flex-shrink: 0;
  min-height: 52px;
}

.v-qpp-title {
  flex: 1;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--vesta-text-primary);
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.v-qpp-nav {
  display: flex;
  gap: var(--space-1);
  flex-shrink: 0;
}

.v-qpp-nav-btn,
.v-qpp-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--tap-target);
  height: var(--tap-target);
  border-radius: var(--vesta-radius-md);
  border: none;
  background: transparent;
  color: var(--vesta-text-secondary);
  cursor: pointer;
  transition: background var(--motion-fast), color var(--motion-fast);
}
.v-qpp-nav-btn:hover,
.v-qpp-close:hover {
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-primary);
}
.v-qpp-nav-btn:focus-visible,
.v-qpp-close:focus-visible {
  outline: var(--focus-outline);
  outline-offset: 2px;
}

.v-qpp-body {
  flex: 1;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: var(--space-7);
  min-height: 0;
}

.v-qpp-footer {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-5) var(--space-7);
  border-top: 1px solid var(--vesta-border);
  flex-shrink: 0;
}

.tk-qp {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.tk-qp-badges {
  display: flex;
  align-items: center;
  gap: 8px;
}

.tk-qp-title {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--vesta-text-primary);
}

.tk-qp-sub {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: -6px;
  font-size: 12.5px;
  color: var(--vesta-text-muted);
}
.tk-qp-sub .lucide {
  width: 14px;
  height: 14px;
}

.tk-qp-stepper {
  padding: 2px 0;
}

.tk-qp-track {
  width: 100%;
  justify-content: center;
}

.tk-qp-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 14px;
  margin: 0;
  padding: 12px 0;
  border-top: 1px solid var(--vesta-border-subtle);
  border-bottom: 1px solid var(--vesta-border-subtle);
}
.tk-qp-grid dt {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--vesta-text-muted);
  margin-bottom: 3px;
}
.tk-qp-grid dd {
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  color: var(--vesta-text-primary);
}

.tk-qp-section-h {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--vesta-text-muted);
  margin-bottom: 7px;
}

.tk-qp-contact-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--vesta-text-primary);
}

.tk-qp-contact-line {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  color: var(--vesta-text-secondary);
  margin-top: 3px;
}
.tk-qp-contact-line .lucide {
  width: 14px;
  height: 14px;
  color: var(--vesta-text-muted);
}

.tk-qp-comment-head {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
}

.tk-qp-internal {
  font-size: 9.5px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 1px 6px;
  border-radius: 99px;
  background: #FEF3C7;
  color: #B45309;
}

.tk-qp-comment-body {
  margin: 6px 0 0;
  font-size: 13px;
  color: var(--vesta-text-secondary);
  line-height: 1.4;
}

.vesta-help-content {
  color: var(--vesta-text-primary);
  font-size: 14.5px;
  line-height: 1.7;
  max-width: 74ch;
}
.vesta-help-content > :first-child {
  margin-top: 0;
}
.vesta-help-content > :last-child {
  margin-bottom: 0;
}
.vesta-help-content h1 {
  font-family: var(--vesta-font-display);
  font-size: 25px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin: 0 0 6px;
  background: linear-gradient(92deg, var(--vesta-primary), color-mix(in srgb, var(--vesta-primary) 45%, #8b5cf6));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.vesta-help-content h1 + p {
  font-size: 15.5px;
  color: var(--vesta-text-secondary);
  margin-bottom: 22px;
}
.vesta-help-content h2 {
  font-family: var(--vesta-font-display);
  font-size: 17.5px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.25;
  color: var(--vesta-text-primary);
  margin: 30px 0 12px;
  padding-left: 12px;
  border-left: 4px solid var(--vesta-primary);
  scroll-margin-top: calc(var(--vesta-topbar-height, 56px) + 14px);
}
.vesta-help-content h3 {
  font-family: var(--vesta-font-display);
  font-size: 14.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--vesta-text-secondary);
  margin: 22px 0 8px;
  scroll-margin-top: calc(var(--vesta-topbar-height, 56px) + 14px);
}
.vesta-help-content p {
  margin: 0 0 13px;
}
.vesta-help-content ul, .vesta-help-content ol {
  margin: 0 0 14px;
  padding-left: 22px;
}
.vesta-help-content li {
  margin-bottom: 6px;
  padding-left: 3px;
}
.vesta-help-content li::marker {
  color: var(--vesta-primary);
  font-weight: 700;
}
.vesta-help-content strong {
  color: var(--vesta-text-primary);
  font-weight: 700;
}
.vesta-help-content a {
  color: var(--vesta-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 500;
}
.vesta-help-content a:hover {
  text-decoration-thickness: 2px;
}
.vesta-help-content code {
  font-family: var(--vesta-font-mono);
  font-size: 0.85em;
  padding: 2px 6px;
  border-radius: 6px;
  background: var(--vesta-bg-hover);
  border: 1px solid var(--vesta-border);
  color: var(--vesta-primary);
}
.vesta-help-content pre {
  padding: 14px 16px;
  margin: 0 0 14px;
  border-radius: var(--vesta-radius-lg);
  background: var(--vesta-bg-hover);
  border: 1px solid var(--vesta-border);
  overflow-x: auto;
}
.vesta-help-content pre code {
  padding: 0;
  background: none;
  border: 0;
  color: inherit;
}
.vesta-help-content blockquote {
  position: relative;
  margin: 0 0 16px;
  padding: 14px 16px 14px 46px;
  border-radius: var(--vesta-radius-lg);
  border: 1px solid color-mix(in srgb, var(--vesta-primary) 30%, var(--vesta-border));
  background: color-mix(in srgb, var(--vesta-primary) 8%, transparent);
  color: var(--vesta-text-secondary);
}
.vesta-help-content blockquote p {
  margin: 0;
}
.vesta-help-content blockquote p + p {
  margin-top: 8px;
}
.vesta-help-content blockquote::before {
  content: "💡";
  position: absolute;
  left: 14px;
  top: 12px;
  font-size: 18px;
  line-height: 1;
}
.vesta-help-content table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0 0 16px;
  font-size: 13.5px;
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  overflow: hidden;
}
.vesta-help-content table thead th {
  background: color-mix(in srgb, var(--vesta-primary) 12%, var(--vesta-bg-card));
  color: var(--vesta-text-primary);
  font-weight: 700;
  text-align: left;
}
.vesta-help-content table th, .vesta-help-content table td {
  padding: 9px 12px;
  border-bottom: 1px solid var(--vesta-border);
  vertical-align: top;
}
.vesta-help-content table tbody tr:last-child td {
  border-bottom: 0;
}
.vesta-help-content table tbody tr:nth-child(even) td {
  background: color-mix(in srgb, var(--vesta-border) 14%, transparent);
}
.vesta-help-content table tbody td:first-child {
  font-weight: 600;
  color: var(--vesta-text-primary);
  white-space: nowrap;
}
.vesta-help-content kbd {
  font-family: var(--vesta-font-mono);
  font-size: 11.5px;
  padding: 2px 7px;
  border-radius: 6px;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  box-shadow: 0 1px 0 var(--vesta-border);
  color: var(--vesta-text-primary);
}
.vesta-help-content hr {
  border: 0;
  height: 1px;
  background: var(--vesta-border);
  margin: 24px 0;
}
.vesta-help-content img {
  max-width: 100%;
  height: auto;
  border-radius: var(--vesta-radius-lg);
  border: 1px solid var(--vesta-border);
}

.vesta-help-hub {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.vesta-help-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 12px;
}

.vesta-help-card {
  display: flex;
  align-items: center;
  gap: 12px;
  align-items: flex-start;
  position: relative;
  padding: 15px;
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  background: var(--vesta-bg-card);
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  transition: transform var(--motion-fast), box-shadow var(--motion-fast), border-color var(--motion-fast);
}
.vesta-help-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, var(--vesta-primary), color-mix(in srgb, var(--vesta-primary) 40%, #8b5cf6));
  opacity: 0;
  transition: opacity var(--motion-fast);
}
.vesta-help-card:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--vesta-primary) 40%, var(--vesta-border));
  box-shadow: var(--vesta-shadow-lg);
}
.vesta-help-card:hover::before {
  opacity: 1;
}
.vesta-help-card:hover .vesta-help-card__icon {
  transform: scale(1.08) rotate(-4deg);
}
.vesta-help-card__icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 10px;
  background: color-mix(in srgb, var(--vesta-primary) 14%, transparent);
  color: var(--vesta-primary);
  transition: transform var(--motion-fast);
}
.vesta-help-card__body {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.vesta-help-card__title {
  font-weight: 700;
  font-size: 14.5px;
  color: var(--vesta-text-primary);
}
.vesta-help-card__desc {
  font-size: 12.5px;
  color: var(--vesta-text-muted);
  line-height: 1.45;
}
.vesta-help-card__soon {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 10.5px;
  font-weight: 600;
}

.vesta-help-page .vesta-help-content {
  max-width: none;
}
@media (min-width: 1100px) {
  .vesta-help-page .vesta-help-content {
    column-width: 30rem;
    column-gap: 40px;
  }
  .vesta-help-page .vesta-help-content h1, .vesta-help-page .vesta-help-content h1 + p {
    column-span: all;
  }
  .vesta-help-page .vesta-help-content h2 {
    break-after: avoid;
  }
  .vesta-help-page .vesta-help-content h2, .vesta-help-page .vesta-help-content h3, .vesta-help-page .vesta-help-content table, .vesta-help-page .vesta-help-content blockquote, .vesta-help-page .vesta-help-content pre, .vesta-help-page .vesta-help-content ul, .vesta-help-page .vesta-help-content ol, .vesta-help-page .vesta-help-content img {
    break-inside: avoid;
  }
}

.vesta-help-toc {
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  background: var(--vesta-bg-card);
  padding: 14px 16px;
}
.vesta-help-toc__title {
  font-family: var(--vesta-font-display);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--vesta-text-muted);
  margin-bottom: 10px;
}
.vesta-help-toc ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.vesta-help-toc a {
  display: block;
  padding: 6px 10px;
  border-radius: 8px;
  border-left: 2px solid transparent;
  font-size: 13px;
  color: var(--vesta-text-secondary);
  text-decoration: none;
  transition: background var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast);
}
.vesta-help-toc a:hover {
  background: color-mix(in srgb, var(--vesta-primary) 10%, transparent);
  border-left-color: var(--vesta-primary);
  color: var(--vesta-text-primary);
}

.vesta-help-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1055;
  background: rgba(2, 6, 23, 0.42);
  backdrop-filter: blur(2px);
  animation: v-help-fade var(--motion-fast) both;
}

.vesta-help-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1060;
  height: 100dvh;
  width: min(460px, 94vw);
  display: flex;
  flex-direction: column;
  background: var(--vesta-bg-card);
  border-left: 1px solid var(--vesta-border);
  box-shadow: -18px 0 48px rgba(2, 6, 23, 0.28);
  transform: translateX(100%);
  transition: transform var(--motion-base);
  visibility: hidden;
}
.vesta-help-drawer.is-open {
  transform: none;
  visibility: visible;
}
.vesta-help-drawer__head {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: space-between;
  padding: 16px 18px;
  background: linear-gradient(115deg, color-mix(in srgb, var(--vesta-primary) 14%, var(--vesta-bg-card)), var(--vesta-bg-card) 70%);
  border-bottom: 1px solid var(--vesta-border);
}
.vesta-help-drawer__title {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  font-family: var(--vesta-font-display);
  font-size: 16.5px;
  font-weight: 700;
  color: var(--vesta-text-primary);
}
.vesta-help-drawer__title .vesta-help-drawer__badge {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: color-mix(in srgb, var(--vesta-primary) 18%, transparent);
  color: var(--vesta-primary);
}
.vesta-help-drawer__body {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 20px 18px;
  background: var(--vesta-bg-card);
}
.vesta-help-drawer__foot {
  padding: 14px 18px;
  border-top: 1px solid var(--vesta-border);
  background: var(--vesta-bg-card);
}

.vesta-help-dot {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--vesta-primary);
  box-shadow: 0 0 0 2px var(--vesta-bg-topbar);
}

.vesta-calc-help {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  margin-left: 4px;
  color: var(--vesta-text-muted);
  line-height: 0;
  text-decoration: none;
  cursor: help;
  transition: color var(--motion-fast);
}
.vesta-calc-help:hover, .vesta-calc-help:focus-visible {
  color: var(--vesta-primary);
}
.vesta-calc-help .lucide {
  width: 14px;
  height: 14px;
}

.vesta-help-readbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  z-index: 1080;
  pointer-events: none;
}
.vesta-help-readbar span {
  display: block;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left;
  background: linear-gradient(90deg, var(--vesta-primary), #8b5cf6);
}

.vesta-help-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border: 1px solid var(--vesta-border);
  border-radius: 999px;
  background: var(--vesta-bg-card);
  font-size: 12px;
  font-weight: 600;
  color: var(--vesta-text-muted);
  white-space: nowrap;
}
.vesta-help-meta .lucide {
  width: 13px;
  height: 13px;
  color: var(--vesta-primary);
}

.vesta-help-pager {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin-top: 30px;
  padding-top: 18px;
  border-top: 1px solid var(--vesta-border);
}
.vesta-help-pager__card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  background: var(--vesta-bg-card);
  color: inherit;
  text-decoration: none;
  transition: transform var(--motion-fast), border-color var(--motion-fast), box-shadow var(--motion-fast);
}
.vesta-help-pager__card.is-next {
  justify-content: flex-end;
  text-align: right;
}
.vesta-help-pager__card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--vesta-primary) 40%, var(--vesta-border));
  box-shadow: var(--vesta-shadow-lg);
}
.vesta-help-pager__card .lucide {
  flex: none;
  color: var(--vesta-primary);
}
.vesta-help-pager__body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.vesta-help-pager__label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--vesta-text-muted);
}
.vesta-help-pager__title {
  font-weight: 700;
  font-size: 14px;
  color: var(--vesta-text-primary);
}

.vesta-help-toc a.is-active {
  background: color-mix(in srgb, var(--vesta-primary) 10%, transparent);
  border-left-color: var(--vesta-primary);
  color: var(--vesta-text-primary);
  font-weight: 600;
}

.vesta-help-content div.tip, .vesta-help-content div.warning, .vesta-help-content div.note {
  position: relative;
  margin: 0 0 16px;
  padding: 14px 16px 14px 46px;
  border-radius: var(--vesta-radius-lg);
}
.vesta-help-content div.tip p, .vesta-help-content div.warning p, .vesta-help-content div.note p {
  margin: 0;
}
.vesta-help-content div.tip p + p, .vesta-help-content div.warning p + p, .vesta-help-content div.note p + p {
  margin-top: 8px;
}
.vesta-help-content div.tip::before, .vesta-help-content div.warning::before, .vesta-help-content div.note::before {
  position: absolute;
  left: 14px;
  top: 12px;
  font-size: 18px;
  line-height: 1;
}
.vesta-help-content div.tip {
  border: 1px solid color-mix(in srgb, #10b981 35%, var(--vesta-border));
  background: color-mix(in srgb, #10b981 8%, transparent);
}
.vesta-help-content div.tip::before {
  content: "💡";
}
.vesta-help-content div.warning {
  border: 1px solid color-mix(in srgb, #f59e0b 40%, var(--vesta-border));
  background: color-mix(in srgb, #f59e0b 9%, transparent);
}
.vesta-help-content div.warning::before {
  content: "⚠️";
}
.vesta-help-content div.note {
  border: 1px solid color-mix(in srgb, var(--vesta-primary) 30%, var(--vesta-border));
  background: color-mix(in srgb, var(--vesta-primary) 8%, transparent);
}
.vesta-help-content div.note::before {
  content: "📌";
}

.vesta-help-home .vesta-help-hub,
.vesta-help-groups {
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
  gap: 26px;
}

.vesta-help-hero {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 0 0 auto;
  gap: 14px;
  margin-bottom: 28px;
  padding: 46px 24px 34px;
  border: 1px solid var(--vesta-border);
  border-radius: 22px;
  background: var(--vesta-bg-card);
  isolation: isolate;
  z-index: 10;
}
.vesta-help-hero__mesh {
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  overflow: hidden;
  background: radial-gradient(560px 260px at 12% -10%, color-mix(in srgb, var(--vesta-primary) 22%, transparent), transparent 65%), radial-gradient(480px 240px at 88% -18%, color-mix(in srgb, #8b5cf6 20%, transparent), transparent 62%), radial-gradient(420px 260px at 50% 118%, color-mix(in srgb, #0ea5e9 12%, transparent), transparent 70%);
}
.vesta-help-hero__mesh::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(color-mix(in srgb, var(--vesta-text-muted) 22%, transparent) 1px, transparent 1px);
  background-size: 22px 22px;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5), transparent 75%);
  -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5), transparent 75%);
}
.vesta-help-hero__title {
  margin: 0;
  font-family: var(--vesta-font-display);
  font-size: clamp(24px, 3.4vw, 34px);
  font-weight: 800;
  letter-spacing: -0.025em;
  text-align: center;
  background: linear-gradient(92deg, var(--vesta-text-primary), color-mix(in srgb, var(--vesta-primary) 75%, var(--vesta-text-primary)));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: v-help-rise 0.45s 0.05s both;
}
.vesta-help-hero__sub {
  margin: -6px 0 6px;
  font-size: 14.5px;
  color: var(--vesta-text-secondary);
  text-align: center;
  animation: v-help-rise 0.45s 0.12s both;
}
.vesta-help-hero .vesta-help-search {
  position: relative;
  z-index: 5;
  animation: v-help-rise 0.45s 0.18s both;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.vesta-help-hero .vesta-help-search.is-hero .vesta-help-search__box,
.vesta-help-hero .vesta-help-search.is-hero .vesta-help-search__results {
  width: min(620px, 100%);
}
.vesta-help-hero .vesta-help-search.is-hero {
  position: relative;
}
.vesta-help-hero .vesta-help-search.is-hero .vesta-help-search__results {
  left: auto;
  right: auto;
}
.vesta-help-hero__quick {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 4px;
  position: relative;
  z-index: 1;
  animation: v-help-rise 0.45s 0.26s both;
}
.vesta-help-hero__quick-label {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--vesta-text-muted);
  margin-right: 2px;
}
.vesta-help-hero__chip {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border: 1px solid var(--vesta-border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--vesta-bg-card) 72%, transparent);
  color: var(--vesta-text-secondary);
  font-size: 12.5px;
  font-weight: 600;
  text-decoration: none;
  transition: color var(--motion-fast), border-color var(--motion-fast), transform var(--motion-fast), background var(--motion-fast);
}
.vesta-help-hero__chip .lucide {
  width: 14px;
  height: 14px;
  color: var(--vesta-primary);
}
.vesta-help-hero__chip:hover {
  color: var(--vesta-text-primary);
  border-color: color-mix(in srgb, var(--vesta-primary) 45%, var(--vesta-border));
  background: color-mix(in srgb, var(--vesta-primary) 8%, var(--vesta-bg-card));
  transform: translateY(-1px);
}
.vesta-help-hero__progress {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  animation: v-help-rise 0.45s 0.34s both;
}
.vesta-help-hero__progress-bar {
  width: 170px;
  height: 6px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--vesta-border) 60%, transparent);
  overflow: hidden;
}
.vesta-help-hero__progress-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--vesta-primary), #8b5cf6);
  transition: width 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
.vesta-help-hero__progress-text {
  font-size: 12px;
  font-weight: 600;
  color: var(--vesta-text-muted);
}

.vesta-help-group {
  --vh-accent: var(--vesta-primary);
  animation: v-help-rise 0.5s both;
  animation-delay: calc(0.12s + var(--vh-i, 0) * 80ms);
}
.vesta-help-group[data-accent=registry] {
  --vh-accent: #0ea5e9;
}
.vesta-help-group[data-accent=finance] {
  --vh-accent: #10b981;
}
.vesta-help-group[data-accent=inventory] {
  --vh-accent: #f59e0b;
}
.vesta-help-group[data-accent=reports] {
  --vh-accent: #8b5cf6;
}
.vesta-help-group[data-accent=personal] {
  --vh-accent: #ec4899;
}
.vesta-help-group[data-accent=admin] {
  --vh-accent: #64748b;
}
.vesta-help-group[data-accent=platform] {
  --vh-accent: #ef4444;
}
.vesta-help-group__head {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 12px;
}
.vesta-help-group__ring {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  position: relative;
  flex: none;
  border-radius: 50%;
  color: var(--vh-accent);
  background: radial-gradient(closest-side, var(--vesta-bg-card) 78%, transparent 79% 100%), conic-gradient(var(--vh-accent) calc(var(--vh-pct, 0) * 1%), color-mix(in srgb, var(--vh-accent) 18%, var(--vesta-border)) 0);
}
.vesta-help-group__ring .lucide {
  width: 17px;
  height: 17px;
}
.vesta-help-group__title {
  margin: 0;
  font-family: var(--vesta-font-display);
  font-size: 16.5px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--vesta-text-primary);
}
.vesta-help-group__count {
  margin-left: auto;
  padding: 3px 10px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--vh-accent) 30%, var(--vesta-border));
  background: color-mix(in srgb, var(--vh-accent) 8%, transparent);
  font-size: 11.5px;
  font-weight: 700;
  color: color-mix(in srgb, var(--vh-accent) 70%, var(--vesta-text-primary));
  white-space: nowrap;
}
.vesta-help-group .vesta-help-card::before {
  background: linear-gradient(90deg, var(--vh-accent), color-mix(in srgb, var(--vh-accent) 40%, #8b5cf6));
}
.vesta-help-group .vesta-help-card:hover {
  border-color: color-mix(in srgb, var(--vh-accent) 40%, var(--vesta-border));
}
.vesta-help-group .vesta-help-card__icon {
  background: color-mix(in srgb, var(--vh-accent) 14%, transparent);
  color: var(--vh-accent);
}
.vesta-help-group .vesta-help-card.is-read .vesta-help-card__title {
  color: var(--vesta-text-secondary);
}
.vesta-help-group .vesta-help-card__check {
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  position: absolute;
  top: 10px;
  right: 10px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--vh-accent) 16%, transparent);
  color: var(--vh-accent);
}
.vesta-help-group .vesta-help-card__check .lucide {
  width: 12px;
  height: 12px;
}
.vesta-help-group .vesta-help-card__flag {
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 2px 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--vh-accent) 18%, transparent);
  color: color-mix(in srgb, var(--vh-accent) 75%, var(--vesta-text-primary));
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

@keyframes v-help-rise {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes v-help-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .vesta-help-card,
  .vesta-help-card:hover,
  .vesta-help-card__icon {
    transition: none;
    transform: none;
  }
  .vesta-help-drawer {
    transition: none;
  }
  .vesta-help-drawer-backdrop {
    animation: none;
  }
  .vesta-help-hero__title,
  .vesta-help-hero__sub,
  .vesta-help-hero .vesta-help-search,
  .vesta-help-hero__quick,
  .vesta-help-hero__progress,
  .vesta-help-hero__chip,
  .vesta-help-group {
    animation: none;
    transition: none;
  }
}
[data-theme=dark] .vesta-help-content code {
  background: color-mix(in srgb, var(--vesta-bg-hover) 70%, transparent);
}
[data-theme=dark] .vesta-help-content pre {
  background: color-mix(in srgb, var(--vesta-bg-hover) 70%, transparent);
}
[data-theme=dark] .vesta-help-drawer {
  box-shadow: -18px 0 48px rgba(0, 0, 0, 0.55);
}

.vesta-help-search {
  position: relative;
}
.vesta-help-search__box {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border: 1px solid var(--vesta-border);
  border-radius: 12px;
  background: var(--vesta-bg-card);
  transition: border-color var(--motion-fast), box-shadow var(--motion-fast);
}
.vesta-help-search__box:focus-within {
  border-color: var(--vesta-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--vesta-primary) 18%, transparent);
}
.vesta-help-search__box > .lucide {
  flex: none;
  color: var(--vesta-text-muted);
  width: 17px;
  height: 17px;
}
.vesta-help-search__box input {
  flex: 1;
  min-width: 0;
  border: 0;
  outline: none;
  background: transparent;
  color: var(--vesta-text-primary);
  font-size: 14px;
}
.vesta-help-search__box input::placeholder {
  color: var(--vesta-text-muted);
}
.vesta-help-search__box input::-webkit-search-cancel-button {
  display: none;
}
.vesta-help-search__clear {
  display: grid;
  place-items: center;
  flex: none;
  border: 0;
  padding: 2px;
  border-radius: 6px;
  background: transparent;
  color: var(--vesta-text-muted);
  cursor: pointer;
}
.vesta-help-search__clear:hover {
  color: var(--vesta-text-primary);
  background: var(--vesta-bg-hover);
}
.vesta-help-search__clear .lucide {
  width: 14px;
  height: 14px;
}
.vesta-help-search__results {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 30;
  max-height: min(430px, 60vh);
  overflow-y: auto;
  padding: 6px;
  border: 1px solid var(--vesta-border);
  border-radius: 14px;
  background: var(--vesta-bg-card);
  box-shadow: var(--vesta-shadow-lg);
  animation: v-help-search-pop var(--motion-fast) both;
}
.vesta-help-search__group {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px 10px 4px;
  font-family: var(--vesta-font-display);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--vesta-text-muted);
}
.vesta-help-search__group-icon {
  display: grid;
  place-items: center;
  color: var(--vesta-primary);
}
.vesta-help-search__group-icon .lucide {
  width: 13px;
  height: 13px;
}
.vesta-help-search__group-loading {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  border: 2px solid color-mix(in srgb, var(--vesta-primary) 25%, transparent);
  border-top-color: var(--vesta-primary);
  animation: v-help-search-spin 0.7s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .vesta-help-search__group-loading {
    animation: none;
    opacity: 0.5;
  }
}
.vesta-help-search__hit {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 10px;
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
}
.vesta-help-search__hit.is-active {
  background: color-mix(in srgb, var(--vesta-primary) 10%, transparent);
  box-shadow: inset 2px 0 0 var(--vesta-primary);
}
.vesta-help-search__hit-heading {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--vesta-text-primary);
}
.vesta-help-search__hit-snippet {
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--vesta-text-muted);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.vesta-help-search__hit mark {
  padding: 0 1px;
  border-radius: 3px;
  background: color-mix(in srgb, var(--vesta-primary) 22%, transparent);
  color: var(--vesta-primary);
  font-weight: 700;
}
.vesta-help-search__empty {
  display: flex;
  align-items: center;
  gap: 9px;
  justify-content: center;
  padding: 22px 12px;
  color: var(--vesta-text-muted);
  font-size: 13px;
}
.vesta-help-search__empty .lucide {
  width: 16px;
  height: 16px;
}
.vesta-help-search__hint {
  display: flex;
  align-items: center;
  gap: 14px;
  justify-content: flex-end;
  margin-top: 4px;
  padding: 8px 10px 4px;
  border-top: 1px solid var(--vesta-border);
  font-size: 11px;
  color: var(--vesta-text-muted);
}
.vesta-help-search__hint span {
  display: flex;
  align-items: center;
  gap: 4px;
}
.vesta-help-search__hint kbd {
  font-family: var(--vesta-font-mono);
  font-size: 10px;
  padding: 1px 5px;
  border-radius: 5px;
  background: var(--vesta-bg-hover);
  border: 1px solid var(--vesta-border);
}
.vesta-help-search__ask {
  margin-top: 6px;
  border-top: 1px dashed color-mix(in srgb, var(--vesta-primary) 30%, var(--vesta-border));
  padding-top: 6px;
}
.vesta-help-search__ask-btn {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  padding: 10px 12px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(92deg, color-mix(in srgb, var(--vesta-primary) 10%, transparent), color-mix(in srgb, #8b5cf6 10%, transparent));
  color: var(--vesta-text-primary);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background var(--motion-fast), transform var(--motion-fast);
}
.vesta-help-search__ask-btn .lucide {
  width: 15px;
  height: 15px;
  color: var(--vesta-primary);
}
.vesta-help-search__ask-btn:hover {
  background: linear-gradient(92deg, color-mix(in srgb, var(--vesta-primary) 18%, transparent), color-mix(in srgb, #8b5cf6 18%, transparent));
}
.vesta-help-search__ask-arrow {
  margin-left: auto;
  display: grid;
  place-items: center;
}
.vesta-help-search__ask-loading {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 12px;
  font-size: 13px;
  color: var(--vesta-text-muted);
}
.vesta-help-search__ask-loading .lucide {
  width: 15px;
  height: 15px;
  color: var(--vesta-primary);
  animation: v-help-sparkle 1.1s ease-in-out infinite;
}
.vesta-help-search__answer {
  padding: 10px 12px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--vesta-primary) 6%, transparent);
}
.vesta-help-search__answer-head {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 6px;
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--vesta-primary);
}
.vesta-help-search__answer-head .lucide {
  width: 13px;
  height: 13px;
}
.vesta-help-search__answer-text {
  margin: 0 0 8px;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--vesta-text-primary);
  white-space: pre-line;
}
.vesta-help-search__answer-fallback {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  color: var(--vesta-text-muted);
}
.vesta-help-search__answer-fallback .lucide {
  width: 14px;
  height: 14px;
  flex: none;
}
.vesta-help-search__answer-cites {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.vesta-help-search__answer-cites a {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border: 1px solid color-mix(in srgb, var(--vesta-primary) 30%, var(--vesta-border));
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--vesta-primary);
  text-decoration: none;
  background: var(--vesta-bg-card);
}
.vesta-help-search__answer-cites a .lucide {
  width: 12px;
  height: 12px;
}
.vesta-help-search__answer-cites a:hover {
  background: color-mix(in srgb, var(--vesta-primary) 10%, var(--vesta-bg-card));
}
.vesta-help-search.is-hero {
  max-width: 620px;
  width: 100%;
}
.vesta-help-search.is-hero .vesta-help-search__box {
  padding: 12px 18px;
  border-radius: 16px;
  box-shadow: var(--vesta-shadow-lg);
}
.vesta-help-search.is-hero .vesta-help-search__box input {
  font-size: 15.5px;
}
.vesta-help-search.is-hero .vesta-help-search__box > .lucide {
  width: 19px;
  height: 19px;
}
.vesta-help-search.is-drawer {
  margin-bottom: 16px;
}
.vesta-help-search.is-drawer .vesta-help-search__box {
  padding: 7px 12px;
}
.vesta-help-search.is-palette .vesta-help-search__box {
  border: 0;
  border-bottom: 1px solid var(--vesta-border);
  border-radius: 0;
  padding: 14px 18px;
  background: transparent;
}
.vesta-help-search.is-palette .vesta-help-search__box:focus-within {
  box-shadow: none;
}
.vesta-help-search.is-palette .vesta-help-search__box input {
  font-size: 15px;
}
.vesta-help-search.is-palette .vesta-help-search__results {
  position: static;
  border: 0;
  box-shadow: none;
  border-radius: 0;
  animation: none;
  max-height: min(480px, 58vh);
}

button.tb-search {
  font: inherit;
  font-size: 13px;
  text-align: left;
}

.vesta-palette-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1070;
  background: rgba(2, 6, 23, 0.45);
  backdrop-filter: blur(3px);
  animation: v-help-fade var(--motion-fast) both;
}

.vesta-palette {
  position: fixed;
  top: min(16vh, 140px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 1075;
  width: min(640px, 94vw);
  border: 1px solid var(--vesta-border);
  border-radius: 18px;
  background: var(--vesta-bg-card);
  box-shadow: 0 24px 70px rgba(2, 6, 23, 0.35);
  overflow: hidden;
  animation: v-help-search-pop var(--motion-base) both;
}
.vesta-palette__foot {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 18px;
  border-top: 1px solid var(--vesta-border);
  background: color-mix(in srgb, var(--vesta-bg-hover) 55%, transparent);
  font-size: 11.5px;
  color: var(--vesta-text-muted);
}
.vesta-palette__foot .lucide {
  width: 13px;
  height: 13px;
  color: var(--vesta-primary);
}

@keyframes v-help-search-spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes v-help-sparkle {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.45;
    transform: scale(0.85);
  }
}
@keyframes v-help-search-pop {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.vesta-palette {
  animation-name: v-palette-pop;
}

@keyframes v-palette-pop {
  from {
    opacity: 0;
    transform: translate(-50%, -8px);
  }
  to {
    opacity: 1;
    transform: translate(-50%, 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .vesta-help-search__results,
  .vesta-palette,
  .vesta-palette-backdrop {
    animation: none;
  }
}
[data-theme=dark] .vesta-palette {
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.6);
}

.vesta-loader {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}

.vesta-spinner {
  --vs-size: 140px;
  --vs-thickness: 2px;
  --vs-duration: 3.2s;
  position: relative;
  width: var(--vs-size);
  height: var(--vs-size);
  perspective: 800px;
  transform-style: preserve-3d;
}

.vesta-spinner__ring {
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: var(--vs-thickness) solid transparent;
  transform-style: preserve-3d;
  will-change: transform;
}

.vesta-spinner__ring--outer {
  border-top-color: var(--vesta-primary);
  border-right-color: var(--vesta-primary);
  border-bottom-color: rgba(var(--vesta-primary-rgb), 0.12);
  border-left-color: rgba(var(--vesta-primary-rgb), 0.12);
  animation: vs-rotate-y calc(var(--vs-duration) * 1.4) cubic-bezier(0.45, 0, 0.55, 1) infinite;
  filter: drop-shadow(0 0 6px rgba(var(--vesta-primary-rgb), 0.25));
}

.vesta-spinner__ring--mid {
  inset: 16px;
  border-top-color: var(--vesta-info);
  border-bottom-color: var(--vesta-info);
  border-left-color: rgba(var(--vesta-info-rgb), 0.1);
  border-right-color: rgba(var(--vesta-info-rgb), 0.1);
  animation: vs-rotate-x var(--vs-duration) cubic-bezier(0.45, 0, 0.55, 1) infinite reverse;
  filter: drop-shadow(0 0 5px rgba(var(--vesta-info-rgb), 0.22));
}

.vesta-spinner__ring--inner {
  inset: 32px;
  border-top-color: var(--vesta-success);
  border-right-color: rgba(var(--vesta-success-rgb), 0.1);
  border-bottom-color: rgba(var(--vesta-success-rgb), 0.1);
  border-left-color: rgba(var(--vesta-success-rgb), 0.1);
  animation: vs-rotate-z calc(var(--vs-duration) * 0.55) cubic-bezier(0.45, 0, 0.55, 1) infinite;
  filter: drop-shadow(0 0 4px rgba(var(--vesta-success-rgb), 0.28));
}

.vesta-spinner__orbit {
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 1px dashed var(--vesta-border-subtle);
  pointer-events: none;
}
.vesta-spinner__orbit--inner {
  inset: 32px;
}

.vesta-spinner__core {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 52px;
  height: 52px;
  transform: translate(-50%, -50%);
  border-radius: var(--vesta-radius-lg);
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  box-shadow: var(--vesta-shadow-md), inset 0 0 0 1px rgba(var(--vesta-primary-rgb), 0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  animation: vs-core-pulse 2.4s ease-in-out infinite;
  transition: background-color 0.25s ease, border-color 0.25s ease;
}
.vesta-spinner__core::after {
  content: "";
  position: absolute;
  inset: -10px;
  border-radius: var(--vesta-radius-xl);
  background: radial-gradient(circle, rgba(var(--vesta-primary-rgb), 0.28) 0%, transparent 70%);
  z-index: -1;
  opacity: 0.55;
  animation: vs-glow-pulse 2.4s ease-in-out infinite;
}

.vesta-spinner__logo {
  width: 22px;
  height: 22px;
  display: block;
}
.vesta-spinner__logo path {
  fill: none;
  stroke: url(../../../../../../../../../#vs-grad);
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.vesta-loader__label {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -0.005em;
  color: var(--vesta-text-primary);
  animation: vs-text-fade 2.4s ease-in-out infinite;
}
.vesta-loader__label::after {
  content: "";
  display: inline-block;
  width: 18px;
  text-align: left;
  animation: vs-dots 1.6s steps(4, end) infinite;
}

.vesta-loading-overlay {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px;
  width: 100%;
  min-height: min(60vh, 520px);
}
.vesta-loading-overlay--page {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: var(--vesta-bg-body);
}

.vesta-loader__meta {
  font-family: var(--vesta-font-mono);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--vesta-text-muted);
  display: flex;
  align-items: center;
  gap: 8px;
}
.vesta-loader__meta .vesta-loader__meta-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--vesta-success);
  box-shadow: 0 0 8px rgba(var(--vesta-success-rgb), 0.6);
  animation: vs-blink 1.4s ease-in-out infinite;
}

@keyframes vs-rotate-y {
  0% {
    transform: rotateY(0deg) rotateZ(-12deg);
  }
  100% {
    transform: rotateY(360deg) rotateZ(-12deg);
  }
}
@keyframes vs-rotate-x {
  0% {
    transform: rotateX(0deg) rotateZ(20deg);
  }
  100% {
    transform: rotateX(360deg) rotateZ(20deg);
  }
}
@keyframes vs-rotate-z {
  0% {
    transform: rotateZ(0deg);
  }
  100% {
    transform: rotateZ(360deg);
  }
}
@keyframes vs-core-pulse {
  0%, 100% {
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    transform: translate(-50%, -50%) scale(1.04);
  }
}
@keyframes vs-glow-pulse {
  0%, 100% {
    opacity: 0.4;
  }
  50% {
    opacity: 0.8;
  }
}
@keyframes vs-text-fade {
  0%, 100% {
    opacity: 0.65;
  }
  50% {
    opacity: 1;
  }
}
@keyframes vs-dots {
  0% {
    content: "";
  }
  25% {
    content: ".";
  }
  50% {
    content: "..";
  }
  75% {
    content: "...";
  }
  100% {
    content: "";
  }
}
@keyframes vs-blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
}
@media (prefers-reduced-motion: reduce) {
  .vesta-spinner__ring--outer,
  .vesta-spinner__ring--mid,
  .vesta-spinner__ring--inner,
  .vesta-spinner__core,
  .vesta-spinner__core::after,
  .vesta-loader__label,
  .vesta-loader__meta-dot {
    animation-duration: 6s;
  }
}
.vsk {
  --vsk-base: var(--vesta-bg-hover);
  --vsk-sheen: var(--vesta-bg-card);
  position: relative;
  overflow: hidden;
  border-radius: 6px;
  background: var(--vsk-base);
}
[data-theme=dark] .vsk {
  --vsk-base: rgba(255, 255, 255, 0.06);
  --vsk-sheen: rgba(255, 255, 255, 0.12);
}
.vsk::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent 0%, var(--vsk-sheen) 50%, transparent 100%);
  animation: vsk-sweep 1.4s ease-in-out infinite;
}

@keyframes vsk-sweep {
  100% {
    transform: translateX(100%);
  }
}
.vsk-line {
  height: 0.75rem;
}
.vsk-line + .vsk-line {
  margin-top: 0.5rem;
}
.vsk-line.vsk-line--sm {
  height: 0.625rem;
}
.vsk-line.vsk-line--lg {
  height: 1rem;
}

.vsk-w-25 {
  width: 25%;
}

.vsk-w-40 {
  width: 40%;
}

.vsk-w-60 {
  width: 60%;
}

.vsk-w-75 {
  width: 75%;
}

.vsk-w-100 {
  width: 100%;
}

.vsk-circle {
  border-radius: 9999px;
  flex: 0 0 auto;
}

.vsk-table {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.vsk-table__row {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0 0.75rem;
  min-height: 44px;
  border-bottom: 1px solid var(--vesta-border-subtle);
}

.vsk-table__cell {
  flex: 1 1 0;
  min-width: 0;
}

.vsk-table__row:nth-child(1) .vsk::after {
  animation-delay: 70ms;
}

.vsk-table__row:nth-child(2) .vsk::after {
  animation-delay: 140ms;
}

.vsk-table__row:nth-child(3) .vsk::after {
  animation-delay: 210ms;
}

.vsk-table__row:nth-child(4) .vsk::after {
  animation-delay: 280ms;
}

.vsk-table__row:nth-child(5) .vsk::after {
  animation-delay: 350ms;
}

.vsk-table__row:nth-child(6) .vsk::after {
  animation-delay: 420ms;
}

.vsk-table__row:nth-child(7) .vsk::after {
  animation-delay: 490ms;
}

.vsk-table__row:nth-child(8) .vsk::after {
  animation-delay: 560ms;
}

.vsk-table__row:nth-child(9) .vsk::after {
  animation-delay: 630ms;
}

.vsk-table__row:nth-child(10) .vsk::after {
  animation-delay: 700ms;
}

.vsk-table__row:nth-child(11) .vsk::after {
  animation-delay: 770ms;
}

.vsk-table__row:nth-child(12) .vsk::after {
  animation-delay: 840ms;
}

@media (prefers-reduced-motion: reduce) {
  .vsk::after {
    animation: none;
  }
}
@keyframes v-row-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.v-list-row,
.pt-row,
.tk-row {
  animation: v-row-in var(--motion-fast) both;
}
.v-list-row:nth-child(1),
.pt-row:nth-child(1),
.tk-row:nth-child(1) {
  animation-delay: 0ms;
}
.v-list-row:nth-child(2),
.pt-row:nth-child(2),
.tk-row:nth-child(2) {
  animation-delay: 22ms;
}
.v-list-row:nth-child(3),
.pt-row:nth-child(3),
.tk-row:nth-child(3) {
  animation-delay: 44ms;
}
.v-list-row:nth-child(4),
.pt-row:nth-child(4),
.tk-row:nth-child(4) {
  animation-delay: 66ms;
}
.v-list-row:nth-child(5),
.pt-row:nth-child(5),
.tk-row:nth-child(5) {
  animation-delay: 88ms;
}
.v-list-row:nth-child(6),
.pt-row:nth-child(6),
.tk-row:nth-child(6) {
  animation-delay: 110ms;
}
.v-list-row:nth-child(7),
.pt-row:nth-child(7),
.tk-row:nth-child(7) {
  animation-delay: 132ms;
}
.v-list-row:nth-child(8),
.pt-row:nth-child(8),
.tk-row:nth-child(8) {
  animation-delay: 154ms;
}
.v-list-row:nth-child(9),
.pt-row:nth-child(9),
.tk-row:nth-child(9) {
  animation-delay: 176ms;
}
.v-list-row:nth-child(10),
.pt-row:nth-child(10),
.tk-row:nth-child(10) {
  animation-delay: 198ms;
}
.v-list-row:nth-child(11),
.pt-row:nth-child(11),
.tk-row:nth-child(11) {
  animation-delay: 220ms;
}
.v-list-row:nth-child(12),
.pt-row:nth-child(12),
.tk-row:nth-child(12) {
  animation-delay: 242ms;
}
.v-list-row:nth-child(n+13),
.pt-row:nth-child(n+13),
.tk-row:nth-child(n+13) {
  animation-delay: 242ms;
}

.vesta-card,
.v-card,
.bento > * {
  transition: transform var(--motion-fast), box-shadow var(--motion-fast);
}
.vesta-card:hover,
.v-card:hover,
.bento > *:hover {
  transform: translateY(-2px);
  box-shadow: var(--vesta-shadow-lg, 0 10px 25px -5px rgba(15, 23, 42, 0.12));
}

.v-tab-panel,
.tab-pane.active {
  animation: v-fade-in var(--motion-fast) both;
}

@keyframes v-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .v-list-row,
  .pt-row,
  .tk-row,
  .v-tab-panel,
  .tab-pane.active {
    animation: none;
  }
  .vesta-card,
  .v-card,
  .bento > * {
    transition: none;
  }
  .vesta-card:hover,
  .v-card:hover,
  .bento > *:hover {
    transform: none;
  }
}
@keyframes toastIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes spinnerRot {
  to {
    transform: rotate(360deg);
  }
}
.vesta-toast-container {
  position: fixed;
  top: 24px;
  right: 20px;
  z-index: 1090;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 360px;
  pointer-events: none;
}

.vesta-toast {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: var(--vesta-radius-lg);
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  box-shadow: var(--vesta-shadow-md);
  font-size: 13px;
  color: var(--vesta-text-primary);
  pointer-events: all;
  animation: toastIn 0.22s ease;
}
.vesta-toast-success {
  border-color: rgba(34, 197, 94, 0.3);
}
.vesta-toast-success .vesta-toast-icon {
  color: var(--vesta-success);
}
.vesta-toast-warning {
  border-color: rgba(245, 158, 11, 0.3);
}
.vesta-toast-warning .vesta-toast-icon {
  color: var(--vesta-warning);
}
.vesta-toast-danger {
  border-color: rgba(239, 68, 68, 0.3);
}
.vesta-toast-danger .vesta-toast-icon {
  color: var(--vesta-danger);
}
.vesta-toast-info .vesta-toast-icon {
  color: var(--vesta-info);
}

.vesta-toast-icon {
  flex: none;
  width: 16px;
  height: 16px;
}

.vesta-toast-text {
  flex: 1;
  min-width: 0;
  line-height: 1.4;
}

.vesta-toast-close {
  width: 24px;
  height: 24px;
  flex: none;
  border: 0;
  background: none;
  cursor: pointer;
  color: var(--vesta-text-muted);
  display: grid;
  place-items: center;
  border-radius: 6px;
  padding: 0;
}
.vesta-toast-close:hover {
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-primary);
}

@keyframes pwaBannerIn {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.pwa-banner {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 1085;
  width: 340px;
  max-width: calc(100vw - 40px);
  padding: 16px;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  box-shadow: var(--vesta-shadow-lg, var(--vesta-shadow-md));
  animation: pwaBannerIn 0.24s ease;
}

.pwa-banner-head {
  display: flex;
  align-items: center;
  gap: 12px;
  align-items: flex-start;
  padding-right: 20px;
}

.pwa-banner-icon {
  flex: none;
  width: 22px;
  height: 22px;
  color: var(--vesta-primary);
  margin-top: 1px;
}

.pwa-banner-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--vesta-text-primary);
  line-height: 1.3;
}

.pwa-banner-text {
  margin-top: 2px;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--vesta-text-secondary);
}

.pwa-banner-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 14px;
}
.pwa-banner-actions .btn {
  flex: 1 1 auto;
  justify-content: center;
  white-space: nowrap;
}

.pwa-banner-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  flex: none;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  color: var(--vesta-text-muted);
  border-radius: 6px;
}
.pwa-banner-close:hover {
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-primary);
}

@media (max-width: 575.98px) {
  .pwa-banner {
    right: 12px;
    left: 12px;
    bottom: 12px;
    width: auto;
  }
}
@keyframes tcToastIn {
  from {
    opacity: 0;
    transform: translate(-50%, 8px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%);
  }
}
.theme-customizer .tc-grid {
  display: grid;
  grid-template-columns: 300px 1fr 460px;
  gap: 18px;
  align-items: start;
}
@media (max-width: 1399.98px) {
  .theme-customizer .tc-grid {
    grid-template-columns: 280px 1fr;
  }
  .theme-customizer .tc-preview {
    grid-column: 1/-1;
  }
}
@media (max-width: 767.98px) {
  .theme-customizer .tc-grid {
    grid-template-columns: 1fr;
  }
}

.tc-themes {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  overflow: hidden;
}

.tc-themes-head {
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: space-between;
  padding: 14px 16px;
  border-bottom: 1px solid var(--vesta-border-subtle);
}

.tc-themes-title {
  font-size: 13px;
  font-weight: 700;
}

.tc-themes-sub {
  font-size: 11px;
  color: var(--vesta-text-muted);
  margin-top: 1px;
}

.tc-theme-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 6px;
  max-height: calc(100vh - 380px);
  overflow: auto;
}

.tc-theme-row {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 10px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 10px;
  cursor: pointer;
  text-align: left;
  transition: background 0.15s, border-color 0.15s;
}
.tc-theme-row:hover {
  background: var(--vesta-bg-hover);
}
.tc-theme-row.editing {
  background: var(--vesta-primary-subtle);
  border-color: rgba(var(--vesta-primary-rgb), 0.35);
}

.tc-theme-swatches {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  flex: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  overflow: hidden;
  border: 1px solid var(--vesta-border);
}
.tc-theme-swatches span {
  display: block;
}
[data-theme=dark] .tc-theme-swatches {
  border-color: rgba(255, 255, 255, 0.08);
}

.tc-theme-meta {
  flex: 1;
  min-width: 0;
}

.tc-theme-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--vesta-text-primary);
  display: flex;
  align-items: center;
  gap: 6px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tc-theme-info {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--vesta-text-muted);
  margin-top: 2px;
}
.tc-theme-info i[data-lucide] {
  color: var(--vesta-text-muted);
}

.tc-sep {
  color: var(--vesta-text-muted);
  opacity: 0.5;
}

.tc-empty {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  padding: 32px 12px;
  color: var(--vesta-text-muted);
  font-size: 12.5px;
}

.tc-themes-foot {
  border-top: 1px solid var(--vesta-border-subtle);
  padding: 10px 14px;
  font-size: 10.5px;
  color: var(--vesta-text-muted);
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--vesta-font-mono);
}
.tc-themes-foot code {
  background: var(--vesta-bg-hover);
  padding: 1px 5px;
  border-radius: 4px;
  font-size: 10.5px;
}

.tc-row {
  margin-bottom: 14px;
}
.tc-row:last-child {
  margin-bottom: 0;
}

.tc-row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
@media (max-width: 575.98px) {
  .tc-row-2 {
    grid-template-columns: 1fr;
  }
}

.tc-label {
  display: block;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.tc-hint {
  font-size: 11px;
  color: var(--vesta-text-muted);
  margin-top: 6px;
}

.tc-divider {
  height: 1px;
  background: var(--vesta-border-subtle);
  margin: 18px 0 14px;
}

.tc-base-pick {
  display: flex;
  align-items: center;
  gap: 8px;
}

.tc-base {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 36px;
  padding: 0 12px;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 9px;
  font-size: 13px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
  cursor: pointer;
  transition: background 0.12s, border-color 0.12s;
}
.tc-base:hover {
  background: var(--vesta-bg-hover);
}
.tc-base.active {
  background: var(--vesta-primary-subtle);
  border-color: rgba(var(--vesta-primary-rgb), 0.5);
  color: var(--vesta-primary-active);
}

.tc-radius-pick {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

.tc-radius {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  padding: 10px 4px 8px;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 9px;
  cursor: pointer;
  transition: background 0.12s, border-color 0.12s;
}
.tc-radius:hover {
  background: var(--vesta-bg-hover);
}
.tc-radius.active {
  border-color: rgba(var(--vesta-primary-rgb), 0.5);
  background: var(--vesta-primary-subtle);
}

.tc-radius-shape {
  width: 28px;
  height: 22px;
  background: var(--vesta-text-primary);
  opacity: 0.82;
}

.tc-radius.active .tc-radius-shape {
  background: var(--vesta-primary);
  opacity: 1;
}

.tc-radius-label {
  font-size: 10.5px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
}

.tc-radius-val {
  font-size: 10px;
  color: var(--vesta-text-muted);
  font-family: var(--vesta-font-mono);
}

.tc-group {
  margin-bottom: 18px;
}
.tc-group:last-child {
  margin-bottom: 0;
}

.tc-group-title {
  font-size: var(--vesta-fs-2xs);
  font-weight: var(--vesta-fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--vesta-tracking-wider);
  color: var(--vesta-text-muted);
  margin-bottom: 8px;
}

.tc-tokens {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
@media (max-width: 991.98px) {
  .tc-tokens {
    grid-template-columns: 1fr;
  }
}

.tc-color {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 10px;
  background: var(--vesta-bg-body);
  border: 1px solid var(--vesta-border-subtle);
  border-radius: 9px;
}
[data-theme=dark] .tc-color {
  background: rgba(255, 255, 255, 0.02);
}

.tc-color-swatch {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  flex: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
  display: block;
}
.tc-color-swatch input[type=color] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  border: 0;
  padding: 0;
}

.tc-color-meta {
  flex: 1;
  min-width: 0;
}

.tc-color-label {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
}

.tc-color-hint {
  font-weight: 500;
  color: var(--vesta-text-muted);
}

.tc-color-hex {
  display: block;
  width: 100%;
  margin-top: 4px;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 6px;
  padding: 4px 8px;
  font-family: var(--vesta-font-mono);
  font-size: 11.5px;
  font-weight: 600;
  color: var(--vesta-text-primary);
  text-transform: uppercase;
}
.tc-color-hex:focus {
  outline: none;
  border-color: var(--vesta-primary);
  box-shadow: var(--focus-ring);
}

.tc-preview {
  position: sticky;
  top: 12px;
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  background: var(--vesta-bg-card);
  overflow: hidden;
  box-shadow: var(--vesta-shadow-sm);
}

.tc-preview-head {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: space-between;
  padding: 12px 14px;
  border-bottom: 1px solid var(--vesta-border-subtle);
}

.tc-preview-title {
  font-size: 12.5px;
  font-weight: 700;
  display: inline-flex;
  gap: 6px;
  align-items: center;
}

.tc-preview-sub {
  font-size: 11px;
}

.tc-preview-shell {
  display: grid;
  grid-template-columns: 130px 1fr;
  height: 380px;
  background: var(--vesta-bg-body);
  color: var(--vesta-text-primary);
  border-radius: 0 0 var(--vesta-radius-lg) var(--vesta-radius-lg);
  overflow: hidden;
  font-size: 12px;
}

.tc-prv-sidebar {
  background: var(--vesta-bg-sidebar);
  color: #CBD5E1;
  padding: 12px 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.tc-prv-brand {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 6px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 8px;
}

.tc-prv-logo {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: var(--vesta-primary);
  display: grid;
  place-items: center;
  color: white;
  font-size: 11px;
  font-weight: 800;
}

.tc-prv-brandtxt {
  font-size: 11px;
  font-weight: 700;
  color: white;
}

.tc-prv-navitem {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  border-radius: 6px;
  font-size: 10.5px;
  font-weight: 500;
  color: #CBD5E1;
}
.tc-prv-navitem.active {
  background: rgba(var(--vesta-primary-rgb), 0.18);
  color: white;
}
.tc-prv-navitem.active .tc-dot {
  background: var(--vesta-primary);
  opacity: 1;
}

.tc-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.5;
  flex: none;
}

.tc-badge {
  margin-left: auto;
  background: rgba(var(--vesta-primary-rgb), 0.22);
  color: white;
  font-size: 9px;
  padding: 1px 5px;
  border-radius: 999px;
  font-weight: 700;
}

.tc-prv-main {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  background: var(--vesta-bg-body);
}

.tc-prv-topbar {
  height: 40px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--vesta-bg-card);
  border-bottom: 1px solid var(--vesta-border);
}
.tc-prv-topbar .btn {
  height: 24px;
  padding: 0 8px;
  font-size: 10.5px;
}
.tc-prv-topbar .btn-icon {
  width: 24px;
}

.tc-prv-search {
  flex: 1;
  max-width: 200px;
  padding: 5px 9px;
  background: var(--vesta-bg-body);
  border: 1px solid var(--vesta-border);
  border-radius: 7px;
  font-size: 10.5px;
  color: var(--vesta-text-muted);
}

.tc-prv-body {
  padding: 12px;
  overflow: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tc-prv-statgrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.tc-prv-stat {
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 8px;
  padding: 8px 10px;
}
.tc-prv-stat-label {
  font-size: 9.5px;
  color: var(--vesta-text-secondary);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.tc-prv-stat-value {
  font-size: 18px;
  font-weight: 700;
  color: var(--vesta-text-primary);
  margin: 2px 0 4px;
  line-height: 1.1;
}

.tc-prv-card {
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 8px;
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.tc-prv-card-title {
  font-size: 11px;
  font-weight: 700;
  color: var(--vesta-text-primary);
  margin-bottom: 2px;
}

.tc-prv-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 10.5px;
  color: var(--vesta-text-primary);
  padding: 4px 0;
  border-top: 1px solid var(--vesta-border-subtle);
}
.tc-prv-row:first-of-type {
  border-top: 0;
}

.tc-toast {
  position: fixed;
  bottom: 100px;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: var(--vesta-text-primary);
  color: var(--vesta-bg-card);
  border-radius: 10px;
  font-size: 12.5px;
  font-weight: 600;
  box-shadow: var(--vesta-shadow-lg);
  z-index: 2000;
  animation: tcToastIn 0.25s cubic-bezier(0.2, 0.8, 0.2, 1.05);
}
.tc-toast.success {
  background: #15803D;
  color: white;
}
.tc-toast.warning {
  background: #B45309;
  color: white;
}

.vf-perm-matrix-wrap {
  overflow-x: auto;
  border-radius: var(--vesta-radius);
  border: 1px solid var(--vesta-border);
}

.vf-perm-matrix {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.vf-perm-matrix th, .vf-perm-matrix td {
  padding: var(--space-4) var(--space-5);
  border-bottom: 1px solid var(--vesta-border-subtle);
  vertical-align: middle;
}
.vf-perm-matrix thead tr {
  background: var(--vesta-bg-hover);
  position: sticky;
  top: 0;
  z-index: 1;
}
.vf-perm-matrix thead th {
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--vesta-text-secondary);
  border-bottom: 2px solid var(--vesta-border);
  white-space: nowrap;
}
.vf-perm-matrix .vf-perm-col-label {
  min-width: 220px;
  max-width: 300px;
}
.vf-perm-matrix .vf-perm-col-role {
  width: 90px;
  min-width: 80px;
  text-align: center;
}
.vf-perm-matrix .vf-perm-role-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2);
}
.vf-perm-matrix .vf-perm-role-name {
  display: block;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--vesta-text-secondary);
}
.vf-perm-matrix .vf-perm-module-row td.vf-perm-module-header {
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary-active);
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: var(--space-3) var(--space-5);
  border-bottom: 1px solid #C7D2FE;
}
.vf-perm-matrix .vf-perm-module-row td.vf-perm-module-header .vf-icon {
  margin-right: var(--space-2);
  opacity: 0.7;
}
.vf-perm-matrix .vf-perm-row {
  transition: background 80ms ease;
}
.vf-perm-matrix .vf-perm-row:hover {
  background: var(--vesta-bg-hover);
}
.vf-perm-matrix .vf-perm-row:last-child td {
  border-bottom: none;
}
.vf-perm-matrix .vf-perm-label-wrap {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.vf-perm-matrix .vf-perm-desc {
  color: var(--vesta-text-primary);
  font-weight: 500;
  line-height: 1.3;
}
.vf-perm-matrix .vf-perm-code {
  font-size: 11px;
  color: var(--vesta-text-muted);
  font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
  letter-spacing: 0.02em;
}
.vf-perm-matrix .vf-perm-check {
  color: var(--vesta-success);
  --lucide-size: 16px;
}
.vf-perm-matrix .vf-perm-none {
  color: var(--vesta-border);
  --lucide-size: 14px;
}

.vf-perm-edit-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  max-height: 60vh;
  overflow-y: auto;
  padding-right: var(--space-3);
}

.vf-perm-edit-module {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.vf-perm-edit-module-label {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--vesta-primary-active);
  padding: var(--space-2) 0;
  border-bottom: 1px solid var(--vesta-primary-subtle);
  margin-bottom: var(--space-1);
}

.am-modules {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 12px;
}

.am-mod-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: var(--vesta-radius);
  border: 1px solid var(--vesta-border);
  background: var(--vesta-bg-surface);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.am-mod-card.on {
  border-color: rgba(var(--vesta-primary-rgb), 0.4);
  box-shadow: inset 3px 0 0 var(--vesta-primary);
}

.am-mod-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--vesta-radius-sm);
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-muted);
}
.am-mod-card.on .am-mod-icon {
  background: rgba(var(--vesta-primary-rgb), 0.12);
  color: var(--vesta-primary);
}

.am-mod-text {
  flex: 1 1 auto;
  min-width: 0;
}

.am-mod-name {
  font-weight: 600;
  line-height: 1.2;
}

.am-mod-code {
  color: var(--vesta-text-muted);
  font-size: 12px;
}

.am-email-test-field {
  flex: 1 1 260px;
}

.am-access-intro {
  color: var(--vesta-text-muted);
  font-size: 13px;
  margin: 0 0 14px;
}

.am-access-bulk {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.am-access-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.am-access-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-radius: var(--vesta-radius);
  border: 1px solid var(--vesta-border);
  background: var(--vesta-bg-surface);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.am-access-row.on {
  border-color: rgba(var(--vesta-primary-rgb), 0.4);
  box-shadow: inset 3px 0 0 var(--vesta-primary);
}

.am-access-text {
  flex: 1 1 auto;
  min-width: 0;
}

.am-access-title {
  font-weight: 600;
  line-height: 1.2;
}

.notif-dropdown {
  width: 360px;
  max-width: calc(100vw - 24px);
  padding: 0;
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  box-shadow: var(--vesta-shadow-lg);
  overflow: hidden;
}
[data-theme=dark] .notif-dropdown {
  background: var(--vesta-bg-sidebar-2);
  border-color: var(--vesta-border);
}

.notif-header {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: space-between;
  padding: 12px 14px;
  border-bottom: 1px solid var(--vesta-border-subtle);
}
[data-theme=dark] .notif-header {
  border-bottom-color: var(--vesta-border);
}

.notif-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--vesta-text-primary);
}

.notif-list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 380px;
  overflow-y: auto;
}

.notif-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 11px 14px;
  border-bottom: 1px solid var(--vesta-border-subtle);
  cursor: pointer;
  transition: background var(--motion-fast);
}
.notif-item:last-child {
  border-bottom: none;
}
.notif-item:hover {
  background: var(--vesta-bg-hover);
}
[data-theme=dark] .notif-item {
  border-bottom-color: rgba(255, 255, 255, 0.06);
}
[data-theme=dark] .notif-item:hover {
  background: rgba(255, 255, 255, 0.04);
}

.notif-item--unread {
  background: var(--vesta-primary-subtle);
}
.notif-item--unread:hover {
  background: var(--vesta-primary-subtle);
}
.notif-item--unread .notif-item-title {
  font-weight: 700;
}
[data-theme=dark] .notif-item--unread {
  background: rgba(var(--vesta-primary-rgb), 0.14);
}
[data-theme=dark] .notif-item--unread:hover {
  background: rgba(var(--vesta-primary-rgb), 0.18);
}

.notif-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  border-radius: var(--vesta-radius);
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary);
}
.notif-icon svg {
  width: 17px;
  height: 17px;
}
[data-theme=dark] .notif-icon {
  background: rgba(var(--vesta-primary-rgb), 0.16);
}

.notif-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}

.notif-item-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--vesta-text-primary);
  line-height: 1.35;
}

.notif-item-body {
  font-size: 12px;
  color: var(--vesta-text-secondary);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.notif-item-time {
  font-size: 11px;
  color: var(--vesta-text-muted);
  margin-top: 2px;
}

.notif-empty {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  justify-content: center;
  padding: 32px 16px;
  color: var(--vesta-text-muted);
  font-size: 13px;
}
.notif-empty svg {
  width: 28px;
  height: 28px;
}

.notif-footer {
  display: flex;
  justify-content: center;
  padding: 8px;
  border-top: 1px solid var(--vesta-border-subtle);
}
[data-theme=dark] .notif-footer {
  border-top-color: var(--vesta-border);
}

.notif-page-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
}

.notif-page-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  transition: border-color var(--motion-fast), box-shadow var(--motion-fast);
}
.notif-page-item:hover {
  box-shadow: var(--vesta-shadow-sm);
}
[data-theme=dark] .notif-page-item {
  background: var(--vesta-bg-sidebar-2);
}

.notif-page-item--unread {
  border-left: 3px solid var(--vesta-primary);
  background: var(--vesta-primary-subtle);
}
.notif-page-item--unread .notif-page-title {
  font-weight: 700;
}
[data-theme=dark] .notif-page-item--unread {
  background: rgba(var(--vesta-primary-rgb), 0.12);
}

.notif-page-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  border-radius: var(--vesta-radius);
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary);
}
.notif-page-icon svg {
  width: 19px;
  height: 19px;
}
[data-theme=dark] .notif-page-icon {
  background: rgba(var(--vesta-primary-rgb), 0.16);
}

.notif-page-body {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  flex: 1;
}

.notif-page-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--vesta-text-primary);
}

.notif-page-text {
  font-size: 13px;
  color: var(--vesta-text-secondary);
  line-height: 1.45;
}

.notif-page-meta {
  font-size: 11px;
  color: var(--vesta-text-muted);
  margin-top: 2px;
}

.notif-page-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  align-self: flex-start;
}

.cookie-banner {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 1080;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 20px;
  padding: 16px 20px;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  box-shadow: var(--vesta-shadow-lg);
}
@media (min-width: 768px) {
  .cookie-banner {
    left: auto;
    max-width: 640px;
  }
}

.cookie-banner-body {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  flex: 1 1 320px;
}

.cookie-banner-text p {
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--vesta-text-secondary);
}

.cookie-banner-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.cookie-cat {
  padding: 12px 0;
  border-bottom: 1px solid var(--vesta-border-subtle);
}
.cookie-cat:last-child {
  border-bottom: 0;
}

.cookie-cat-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.cookie-cat-title {
  font-weight: 600;
}

.cookie-cat-desc {
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--vesta-text-secondary);
}

.dfb {
  display: grid;
  grid-template-columns: 17rem 1fr;
  gap: 16px;
  align-items: start;
}
@media (max-width: 992px) {
  .dfb {
    grid-template-columns: 1fr;
  }
}

.dfb-palette {
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  padding: 14px;
  background: var(--vesta-bg-card);
  box-shadow: var(--vesta-shadow-sm);
  position: sticky;
  top: 16px;
}
[data-theme=dark] .dfb-palette {
  background: var(--vesta-bg-sidebar-2);
  border-color: var(--vesta-border-subtle);
}

.dfb-palette-group + .dfb-palette-group,
.dfb-palette-hint {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--vesta-border-subtle);
}

.dfb-palette-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--vesta-text-muted);
  margin-bottom: 8px;
}

.dfb-palette-hint {
  font-size: 12px;
  color: var(--vesta-text-muted);
  line-height: 1.45;
}

.dfb-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  margin-bottom: 6px;
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius);
  background: var(--vesta-bg-card);
  font-size: 13px;
  font-weight: 500;
  color: var(--vesta-text-primary);
  cursor: grab;
  user-select: none;
  transition: border-color var(--motion-fast), box-shadow var(--motion-fast), transform var(--motion-fast);
}
[data-theme=dark] .dfb-chip {
  background: var(--vesta-bg-sidebar);
  border-color: var(--vesta-border-subtle);
}
.dfb-chip:hover {
  border-color: var(--vesta-primary);
  box-shadow: var(--vesta-shadow-sm);
  transform: translateY(-1px);
}
.dfb-chip:hover .dfb-iconbtn {
  opacity: 1;
}
.dfb-chip:active {
  cursor: grabbing;
  transform: scale(0.98);
}
.dfb-chip .dfb-iconbtn {
  opacity: 0;
  margin-left: auto;
}

.dfb-chip-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex: none;
  border-radius: var(--vesta-radius-sm);
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-secondary);
}
[data-theme=dark] .dfb-chip-ico {
  background: var(--vesta-bg-sidebar-2);
}

.dfb-chip-label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dfb-chip-type .dfb-chip-ico,
.dfb-chip-card .dfb-chip-ico {
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary);
}

.dfb-chip-card {
  border-style: dashed;
}

.dfb-canvas {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.dfb-toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
}
.dfb-toolbar .dfb-toolbar-spacer {
  flex: 1;
}
.dfb-toolbar .btn i {
  width: 14px;
  height: 14px;
  vertical-align: -2px;
}

.dfb-section {
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  padding: 14px;
  background: var(--vesta-bg-card);
  box-shadow: var(--vesta-shadow-sm);
}
[data-theme=dark] .dfb-section {
  background: var(--vesta-bg-sidebar-2);
  border-color: var(--vesta-border-subtle);
}

.dfb-section-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.dfb-section-head .dfb-section-grip {
  flex: none;
  color: var(--vesta-text-muted);
}
.dfb-section-head input {
  max-width: 20rem;
  font-weight: 600;
}

.dfb-grid {
  gap: 10px;
  padding: 10px;
  min-height: 4.5rem;
  border: 1.5px dashed var(--vesta-border-input);
  border-radius: var(--vesta-radius);
  transition: border-color var(--motion-fast), background var(--motion-fast), box-shadow var(--motion-fast);
}
.dfb-grid:hover {
  border-color: var(--vesta-primary);
  box-shadow: inset 0 0 0 1px rgba(var(--vesta-primary-rgb), 0.2);
}

.dfb-grid-nested {
  margin: 0 10px 10px;
  background: var(--vesta-bg-card);
}
[data-theme=dark] .dfb-grid-nested {
  background: var(--vesta-bg-sidebar-2);
}

.dfb-grid.dfb-drop-active {
  border-color: var(--vesta-primary);
  border-style: solid;
  background: var(--vesta-primary-subtle);
  box-shadow: inset 0 0 0 1px rgba(var(--vesta-primary-rgb), 0.35);
}

.dfb-tile.dfb-drop-before {
  position: relative;
  box-shadow: inset 3px 0 0 0 var(--vesta-primary), var(--vesta-shadow-sm);
}
.dfb-tile.dfb-drop-before::before {
  content: "";
  position: absolute;
  top: 4px;
  bottom: 4px;
  left: -6px;
  width: 3px;
  border-radius: 2px;
  background: var(--vesta-primary);
}

.dfb-emptyhint {
  font-size: 12px;
  color: var(--vesta-text-muted);
  text-align: center;
  padding: 14px 4px;
  align-self: center;
}

.dfb-tile {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px 10px 10px;
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius);
  background: var(--vesta-bg-card);
  box-shadow: var(--vesta-shadow-sm);
}
[data-theme=dark] .dfb-tile {
  background: var(--vesta-bg-sidebar);
  border-color: var(--vesta-border-subtle);
}

.dfb-tile-head {
  display: flex;
  align-items: center;
  gap: 4px;
}
.dfb-tile-head .dfb-tile-grip {
  flex: none;
  color: var(--vesta-text-muted);
  cursor: grab;
}
.dfb-tile-head .dfb-tile-ico {
  width: 15px;
  height: 15px;
  flex: none;
  color: var(--vesta-primary);
}
.dfb-tile-head input {
  flex: 1;
  min-width: 0;
  font-weight: 600;
}

.dfb-tile-label {
  flex: 1;
  min-width: 0;
  text-align: left;
  padding: 2px 4px;
  border: 0;
  background: transparent;
  font-size: 13px;
  font-weight: 600;
  color: var(--vesta-text-primary);
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-radius: var(--vesta-radius-sm);
}
.dfb-tile-label:hover {
  color: var(--vesta-primary);
  background: var(--vesta-primary-subtle);
}

.dfb-tile-field {
  pointer-events: none;
}

.dfb-tile-foot {
  display: flex;
  align-items: center;
  gap: 8px;
}
.dfb-tile-foot .dfb-foot-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--vesta-text-muted);
}

.dfb-tile-card {
  background: rgba(var(--vesta-primary-rgb), 0.04);
  border-color: var(--vesta-primary-subtle);
  padding: 8px 0 0;
  gap: 0;
}
.dfb-tile-card .dfb-tile-head {
  padding: 0 10px 8px;
}
.dfb-tile-card .dfb-tile-foot {
  padding: 0 12px 10px;
}

.dfb-width {
  display: inline-flex;
  border: 1px solid var(--vesta-border-input);
  border-radius: var(--vesta-radius-sm);
  overflow: hidden;
  margin-left: auto;
}
[data-theme=dark] .dfb-width {
  border-color: var(--vesta-border-subtle);
}

.dfb-width-opt {
  padding: 3px 8px;
  border: 0;
  background: var(--vesta-bg-card);
  font-size: 11.5px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--vesta-text-secondary);
  cursor: pointer;
  transition: background var(--motion-fast), color var(--motion-fast);
}
.dfb-width-opt + .dfb-width-opt {
  border-left: 1px solid var(--vesta-border-subtle);
}
.dfb-width-opt:hover {
  background: var(--vesta-bg-hover);
}
.dfb-width-opt.active {
  background: var(--vesta-primary);
  color: var(--vesta-text-inverse);
}
[data-theme=dark] .dfb-width-opt {
  background: var(--vesta-bg-sidebar-2);
}
[data-theme=dark] .dfb-width-opt:hover {
  background: var(--vesta-bg-sidebar);
}
[data-theme=dark] .dfb-width-opt.active {
  background: var(--vesta-primary);
  color: #fff;
}

.dfb-iconbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  flex: none;
  padding: 0;
  border: 1px solid transparent;
  border-radius: var(--vesta-radius-sm);
  background: transparent;
  color: var(--vesta-text-secondary);
  cursor: pointer;
  transition: background var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast), opacity var(--motion-fast);
}
.dfb-iconbtn:hover {
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-primary);
}
[data-theme=dark] .dfb-iconbtn:hover {
  background: var(--vesta-bg-sidebar);
}
.dfb-iconbtn.dfb-iconbtn-danger:hover {
  background: var(--vesta-danger-subtle);
  color: var(--vesta-danger);
  border-color: rgba(var(--vesta-danger-rgb), 0.3);
}

.dfb-canvas-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 32px 16px;
  border: 1.5px dashed var(--vesta-border-input);
  border-radius: var(--vesta-radius-lg);
  color: var(--vesta-text-muted);
  font-size: 13px;
}
.dfb-canvas-empty i {
  width: 28px;
  height: 28px;
  opacity: 0.6;
}

.dfb-newfield-type {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.25rem 0.6rem;
  margin-bottom: 0.75rem;
  border-radius: 2rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--vesta-primary);
  background: var(--vesta-primary-subtle);
}

.dfb-preview {
  margin-top: 4px;
  padding: 16px;
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  background: var(--vesta-bg-card);
  box-shadow: var(--vesta-shadow-sm);
}
[data-theme=dark] .dfb-preview {
  background: var(--vesta-bg-sidebar-2);
  border-color: var(--vesta-border-subtle);
}
.dfb-preview .dyn-section + .dyn-section {
  margin-top: 18px;
}

.dfb-preview-title {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 14px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--vesta-border-subtle);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--vesta-text-muted);
}
.dfb-preview-title i {
  width: 15px;
  height: 15px;
}

.dfp-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.dfp-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
}
.dfp-label .dfp-req {
  color: var(--vesta-danger);
  margin-left: 2px;
}

.dfp-input {
  height: 34px;
  border: 1px solid var(--vesta-border-input);
  border-radius: var(--vesta-radius-sm);
  background: var(--vesta-bg-input);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 8px;
}
.dfp-input i {
  width: 15px;
  height: 15px;
  color: var(--vesta-text-muted);
}
[data-theme=dark] .dfp-input {
  background: var(--vesta-bg-sidebar-2);
  border-color: var(--vesta-border-subtle);
}

.dfp-switch {
  width: 38px;
  height: 22px;
  border-radius: var(--vesta-radius-full);
  background: var(--vesta-border-input);
  position: relative;
}
.dfp-switch::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--vesta-bg-card);
  box-shadow: var(--vesta-shadow-sm);
}

.dyn-section + .dyn-section {
  margin-top: 18px;
}

.dyn-section-title {
  font-weight: 600;
  margin-bottom: 0.75rem;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid var(--vesta-border);
}
[data-theme=dark] .dyn-section-title {
  border-color: var(--vesta-border-subtle);
}

.dyn-card {
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius);
  padding: 12px 14px;
  background: var(--vesta-bg-card);
}
[data-theme=dark] .dyn-card {
  background: var(--vesta-bg-sidebar-2);
  border-color: var(--vesta-border-subtle);
}

.dyn-card-title {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--vesta-text-muted);
  margin-bottom: 10px;
}

.vesta-signature-pad {
  display: inline-block;
}
.vesta-signature-pad__canvas {
  display: block;
  width: 100%;
  max-width: 600px;
  height: 200px;
  background-color: #fff;
  border: 1px dashed var(--vesta-border);
  border-radius: var(--vesta-radius-md, 8px);
  touch-action: none;
  cursor: crosshair;
}

.vesta-density-toggle.is-compact {
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary);
  border-color: transparent;
}

[data-density=compact] .v-list-head,
[data-density=compact] .v-list-row {
  padding-top: 5px;
  padding-bottom: 5px;
}
[data-density=compact] .vl-detail {
  margin-top: 0.35rem;
  margin-bottom: 0.35rem;
  padding: 0.7rem 0.9rem;
}
[data-density=compact] .tk-thead,
[data-density=compact] .tk-row {
  padding-top: 4px;
  padding-bottom: 4px;
}
[data-density=compact] .tk-title-meta {
  margin-top: 0;
}
@container vlist (max-width: 720px) {
  [data-density=compact] .v-list-row {
    padding-top: 10px;
    padding-bottom: 10px;
    row-gap: 7px;
  }
}

@keyframes brainMsgIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes brainDot {
  0%, 80%, 100% {
    transform: scale(0.5);
    opacity: 0.4;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes brainOrbPulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(var(--vesta-primary-rgb), 0.35);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(var(--vesta-primary-rgb), 0);
  }
}
@keyframes brainCaret {
  50% {
    opacity: 0;
  }
}
@keyframes brainFloat {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-3px);
  }
}
.brain-shell {
  height: 100%;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 14px;
  padding: 18px 20px;
  min-height: 0;
}
@media (max-width: 1100px) {
  .brain-shell {
    flex-direction: column;
  }
}

.brain-side {
  flex: none;
  width: 320px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  background: var(--vesta-bg-card);
  overflow-y: auto;
}
@media (max-width: 1100px) {
  .brain-side {
    width: 100%;
    flex: none;
  }
}

.brain-side-head {
  display: flex;
  align-items: center;
  gap: 8px;
  align-items: center;
}
.brain-side-head h2 {
  font-size: 15px;
  font-weight: 800;
  margin: 0;
  color: var(--vesta-text-primary);
}

.brain-side-empty {
  font-size: 13px;
  color: var(--vesta-text-secondary);
  margin: 0;
}

.brain-side-head-sep {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--vesta-border);
}

.brain-side-note {
  font-size: 12px;
  color: var(--vesta-text-secondary);
  margin: 0 0 10px;
  font-style: italic;
}

.brain-auto-master {
  display: flex;
  align-items: center;
  gap: 8px;
  align-items: center;
  font-size: 13px;
  color: var(--vesta-text-primary);
  margin: 4px 0 12px;
  cursor: pointer;
}

.brain-automations {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.brain-automation {
  display: flex;
  align-items: center;
  gap: 10px;
  align-items: center;
  padding: 9px 11px;
  border-radius: var(--vesta-radius-md);
  border: 1px solid var(--vesta-border);
  background: var(--vesta-surface);
}
.brain-automation.is-off {
  opacity: 0.6;
}
.brain-automation .brain-automation-icon {
  color: var(--vesta-brand);
  flex: none;
}
.brain-automation .brain-automation-body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.brain-automation .brain-automation-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--vesta-text-primary);
}
.brain-automation .brain-automation-mode select {
  font-size: 11px;
  padding: 2px 6px;
  border-radius: var(--vesta-radius-sm);
  border: 1px solid var(--vesta-border);
  background: var(--vesta-bg);
  color: var(--vesta-text-secondary);
}
.brain-automation .brain-automation-toggle {
  flex: none;
}

.brain-proposals {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.brain-proposal {
  padding: 10px 11px;
  border-radius: var(--vesta-radius-md);
  border: 1px solid var(--vesta-border);
  background: var(--vesta-surface);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.brain-proposal .brain-proposal-text {
  font-size: 12.5px;
  color: var(--vesta-text-primary);
}
.brain-proposal .brain-proposal-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.brain-proposal .brain-proposal-ok,
.brain-proposal .brain-proposal-no {
  font-size: 12px;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: var(--vesta-radius-sm);
  border: 1px solid var(--vesta-border);
  cursor: pointer;
}
.brain-proposal .brain-proposal-ok {
  background: var(--vesta-brand);
  color: #fff;
  border-color: transparent;
}
.brain-proposal .brain-proposal-no {
  background: transparent;
  color: var(--vesta-text-secondary);
}

.brain-insights {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.brain-insight {
  display: flex;
  align-items: center;
  gap: 10px;
  align-items: flex-start;
  padding: 11px 12px;
  border-radius: var(--vesta-radius-md);
  background: var(--vesta-bg-subtle);
  border-left: 3px solid var(--vesta-border);
}
.brain-insight-icon {
  color: var(--vesta-text-secondary);
  flex: none;
  margin-top: 1px;
}
.brain-insight-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.brain-insight-text {
  font-size: 13px;
  line-height: 1.4;
  color: var(--vesta-text-primary);
}
.brain-insight-tag {
  align-self: flex-start;
  font-size: 10px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 999px;
  color: var(--vesta-primary-strong);
  background: var(--vesta-primary-subtle);
}
.brain-insight-critica {
  border-left-color: var(--vesta-danger);
}
.brain-insight-alta {
  border-left-color: var(--vesta-warning);
}
.brain-insight-media {
  border-left-color: var(--vesta-primary);
}
.brain-insight-bassa {
  border-left-color: var(--vesta-border);
}

.brain-top {
  flex: none;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.brain-top-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  align-items: center;
}

.brain-orb {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(135deg, var(--vesta-primary), var(--vesta-primary-hover));
  box-shadow: 0 6px 18px -6px rgba(var(--vesta-primary-rgb), 0.6);
  animation: brainFloat 4s ease-in-out infinite;
}

.brain-top-title {
  display: flex;
  align-items: center;
  gap: 10px;
  align-items: center;
}
.brain-top-title h1 {
  font-size: 22px;
  font-weight: 800;
  margin: 0;
  color: var(--vesta-text-primary);
}

.brain-badge {
  display: flex;
  align-items: center;
  gap: 5px;
  align-items: center;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 999px;
  color: var(--vesta-primary-strong);
  background: var(--vesta-primary-subtle);
}
.brain-badge::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--vesta-primary);
}

.brain-top-sub {
  margin: 3px 0 0;
  font-size: 13px;
  color: var(--vesta-text-secondary);
}

.brain-top-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.brain-top-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  align-items: center;
  font-size: 13px;
  font-weight: 500;
  padding: 7px 13px;
  border-radius: 10px;
  border: 1px solid var(--vesta-border);
  background: var(--vesta-bg-card);
  color: var(--vesta-text-primary);
  cursor: pointer;
  transition: border-color 0.12s, background 0.12s;
}
.brain-top-btn:hover {
  border-color: var(--vesta-primary);
  background: var(--vesta-primary-subtle);
}
.brain-top-btn [data-lucide] {
  color: var(--vesta-primary);
}

.brain-body {
  flex: 1;
  min-height: 0;
  display: flex;
  justify-content: center;
}

.brain-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  background: var(--vesta-bg-card);
  overflow: hidden;
}

.brain-hero {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
  padding: 24px 16px;
  animation: brainMsgIn 0.35s ease both;
}

.brain-orb-xl {
  width: 64px;
  height: 64px;
  border-radius: 20px;
  margin-bottom: 6px;
}

.brain-hero-title {
  display: flex;
  align-items: center;
  gap: 10px;
  align-items: center;
}
.brain-hero-title h1 {
  font-size: 26px;
  font-weight: 800;
  margin: 0;
  color: var(--vesta-text-primary);
}

.brain-hero-sub {
  margin: 0;
  font-size: 14px;
  color: var(--vesta-text-secondary);
  max-width: 52ch;
  line-height: 1.55;
}

.brain-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
  max-width: 640px;
  margin-top: 18px;
}
@media (max-width: 700px) {
  .brain-cards {
    grid-template-columns: minmax(0, 1fr);
  }
}

.brain-suggestion {
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
  padding: 14px 16px;
  border-radius: var(--vesta-radius-lg);
  border: 1px solid var(--vesta-border);
  background: var(--vesta-bg-body);
  cursor: pointer;
  transition: border-color 0.14s, box-shadow 0.14s, transform 0.14s;
}
.brain-suggestion:hover {
  border-color: var(--vesta-primary);
  box-shadow: 0 8px 24px -12px rgba(var(--vesta-primary-rgb), 0.45);
  transform: translateY(-2px);
}
.brain-suggestion:hover .brain-suggestion-go {
  opacity: 1;
  transform: none;
}

.brain-suggestion-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  color: var(--vesta-primary);
  background: var(--vesta-primary-subtle);
}

.brain-suggestion-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.brain-suggestion-title {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--vesta-text-primary);
}

.brain-suggestion-desc {
  font-size: 12.5px;
  color: var(--vesta-text-muted);
  line-height: 1.4;
}

.brain-suggestion-go {
  flex: 0 0 auto;
  margin-left: auto;
  color: var(--vesta-primary);
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity 0.14s, transform 0.14s;
  width: 16px;
  height: 16px;
}

.brain-context {
  display: flex;
  align-items: center;
  gap: 8px;
}
.brain-context > [data-lucide] {
  color: var(--vesta-text-muted);
}
.brain-context .brain-context-label {
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 600;
  color: var(--vesta-text-muted);
  white-space: nowrap;
}
.brain-context > :last-child {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 340px;
}

.brain-needs-client .brain-action-head [data-lucide] {
  color: var(--vesta-primary);
}

.brain-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.brain-welcome {
  align-self: center;
  max-width: 74%;
  text-align: center;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--vesta-text-secondary);
  background: var(--vesta-primary-subtle);
  border: 1px solid rgba(var(--vesta-primary-rgb), 0.18);
  border-radius: var(--vesta-radius-lg);
  padding: 12px 18px;
  animation: brainMsgIn 0.3s ease both;
}

.brain-log {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.brain-msg {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  animation: brainMsgIn 0.28s ease both;
}

.brain-avatar {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
}

.brain-msg-user {
  flex-direction: row-reverse;
}
.brain-msg-user .brain-avatar {
  color: var(--vesta-text-secondary);
  background: var(--vesta-bg-subtle);
}
.brain-msg-user .brain-bubble {
  background: var(--vesta-primary);
  color: #fff;
  border-bottom-right-radius: 4px;
}

.brain-msg-ai .brain-avatar {
  color: #fff;
  background: linear-gradient(135deg, var(--vesta-primary), var(--vesta-primary-hover));
  animation: brainOrbPulse 2.4s ease-in-out infinite;
}
.brain-msg-ai .brain-bubble {
  background: var(--vesta-bg-body);
  border: 1px solid var(--vesta-border);
  border-bottom-left-radius: 4px;
}

.brain-bubble {
  max-width: 80%;
  padding: 13px 15px;
  border-radius: var(--vesta-radius-lg);
  font-size: 14px;
  line-height: 1.55;
  color: var(--vesta-text-primary);
}

.brain-typing {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--vesta-text-muted);
  font-size: 13px;
}
.brain-typing::before, .brain-typing::after {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--vesta-primary);
  animation: brainDot 1.2s infinite ease-in-out;
}
.brain-typing::after {
  animation-delay: 0.2s;
}

.brain-answer {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.brain-answer-text {
  margin: 0;
  white-space: pre-wrap;
}
.brain-answer-text.is-typing::after {
  content: "▍";
  color: var(--vesta-primary);
  animation: brainCaret 1s step-end infinite;
  margin-left: 1px;
}

.brain-action {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 12px 14px;
  border-radius: var(--vesta-radius-md);
  background: var(--vesta-primary-subtle);
  border: 1px solid rgba(var(--vesta-primary-rgb), 0.2);
}

.brain-action-head {
  display: flex;
  align-items: center;
  gap: 8px;
  align-items: center;
  font-size: 13.5px;
  color: var(--vesta-text-primary);
}
.brain-action-head [data-lucide] {
  color: var(--vesta-primary);
  flex: 0 0 auto;
}

.brain-action-btns {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.brain-sources {
  border-top: 1px dashed var(--vesta-border);
  padding-top: 10px;
}

.brain-sources-head {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--vesta-text-muted);
  margin-bottom: 8px;
}

.brain-sources-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.brain-source {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 10px;
  border-radius: var(--vesta-radius-md);
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
}

.brain-source-type {
  font-weight: 700;
  color: var(--vesta-primary);
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.brain-source-snippet {
  color: var(--vesta-text-secondary);
  font-size: 12.5px;
}

.brain-lookup {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.brain-lookup-btns {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.brain-composer {
  flex: none;
  border-top: 1px solid var(--vesta-border);
  padding: 12px 14px;
  background: var(--vesta-bg-card);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.brain-chips {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: thin;
}

.brain-chip {
  display: flex;
  align-items: center;
  gap: 6px;
  align-items: center;
  flex: 0 0 auto;
  font-size: 12.5px;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid var(--vesta-border);
  background: var(--vesta-bg-body);
  color: var(--vesta-text-primary);
  cursor: pointer;
  white-space: nowrap;
  transition: border-color 0.12s, background 0.12s, transform 0.12s;
}
.brain-chip:hover {
  border-color: var(--vesta-primary);
  background: var(--vesta-primary-subtle);
  transform: translateY(-1px);
}
.brain-chip [data-lucide] {
  color: var(--vesta-primary);
}

.brain-inputbar {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--vesta-border);
  border-radius: 999px;
  padding: 6px 6px 6px 14px;
  background: var(--vesta-bg-body);
  transition: border-color 0.12s, box-shadow 0.12s;
}
.brain-inputbar:focus-within {
  border-color: var(--vesta-primary);
  box-shadow: 0 0 0 3px rgba(var(--vesta-primary-rgb), 0.12);
}
.brain-inputbar [data-lucide].brain-input-lead {
  color: var(--vesta-text-muted);
}
.brain-inputbar input {
  flex: 1 1 auto;
  border: none;
  background: transparent;
  outline: none;
  font-size: 14px;
  color: var(--vesta-text-primary);
  min-width: 0;
}
.brain-inputbar input::placeholder {
  color: var(--vesta-text-muted);
}

.brain-mic {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: transparent;
  color: var(--vesta-text-muted);
  cursor: pointer;
}
.brain-mic:hover {
  background: var(--vesta-bg-subtle);
  color: var(--vesta-text-primary);
}

.brain-send {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: none;
  color: #fff;
  background: linear-gradient(135deg, var(--vesta-primary), var(--vesta-primary-hover));
  cursor: pointer;
  transition: filter 0.12s, transform 0.12s;
}
.brain-send:hover:not(:disabled) {
  filter: brightness(1.06);
  transform: translateY(-1px);
}
.brain-send:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.brain-rail {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 0;
  overflow-y: auto;
  padding-right: 2px;
}

.brain-card {
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  background: var(--vesta-bg-card);
  padding: 16px;
}

.brain-card-head {
  margin-bottom: 12px;
}

.brain-card-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--vesta-text-primary);
}

.brain-card-sub {
  font-size: 12px;
  color: var(--vesta-text-muted);
  margin-top: 2px;
}

.brain-insight {
  display: flex;
  align-items: center;
  gap: 12px;
  align-items: flex-start;
  padding: 11px 0;
  border-top: 1px solid var(--vesta-border);
}
.brain-insight:first-of-type {
  border-top: none;
}

.brain-insight-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: var(--vesta-bg-subtle);
}
.brain-insight-icon.is-up [data-lucide] {
  color: #16a34a;
}
.brain-insight-icon.is-down [data-lucide] {
  color: #dc2626;
}
.brain-insight-icon.is-time [data-lucide] {
  color: var(--vesta-primary);
}
.brain-insight-icon.is-team [data-lucide] {
  color: #d97706;
}

.brain-insight-body {
  min-width: 0;
}

.brain-insight-title {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--vesta-text-primary);
}

.brain-insight-sub {
  font-size: 12px;
  color: var(--vesta-text-muted);
  margin-top: 1px;
}

.brain-auto {
  display: flex;
  align-items: center;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0;
  border-top: 1px solid var(--vesta-border);
}
.brain-auto:first-of-type {
  border-top: none;
}
.brain-auto span {
  font-size: 13px;
  color: var(--vesta-text-primary);
}

.brain-toggle {
  flex: 0 0 auto;
  width: 38px;
  height: 22px;
  border-radius: 999px;
  border: none;
  background: var(--vesta-border);
  position: relative;
  cursor: pointer;
  transition: background 0.15s;
}
.brain-toggle::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  transition: transform 0.15s;
}
.brain-toggle.is-on {
  background: var(--vesta-primary);
}
.brain-toggle.is-on::after {
  transform: translateX(16px);
}

.field-copilot {
  margin-top: 16px;
}

.field-copilot-orb {
  flex: none;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  color: #fff;
  background: linear-gradient(135deg, var(--vesta-primary), var(--vesta-primary-hover));
  box-shadow: 0 6px 16px -6px rgba(var(--vesta-primary-rgb), 0.55);
  animation: brainFloat 4s ease-in-out infinite;
}

.field-copilot-launch {
  display: flex;
  align-items: center;
  gap: 12px;
  align-items: center;
  width: 100%;
  text-align: left;
  padding: 11px 14px;
  border: 1px solid rgba(var(--vesta-primary-rgb), 0.25);
  border-radius: 14px;
  background: linear-gradient(120deg, var(--vesta-primary-subtle), color-mix(in srgb, var(--vesta-primary-subtle) 35%, var(--vesta-bg-card)));
  cursor: pointer;
  transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
}
.field-copilot-launch:hover {
  border-color: var(--vesta-primary);
  box-shadow: 0 10px 26px -14px rgba(var(--vesta-primary-rgb), 0.55);
  transform: translateY(-1px);
}
.field-copilot-launch:hover .field-copilot-launch-go {
  opacity: 1;
  transform: none;
}

.field-copilot-launch-body {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.field-copilot-launch-title {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--vesta-text-primary);
}

.field-copilot-launch-hint {
  font-size: 12px;
  color: var(--vesta-text-secondary);
}

.field-copilot-launch-go {
  margin-left: auto;
  flex: none;
  color: var(--vesta-primary);
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity 0.15s, transform 0.15s;
  width: 16px;
  height: 16px;
}

.field-copilot-head {
  display: flex;
  align-items: center;
  gap: 10px;
  align-items: center;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--vesta-text-primary);
  margin-bottom: 10px;
  animation: brainMsgIn 0.3s ease both;
}

.field-copilot-badge {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  padding: 2px 8px;
  border-radius: 999px;
  color: var(--vesta-primary);
  background: var(--vesta-primary-subtle);
  border: 1px solid rgba(var(--vesta-primary-rgb), 0.25);
}

.field-card {
  position: relative;
  border: 1px solid var(--vesta-border);
  border-radius: 12px;
  padding: 12px 14px;
  margin-bottom: 10px;
  background: var(--vesta-bg-card);
  overflow: hidden;
  animation: brainMsgIn 0.3s ease both;
}
.field-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, var(--vesta-primary), var(--vesta-primary-hover));
  opacity: 0.8;
}

.field-card-title {
  display: flex;
  align-items: center;
  gap: 6px;
  align-items: center;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--vesta-text-muted);
  margin-bottom: 8px;
}
.field-card-title [data-lucide], .field-card-title svg {
  width: 13px;
  height: 13px;
  color: var(--vesta-primary);
}

.field-advice {
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--vesta-text-primary);
  margin: 0 0 8px;
}

.field-muted {
  font-size: 12.5px;
  color: var(--vesta-text-muted);
  margin: 0;
}

.field-leaveby {
  display: flex;
  align-items: center;
  gap: 7px;
  align-items: center;
  width: fit-content;
  font-size: 12.5px;
  color: var(--vesta-text-primary);
  margin: 0 0 8px;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--vesta-primary-subtle);
  border: 1px solid rgba(var(--vesta-primary-rgb), 0.2);
}
.field-leaveby [data-lucide], .field-leaveby svg {
  width: 14px;
  height: 14px;
  color: var(--vesta-primary);
}
.field-leaveby strong {
  font-size: 13.5px;
  font-weight: 800;
  color: var(--vesta-primary);
}

.field-facts {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.field-fact {
  display: flex;
  align-items: center;
  gap: 5px;
  align-items: center;
  font-size: 12px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--vesta-bg-subtle);
  border: 1px solid var(--vesta-border);
}
.field-fact [data-lucide], .field-fact svg {
  width: 13px;
  height: 13px;
  color: var(--vesta-primary);
}

.field-materials {
  list-style: none;
  margin: 0;
  padding: 0;
}

.field-material {
  padding: 6px 0;
  border-top: 1px solid var(--vesta-border);
}
.field-material:first-child {
  border-top: none;
}

.field-material-name {
  display: block;
  font-size: 13px;
  color: var(--vesta-text-primary);
}

.field-material-reason {
  display: block;
  font-size: 12px;
  color: var(--vesta-text-muted);
  margin-top: 1px;
}

.field-qty {
  font-weight: 600;
  color: var(--vesta-primary);
  margin-left: 4px;
}

.field-ask {
  display: flex;
  align-items: center;
  gap: 6px;
  align-items: stretch;
  margin-bottom: 6px;
}
.field-ask input {
  flex: 1 1 auto;
  min-width: 0;
}
.field-ask button {
  flex: 0 0 auto;
}

.field-answer {
  font-size: 13px;
  color: var(--vesta-text-primary);
  margin: 4px 0 0;
  white-space: pre-wrap;
}

@media (max-width: 560px) {
  .field-facts {
    gap: 6px;
  }
  .field-ask {
    flex-direction: column;
  }
  .field-ask button {
    width: 100%;
  }
}
@keyframes vgeoTileIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes vgeoDrop {
  0% {
    transform: translate(-50%, calc(-100% - 26px));
    opacity: 0;
  }
  60% {
    transform: translate(-50%, -100%);
    opacity: 1;
  }
  75% {
    transform: translate(-50%, calc(-100% - 7px));
  }
  100% {
    transform: translate(-50%, -100%);
  }
}
@keyframes vgeoPing {
  0% {
    transform: translate(-50%, -50%) scale(0.4);
    opacity: 0.55;
  }
  100% {
    transform: translate(-50%, -50%) scale(2.6);
    opacity: 0;
  }
}
.vgeo {
  position: relative;
  height: var(--vgeo-h, 240px);
  border-radius: var(--vesta-radius-lg);
  overflow: hidden;
  border: 1px solid var(--vesta-border);
  background: var(--vesta-bg-subtle);
  box-shadow: inset 0 0 40px rgba(0, 0, 0, 0.06), 0 10px 30px -18px rgba(0, 0, 0, 0.35);
}

.vgeo-canvas {
  position: absolute;
  inset: 0;
}
.vgeo-canvas::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at center, transparent 55%, rgba(0, 0, 0, 0.14));
}

.vgeo-tile {
  position: absolute;
  width: 256px;
  height: 256px;
  max-width: none;
  user-select: none;
  pointer-events: none;
  animation: vgeoTileIn 0.4s ease both;
  filter: saturate(0.82) contrast(0.97);
}

[data-theme=dark] .vgeo-tile {
  filter: invert(0.92) hue-rotate(180deg) saturate(0.55) brightness(0.9) contrast(0.92);
}

.vgeo-marker {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -100%);
  z-index: 2;
  color: var(--vesta-danger, #dc2626);
  animation: vgeoDrop 0.55s cubic-bezier(0.2, 0.9, 0.3, 1.2) both;
  filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.35));
}
.vgeo-marker [data-lucide], .vgeo-marker svg {
  width: 34px;
  height: 34px;
}

.vgeo-pulse {
  position: absolute;
  left: 50%;
  top: 100%;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(var(--vesta-primary-rgb), 0.5);
  animation: vgeoPing 1.8s ease-out infinite 0.6s;
}

.vgeo-open {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  padding: 5px 10px;
  border-radius: 999px;
  color: var(--vesta-text-primary);
  background: color-mix(in srgb, var(--vesta-bg-card) 82%, transparent);
  backdrop-filter: blur(6px);
  border: 1px solid var(--vesta-border);
  text-decoration: none;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 0.16s, transform 0.16s, border-color 0.16s;
}
.vgeo-open [data-lucide], .vgeo-open svg {
  width: 13px;
  height: 13px;
  color: var(--vesta-primary);
}

.vgeo:hover .vgeo-open,
.vgeo:focus-within .vgeo-open {
  opacity: 1;
  transform: none;
}
.vgeo:hover .vgeo-open:hover,
.vgeo:focus-within .vgeo-open:hover {
  border-color: var(--vesta-primary);
}

.vgeo-attribution {
  position: absolute;
  bottom: 6px;
  right: 8px;
  z-index: 3;
  font-size: 10px;
  color: var(--vesta-text-muted);
  background: color-mix(in srgb, var(--vesta-bg-card) 75%, transparent);
  padding: 1px 6px;
  border-radius: 6px;
  pointer-events: none;
}

.vgeo-caption {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.vgeo-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 600;
  padding: 6px 11px;
  border-radius: 999px;
  color: var(--vesta-text-primary);
  background: var(--vesta-primary-subtle);
  border: 1px solid rgba(var(--vesta-primary-rgb), 0.18);
}
.vgeo-chip [data-lucide], .vgeo-chip svg {
  width: 13px;
  height: 13px;
  color: var(--vesta-primary);
}

.vgeo-chip-muted {
  font-weight: 500;
  color: var(--vesta-text-secondary);
  background: var(--vesta-bg-subtle);
  border-color: var(--vesta-border);
}
.vgeo-chip-muted [data-lucide], .vgeo-chip-muted svg {
  color: var(--vesta-text-muted);
}

.vgeo-empty {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 18px 16px;
  border: 1px dashed var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  color: var(--vesta-text-secondary);
  font-size: 12.5px;
  background: var(--vesta-bg-subtle);
}
.vgeo-empty [data-lucide], .vgeo-empty svg {
  flex: none;
  color: var(--vesta-text-muted);
}

.tcost-base {
  --stat-accent: var(--vesta-primary);
  position: relative;
  overflow: hidden;
}
.tcost-base::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--stat-accent) 28%, color-mix(in srgb, var(--stat-accent) 45%, transparent) 72%, transparent);
  opacity: 0.6;
}

.tcost-value {
  display: flex;
  align-items: baseline;
  gap: 6px;
  font-family: var(--vesta-font-mono);
  font-size: 2rem;
  font-weight: 650;
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin: 6px 0 2px;
}
.tcost-value .tcost-unit {
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--vesta-text-muted);
  font-family: inherit;
}
.tcost-value.is-empty {
  color: var(--vesta-text-muted);
  font-weight: 500;
}

.tcost-edit {
  display: flex;
  gap: 8px;
  align-items: stretch;
  margin-top: 12px;
}
.tcost-edit > :first-child {
  flex: 1 1 auto;
  min-width: 0;
}
.tcost-edit .btn {
  white-space: nowrap;
  align-self: stretch;
}

.tcost-hint {
  margin-top: 10px;
  font-size: 0.75rem;
  line-height: 1.45;
  color: var(--vesta-text-muted);
}

.tcost-placeholder {
  display: grid;
  place-items: center;
  min-height: 320px;
}

.pt-matrix {
  --pt-matrix-name-w: 220px;
  --pt-matrix-day-w: 44px;
  --pt-matrix-total-w: 92px;
  --pt-matrix-row-h: 34px;
}

.pt-matrix-scroll {
  overflow-x: auto;
  overflow-y: visible;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
}
[data-theme=dark] .pt-matrix-scroll {
  border-color: var(--vesta-border);
}

.pt-matrix-grid {
  width: max-content;
  min-width: 100%;
}

.pt-matrix-row {
  display: grid;
  grid-template-columns: minmax(0, var(--pt-matrix-name-w)) repeat(var(--pt-matrix-days), var(--pt-matrix-day-w)) minmax(0, var(--pt-matrix-total-w));
  align-items: stretch;
  border-bottom: 1px solid var(--vesta-border-subtle);
}
.pt-matrix-row:last-child {
  border-bottom: 0;
}
.pt-matrix-row:hover .pt-matrix-name, .pt-matrix-row:hover .pt-matrix-cell {
  background: var(--vesta-bg-hover);
}

.pt-matrix-row--head {
  position: sticky;
  top: 0;
  z-index: 3;
  background: var(--vesta-bg-card);
  border-bottom: 1px solid var(--vesta-border);
}

.pt-matrix-row--sum {
  background: var(--vesta-border-subtle);
}
[data-theme=dark] .pt-matrix-row--sum {
  background: rgba(148, 163, 184, 0.06);
}

.pt-matrix-name {
  position: sticky;
  left: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 4px 10px;
  background: var(--vesta-bg-card);
  border-right: 1px solid var(--vesta-border);
  font-size: 0.78rem;
}
.pt-matrix-row--sum .pt-matrix-name {
  background: var(--vesta-border-subtle);
  color: var(--vesta-text-secondary);
  font-weight: 600;
}
[data-theme=dark] .pt-matrix-row--sum .pt-matrix-name {
  background: #182236;
}

.pt-matrix-who {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.pt-matrix-who-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--vesta-text-primary);
  font-weight: 600;
}

.pt-matrix-who-org {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--vesta-text-muted);
  font-size: 0.68rem;
}

.pt-matrix-h {
  color: var(--vesta-text-secondary);
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.pt-matrix-day {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  padding: 6px 0;
  color: var(--vesta-text-secondary);
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1;
}
.pt-matrix-day abbr {
  text-decoration: none;
  cursor: help;
}
.pt-matrix-day.is-nonworking {
  color: var(--vesta-text-muted);
  background: var(--vesta-border-subtle);
}
[data-theme=dark] .pt-matrix-day.is-nonworking {
  background: rgba(148, 163, 184, 0.07);
}

.pt-matrix-dow {
  color: var(--vesta-text-muted);
  font-size: 0.6rem;
  font-weight: 500;
  text-transform: uppercase;
}

.pt-matrix-cell {
  position: relative;
  min-width: 0;
  min-height: var(--pt-matrix-row-h);
  border-left: 1px solid var(--vesta-border-subtle);
}
.pt-matrix-cell:hover, .pt-matrix-cell:focus-within {
  z-index: 40;
}

.pt-matrix-cell-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0 2px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--vesta-text-primary);
  font-family: var(--vesta-font-mono);
  font-size: 0.72rem;
  cursor: pointer;
  overflow: hidden;
}
.pt-matrix-cell-btn:focus-visible {
  outline: 2px solid var(--vesta-primary);
  outline-offset: -2px;
}

.pt-matrix-cell-v {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pt-matrix-cell.is-heat-1 .pt-matrix-cell-btn {
  background: color-mix(in srgb, var(--vesta-primary) 11%, transparent);
}

.pt-matrix-cell.is-heat-2 .pt-matrix-cell-btn {
  background: color-mix(in srgb, var(--vesta-primary) 22%, transparent);
}

.pt-matrix-cell.is-heat-3 .pt-matrix-cell-btn {
  background: color-mix(in srgb, var(--vesta-primary) 33%, transparent);
}

.pt-matrix-cell.is-heat-4 .pt-matrix-cell-btn {
  background: color-mix(in srgb, var(--vesta-primary) 44%, transparent);
}

.pt-matrix-cell.is-empty .pt-matrix-cell-btn {
  color: var(--vesta-text-muted);
}

.pt-matrix-cell.is-under .pt-matrix-cell-btn {
  box-shadow: inset 0 0 0 1.5px var(--vesta-warning);
  color: var(--vesta-warning-strong);
}

.pt-matrix-cell.is-over .pt-matrix-cell-btn {
  box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--vesta-success) 60%, transparent);
}

.pt-matrix-cell.is-nonworking {
  background: var(--vesta-border-subtle);
}
[data-theme=dark] .pt-matrix-cell.is-nonworking {
  background: rgba(148, 163, 184, 0.07);
}
.pt-matrix-cell.is-nonworking .pt-matrix-cell-btn {
  color: var(--vesta-text-muted);
}

.pt-matrix-cell.is-overtime {
  background: transparent;
}
.pt-matrix-cell.is-overtime .pt-matrix-cell-btn {
  color: var(--vesta-text-primary);
  font-weight: 700;
  box-shadow: inset 0 0 0 1.5px var(--vesta-danger);
}

.pt-matrix-day.is-holiday,
.pt-matrix-cell.is-holiday {
  background: color-mix(in srgb, var(--vesta-danger) 12%, transparent);
}
[data-theme=dark] .pt-matrix-day.is-holiday,
[data-theme=dark] .pt-matrix-cell.is-holiday {
  background: color-mix(in srgb, var(--vesta-danger) 20%, transparent);
}

.pt-matrix-day.is-holiday {
  color: var(--vesta-danger-strong);
  font-weight: 700;
  border-bottom: 2px solid var(--vesta-danger);
}

.pt-matrix-cell.is-overtime.is-holiday {
  background: color-mix(in srgb, var(--vesta-danger) 12%, transparent);
}
[data-theme=dark] .pt-matrix-cell.is-overtime.is-holiday {
  background: color-mix(in srgb, var(--vesta-danger) 20%, transparent);
}

.pt-matrix-sum.is-holiday {
  background: color-mix(in srgb, var(--vesta-danger) 10%, transparent);
}

.pt-matrix-ot {
  flex: 0 0 auto;
  padding: 0 5px;
  border-radius: 999px;
  font-size: 0.66rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--vesta-danger-strong);
  background: color-mix(in srgb, var(--vesta-danger) 15%, transparent);
  white-space: nowrap;
}

.pt-matrix-cell.has-leave .pt-matrix-cell-btn::after {
  content: "";
  position: absolute;
  right: 3px;
  bottom: 3px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--vesta-secondary);
}

.pt-matrix-total {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
  padding: 2px 10px;
  border-left: 1px solid var(--vesta-border);
  font-family: var(--vesta-font-mono);
  font-size: 0.74rem;
  font-weight: 600;
}

.pt-matrix-spark {
  width: 42px;
  height: 16px;
  overflow: visible;
}
.pt-matrix-spark polyline {
  fill: none;
  stroke: var(--vesta-primary);
  stroke-width: 1.5;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.pt-matrix-sum {
  display: flex;
  align-items: flex-end;
  min-width: 0;
  height: 40px;
  padding: 4px 0;
  border-left: 1px solid var(--vesta-border-subtle);
}
.pt-matrix-sum svg {
  width: 100%;
  height: 100%;
}
.pt-matrix-sum.is-nonworking {
  opacity: 0.5;
}

.pt-matrix-sum rect.is-session,
.pt-matrix-tip-bar rect.is-session,
.pt-matrix-swatch.is-session {
  fill: var(--vesta-primary);
  background: var(--vesta-primary);
}
.pt-matrix-sum rect.is-internal,
.pt-matrix-tip-bar rect.is-internal,
.pt-matrix-swatch.is-internal {
  fill: var(--vesta-info);
  background: var(--vesta-info);
}
.pt-matrix-sum rect.is-manual,
.pt-matrix-tip-bar rect.is-manual,
.pt-matrix-swatch.is-manual {
  fill: var(--vesta-warning);
  background: var(--vesta-warning);
}
.pt-matrix-sum rect.is-leave,
.pt-matrix-tip-bar rect.is-leave,
.pt-matrix-swatch.is-leave {
  fill: var(--vesta-secondary);
  background: var(--vesta-secondary);
}

.pt-matrix-tip {
  position: absolute;
  top: calc(100% + 6px);
  left: 50%;
  z-index: 20;
  width: 224px;
  padding: 10px 12px;
  transform: translateX(-50%);
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius);
  background: var(--vesta-bg-card);
  box-shadow: var(--vesta-shadow-lg);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  text-align: left;
}

.pt-matrix-cell:hover .pt-matrix-tip,
.pt-matrix-cell:focus-within .pt-matrix-tip {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.pt-matrix-cell:nth-child(-n+4) .pt-matrix-tip {
  left: 0;
  transform: none;
}

.pt-matrix-cell:nth-last-child(-n+5) .pt-matrix-tip {
  left: auto;
  right: 0;
  transform: none;
}

.pt-matrix-tip-head {
  display: flex;
  flex-direction: column;
  gap: 1px;
  margin-bottom: 8px;
}

.pt-matrix-tip-who {
  color: var(--vesta-text-primary);
  font-size: 0.78rem;
  font-weight: 700;
}

.pt-matrix-tip-when {
  color: var(--vesta-text-muted);
  font-size: 0.68rem;
}

.pt-matrix-tip-holiday {
  color: var(--vesta-info-strong);
  font-size: 0.68rem;
  font-weight: 600;
}

.pt-matrix-tip-bar {
  display: block;
  width: 100%;
  height: 8px;
  margin-bottom: 8px;
  border-radius: 4px;
  overflow: hidden;
}

.pt-matrix-tip-list {
  margin: 0;
  font-size: 0.72rem;
}

.pt-matrix-tip-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 1px 0;
}
.pt-matrix-tip-row dt {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: var(--vesta-text-secondary);
  font-weight: 500;
}
.pt-matrix-tip-row dd {
  margin: 0;
  color: var(--vesta-text-primary);
  font-family: var(--vesta-font-mono);
  font-weight: 600;
}

.pt-matrix-tip-row--total {
  margin-top: 4px;
  padding-top: 4px;
  border-top: 1px solid var(--vesta-border-subtle);
}

.pt-matrix-tip-row--overtime dd {
  color: var(--vesta-danger-strong);
  font-weight: 700;
}

.pt-matrix-tip-row--delta.is-negative dd {
  color: var(--vesta-warning-strong);
}
.pt-matrix-tip-row--delta.is-positive dd {
  color: var(--vesta-success-strong);
}

.pt-matrix-swatch {
  width: 8px;
  height: 8px;
  border-radius: 2px;
  flex: 0 0 auto;
}

@media (prefers-reduced-motion: no-preference) {
  .pt-matrix-day,
  .pt-matrix-sum {
    animation: pt-matrix-col-in 0.26s ease-out both;
  }
  .pt-matrix-row > :nth-child(2) {
    animation-delay: 15ms;
  }
  .pt-matrix-row > :nth-child(3) {
    animation-delay: 30ms;
  }
  .pt-matrix-row > :nth-child(4) {
    animation-delay: 45ms;
  }
  .pt-matrix-row > :nth-child(5) {
    animation-delay: 60ms;
  }
  .pt-matrix-row > :nth-child(6) {
    animation-delay: 75ms;
  }
  .pt-matrix-row > :nth-child(7) {
    animation-delay: 90ms;
  }
  .pt-matrix-row > :nth-child(8) {
    animation-delay: 105ms;
  }
  .pt-matrix-row > :nth-child(9) {
    animation-delay: 120ms;
  }
  .pt-matrix-row > :nth-child(10) {
    animation-delay: 135ms;
  }
  .pt-matrix-row > :nth-child(11) {
    animation-delay: 150ms;
  }
  .pt-matrix-row > :nth-child(12) {
    animation-delay: 165ms;
  }
  .pt-matrix-row > :nth-child(13) {
    animation-delay: 180ms;
  }
  .pt-matrix-row > :nth-child(14) {
    animation-delay: 195ms;
  }
  .pt-matrix-row > :nth-child(15) {
    animation-delay: 210ms;
  }
  .pt-matrix-row > :nth-child(16) {
    animation-delay: 225ms;
  }
  .pt-matrix-row > :nth-child(17) {
    animation-delay: 240ms;
  }
  .pt-matrix-row > :nth-child(18) {
    animation-delay: 255ms;
  }
  .pt-matrix-row > :nth-child(19) {
    animation-delay: 270ms;
  }
  .pt-matrix-row > :nth-child(20) {
    animation-delay: 285ms;
  }
  .pt-matrix-row > :nth-child(21) {
    animation-delay: 300ms;
  }
  .pt-matrix-row > :nth-child(22) {
    animation-delay: 315ms;
  }
  .pt-matrix-row > :nth-child(23) {
    animation-delay: 330ms;
  }
  .pt-matrix-row > :nth-child(24) {
    animation-delay: 345ms;
  }
  .pt-matrix-row > :nth-child(25) {
    animation-delay: 360ms;
  }
  .pt-matrix-row > :nth-child(26) {
    animation-delay: 375ms;
  }
  .pt-matrix-row > :nth-child(27) {
    animation-delay: 390ms;
  }
  .pt-matrix-row > :nth-child(28) {
    animation-delay: 405ms;
  }
  .pt-matrix-row > :nth-child(29) {
    animation-delay: 420ms;
  }
  .pt-matrix-row > :nth-child(30) {
    animation-delay: 435ms;
  }
  .pt-matrix-row > :nth-child(31) {
    animation-delay: 450ms;
  }
  .pt-matrix-row > :nth-child(32) {
    animation-delay: 465ms;
  }
  .pt-matrix-row > :nth-child(33) {
    animation-delay: 480ms;
  }
  .pt-matrix-row > :nth-child(34) {
    animation-delay: 495ms;
  }
  .pt-matrix-row > :nth-child(35) {
    animation-delay: 510ms;
  }
  .pt-matrix-row > :nth-child(36) {
    animation-delay: 525ms;
  }
  .pt-matrix-row > :nth-child(37) {
    animation-delay: 540ms;
  }
  .pt-matrix-row > :nth-child(38) {
    animation-delay: 555ms;
  }
  .pt-matrix-row > :nth-child(39) {
    animation-delay: 570ms;
  }
  .pt-matrix-row > :nth-child(40) {
    animation-delay: 585ms;
  }
  .pt-matrix-row > :nth-child(41) {
    animation-delay: 600ms;
  }
  .pt-matrix-row > :nth-child(42) {
    animation-delay: 615ms;
  }
  .pt-matrix-row > :nth-child(43) {
    animation-delay: 630ms;
  }
  .pt-matrix-row > :nth-child(44) {
    animation-delay: 645ms;
  }
  .pt-matrix-row > :nth-child(45) {
    animation-delay: 660ms;
  }
  .pt-matrix-row > :nth-child(46) {
    animation-delay: 675ms;
  }
  .pt-matrix-row > :nth-child(47) {
    animation-delay: 690ms;
  }
  .pt-matrix-row > :nth-child(48) {
    animation-delay: 705ms;
  }
  .pt-matrix-row > :nth-child(49) {
    animation-delay: 720ms;
  }
  .pt-matrix-row > :nth-child(50) {
    animation-delay: 735ms;
  }
  .pt-matrix-row > :nth-child(51) {
    animation-delay: 750ms;
  }
  .pt-matrix-row > :nth-child(52) {
    animation-delay: 765ms;
  }
  .pt-matrix-row > :nth-child(53) {
    animation-delay: 780ms;
  }
  .pt-matrix-row > :nth-child(54) {
    animation-delay: 795ms;
  }
  .pt-matrix-row > :nth-child(55) {
    animation-delay: 810ms;
  }
  .pt-matrix-row > :nth-child(56) {
    animation-delay: 825ms;
  }
  .pt-matrix-row > :nth-child(57) {
    animation-delay: 840ms;
  }
  .pt-matrix-row > :nth-child(58) {
    animation-delay: 855ms;
  }
  .pt-matrix-row > :nth-child(59) {
    animation-delay: 870ms;
  }
  .pt-matrix-row > :nth-child(60) {
    animation-delay: 885ms;
  }
  .pt-matrix-row > :nth-child(61) {
    animation-delay: 900ms;
  }
  .pt-matrix-row > :nth-child(62) {
    animation-delay: 915ms;
  }
  .pt-matrix-row > :nth-child(63) {
    animation-delay: 930ms;
  }
  .pt-matrix-row > :nth-child(64) {
    animation-delay: 945ms;
  }
  .pt-matrix-row > :nth-child(65) {
    animation-delay: 960ms;
  }
  .pt-matrix-row > :nth-child(66) {
    animation-delay: 975ms;
  }
  .pt-matrix-row > :nth-child(67) {
    animation-delay: 990ms;
  }
  .pt-matrix-row > :nth-child(68) {
    animation-delay: 1005ms;
  }
  .pt-matrix-row > :nth-child(69) {
    animation-delay: 1020ms;
  }
  .pt-matrix-row > :nth-child(70) {
    animation-delay: 1035ms;
  }
  .pt-matrix-row > :nth-child(71) {
    animation-delay: 1050ms;
  }
  .pt-matrix-row > :nth-child(72) {
    animation-delay: 1065ms;
  }
  .pt-matrix-row > :nth-child(73) {
    animation-delay: 1080ms;
  }
  .pt-matrix-row > :nth-child(74) {
    animation-delay: 1095ms;
  }
  .pt-matrix-row > :nth-child(75) {
    animation-delay: 1110ms;
  }
  .pt-matrix-row > :nth-child(76) {
    animation-delay: 1125ms;
  }
  .pt-matrix-row > :nth-child(77) {
    animation-delay: 1140ms;
  }
  .pt-matrix-row > :nth-child(78) {
    animation-delay: 1155ms;
  }
  .pt-matrix-row > :nth-child(79) {
    animation-delay: 1170ms;
  }
  .pt-matrix-row > :nth-child(80) {
    animation-delay: 1185ms;
  }
  .pt-matrix-row > :nth-child(81) {
    animation-delay: 1200ms;
  }
  .pt-matrix-row > :nth-child(82) {
    animation-delay: 1215ms;
  }
  .pt-matrix-row > :nth-child(83) {
    animation-delay: 1230ms;
  }
  .pt-matrix-row > :nth-child(84) {
    animation-delay: 1245ms;
  }
  .pt-matrix-row > :nth-child(85) {
    animation-delay: 1260ms;
  }
  .pt-matrix-row > :nth-child(86) {
    animation-delay: 1275ms;
  }
  .pt-matrix-row > :nth-child(87) {
    animation-delay: 1290ms;
  }
  .pt-matrix-row > :nth-child(88) {
    animation-delay: 1305ms;
  }
  .pt-matrix-row > :nth-child(89) {
    animation-delay: 1320ms;
  }
  .pt-matrix-row > :nth-child(90) {
    animation-delay: 1335ms;
  }
  .pt-matrix-row > :nth-child(91) {
    animation-delay: 1350ms;
  }
  .pt-matrix-row > :nth-child(92) {
    animation-delay: 1365ms;
  }
  .pt-matrix-row > :nth-child(93) {
    animation-delay: 1380ms;
  }
  .pt-matrix-cell-btn {
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
  }
}
@media (prefers-reduced-motion: reduce) {
  .pt-matrix-cell,
  .pt-matrix-day,
  .pt-matrix-sum,
  .pt-matrix-cell-btn,
  .pt-matrix-tip {
    animation: none;
    transition: none;
  }
}
@keyframes pt-matrix-col-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.td-break {
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--vesta-border-subtle);
}

.td-break-head {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.td-break-when {
  min-width: 0;
  overflow: hidden;
  font-size: 13px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--vesta-text-primary);
}
.td-break-when::first-letter {
  text-transform: uppercase;
}

.td-break-tag {
  flex: 0 0 auto;
  font-size: 11px;
}
.td-break-tag.is-holiday, .td-break-tag.is-overtime {
  color: var(--vesta-danger-strong);
  background: color-mix(in srgb, var(--vesta-danger) 15%, transparent);
}

.td-break-tile {
  position: relative;
  padding-left: 16px;
}
.td-break-tile::before {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 6px;
  width: 3px;
  border-radius: 2px;
  background: var(--vesta-border);
}
.td-break-tile.is-session::before {
  background: var(--vesta-primary);
}
.td-break-tile.is-internal::before {
  background: var(--vesta-info);
}
.td-break-tile.is-manual::before {
  background: var(--vesta-warning);
}
.td-break-tile.is-leave::before {
  background: var(--vesta-secondary);
}
.td-break-tile.td-break-tile--total::before {
  background: var(--vesta-text-secondary);
}
.td-break-tile.td-break-tile--total .vf-tile-value {
  font-weight: 700;
}

.td-sessions {
  margin-top: 12px;
}

.td-sessions-title {
  display: block;
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--vesta-text-secondary);
}

.td-sessions-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.td-session {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 5px 8px 5px 10px;
  border-left: 3px solid var(--vesta-border);
  border-radius: 0 4px 4px 0;
}
.td-session + .td-session {
  margin-top: 3px;
}
.td-session.is-session {
  border-left-color: var(--vesta-primary);
}
.td-session.is-internal {
  border-left-color: var(--vesta-info);
}
.td-session .td-session-time {
  flex: 0 0 auto;
  font-size: 11px;
  color: var(--vesta-text-secondary);
}
.td-session .td-session-what {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.td-session .td-session-cust {
  margin-left: 6px;
  color: var(--vesta-text-secondary);
}
.td-session .td-session-internal-tag {
  font-style: italic;
  color: var(--vesta-text-secondary);
}
.td-session .td-session-h {
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 600;
}

.ta-from-session {
  font-size: 10px;
  font-style: italic;
  white-space: nowrap;
  color: var(--vesta-text-secondary);
}

.td-break-recon {
  margin: 10px 0 0;
  font-size: 12px;
  color: var(--vesta-text-secondary);
}
.td-break-recon.is-off {
  font-weight: 600;
  color: var(--vesta-warning);
}

.td-break-note {
  margin: 10px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--vesta-text-secondary);
}

@media (max-width: 575.98px) {
  .pt-matrix {
    --pt-matrix-name-w: 132px;
    --pt-matrix-day-w: 34px;
    --pt-matrix-total-w: 68px;
  }
  .pt-matrix-spark {
    display: none;
  }
  .pt-matrix-cell-btn {
    font-size: 0.64rem;
    letter-spacing: -0.03em;
  }
  .pt-matrix-tip {
    width: 188px;
  }
}
.sw-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: 16px;
}

.sw-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 18px 18px 16px;
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  background: var(--vesta-bg-card);
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.3s ease;
  --sw-accent: #38BDF8;
  --sw-sky-top: rgb(56 189 248 / .5);
  --sw-sky-mid: rgb(125 211 252 / .18);
}
.sw-card:hover {
  transform: translateY(-4px) scale(1.005);
  box-shadow: 0 18px 40px -12px color-mix(in srgb, var(--sw-accent) 35%, transparent), 0 6px 16px rgba(15, 23, 42, 0.12);
}
.sw-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, 0.28) 50%, transparent 60%);
  transform: translateX(-120%);
  animation: sw-sheen 1.4s 0.3s ease-out forwards;
}
[data-theme=dark] .sw-card {
  border-color: var(--vesta-border);
}
[data-theme=dark] .sw-card::after {
  background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, 0.1) 50%, transparent 60%);
}

.sw-sky {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(180deg, var(--sw-sky-top) 0%, var(--sw-sky-mid) 42%, transparent 72%);
}

.sw-glow {
  position: absolute;
  top: -40px;
  right: -30px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--sw-accent) 45%, transparent) 0%, transparent 70%);
  filter: blur(6px);
  animation: sw-breathe 7s ease-in-out infinite;
}

.sw-sun {
  position: absolute;
  top: 14px;
  right: 104px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: radial-gradient(circle at 38% 34%, #FEF3C7 0%, #FDE68A 42%, #F59E0B 100%);
  box-shadow: 0 0 26px rgba(245, 158, 11, 0.65), 0 0 70px rgba(251, 191, 36, 0.35);
  opacity: 0;
  transform: scale(0.55);
  animation: sw-sun-in 0.9s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
.sw-sun::before {
  content: "";
  position: absolute;
  inset: -26px;
  border-radius: 50%;
  background: repeating-conic-gradient(from 0deg, rgba(253, 230, 138, 0.5) 0deg 5deg, transparent 5deg 30deg);
  -webkit-mask-image: radial-gradient(circle, transparent 42%, #000 46%, transparent 78%);
  mask-image: radial-gradient(circle, transparent 42%, #000 46%, transparent 78%);
  animation: sw-rays 26s linear infinite;
}

.sw-cloud {
  position: absolute;
  height: 20px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  filter: blur(0.5px);
  opacity: 0;
  transition: opacity 0.6s ease;
}
.sw-cloud::before, .sw-cloud::after {
  content: "";
  position: absolute;
  bottom: 40%;
  border-radius: 50%;
  background: inherit;
}
.sw-cloud::before {
  left: 18%;
  width: 45%;
  aspect-ratio: 1;
}
.sw-cloud::after {
  left: 48%;
  width: 34%;
  aspect-ratio: 1;
}
[data-theme=dark] .sw-cloud {
  background: rgba(226, 232, 240, 0.32);
}
.sw-cloud--a {
  top: 26px;
  width: 74px;
  animation: sw-drift 30s linear infinite;
}
.sw-cloud--b {
  top: 56px;
  width: 52px;
  filter: blur(1.5px);
  animation: sw-drift 44s linear infinite reverse;
}
.sw-cloud--c {
  top: 10px;
  width: 40px;
  filter: blur(2.5px);
  opacity: 0;
  animation: sw-drift 58s linear infinite;
}

.sw-bolt {
  position: absolute;
  top: 34px;
  right: 64px;
  width: 16px;
  height: 30px;
  background: linear-gradient(180deg, #FEF9C3, #FACC15);
  clip-path: polygon(58% 0, 12% 56%, 44% 56%, 30% 100%, 92% 40%, 56% 40%);
  filter: drop-shadow(0 0 8px rgba(250, 204, 21, 0.9));
  opacity: 0;
}

.sw-precip {
  position: absolute;
  inset: 0;
}
.sw-precip i {
  position: absolute;
  top: -10%;
  left: calc(var(--sw-i) * 7% + 3%);
  width: 2px;
  height: 14px;
  border-radius: 2px;
  background: linear-gradient(180deg, transparent, rgba(96, 165, 250, 0.9));
  opacity: 0;
}

.sw-card.is-clear {
  --sw-accent: #F59E0B;
  --sw-sky-top: rgb(56 189 248 / .55);
  --sw-sky-mid: rgb(253 230 138 / .22);
}
.sw-card.is-clear .sw-cloud {
  opacity: 0;
}
.sw-card.is-cloudy, .sw-card.is-fog {
  --sw-accent: #94A3B8;
  --sw-sky-top: rgb(148 163 184 / .3);
  --sw-sky-mid: rgb(203 213 225 / .12);
}
.sw-card.is-cloudy .sw-sun, .sw-card.is-fog .sw-sun {
  opacity: 0.35;
}
.sw-card.is-cloudy .sw-cloud, .sw-card.is-fog .sw-cloud {
  opacity: 1;
}
.sw-card.is-cloudy .sw-cloud--c, .sw-card.is-fog .sw-cloud--c {
  opacity: 0.8;
}
.sw-card.is-fog .sw-sky::after {
  content: "";
  position: absolute;
  inset: 44px 0 auto;
  height: 40px;
  background: linear-gradient(180deg, transparent, rgba(203, 213, 225, 0.4), transparent);
  filter: blur(8px);
  animation: sw-fog 9s ease-in-out infinite alternate;
}
.sw-card.is-rain, .sw-card.is-snow {
  --sw-accent: #3B82F6;
  --sw-sky-top: rgb(71 105 155 / .5);
  --sw-sky-mid: rgb(100 116 139 / .2);
}
.sw-card.is-rain .sw-sun, .sw-card.is-snow .sw-sun {
  opacity: 0.12;
}
.sw-card.is-rain .sw-cloud, .sw-card.is-snow .sw-cloud {
  opacity: 1;
}
.sw-card.is-rain .sw-cloud--c, .sw-card.is-snow .sw-cloud--c {
  opacity: 0.8;
}
.sw-card.is-rain .sw-precip i, .sw-card.is-snow .sw-precip i {
  animation: sw-fall 1s linear infinite;
  animation-delay: calc(var(--sw-i) * 0.09s);
}
.sw-card.is-snow {
  --sw-accent: #7DD3FC;
}
.sw-card.is-snow .sw-precip i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(240, 249, 255, 0.95);
  animation-name: sw-snow;
  animation-duration: 3s;
  animation-timing-function: ease-in;
}
.sw-card.is-storm {
  --sw-accent: #6366F1;
  --sw-sky-top: rgb(51 65 85 / .6);
  --sw-sky-mid: rgb(71 85 105 / .28);
}
.sw-card.is-storm .sw-sun {
  opacity: 0;
}
.sw-card.is-storm .sw-cloud {
  opacity: 1;
}
.sw-card.is-storm .sw-cloud--c {
  opacity: 0.9;
}
.sw-card.is-storm .sw-bolt {
  animation: sw-strike 5s ease-in-out infinite;
}
.sw-card.is-storm .sw-precip i {
  animation: sw-fall 0.8s linear infinite;
  animation-delay: calc(var(--sw-i) * 0.07s);
}
.sw-card.is-storm .sw-sky::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(224, 231, 255, 0.9);
  opacity: 0;
  animation: sw-flash 5s ease-in-out infinite;
}

.sw-head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.sw-place {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.sw-site {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
  font-size: 1.02rem;
  letter-spacing: -0.01em;
}

.sw-city {
  font-size: 0.78rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--vesta-text-muted);
}

.sw-now {
  display: flex;
  align-items: baseline;
  gap: 7px;
  white-space: nowrap;
  margin-right: 2px;
}

.sw-now-temp {
  font-size: 2.6rem;
  font-weight: 800;
  line-height: 0.95;
  letter-spacing: -0.03em;
  background: linear-gradient(180deg, var(--vesta-text, #0F172A) 30%, var(--sw-accent) 130%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.sw-now-min {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--vesta-text-muted);
}

.sw-note {
  position: relative;
  z-index: 1;
  margin: 14px 0 0;
  font-size: 0.82rem;
  color: var(--vesta-text-muted);
}

.sw-spark {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 52px;
  margin: 12px 0 2px;
  color: var(--sw-accent);
  overflow: visible;
  filter: drop-shadow(0 2px 6px color-mix(in srgb, var(--sw-accent) 45%, transparent));
}

.sw-spark-line {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.5;
  vector-effect: non-scaling-stroke;
  stroke-linejoin: round;
  stroke-linecap: round;
  stroke-dasharray: 240;
  stroke-dashoffset: 240;
  animation: sw-draw 1.3s 0.2s ease-out forwards;
}

.sw-days {
  position: relative;
  z-index: 1;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 6px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}

.sw-day {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 10px 2px 8px;
  border-radius: var(--vesta-radius-md, 12px);
  background: rgba(255, 255, 255, 0.45);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55);
  animation: sw-rise 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  animation-delay: var(--sw-delay, 0ms);
  transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}
[data-theme=dark] .sw-day {
  background: rgba(148, 163, 184, 0.1);
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.18);
}
.sw-day.is-adverse {
  background: rgba(245, 158, 11, 0.14);
  box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.45);
  animation: sw-rise 0.5s cubic-bezier(0.22, 1, 0.36, 1), sw-pulse 2.6s 0.6s ease-in-out infinite;
  animation-delay: var(--sw-delay, 0ms), calc(var(--sw-delay, 0ms) + 600ms);
}
.sw-day:hover, .sw-day:focus-within {
  z-index: 5;
  transform: translateY(-3px);
  background: rgba(255, 255, 255, 0.75);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sw-accent) 40%, transparent), 0 8px 18px -8px color-mix(in srgb, var(--sw-accent) 50%, transparent);
}
[data-theme=dark] .sw-day:hover, [data-theme=dark] .sw-day:focus-within {
  background: rgba(148, 163, 184, 0.2);
}

.sw-day-name {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: var(--vesta-text-muted);
}

.sw-day-icon {
  font-size: 1.15rem;
  line-height: 1;
}

.sw-day-temp {
  font-size: 0.95rem;
  font-weight: 700;
}

.sw-day-min {
  font-size: 0.72rem;
  color: var(--vesta-text-muted);
}

.sw-day-rain {
  display: block;
  width: 5px;
  height: 24px;
  margin-top: 3px;
  border-radius: 3px;
  background: rgba(148, 163, 184, 0.2);
  overflow: hidden;
}
.sw-day-rain i {
  display: block;
  width: 100%;
  height: calc(var(--sw-rain, 0) * 100%);
  margin-top: calc((1 - var(--sw-rain, 0)) * 100%);
  border-radius: inherit;
  background: linear-gradient(180deg, #7DD3FC, var(--vesta-info));
}

.sw-day-appts {
  min-width: 19px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--vesta-primary);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
  box-shadow: 0 3px 8px -2px color-mix(in srgb, var(--vesta-primary) 60%, transparent);
}

.sw-tip {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  z-index: 30;
  transform: translateX(-50%) translateY(4px);
  min-width: 190px;
  max-width: 260px;
  padding: 8px 11px;
  border-radius: var(--vesta-radius-md, 10px);
  background: var(--vesta-tooltip-bg, #0F172A);
  color: #fff;
  font-size: 0.74rem;
  line-height: 1.4;
  text-align: left;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.3);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
  pointer-events: none;
}

.sw-day:hover .sw-tip,
.sw-day:focus-within .sw-tip {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.sw-picker {
  min-width: 190px;
  max-width: 260px;
}

@keyframes sw-rise {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes sw-pulse {
  0%, 100% {
    box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.45), 0 0 0 0 rgba(245, 158, 11, 0.35);
  }
  50% {
    box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.45), 0 0 0 6px rgba(245, 158, 11, 0);
  }
}
@keyframes sw-draw {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes sw-sun-in {
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes sw-rays {
  to {
    transform: rotate(360deg);
  }
}
@keyframes sw-breathe {
  0%, 100% {
    opacity: 0.75;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.12);
  }
}
@keyframes sw-drift {
  from {
    transform: translateX(-90px);
  }
  to {
    transform: translateX(calc(100% + 420px));
  }
}
@keyframes sw-fall {
  0% {
    opacity: 0;
    transform: translateY(0);
  }
  10% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
    transform: translateY(110px);
  }
}
@keyframes sw-snow {
  0% {
    opacity: 0;
    transform: translateY(0) translateX(0);
  }
  10% {
    opacity: 0.95;
  }
  50% {
    transform: translateY(55px) translateX(6px);
  }
  100% {
    opacity: 0;
    transform: translateY(110px) translateX(-4px);
  }
}
@keyframes sw-fog {
  from {
    transform: translateX(-8%);
  }
  to {
    transform: translateX(8%);
  }
}
@keyframes sw-strike {
  0%, 88%, 100% {
    opacity: 0;
    transform: scale(0.9);
  }
  90% {
    opacity: 1;
    transform: scale(1.1);
  }
  93% {
    opacity: 0.2;
  }
  95% {
    opacity: 0.9;
    transform: scale(1);
  }
  97% {
    opacity: 0;
  }
}
@keyframes sw-flash {
  0%, 89%, 100% {
    opacity: 0;
  }
  91% {
    opacity: 0.22;
  }
  93% {
    opacity: 0;
  }
  95% {
    opacity: 0.14;
  }
  97% {
    opacity: 0;
  }
}
@keyframes sw-sheen {
  to {
    transform: translateX(120%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .sw-card::after,
  .sw-glow,
  .sw-sun,
  .sw-sun::before,
  .sw-cloud,
  .sw-bolt,
  .sw-precip i,
  .sw-day,
  .sw-spark-line,
  .sw-card.is-fog .sw-sky::after,
  .sw-card.is-storm .sw-sky::before {
    animation: none;
  }
  .sw-card::after {
    display: none;
  }
  .sw-spark-line {
    stroke-dashoffset: 0;
  }
  .sw-sun {
    opacity: 1;
    transform: scale(1);
  }
  .sw-card,
  .sw-day {
    transition: none;
  }
}
.vtl-item.is-split-origin::before {
  background: transparent;
  border-left: 2px dashed var(--vesta-warning, #B45309);
  width: 0;
  opacity: 0.55;
}

.vtl-item.is-split-overflow .vtl-marker {
  background: var(--vesta-warning-subtle, #FEF3C7);
  border-color: var(--vesta-warning, #B45309);
  color: var(--vesta-warning, #B45309);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--vesta-warning, #B45309) 14%, transparent);
}

.tk-split-ribbon {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 6px 0 8px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--vesta-warning, #B45309) 26%, transparent);
  background: linear-gradient(135deg, color-mix(in srgb, var(--vesta-warning, #B45309) 8%, transparent), transparent 70%);
}
.tk-split-ribbon .lucide {
  width: 14px;
  height: 14px;
  color: var(--vesta-warning, #B45309);
  flex: none;
}

.tk-split-ribbon-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--vesta-warning, #B45309);
  flex: none;
}

.tk-split-ribbon-total {
  font-size: 13px;
  font-weight: 700;
  color: var(--vesta-text-primary);
  flex: none;
}

.tk-split-bar {
  flex: 1 1 200px;
  min-width: 140px;
  display: flex;
  height: 8px;
  border-radius: 99px;
  overflow: hidden;
  background: var(--vesta-border);
}
[data-theme=dark] .tk-split-bar {
  background: color-mix(in srgb, var(--vesta-text-muted) 30%, transparent);
}

.tk-split-bar-covered {
  background: var(--vesta-success, #16A34A);
}

.tk-split-bar-overflow {
  background: var(--vesta-warning, #B45309);
}

.tk-split-legend {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  font-size: 11.5px;
  color: var(--vesta-text-secondary);
  flex: none;
}

.tk-split-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}
.tk-split-legend-item::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 99px;
  background: currentcolor;
  flex: none;
}
.tk-split-legend-item.is-covered::before {
  background: var(--vesta-success, #16A34A);
}
.tk-split-legend-item.is-overflow::before {
  background: var(--vesta-warning, #B45309);
}
.tk-split-legend-item b {
  font-weight: 700;
  color: var(--vesta-text-primary);
}

.tk-split-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 9px;
  border-radius: 99px;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}
.tk-split-tag .lucide {
  width: 12px;
  height: 12px;
}
.tk-split-tag.is-covered {
  background: var(--vesta-success-subtle, #DCFCE7);
  color: var(--vesta-success, #16A34A);
}
.tk-split-tag.is-overflow {
  background: var(--vesta-warning-subtle, #FEF3C7);
  color: var(--vesta-warning, #B45309);
}

@media (max-width: 575.98px) {
  .tk-split-ribbon {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
  .tk-split-bar {
    flex: 0 0 auto;
    width: 100%;
    height: 10px;
  }
  .tk-split-legend {
    gap: 8px 14px;
  }
}
.v-verdict {
  display: flex;
  align-items: center;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 14px;
  border: 1px solid var(--vesta-border);
  border-left: 3px solid var(--vesta-border);
  border-radius: var(--vesta-radius-md);
  background: var(--vesta-bg-subtle);
}
[data-theme=dark] .v-verdict {
  background: var(--vesta-bg-card);
  border-color: var(--vesta-border);
}
.v-verdict.is-ok {
  border-left-color: var(--vesta-success);
}
.v-verdict.is-warn {
  border-left-color: var(--vesta-warning);
}
.v-verdict.is-danger {
  border-left-color: var(--vesta-danger);
}
.v-verdict.is-ok .v-verdict-icon {
  color: var(--vesta-success);
}
.v-verdict.is-warn .v-verdict-icon {
  color: var(--vesta-warning);
}
.v-verdict.is-danger .v-verdict-icon {
  color: var(--vesta-danger);
}

.v-verdict-icon {
  display: flex;
  flex: none;
  margin-top: 1px;
}
.v-verdict-icon .lucide {
  width: 18px;
  height: 18px;
}

.v-verdict-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  flex: 1;
}

.v-verdict-headline {
  margin: 0;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--vesta-text-primary);
}

.v-verdict-reasons {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.v-verdict-reasons li {
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--vesta-text-secondary);
}
.v-verdict-reasons li.is-danger {
  color: var(--vesta-danger);
}

.v-verdict-num {
  font-weight: 700;
  color: var(--vesta-text-primary);
  margin-right: 4px;
}

.v-verdict-link {
  margin-left: 6px;
  font-weight: 600;
  color: var(--vesta-primary);
  text-decoration: none;
}
.v-verdict-link:hover {
  text-decoration: underline;
}

.v-verdict--compact {
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  padding: 10px 14px;
}

.v-verdict-lead {
  display: flex;
  align-items: center;
  gap: 10px;
  align-items: center;
}
.v-verdict-lead .v-verdict-headline {
  flex: 1;
  min-width: 0;
}

.v-verdict-chips {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.v-verdict-chip {
  display: flex;
  align-items: center;
  gap: 6px;
  align-items: baseline;
  padding: 5px 10px;
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-full);
  background: var(--vesta-bg-card);
  text-decoration: none;
  color: var(--vesta-text-secondary);
  transition: border-color 0.12s, background 0.12s;
}
.v-verdict-chip:not(.is-static):hover {
  border-color: var(--vesta-primary);
  background: var(--vesta-primary-subtle);
}
.v-verdict-chip.is-static {
  cursor: default;
}
.v-verdict-chip .lucide {
  width: 13px;
  height: 13px;
  align-self: center;
  opacity: 0.55;
}
.v-verdict-chip.is-warn .v-verdict-chip-num {
  color: var(--vesta-warning-strong);
}
.v-verdict-chip.is-danger .v-verdict-chip-num {
  color: var(--vesta-danger-strong);
}

.v-verdict-chip-num {
  font-size: 15px;
  font-weight: 700;
  color: var(--vesta-text-primary);
  white-space: nowrap;
}

.v-verdict-chip-label {
  font-size: 11.5px;
  white-space: nowrap;
}

.v-verdict-next {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--vesta-text-secondary);
}
.v-verdict-next .lucide {
  width: 13px;
  height: 13px;
  margin-right: 4px;
  vertical-align: -2px;
  opacity: 0.6;
}

.v-verdict-next-label {
  font-weight: 700;
  color: var(--vesta-text-primary);
  margin-right: 4px;
}

.v-verdict-brain-toggle {
  display: flex;
  align-items: center;
  gap: 5px;
  flex: none;
  padding: 3px 9px;
  border: 1px solid var(--vesta-primary-subtle);
  border-radius: var(--vesta-radius-full);
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  cursor: pointer;
}
.v-verdict-brain-toggle:hover, .v-verdict-brain-toggle.is-open {
  filter: brightness(0.96);
}
.v-verdict-brain-toggle .lucide {
  width: 12px;
  height: 12px;
}

.v-verdict-brain {
  padding-top: 8px;
  border-top: 1px dashed var(--vesta-border);
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.v-verdict-brain-text {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--vesta-text-secondary);
}

.v-verdict-metrics {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 2px;
  font-size: 12.5px;
  color: var(--vesta-text-secondary);
}

@keyframes discoveryIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.vesta-discovery {
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 1070;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 340px;
  pointer-events: none;
}

.vesta-discovery__card {
  display: flex;
  align-items: center;
  gap: 10px;
  align-items: flex-start;
  padding: 12px 14px;
  border-radius: var(--vesta-radius-lg);
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  box-shadow: var(--vesta-shadow-md);
  color: var(--vesta-text-primary);
  pointer-events: all;
  animation: discoveryIn 0.22s ease;
}

.vesta-discovery__icon {
  flex-shrink: 0;
  color: var(--vesta-primary);
}
.vesta-discovery__icon svg {
  width: 18px;
  height: 18px;
}

.vesta-discovery__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  font-size: 13px;
}

.vesta-discovery__title {
  font-weight: 600;
}

.vesta-discovery__body {
  color: var(--vesta-text-secondary);
  font-size: 12px;
}

.vesta-discovery__actions {
  display: flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
  margin-left: auto;
  align-items: flex-start;
}

.vesta-discovery__close,
.vesta-discovery__got-it,
.vesta-discovery__later {
  flex-shrink: 0;
  border: 0;
  background: transparent;
  padding: 2px;
  border-radius: var(--vesta-radius-sm);
  color: var(--vesta-text-secondary);
  cursor: pointer;
}
.vesta-discovery__close:hover,
.vesta-discovery__got-it:hover,
.vesta-discovery__later:hover {
  color: var(--vesta-text-primary);
  background: var(--vesta-bg-hover);
}
.vesta-discovery__close svg,
.vesta-discovery__got-it svg,
.vesta-discovery__later svg {
  width: 14px;
  height: 14px;
}

.vesta-discovery-inline {
  display: flex;
  align-items: center;
  gap: 8px;
  align-items: center;
  justify-content: center;
  max-width: 420px;
  margin: 0 auto;
  padding: 8px 10px;
  border-radius: var(--vesta-radius-md);
  border: 1px dashed var(--vesta-border);
  background: var(--vesta-bg-subtle);
  font-size: 12px;
  text-align: left;
}

.vesta-discovery-inline__icon {
  flex-shrink: 0;
  color: var(--vesta-primary);
}
.vesta-discovery-inline__icon svg {
  width: 15px;
  height: 15px;
}

.vesta-discovery-inline__text {
  min-width: 0;
  color: var(--vesta-text-secondary);
}

.vesta-discovery-inline__close {
  flex-shrink: 0;
  margin-left: auto;
  border: 0;
  background: transparent;
  padding: 2px;
  border-radius: var(--vesta-radius-sm);
  color: var(--vesta-text-secondary);
  cursor: pointer;
}
.vesta-discovery-inline__close:hover {
  color: var(--vesta-text-primary);
  background: var(--vesta-bg-hover);
}
.vesta-discovery-inline__close svg {
  width: 13px;
  height: 13px;
}

.vesta-achievements {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 10px;
}

.vesta-achievements__group {
  margin-bottom: 16px;
}

.vesta-achievements__group-title {
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.vesta-achievement {
  display: flex;
  align-items: center;
  gap: 10px;
  align-items: flex-start;
  min-width: 0;
  padding: 10px 12px;
  border-radius: var(--vesta-radius-md);
  border: 1px solid var(--vesta-border);
  background: var(--vesta-bg-card);
}
.vesta-achievement.is-locked .vesta-achievement__icon {
  color: var(--vesta-text-muted);
}
.vesta-achievement.is-locked .vesta-achievement__title {
  color: var(--vesta-text-secondary);
}
.vesta-achievement.is-unlocked {
  border-color: var(--vesta-primary);
}
.vesta-achievement.is-unlocked .vesta-achievement__icon {
  color: var(--vesta-primary);
}

.vesta-achievement__icon {
  flex-shrink: 0;
}
.vesta-achievement__icon svg {
  width: 20px;
  height: 20px;
}

.vesta-achievement__text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  font-size: 13px;
}

.vesta-achievement__title {
  font-weight: 600;
  color: var(--vesta-text-primary);
}

.vesta-achievement__desc {
  color: var(--vesta-text-secondary);
  font-size: 12px;
}

.vesta-achievement__meta {
  color: var(--vesta-text-muted);
  font-size: 11px;
}

.vesta-achievement__bar {
  width: 100%;
  height: 4px;
  border-radius: 2px;
  background: var(--vesta-bg-subtle);
  overflow: hidden;
}
.vesta-achievement__bar > span {
  display: block;
  height: 100%;
  border-radius: 2px;
  background: var(--vesta-primary);
}

.vesta-achievements__score {
  display: flex;
  align-items: center;
  gap: 4px;
  align-items: baseline;
  white-space: nowrap;
}

.vesta-achievements__score-value {
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  color: var(--vesta-primary);
}

.vesta-achievements__score-total {
  font-size: 13px;
  color: var(--vesta-text-muted);
}

.vesta-achievements__meter {
  width: 100%;
  height: 6px;
  margin-bottom: 16px;
  border-radius: 3px;
  background: var(--vesta-bg-subtle);
  overflow: hidden;
}
.vesta-achievements__meter > span {
  display: block;
  height: 100%;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--vesta-primary), var(--vesta-info));
  transition: width 0.6s ease;
}

@keyframes achCelebrateIn {
  from {
    opacity: 0;
    transform: translateY(14px) scale(0.94);
  }
  60% {
    transform: translateY(0) scale(1.03);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes achScrimIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes achRaysSpin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes achDiscPop {
  from {
    transform: scale(0.4);
  }
  70% {
    transform: scale(1.12);
  }
  to {
    transform: scale(1);
  }
}
@keyframes achConfettiFall {
  from {
    opacity: 1;
    transform: translateY(-10px) rotate(0deg);
  }
  to {
    opacity: 0;
    transform: translateY(220px) rotate(540deg);
  }
}
.vesta-ach-celebrate {
  position: fixed;
  inset: 0;
  z-index: 1090;
  display: grid;
  place-items: center;
  padding: 16px;
}

.vesta-ach-celebrate__scrim {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(2px);
  animation: achScrimIn 0.2s ease;
}

.vesta-ach-celebrate__card {
  position: relative;
  width: 100%;
  max-width: 380px;
  padding: 28px 24px 24px;
  border-radius: var(--vesta-radius-lg);
  border: 1px solid var(--vesta-border);
  background: var(--vesta-bg-card);
  box-shadow: var(--vesta-shadow-lg, var(--vesta-shadow-md));
  text-align: center;
  animation: achCelebrateIn 0.34s cubic-bezier(0.2, 0.8, 0.3, 1.1);
  overflow: hidden;
}

.vesta-ach-celebrate__medal {
  position: relative;
  display: grid;
  place-items: center;
  width: 104px;
  height: 104px;
  margin: 0 auto 14px;
}

.vesta-ach-celebrate__rays {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  fill: var(--vesta-warning);
  opacity: 0.55;
  animation: achRaysSpin 14s linear infinite;
}

.vesta-ach-celebrate__glow {
  position: absolute;
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(var(--vesta-warning-rgb), 0.38) 0%, rgba(var(--vesta-warning-rgb), 0) 70%);
}

.vesta-ach-celebrate__disc {
  position: relative;
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: linear-gradient(140deg, var(--vesta-warning), var(--vesta-primary));
  color: #fff;
  box-shadow: 0 6px 20px rgba(var(--vesta-warning-rgb), 0.45);
  animation: achDiscPop 0.42s cubic-bezier(0.2, 0.8, 0.3, 1.2);
}
.vesta-ach-celebrate__disc svg {
  width: 30px;
  height: 30px;
}

.vesta-ach-celebrate__eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--vesta-primary);
}

.vesta-ach-celebrate__title {
  margin-top: 4px;
  font-size: 20px;
  font-weight: 700;
  color: var(--vesta-text-primary);
}

.vesta-ach-celebrate__desc {
  margin-top: 6px;
  font-size: 13px;
  color: var(--vesta-text-secondary);
}

.vesta-ach-celebrate__queue {
  position: absolute;
  top: 10px;
  right: 12px;
  font-size: 11px;
  font-weight: 700;
  color: var(--vesta-text-muted);
}

.vesta-ach-celebrate__confetti {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.vesta-ach-celebrate__confetti > span {
  position: absolute;
  top: 0;
  width: 7px;
  height: 11px;
  border-radius: 1px;
  opacity: 0;
  animation: achConfettiFall 1.5s ease-in forwards;
}
.vesta-ach-celebrate__confetti > span:nth-child(3n+1) {
  background: var(--vesta-primary);
}
.vesta-ach-celebrate__confetti > span:nth-child(3n+2) {
  background: var(--vesta-success, #2fb344);
}
.vesta-ach-celebrate__confetti > span:nth-child(3n+3) {
  background: var(--vesta-warning, #f5a524);
}
.vesta-ach-celebrate__confetti > span:nth-child(1) {
  left: 6%;
  animation-delay: 0.02s;
}
.vesta-ach-celebrate__confetti > span:nth-child(2) {
  left: 14%;
  animation-delay: 0.22s;
}
.vesta-ach-celebrate__confetti > span:nth-child(3) {
  left: 22%;
  animation-delay: 0.1s;
}
.vesta-ach-celebrate__confetti > span:nth-child(4) {
  left: 30%;
  animation-delay: 0.34s;
}
.vesta-ach-celebrate__confetti > span:nth-child(5) {
  left: 38%;
  animation-delay: 0.06s;
}
.vesta-ach-celebrate__confetti > span:nth-child(6) {
  left: 46%;
  animation-delay: 0.28s;
}
.vesta-ach-celebrate__confetti > span:nth-child(7) {
  left: 54%;
  animation-delay: 0.14s;
}
.vesta-ach-celebrate__confetti > span:nth-child(8) {
  left: 62%;
  animation-delay: 0.4s;
}
.vesta-ach-celebrate__confetti > span:nth-child(9) {
  left: 70%;
  animation-delay: 0.04s;
}
.vesta-ach-celebrate__confetti > span:nth-child(10) {
  left: 78%;
  animation-delay: 0.25s;
}
.vesta-ach-celebrate__confetti > span:nth-child(11) {
  left: 86%;
  animation-delay: 0.12s;
}
.vesta-ach-celebrate__confetti > span:nth-child(12) {
  left: 92%;
  animation-delay: 0.36s;
}
.vesta-ach-celebrate__confetti > span:nth-child(13) {
  left: 50%;
  animation-delay: 0.48s;
}
.vesta-ach-celebrate__confetti > span:nth-child(14) {
  left: 18%;
  animation-delay: 0.44s;
}

@media (prefers-reduced-motion: reduce) {
  .vesta-ach-celebrate__card,
  .vesta-ach-celebrate__scrim,
  .vesta-ach-celebrate__disc,
  .vesta-ach-celebrate__rays {
    animation: none;
  }
  .vesta-ach-celebrate__confetti {
    display: none;
  }
}
.vesta-palette__hint {
  display: flex;
  align-items: center;
  gap: 6px;
  align-items: center;
  margin-left: auto;
  color: var(--vesta-text-secondary);
  font-size: 11px;
}
.vesta-palette__hint svg {
  width: 13px;
  height: 13px;
}

@keyframes eggCardIn {
  from {
    opacity: 0;
    transform: translateY(10px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.vesta-egg {
  position: fixed;
  inset: 0;
  z-index: 1085;
  display: grid;
  place-items: center;
  padding: 16px;
}

.vesta-egg__scrim {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(2px);
}

.vesta-egg__card {
  position: relative;
  width: 100%;
  max-width: 360px;
  padding: 24px 22px 20px;
  border-radius: var(--vesta-radius-lg);
  border: 1px solid var(--vesta-border);
  background: var(--vesta-bg-card);
  box-shadow: var(--vesta-shadow-lg, var(--vesta-shadow-md));
  text-align: center;
  animation: eggCardIn 0.3s cubic-bezier(0.2, 0.8, 0.3, 1.1);
}
.vesta-egg__card.is-developer {
  border-color: var(--vesta-info);
  box-shadow: 0 10px 30px rgba(var(--vesta-info-rgb), 0.28);
}

.vesta-egg__icon {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  margin: 0 auto 12px;
  border-radius: 50%;
  background: linear-gradient(140deg, var(--vesta-primary), var(--vesta-info));
  color: #fff;
}
.vesta-egg__icon svg {
  width: 26px;
  height: 26px;
}

.vesta-egg__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--vesta-text-primary);
}

.vesta-egg__body {
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--vesta-text-secondary);
}

@keyframes seasonFall {
  from {
    transform: translateY(-8vh) translateX(0);
  }
  to {
    transform: translateY(108vh) translateX(24px);
  }
}
body.vesta-season-winter::before,
body.vesta-season-spring::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background-repeat: repeat;
  background-size: 120px 120px;
  animation: seasonFall 14s linear infinite;
  opacity: 0.5;
}

body.vesta-season-winter::before {
  background-image: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.9) 0 2px, transparent 2px), radial-gradient(circle at 70% 55%, rgba(255, 255, 255, 0.75) 0 1.5px, transparent 1.5px), radial-gradient(circle at 45% 85%, rgba(255, 255, 255, 0.8) 0 2px, transparent 2px);
}

body.vesta-season-spring::before {
  background-image: radial-gradient(circle at 25% 25%, rgba(var(--vesta-primary-rgb), 0.5) 0 2.5px, transparent 2.5px), radial-gradient(circle at 75% 60%, rgba(var(--vesta-primary-rgb), 0.35) 0 2px, transparent 2px);
}

@media (prefers-reduced-motion: reduce) {
  .vesta-egg__card {
    animation: none;
  }
  body.vesta-season-winter::before,
  body.vesta-season-spring::before {
    display: none;
  }
}
.vesta-devconsole {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 1055;
  display: flex;
  flex-direction: column;
  max-height: min(45vh, 420px);
  border-top: 1px solid var(--vesta-border);
  background: var(--vesta-bg-card);
  box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.18);
  font-family: ui-monospace, "Cascadia Mono", "Consolas", monospace;
  font-size: 0.82rem;
}

.vesta-devconsole__bar {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  padding: 0.4rem 0.75rem;
  border-bottom: 1px solid var(--vesta-border);
  background: var(--vesta-bg-body);
}

.vesta-devconsole__title {
  font-weight: 600;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vesta-devconsole__badge {
  padding: 0.05rem 0.4rem;
  border: 1px solid var(--vesta-border);
  border-radius: 999px;
  color: var(--vesta-text-muted);
  font-size: 0.68rem;
  text-transform: uppercase;
}

.vesta-devconsole__close {
  margin-inline-start: auto;
  border: 0;
  background: none;
  color: var(--vesta-text-muted);
  line-height: 0;
  cursor: pointer;
}

.vesta-devconsole__out {
  flex: 1;
  min-height: 0;
  padding: 0.5rem 0.75rem;
  overflow-y: auto;
}

.vesta-devconsole__line {
  white-space: pre-wrap;
  word-break: break-word;
}
.vesta-devconsole__line.is-echo {
  color: var(--vesta-text-muted);
}
.vesta-devconsole__line.is-echo::before {
  content: "> ";
}
.vesta-devconsole__line.is-error {
  color: var(--vesta-danger);
}

.vesta-devconsole__in {
  display: flex;
  gap: 0.4rem;
  align-items: center;
  padding: 0.4rem 0.75rem;
  border-top: 1px solid var(--vesta-border);
}

.vesta-devconsole__prompt {
  color: var(--vesta-text-muted);
}

.vesta-devconsole__input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: none;
  color: var(--vesta-text-primary);
  font: inherit;
}
.vesta-devconsole__input:focus {
  outline: none;
}

@keyframes profileHeroIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes profileRingSpin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.vesta-profile-hero {
  position: relative;
  display: flex;
  align-items: center;
  gap: 20px;
  align-items: center;
  flex-wrap: wrap;
  padding: 24px 28px;
  border-radius: var(--vesta-radius-xl);
  border: 1px solid var(--vesta-border);
  background: radial-gradient(600px 220px at 0% 0%, rgba(var(--vesta-primary-rgb), 0.14), transparent 60%), radial-gradient(520px 200px at 100% 100%, rgba(var(--vesta-info-rgb), 0.12), transparent 60%), var(--vesta-bg-card);
  box-shadow: var(--vesta-shadow-md);
  overflow: hidden;
  animation: profileHeroIn 0.35s ease backwards;
}
.vesta-profile-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--vesta-primary), var(--vesta-info));
}

.vesta-profile-hero__avatar {
  position: relative;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  padding: 5px;
  border-radius: 50%;
}
.vesta-profile-hero__avatar::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(var(--vesta-primary), var(--vesta-info), var(--vesta-primary));
  animation: profileRingSpin 8s linear infinite;
}
.vesta-profile-hero__avatar > * {
  position: relative;
  border: 3px solid var(--vesta-bg-card);
  border-radius: 50%;
}

.vesta-profile-hero__avatar-edit {
  position: absolute;
  right: 2px;
  bottom: 2px;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  margin: 0;
  border: 2px solid var(--vesta-bg-card);
  border-radius: 50%;
  background: var(--vesta-primary);
  color: #fff;
  cursor: pointer;
  box-shadow: var(--vesta-shadow);
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.vesta-profile-hero__avatar-edit:hover {
  background: var(--vesta-primary-hover);
  transform: scale(1.08);
}
.vesta-profile-hero__avatar-edit svg {
  width: 15px;
  height: 15px;
}

.vesta-profile-hero__id {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  flex: 1;
  animation: profileHeroIn 0.35s ease 0.08s backwards;
}

.vesta-profile-hero__name {
  margin: 0;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--vesta-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vesta-profile-hero__email {
  color: var(--vesta-text-secondary);
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vesta-profile-hero__chips {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.vesta-profile-hero__chip {
  display: flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 500;
  color: var(--vesta-text-secondary);
  background: var(--vesta-bg-subtle);
  border: 1px solid var(--vesta-border);
}
.vesta-profile-hero__chip svg {
  width: 13px;
  height: 13px;
  color: var(--vesta-primary);
}
.vesta-profile-hero__chip--score {
  color: var(--vesta-primary);
  background: var(--vesta-primary-subtle);
  border-color: rgba(var(--vesta-primary-rgb), 0.35);
}
[data-theme=dark] .vesta-profile-hero__chip--score {
  background: rgba(var(--vesta-primary-rgb), 0.18);
}

.vesta-profile-hero__actions {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-end;
  margin-left: auto;
  animation: profileHeroIn 0.35s ease 0.16s backwards;
}

.vesta-profile__pane {
  animation: profileHeroIn 0.3s ease 0.2s backwards;
}

@media (prefers-reduced-motion: reduce) {
  .vesta-profile-hero,
  .vesta-profile-hero__id,
  .vesta-profile-hero__actions,
  .vesta-profile-hero__avatar::before,
  .vesta-profile__pane {
    animation: none;
  }
}
[data-theme=light] {
  --vesta-bg-body: #F8FAFC;
  --vesta-bg-card: #FFFFFF;
  --vesta-bg-sidebar: #0F172A;
  --vesta-bg-sidebar-2: #1E293B;
  --vesta-sidebar-section: #94A3B8;
  --vesta-sidebar-section-strong: #E2E8F0;
  --vesta-sidebar-rule: rgba(148, 163, 184, .16);
  --vesta-bg-topbar: #FFFFFF;
  --vesta-bg-hover: #F1F5F9;
  --vesta-bg-active: #E2E8F0;
  --vesta-bg-input: #FFFFFF;
  --vesta-text-primary: #0F172A;
  --vesta-text-secondary: #475569;
  --vesta-text-muted: #5A6779;
  --vesta-primary-strong: #4F46E5;
  --vesta-border: #E2E8F0;
  --vesta-border-subtle: #F1F5F9;
  --vesta-border-input: #CBD5E1;
  --vesta-primary-subtle: #EEF2FF;
  --vesta-success-subtle: #F0FDF4;
  --vesta-warning-subtle: #FFFBEB;
  --vesta-danger-subtle: #FEF2F2;
  --vesta-info-subtle: #ECFEFF;
  --vesta-shadow-sm: 0 1px 2px 0 rgba(0,0,0,.05);
  --vesta-shadow: 0 4px 6px -1px rgba(0,0,0,.07), 0 2px 4px -2px rgba(0,0,0,.05);
  --vesta-shadow-md: 0 10px 15px -3px rgba(0,0,0,.08), 0 4px 6px -4px rgba(0,0,0,.05);
  --vesta-success-strong: #15803D;
  --vesta-warning-strong: #B45309;
  --vesta-danger-strong: #B91C1C;
  --vesta-info-strong: #0E7490;
  --vesta-wf-current-bg: #BBF7D0;
  --vesta-wf-todo: var(--vesta-border);
}

[data-theme=dark] {
  --vesta-bg-body: #0B1120;
  --vesta-bg-card: #131A2C;
  --vesta-bg-sidebar: #070D1B;
  --vesta-bg-sidebar-2: #0F1729;
  --vesta-sidebar-section: #94A3B8;
  --vesta-sidebar-section-strong: #F1F5F9;
  --vesta-sidebar-rule: rgba(148, 163, 184, .14);
  --vesta-bg-topbar: #0F1729;
  --vesta-bg-hover: #1B2440;
  --vesta-bg-active: #243056;
  --vesta-bg-input: #131A2C;
  --vesta-text-primary: #F1F5F9;
  --vesta-text-secondary: #CBD5E1;
  --vesta-text-muted: #94A3B8;
  --vesta-primary-strong: #A5B4FC;
  --vesta-border: #1E2A47;
  --vesta-border-subtle: #131C33;
  --vesta-border-input: #334155;
  --vesta-primary-subtle: rgba(99,102,241,.16);
  --vesta-success-subtle: rgba(34,197,94,.14);
  --vesta-warning-subtle: rgba(245,158,11,.14);
  --vesta-danger-subtle: rgba(239,68,68,.14);
  --vesta-info-subtle: rgba(6,182,212,.14);
  --vesta-shadow-sm: 0 1px 2px 0 rgba(0,0,0,.35);
  --vesta-shadow: 0 4px 10px -2px rgba(0,0,0,.5);
  --vesta-shadow-md: 0 12px 24px -8px rgba(0,0,0,.55);
  --vesta-shadow-premium: 0 0 0 1px rgba(255,255,255,.04), 0 24px 50px 0 rgba(0,0,0,.6);
  --vesta-shadow-drawer: -16px 0 40px -10px rgba(0,0,0,.55);
  --vesta-kpi-bg-indigo: rgba(99,102,241,.20);
  --vesta-kpi-bg-danger: rgba(239,68,68,.20);
  --vesta-kpi-bg-red600: rgba(220,38,38,.22);
  --vesta-kpi-bg-warning: rgba(245,158,11,.22);
  --vesta-kpi-bg-success: rgba(34,197,94,.20);
  --vesta-kpi-bg-info: rgba(14,116,144,.20);
  --vesta-success-strong: #4ADE80;
  --vesta-warning-strong: #FBBF24;
  --vesta-danger-strong: #F87171;
  --vesta-info-strong: #22D3EE;
  --vesta-wf-current-bg: rgba(34,197,94,.30);
  --vesta-wf-todo: rgba(255,255,255,.08);
}

[data-bs-theme=dark] {
  --bs-body-bg: var(--vesta-bg-body);
  --bs-body-bg-rgb: 11, 17, 32;
  --bs-body-color: var(--vesta-text-primary);
  --bs-body-color-rgb: 241, 245, 249;
  --bs-emphasis-color: var(--vesta-text-primary);
  --bs-secondary-color: var(--vesta-text-secondary);
  --bs-secondary-bg: var(--vesta-bg-sidebar-2);
  --bs-tertiary-color: var(--vesta-text-muted);
  --bs-tertiary-bg: var(--vesta-bg-hover);
  --bs-border-color: var(--vesta-border);
  --bs-border-color-translucent: rgba(255,255,255,.08);
  --bs-link-color: #A5B4FC;
  --bs-link-color-rgb: 165, 180, 252;
  --bs-link-hover-color: #C7D2FE;
  --bs-heading-color: var(--vesta-text-primary);
  --bs-primary: var(--vesta-primary);
  --bs-primary-rgb: var(--vesta-primary-rgb);
  --bs-primary-bg-subtle: rgba(99,102,241,.16);
  --bs-secondary-bg-subtle: rgba(148,163,184,.18);
  --bs-success-bg-subtle: rgba(34,197,94,.14);
  --bs-warning-bg-subtle: rgba(245,158,11,.14);
  --bs-danger-bg-subtle: rgba(239,68,68,.14);
  --bs-info-bg-subtle: rgba(6,182,212,.14);
  --bs-primary-text-emphasis: var(--vesta-primary-strong);
  --bs-secondary-text-emphasis: var(--vesta-text-secondary);
  --bs-success-text-emphasis: var(--vesta-success-strong);
  --bs-warning-text-emphasis: var(--vesta-warning-strong);
  --bs-danger-text-emphasis: var(--vesta-danger-strong);
  --bs-info-text-emphasis: var(--vesta-info-strong);
}

[data-theme=dark] .text-purple-700 {
  color: #C4B5FD;
}

[data-theme=dark] .text-blue-700 {
  color: #93C5FD;
}

[data-theme=dark] .text-amber-700 {
  color: #FCD34D;
}

[data-theme=dark] .text-emerald-700 {
  color: #86EFAC;
}

[data-theme=dark] .text-red-700 {
  color: #FCA5A5;
}

[data-theme=dark] .text-cyan-700 {
  color: #67E8F9;
}

[data-theme=dark] .text-indigo-700 {
  color: #C7D2FE;
}

[data-theme=dark] .bg-purple-50 {
  background: rgba(167, 139, 250, 0.12);
}

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

.fs-10 {
  font-size: 10px;
}

.fs-105 {
  font-size: 10.5px;
}

.fs-11 {
  font-size: 11px;
}

.fs-115 {
  font-size: 11.5px;
}

.fs-12 {
  font-size: 12px;
}

.fs-13 {
  font-size: 13px;
}

.fs-14 {
  font-size: 14px;
}

.fs-22 {
  font-size: 22px;
}

.fs-26 {
  font-size: 26px;
}

.lh-12 {
  line-height: 1.2;
}

.lh-14 {
  line-height: 1.4;
}

.lh-15 {
  line-height: 1.5;
}

.lh-16 {
  line-height: 1.6;
}

.ls-tight {
  letter-spacing: -0.01em;
}

.ls-tighter {
  letter-spacing: -0.02em;
}

.text-vesta-primary {
  color: var(--vesta-text-primary);
}

.text-vesta-secondary {
  color: var(--vesta-text-secondary);
}

.text-vesta-muted {
  color: var(--vesta-text-muted);
}

.text-purple-700 {
  color: #7C3AED;
}

.text-indigo-700 {
  color: #4338CA;
}

.text-blue-700 {
  color: #1D4ED8;
}

.text-amber-700 {
  color: #B45309;
}

.text-emerald-700 {
  color: #15803D;
}

.text-red-700 {
  color: #B91C1C;
}

.text-cyan-700 {
  color: #0E7490;
}

.text-primary {
  --bs-primary-rgb: 79, 70, 229;
}

.text-success {
  --bs-success-rgb: 21, 128, 61;
}

.text-warning {
  --bs-warning-rgb: 180, 83, 9;
}

.text-danger {
  --bs-danger-rgb: 185, 28, 28;
}

.text-info {
  --bs-info-rgb: 14, 116, 144;
}

.text-secondary {
  --bs-secondary-rgb: 71, 85, 105;
}

[data-theme=dark] .text-primary {
  --bs-primary-rgb: 165, 180, 252;
}
[data-theme=dark] .text-success {
  --bs-success-rgb: 74, 222, 128;
}
[data-theme=dark] .text-warning {
  --bs-warning-rgb: 251, 191, 36;
}
[data-theme=dark] .text-danger {
  --bs-danger-rgb: 248, 113, 113;
}
[data-theme=dark] .text-info {
  --bs-info-rgb: 34, 211, 238;
}
[data-theme=dark] .text-secondary {
  --bs-secondary-rgb: 203, 213, 225;
}

.bg-purple-50 {
  background: #F5F3FF;
}

.mw-0 {
  min-width: 0;
}

.gap-px-5 {
  gap: 5px;
}

.gap-px-6 {
  gap: 6px;
}

.gap-px-10 {
  gap: 10px;
}

.gap-px-14 {
  gap: 14px;
}

.icon-10 svg {
  width: 10px;
  height: 10px;
  flex-shrink: 0;
}

.icon-11 svg {
  width: 11px;
  height: 11px;
  flex-shrink: 0;
}

.icon-12 svg {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}

.icon-13 svg {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
}

.icon-14 svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.icon-16 svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.icon-18 svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.icon-20 svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.login-shell .is-hidden,
.toggle-pwd .is-hidden {
  display: none !important;
}

@keyframes pulseDot {
  0%, 100% {
    box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.15);
  }
  50% {
    box-shadow: 0 0 0 7px rgba(34, 197, 94, 0.05);
  }
}
@keyframes dockPulse {
  0% {
    transform: scale(0.6);
    opacity: 0.9;
  }
  100% {
    transform: scale(1.8);
    opacity: 0;
  }
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.login-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  min-height: 100dvh;
  background: var(--vesta-bg-body);
}
.login-shell .brand-pane {
  position: relative;
  background: var(--vesta-bg-sidebar);
  color: var(--vesta-text-inverse);
  overflow: hidden;
  padding: 40px 56px;
  display: flex;
  flex-direction: column;
  isolation: isolate;
}
.login-shell .brand-pane::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(900px 600px at 85% 110%, rgba(99, 102, 241, 0.35), transparent 60%), radial-gradient(700px 500px at -10% -10%, rgba(168, 85, 247, 0.18), transparent 60%), linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.25));
  z-index: -1;
}
.login-shell .brand-pane::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: radial-gradient(ellipse at 50% 40%, #000 30%, transparent 75%);
  z-index: -1;
  opacity: 0.6;
}
.login-shell .brand-logo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--vesta-font-display);
  font-weight: 800;
  font-size: 20px;
  letter-spacing: -0.01em;
  color: #fff;
}
.login-shell .brand-logo-mark {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: linear-gradient(135deg, #6366F1, #A855F7);
  box-shadow: 0 8px 22px rgba(99, 102, 241, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.2);
  position: relative;
}
.login-shell .brand-logo-mark svg {
  width: 18px;
  height: 18px;
  color: #fff;
  stroke-width: 2.25;
}
.login-shell .brand-logo-suite {
  font-weight: 500;
  color: rgba(255, 255, 255, 0.55);
  margin-left: -4px;
}
.login-shell .brand-body {
  margin-top: auto;
  margin-bottom: auto;
  max-width: 480px;
}
.login-shell .brand-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.6);
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 6px 10px;
  border-radius: 999px;
}
.login-shell .brand-eyebrow .dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--vesta-success);
  box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.15);
  animation: pulseDot 2s ease-in-out infinite;
}
.login-shell .brand-title {
  font-family: var(--vesta-font-display);
  font-weight: 700;
  font-size: 40px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #fff;
  margin: 20px 0 16px;
  text-wrap: balance;
}
.login-shell .brand-title em {
  font-style: normal;
  background: linear-gradient(135deg, #C7D2FE, #F0ABFC);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.login-shell .brand-sub {
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.7);
  margin: 0 0 32px;
  max-width: 440px;
}
.login-shell .brand-feats {
  display: grid;
  gap: 14px;
  margin-top: 8px;
}
.login-shell .brand-feat {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 14px;
  align-items: flex-start;
}
.login-shell .brand-feat-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  display: grid;
  place-items: center;
  color: #C7D2FE;
}
.login-shell .brand-feat-title {
  font-weight: 600;
  font-size: 14px;
  color: #fff;
  margin: 4px 0 2px;
}
.login-shell .brand-feat-desc {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.5;
}
.login-shell .brand-dock {
  position: absolute;
  bottom: 28px;
  left: 56px;
  right: 56px;
  background: rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(14px) saturate(160%);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 18px;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  gap: 14px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
}
.login-shell .brand-dock-pulse {
  position: relative;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--vesta-primary);
  box-shadow: 0 0 12px rgba(99, 102, 241, 0.8);
}
.login-shell .brand-dock-pulse::after {
  content: "";
  position: absolute;
  inset: -5px;
  border-radius: 50%;
  border: 1.5px solid rgba(99, 102, 241, 0.7);
  animation: dockPulse 1.8s ease-out infinite;
}
.login-shell .brand-dock-ctx {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.login-shell .brand-dock-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}
.login-shell .brand-dock-label .mono {
  font-family: var(--vesta-font-mono);
}
.login-shell .brand-dock-title {
  font-size: 13px;
  color: #fff;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.login-shell .brand-dock-timer {
  font-family: var(--vesta-font-mono);
  font-size: 18px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: #fff;
}
.login-shell .brand-dock-timer .sec {
  color: var(--vesta-primary);
}
.login-shell .form-pane {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 24px 28px;
}
.login-shell .form-topbar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
}
.login-shell .mobile-hero {
  display: none;
}
.login-shell .mobile-hero .brand-logo-mark {
  width: 32px;
  height: 32px;
  border-radius: 9px;
}
.login-shell .mobile-hero .wordmark {
  font-family: var(--vesta-font-display);
  font-weight: 800;
  font-size: 18px;
  letter-spacing: -0.01em;
  color: var(--vesta-text-primary);
}
.login-shell .mobile-hero .wordmark-suffix {
  font-weight: 500;
  color: var(--vesta-text-muted);
}
.login-shell .form-topbar-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}
.login-shell .vesta-theme-toggle {
  width: 56px;
  height: 30px;
  border-radius: 999px;
  border: 1px solid var(--vesta-border);
  position: relative;
  cursor: pointer;
  background: linear-gradient(135deg, #FEF3C7, #DBEAFE);
  display: inline-flex;
  align-items: center;
  padding: 0;
  transition: background 0.25s;
}
[data-theme=dark] .login-shell .vesta-theme-toggle {
  background: linear-gradient(135deg, #1E293B, #312E81);
  border-color: var(--vesta-border-input);
}
.login-shell .vesta-theme-toggle .vtt-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
  transition: transform 0.35s cubic-bezier(0.68, -0.4, 0.27, 1.55);
  display: grid;
  place-items: center;
}
[data-theme=dark] .login-shell .vesta-theme-toggle .vtt-thumb {
  transform: translateX(26px);
  background: #0F172A;
}
.login-shell .form-wrap {
  flex: 1;
  display: grid;
  place-items: center;
  padding: 24px 16px 64px;
}
.login-shell .form-card {
  width: 100%;
  max-width: 420px;
}
.login-shell .form-card.legal-card {
  max-width: 640px;
}
.login-shell .legal-body {
  display: grid;
  gap: 20px;
  margin-bottom: 8px;
}
.login-shell .legal-section h3 {
  font-size: 14px;
  font-weight: 700;
  color: var(--vesta-text-primary);
  margin: 0 0 6px;
}
.login-shell .legal-section p {
  font-size: 13px;
  line-height: 1.6;
  color: var(--vesta-text-secondary);
  margin: 0;
}
.login-shell .legal-link-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  background: transparent;
  border: none;
  padding: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--vesta-primary-strong);
  cursor: pointer;
}
.login-shell .legal-link-btn:hover {
  text-decoration: underline;
}
.login-shell .form-foot-social {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 4px;
}
.login-shell .form-foot-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: 1px solid var(--vesta-border);
  color: var(--vesta-text-secondary);
}
.login-shell .form-foot-social a:hover {
  background: var(--vesta-bg-hover);
  color: var(--vesta-primary);
}
.login-shell .form-foot-social a svg {
  width: 15px;
  height: 15px;
}
.login-shell .form-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--vesta-font-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--vesta-primary-strong);
  background: var(--vesta-primary-subtle);
  border-radius: 999px;
  padding: 4px 10px;
  margin-bottom: 16px;
}
.login-shell .form-title {
  font-family: var(--vesta-font-display);
  font-size: 30px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0 0 6px;
  color: var(--vesta-text-primary);
}
.login-shell .form-sub {
  font-size: 14px;
  color: var(--vesta-text-secondary);
  margin: 0 0 28px;
}
.login-shell .form-stack {
  display: grid;
  gap: 14px;
}
.login-shell .form-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
  margin-bottom: 6px;
  letter-spacing: 0;
}
.login-shell .form-label a {
  font-size: 11px;
  font-weight: 500;
  text-decoration: none;
  color: var(--vesta-primary-strong);
}
.login-shell .form-label a:hover {
  text-decoration: underline;
}
.login-shell .input-wrap {
  position: relative;
}
.login-shell .input-wrap > svg.lead,
.login-shell .input-wrap > i[data-lucide].lead {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--vesta-text-muted);
  pointer-events: none;
}
.login-shell .input-wrap .toggle-pwd {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  color: var(--vesta-text-muted);
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.login-shell .input-wrap .toggle-pwd:hover {
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-secondary);
}
.login-shell .input-wrap .toggle-pwd i[data-lucide].is-hidden {
  display: none !important;
}
.login-shell .form-control {
  width: 100%;
  height: 44px;
  padding: 0 14px 0 40px;
  border-radius: var(--vesta-radius);
  border: 1px solid var(--vesta-border-input);
  background: var(--vesta-bg-input);
  color: var(--vesta-text-primary);
  font-family: var(--vesta-font);
  font-size: 14px;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.login-shell .form-control::placeholder {
  color: var(--vesta-text-muted);
}
.login-shell .form-control:focus {
  outline: none;
  border-color: var(--vesta-primary);
  box-shadow: 0 0 0 3px rgba(var(--vesta-primary-rgb), 0.2);
}
.login-shell .form-control.has-trail {
  padding-right: 44px;
}
.login-shell .form-check {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--vesta-text-secondary);
  user-select: none;
  cursor: pointer;
  margin: 4px 0 2px;
}
.login-shell .form-check input {
  appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  border: 1.5px solid var(--vesta-border-input);
  border-radius: 4px;
  background: var(--vesta-bg-input);
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: background 0.15s, border-color 0.15s;
  flex-shrink: 0;
}
.login-shell .form-check input:checked {
  background: var(--vesta-primary);
  border-color: var(--vesta-primary);
}
.login-shell .form-check input:checked::after {
  content: "";
  width: 9px;
  height: 5px;
  border: 2px solid #fff;
  border-top: 0;
  border-right: 0;
  transform: rotate(-45deg) translate(1px, -1px);
}
.login-shell .btn-primary {
  width: 100%;
  height: 44px;
  border-radius: var(--vesta-radius);
  background: var(--vesta-fill-primary);
  color: #fff;
  border: 1px solid var(--vesta-fill-primary);
  font-weight: 600;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  transition: background 0.15s, transform 0.05s, box-shadow 0.15s;
  box-shadow: 0 4px 12px rgba(var(--vesta-primary-rgb), 0.25);
}
.login-shell .btn-primary:hover {
  background: var(--vesta-primary-hover);
  box-shadow: 0 6px 16px rgba(var(--vesta-primary-rgb), 0.35);
}
.login-shell .btn-primary:active {
  transform: translateY(1px);
}
.login-shell .btn-primary .btn-spinner {
  animation: spin 1s linear infinite;
}
.login-shell .divider {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--vesta-text-muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 22px 0;
  font-weight: 600;
}
.login-shell .divider::before, .login-shell .divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--vesta-border);
}
.login-shell .sso-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.login-shell .sso-callback-wait {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px 0;
  color: var(--vesta-text-muted);
}
.login-shell .sso-email {
  margin-bottom: 12px;
}
.login-shell .sso-email .form-hint {
  margin: 6px 0 0;
  font-size: 12px;
  color: var(--vesta-text-muted);
}
.login-shell .btn-sso {
  width: 100%;
  height: 44px;
  border-radius: var(--vesta-radius);
  background: var(--vesta-bg-card);
  color: var(--vesta-text-primary);
  border: 1px solid var(--vesta-border);
  font-weight: 600;
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.login-shell .btn-sso:hover {
  background: var(--vesta-bg-hover);
  border-color: var(--vesta-border-input);
}
.login-shell .alert-danger {
  display: none;
  align-items: flex-start;
  gap: 10px;
  background: var(--vesta-danger-subtle);
  border: 1px solid rgba(239, 68, 68, 0.25);
  color: #B91C1C;
  border-radius: var(--vesta-radius);
  padding: 10px 12px;
  font-size: 13px;
  margin-bottom: 16px;
}
[data-theme=dark] .login-shell .alert-danger {
  color: #FCA5A5;
}
.login-shell .alert-danger.show {
  display: flex;
}
.login-shell .alert-danger i[data-lucide] {
  flex-shrink: 0;
  margin-top: 1px;
}
.login-shell .alert-success {
  display: none;
  align-items: flex-start;
  gap: 10px;
  background: var(--vesta-success-subtle);
  border: 1px solid rgba(34, 197, 94, 0.25);
  color: #15803D;
  border-radius: var(--vesta-radius);
  padding: 10px 12px;
  font-size: 13px;
  margin-bottom: 16px;
}
[data-theme=dark] .login-shell .alert-success {
  color: #86EFAC;
}
.login-shell .alert-success.show {
  display: flex;
}
.login-shell .alert-success i[data-lucide] {
  flex-shrink: 0;
  margin-top: 1px;
}
.login-shell .form-foot {
  text-align: center;
  font-size: 12px;
  color: var(--vesta-text-muted);
  margin-top: 24px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.login-shell .form-foot a {
  color: var(--vesta-text-secondary);
  text-decoration: none;
  font-weight: 500;
}
.login-shell .form-foot a:hover {
  color: var(--vesta-primary);
}
.login-shell .form-foot .sep {
  color: var(--vesta-border-input);
  margin: 0 6px;
}
.login-shell .form-foot .version {
  font-family: var(--vesta-font-mono);
  font-size: 10px;
  letter-spacing: 0;
  margin-top: 4px;
}
.login-shell .form-foot .version code {
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-secondary);
  padding: 2px 6px;
  border-radius: 4px;
}

@media (max-width: 960px) {
  .login-shell {
    grid-template-columns: 1fr;
    min-height: 100dvh;
  }
  .login-shell .brand-pane {
    display: none !important;
  }
  .login-shell .form-pane {
    padding: 0;
    min-height: 100dvh;
  }
  .login-shell .form-topbar {
    position: sticky;
    top: 0;
    z-index: 10;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 16px;
    background: var(--vesta-bg-body);
    border-bottom: 1px solid var(--vesta-border);
    backdrop-filter: saturate(1.4) blur(6px);
    -webkit-backdrop-filter: saturate(1.4) blur(6px);
  }
  .login-shell .mobile-hero {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
  }
  .login-shell .form-wrap {
    place-items: start center;
    padding: 24px 20px 48px;
  }
  .login-shell .form-eyebrow {
    display: none;
  }
  .login-shell .form-title {
    font-size: 26px;
    margin-top: 0;
  }
  .login-shell .form-foot {
    margin-top: 20px;
  }
}
@media (max-width: 420px) {
  .login-shell .form-wrap {
    padding: 20px 16px 40px;
  }
  .login-shell .form-topbar {
    padding: 10px 14px;
  }
  .login-shell .mobile-hero .wordmark {
    font-size: 16px;
  }
  .login-shell .vesta-lang-btn .chev {
    display: none;
  }
}
@media (min-width: 961px) {
  .login-shell {
    margin: 0 auto;
    width: 960px;
  }
}
.components-reconnect-first-attempt-visible,
.components-reconnect-repeated-attempt-visible,
.components-reconnect-failed-visible,
.components-pause-visible,
.components-resume-failed-visible,
.components-rejoining-animation {
  display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible,
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation,
#components-reconnect-modal.components-reconnect-paused .components-pause-visible,
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible,
#components-reconnect-modal.components-reconnect-retrying,
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible,
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation,
#components-reconnect-modal.components-reconnect-failed,
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible {
  display: block;
}

#components-reconnect-modal {
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
  width: 20rem;
  margin: 20vh auto;
  padding: 2rem;
  border: 0;
  border-radius: 0.5rem;
  box-shadow: var(--vesta-shadow-lg, 0 3px 6px 2px rgba(0, 0, 0, 0.3));
  opacity: 0;
  transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
  animation: components-reconnect-modal-fadeOutOpacity 0.5s both;
}
#components-reconnect-modal[open] {
  animation: components-reconnect-modal-slideUp 1.5s cubic-bezier(0.05, 0.89, 0.25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity 0.5s ease-in-out 0.3s;
  animation-fill-mode: both;
}

#components-reconnect-modal::backdrop {
  background-color: rgba(0, 0, 0, 0.4);
  animation: components-reconnect-modal-fadeInOpacity 0.5s ease-in-out;
  opacity: 1;
}

@keyframes components-reconnect-modal-slideUp {
  0% {
    transform: translateY(30px) scale(0.95);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes components-reconnect-modal-fadeInOpacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes components-reconnect-modal-fadeOutOpacity {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.components-reconnect-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

#components-reconnect-modal p {
  margin: 0;
  text-align: center;
}

#components-reconnect-modal button {
  border: 0;
  background-color: var(--bs-primary);
  color: var(--bs-white, #fff);
  padding: 4px 24px;
  border-radius: 4px;
}

#components-reconnect-modal button:hover {
  background-color: var(--vesta-primary-hover, var(--bs-primary));
}

#components-reconnect-modal button:active {
  background-color: var(--bs-primary);
}

.components-rejoining-animation {
  position: relative;
  width: 80px;
  height: 80px;
}

.components-rejoining-animation div {
  position: absolute;
  border: 3px solid var(--bs-primary);
  opacity: 1;
  border-radius: 50%;
  animation: components-rejoining-animation 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}

.components-rejoining-animation div:nth-child(2) {
  animation-delay: -0.5s;
}

@keyframes components-rejoining-animation {
  0% {
    top: 40px;
    left: 40px;
    width: 0;
    height: 0;
    opacity: 0;
  }
  4.9% {
    top: 40px;
    left: 40px;
    width: 0;
    height: 0;
    opacity: 0;
  }
  5% {
    top: 40px;
    left: 40px;
    width: 0;
    height: 0;
    opacity: 1;
  }
  100% {
    top: 0px;
    left: 0px;
    width: 80px;
    height: 80px;
    opacity: 0;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/tokens/_vesta-tokens.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/base/_reset.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/base/_kbd.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/abstracts/_mixins.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/bootstrap/_buttons.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/bootstrap/_cards.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/bootstrap/_badges.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/bootstrap/_progress.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/bootstrap/_forms.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/bootstrap/_table.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/bootstrap/_nav.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/bootstrap/_modal.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/bootstrap/_dropdown.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/bootstrap/_alert.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/layout/_shell.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/layout/_sidebar.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/layout/_topbar.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_v-legacy.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_stat-card.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_empty-state.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_kanban.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_tree.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_calendar.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_lists.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_workflow.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_timeline.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_worklog.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_worklog-views.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_worklog-quicklog.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_worklog-templates.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_document-preview.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_theme-toggle.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_theme-switch.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_language-selector.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_activity-dock.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_tickets.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_sla.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_kpi.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_sidecard.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_detail-header.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_watchers.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_contact-card.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_comments.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_attachments.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_history.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_relations.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_checklist.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_activity.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_financial.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_ai-suggestion.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_aggregate-bar.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_wizard.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_form-kit.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_component-gallery.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_list-page-layout.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_detail-page-layout.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_bottom-action-bar.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_view-toggle.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_period-filter.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_saved-filters.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_email-signature.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_quick-preview-panel.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_help.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_help-search.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_spinner.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_skeleton.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_motion.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_toast.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_pwa-banner.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_theme-customizer.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_perm-matrix.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_admin-modules.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_notifications.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_cookie-consent.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_dynamic-fields.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_signature-pad.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_density.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_brain.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_geo-map.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_technician-costs.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_technician-matrix.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_site-weather.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_activity-split.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_verdict.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_engagement.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_profile.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/tokens/_dark-theme.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/base/_utilities.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/layout/_login.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/blazor/_reconnectModal.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22;AAIA;AACE;EACA;EACA;EACA;EACA;EACA;EAIA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;AAAA;AAAA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;AAAA;AAAA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;AAAA;AAAA;AAAA;AAKA;EACA;EACA;EACA;EACA;AAEA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;AAEA;EACA;AAEA;EACA;EACA;EACA;AAEA;AAAA;AAAA;AAAA;AAAA;EAKA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AC3QF;AAAA;AAAA;EAGE;;;AAGF;AAAA;AAAA;EAGE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAMF;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAMF;EACE;EACA;EACA;;;AAIF;AAAA;AAAA;EAGE;;;AAIF;EACE;EACA;;;ACvDF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AC0HA;EDvHE;EACA;EACA;;;AEXJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EDWA,OCTgB;EDUhB,QCVgB;;AAGhB;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;;AAQN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;;AAEA;EACE;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;ADMA;ECHE;EACA;EACA;EACA;EACA;EACA;;;AAOJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;ADjCA;ECoCE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AD1DA;EC6DE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;ADzEA;EC4EE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;ADtFA;ECyFE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;ADnGA;ECsGE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;ADhHA;ECmHE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;;;ACzQF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AFsHA;EEnHE;EACA;EACA;;;AAIJ;EACE;EACA;;AF2GA;EExGE;EACA;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;ACxCF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAOA;EAEE;;AAGF;EAEE;;AAGF;EAEE;;AAMF;EACE;;AAGF;EACE;;;ACxCJ;EACE;EACA;EACA;EACA;EACA;;;ACHF;AAAA;EAEE;EACA;EACA;EACA;EACA;;AAEA;AAAA;ELkFA;EACA;EACA;;AAqCA;AAAA;EKpHE;EACA;EACA;;;AAMA;EACE;;;AAKN;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAIA;EACE;EACA;;AAGF;EL6CA;EACA;EACA;;;AM5FF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;ANiHJ;EM5GE;EACA;;AAEA;EACE;;AAEA;EACE;EACA;;;AC7BR;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA,YACE;;AALF;EAAuB;;AAUvB;EACE;EACA;EACA;EACA;EAMA;EACA;;AAEA;EACE;EACA;;AP4FJ;EOvFE;EACA;;;AAIJ;EACE;EACA;;;AAQF;EACE;EACA;EAKA;;AAIA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIA;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;;AASJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;;AAKJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AC1IF;EACE;EACA;EACA;EACA;;AR6HA;EQ1HE;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;ARyGA;EQtGE;;;AC3BJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;ATsHA;ESnHE;EACA;;;ATkHF;ES5GE;;AAEA;EACE;;;ACzBN;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;;ACzBJ;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;;AAIJ;AAAA;EAEE;EACA;EXbA;EACA;EACA,KWYkB;EAClB;;;AAGF;AAAA;EXlBE;EACA;EACA,KWkBkB;EAClB;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EXrCA;EACA,aAFiC;EAGjC,KWoCkB;EAClB;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;;AAQJ;EACE;EACA;EACA;;;AAIF;EACE;;;AAGF;EXnEE;EACA,aWmEwB;EXlExB,KWkEkB;EAClB;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EXvFE;EACA,aAFiC;EAGjC,KWsFkB;EAClB;;;AAIF;EX7FE;EACA,aW6FwB;EX5FxB,KW4FkB;EAClB;;;AAGF;EX5EE,OW6Ec;EX5Ed,QW4Ec;EXrFd;EACA;EWsFA;EACA;EACA;EAGA;EACA;;AAEA;EXvFA,OWwFgB;EXvFhB,QWuFgB;;AXehB;EWXE;EAGA;;;AAIJ;EXzHE;EACA,aAFiC;EAGjC,KWwHkB;EAClB;EACA;;;AAIF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;;;AAGF;EACE;;;AAIF;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;AAAA;IAEE;IACA;;EAGA;IACE;;;AAIN;EACE;AAAA;IAEE;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;IACA;IACA;;EAKA;AAAA;IAEE;;EAOJ;IACE;;EAOF;IACE;;EAGF;IACE;;EAMF;AAAA;IAEE;;EAKF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;AAAA;IAEE;;EAGF;IACE;;EAGF;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;AAAA;IAEE;;EAGF;IACE;IACA;;EAGF;AAAA;IAEE;IACA;IACA;IACA;;EAGF;AAAA;IAEE;IACA;IACA;;EAGF;AAAA;IAEE;IACA;;EAGA;AAAA;IAEE;;EAGJ;IACE;;EAGF;IACE;;EAGF;IACE;IACA;;EAEA;IACE;IACA;;EAGF;IACE;;EAIJ;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;;ACthBJ;EACE;EZFA;EACA,aAFiC;EAGjC,KYCkB;EAClB;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;;;AAIJ;EACE;;;AAGF;EZrBE,OYsBc;EZrBd,QYqBc;EACd;EACA;EZhCA;EACA;EYiCA;EACA;EACA;;;AAGF;EZ9CE;EACA;EACA,KY6CkB;EAClB;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EAGA;;;AAIF;EACE;EZrEA;EACA;EACA,KYoEkB;EAClB;EACA;EACA;EACA;;;AAGF;EZ7EE;EACA;EACA,KY4EkB;;;AAMpB;AAAA;EAEE;EACA;;;AAGF;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;;;AAQF;EZjHE;EACA,aAFiC;EAGjC,KYgHkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAIA;EACA;EACA;EACA;;AAEA;EACE;;AAKF;EACE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKF;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;;;AAIF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EZ9LE;EACA;EACA,KY6LkB;EAClB;EACA;;;AAGF;EACE;AAAA;IAEE;;;AAKJ;EACE;EACA;;;AAIF;EZzNE;EACA,aAFiC;EAGjC,KYwNkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;;AAEA;EACE;;AAKJ;EACE;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EZ5PJ,OY6PkB;EZ5PlB,QY4PkB;EACd;EACA;;AAIJ;EZnQA,OYoQgB;EZnQhB,QYmQgB;EACd;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKN;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EZ5WA;EACA,aAFiC;EAGjC,KY2WkB;;AAElB;AAAA;EAEE;EACA;EACA;;AAEA;AAAA;EACE;EACA;EACA;;;AAMN;EZ9XE;EACA,aAFiC;EAGjC,KY6XkB;EAClB;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAIF;AAAA;EZ/XE,OYiYc;EZhYd,QYgYc;EACd;EACA;EZ3YA;EACA;EY4YA;EACA;EACA;EACA;;;AAIF;EZ5YE,OY6Yc;EZ5Yd,QY4Yc;EACd;EACA;EACA;EACA;EZzZA;EACA;EY0ZA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EZ5ZA,OY6ZgB;EZ5ZhB,QY4ZgB;;;AAShB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAQE;;AAIF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;;AAaJ;EACE;AAAA;IAEE;;EAnDF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAQE;;EAIF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;;EAwBF;IACE;;;AAIJ;EACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAOE;;EAIF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;AAAA;IAEE;;EAGF;IACE;IACA;IACA;IACA;;EAGF;IACE;IACA;;EAGF;IACE;;;AAKJ;AAAA;AAAA;AAAA;EAIE;EACA;;;AAMF;EACE;EACA;;;AAIF;EACE;;;AAIF;EACE;AACA;EACA;AACA;EACA;EACA;AACA;EACA;;;AAGA;AACA;AACE;EACA;;;AAKJ;AAAA;AAAA;EAGE;;;AAGA;AAAA;AAAA;EAGE;;;AAGA;AAAA;AAAA;EAGE;;;ACpmBN;EbAE;EACA,aAFiC;EAGjC,KaDkB;EAIlB;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAUJ;EAGE;EACA;EACA;EACA;EACA;EbqBA;EACA;EACA;;AapBA;EAEE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAIF;EAIE;EACA;EbxDA;EACA,aAFiC;EAGjC,KauDkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EblBF;EACA;EACA;;AaoBA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AbkCF;Ea9BE;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAMN;Eb5GE;EACA,aAFiC;EAGjC,Ka2GkB;EAClB;;AAEA;AAAA;EAEE;;;AAKJ;EACE;EACA;EACA;EbpGA,OaqGc;EbpGd,QaoGc;EACd;EACA;EACA;EACA;;AbFA;EaKE;;AAIF;EACE;;;AAKJ;EACE;;;AAIA;EACI;;;ACtJN;EdIE;EACA,aAFiC;EAGjC,KcLkB;EAClB;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EdzBE,Oc0Bc;EdzBd,QcyBc;EACd;EACA;;;AAIF;EdtDE;EACA,aAFiC;EAGjC,KcqDkB;EAClB;;AAEA;EACE;;AAGF;EACE;EACA;;Ad6DF;EczDE;EACA;;;AAKJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AdoCF;EcjCI;EACA;;AAIJ;EACE;EACA;EACA;;AAIA;EACE;;AAGF;EACE;;AdgBJ;EcbM;;;AAOR;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;Ed9HF,Oc+HgB;Ed9HhB,Qc8HgB;EACd;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAEA;EACE;EACA;;;AAMN;EACE;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;ACnMF;EfuGE;EACA;EACA,eAH0B;EepG1B;EACA;EACA;EACA;EACA,YACE;;AAKF;EACE;EACA;EACA;EACA;EACA;EAKA;EACA;;AAIF;EACE;EACA;EACA;EACA;EfNF,OeOgB;EfNhB,QeMgB;EACd;EACA;EAGA;;AAGF;EACE;EACA;EACA,YACE;;AAGF;EACE;;AAGF;EACE;;AAIJ;AAAA;EfrDA;EACA,aAFiC;EAGjC,KeqDoB;EAClB;EACA;EACA;EACA;;AAGF;EfxCA,OeyCgB;EfxChB,QewCgB;EACd;EflDF;EACA;EeoDE;EACA;EACA;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACE;;AAGF;AAAA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EfpGA;EACA,aAFiC;EAGjC,KemGoB;EAClB;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAIA;EACE;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;;AAMN;EACE;;AAEA;AAAA;EAEE;;;AAKJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;;AAIJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IAME;;EAJA;AAAA;IAEE;;EAIF;IACE;;EAEA;IACE;;EAIJ;IACE;;;AC3NN;EACE;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;;AAIJ;EACE;EhBSA,OgBRc;EhBSd,QgBTc;EACd;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EhBhBJ,OgBiBkB;EhBhBlB,QgBgBkB;EACd;EACA;EACA;;;AAKN;EhBzBE,OgB0Bc;EhBzBd,QgByBc;EhBlCd;EACA;EgBmCA;EACA;EACA;EAGA,YACE;EAEF;;AAEA;EhBtCA,OgBuCgB;EhBtChB,QgBsCgB;;;AAIlB;EACE;IACE;;;AAIJ;EAEE;IAEE;;EAGF;IACE;;;AAIJ;EAEE;AAAA;IAEE;;;AC1FJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AjBkGA;EiB/FE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AjBwDA;EiBrDE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EAAY;;AACZ;EAAY;;AACZ;EAAY;;AACZ;EAAY;;;AAGd;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AC5KF;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAEA;EACE;;AAKJ;EACE;;AAEA;EACE;;AlB2FJ;EkBvFI;;AAKJ;EAAY;;AACZ;EAAY;;AACZ;EAAY;;AACZ;EAAY;;;AAGd;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;;AAKJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;;;AAGF;EACE;IACE;;;AAIJ;EACE;AAAA;IAEE;;EAGF;IACE;IACA;;;ACrMJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;;;AAKF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;AnB2BA;AAAA;EmBxBE;EACA;;;AAIJ;EACE;;;AAOF;EACE;EACA;;;AAIF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EAAO;;AACP;EAAS;;AACT;EAAS;;;AAGX;EACE;EACA;EACA;EACA;;;AAgBF;EACE;EACA;EACA;;AAEA;EAdA;;;AAoBF;EApBE;EAuBA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EAEE;;AAGF;EACE;;AAIF;EACE;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;AAIJ;EACE;EACA;;AAGF;EAAO;;AACP;EAAO;;AACP;EAAO;;AACP;EAAO;;AAGP;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAKJ;EACE;EACA;;AAKF;EACE;EACA;EACA;EACA;;AAIF;EACE;;AAGF;EACE;;AAKF;EACE;EACA;;AAGF;EACE;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EA1BF;IA4BI;IACA;IACA;IACA;;;;AAMF;AAAA;EAEE;EACA;;AAKF;EACE;;;AAKJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EAhRA;EAmRE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIF;EAAY;;AACZ;EAAY;;AACZ;EAAY;;AACZ;EAAY;;AAEZ;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;;;AAKF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAIF;EACE;EACA;EACA;EACA;;AAEA;EACE;;;AAON;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EACE;EACA;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AnBxjBF;EmB4jBE;EACA;;;AAIJ;EAEE;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;;AAKJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EAAY;;AACZ;EAAY;;AACZ;EAAY;;AACZ;EAAY;;AACZ;EAAY;;AAIZ;EACE;EACA;EACA;;AAKF;EACE;EACA;;AAGF;EACE;EACA;;;AAMJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;IACE;;EAGF;IACE;;;ACx4BJ;EpBuGE;EACA;EACA,eoBxGqB;EACrB;EACA;;ApB6HA;EoB1HE;EACA;;;AAIJ;EACE;EACA;;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;;AAKJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;AAEA;EACE;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EpBhCA;EACA;EACA;EACA;EACA;;AA8DA;EoB9BE;;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EpBxFF;EACA;EACA;EACA;EACA;EoBsFE;EACA;;;AAKJ;EpBvDE;EACA;EACA,eoBsDqB;EACrB;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;ApB1CF;EoB8CE;EACA;;;AAIJ;EpBhLE;EACA,aAFiC;EAGjC,KoB+KkB;EAClB;EACA;EACA;EACA;;AAEA;EpBjKA,OoBkKgB;EpBjKhB,QoBiKgB;EACd;EpB3KF;EACA;EoB4KE;EACA;EACA;;ApBhEF;EoBmEI;EACA;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EpBhNA;EACA,aAFiC;EAGjC,KoB+MoB;EAClB;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;ApBxGJ;EoB6GE;EACA;;;AAKJ;EpBhPE;EACA,aAFiC;EAGjC,KoB+OkB;EAClB;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;ApB9HA;EoBiIE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAIF;EACE;IACE;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;;EAEA;IACE;IACA;IACA;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAIJ;IACE;;;AAKJ;EAGM;IACE;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;;EAEA;IACE;IACA;IACA;IACA;IACA;;EAEA;IACE;IACA;;EAGF;IAEE;;EAGF;IAEE;IACA;;;AAUZ;EACE;EACA;EACA;EACA;EAIA;;AAGA;EACE;EACA;EACA;;;AAOJ;EAEE;;;AAKF;EACE;;;AAOF;EACE;;;AAMF;EACE;;;AAIF;EACE;;AAIA;EACE;;;AAKJ;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EAEE;;;AAkBF;EACE;;;AAOF;EACE;;;AAMF;EACE;;;AAKF;EACE;;;AAMF;EACE;;;AAKF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;AAAA;EAEE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAKF;EAGE;;;AAKF;EAEI;AAAA;IAEE;IACA;IACA;IAGA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAKF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;;AAMN;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAIJ;EACE;;;AAKJ;EACE;;;AAIF;EACE;;;AAGF;EACE;EACA;EACA;;;AAIF;EACE;;;AAIF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAIA;EACE;;AAEA;EACE;;AAIJ;EACE;;;AAKN;EACE;IACE;MAAO;;IACP;MAAK;;;EAGP;IACE;MACE;MACA;;IAGF;MACE;MACA;;;EAIJ;AAAA;IAEE;IACA;;EAIF;IACE;;EAGE;IAAyB;;EAAzB;IAAyB;;EAAzB;IAAyB;;EAAzB;IAAyB;;EAAzB;IAAyB;;EAAzB;IAAyB;;EAAzB;IAAyB;;EAAzB;IAAyB;;EAAzB;IAAyB;;EAAzB;IAAyB;;;AAK/B;EACE;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;;AAMN;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAOF;EACE;;AAIA;EACE;;;AAMJ;EACE;;AAEA;EACE;;;AAKJ;EACE;EACA;;AAEA;EAAiB;;;AAInB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAZF;IAaI;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;;AAEA;EAAI;EAA0B;;AAIhC;EACE;EACA;EACA;;AAEA;EAAmC;;AAGrC;EACE;EACA;EACA;;AAEA;EALF;IAK8B;;;;AAIhC;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;ApBn5BF;EoBu5BE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAEA;EACE;;AAIJ;EACE;EACA;;;AAMJ;EACE;EACA;EACA;;;AAKF;EACE;IACE;;EAGF;IACE;;;AAMJ;EACE;IACE;IACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAQF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;;;AAGF;EpBhlCE;EACA;EACA,eoB+kCqB;EACrB;EACA;EACA;EACA;EACA;EACA;EACA;;ApB/jCA;EoBkkCE;EACA;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAKF;EACE;;AAGF;EACE;;;AAKN;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;ApB5rCA;EoB+rCE;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;;AAEV;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;ACx5CF;EACE;IACE;;EAGF;IACE;;;AAKJ;EACE;EAGA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EAEE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAKF;EACE;EACA;;AAGF;EACE;;AAIJ;EAtCF;IAuCI;;;;AAIJ;ErB3CE;EACA;EACA,KqB0CkB;;AAElB;EACE;EACA;EACA;EACA;;ArBoEF;EqBjEI;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAIA;EACE;;AAGF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAIA;EACE;;AAKF;EACE;EACA;;AAGF;EACE;;AAIA;EACE;;AAMJ;EACE;EACA;EACA;;AAIA;EACE;;;AAUV;ErBjIE;EACA;EACA,KqBgIkB;EAClB;;;AAGF;ErB7IE;EACA,aAFiC;EAGjC,KqB4IkB;EAClB;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;ArBvDA;EqB0DE;;AAGF;EACE;;AAGF;EACE;;AAEA;EACE;;AAGF;EACE;EACA;;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;;ArBtFA;EqByFE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;;AAIJ;ErBnQE;EACA,aAFiC;EAGjC,KqBkQkB;;;AAGpB;EACE;EACA;EACA;EACA;EACA;EACA;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;;AAEA;EANF;IAOI;;;;AAIJ;EACE;EACA;EACA;EACA;;ArB9KA;EqBiLE;;;AAIJ;ErBlTE;EACA,aAFiC;EAGjC,KqBiTkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;ArB/LA;EqBkME;;;AAIJ;ErBnUE;EACA,aAFiC;EAGjC,KqBkUkB;EAClB;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAIF;ErBpVE;EACA;EACA,KqBmVkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;ArBzOA;EqB4OE;;;AAMJ;EACE;EACA;EACA;EACA;EACA;;ArBvPA;EqB0PE;;;AAKJ;EACE;EACA;;ArBjQA;EqBoQE;;;AAMJ;EACE;;ArB3QA;EqB8QE;;;AAOJ;EACE;EACA;;;AAIF;EACE;;;AAIF;EACE;EACA;;;AAIF;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAIF;EACE;;AAEA;EACE;;;AAKJ;EACE;EACA;;AAEA;EACE;;;AAKJ;EACE;EACA;EACA;;AAEA;EACE;;AAGF;ErB3jBA;EACA,aAFiC;EAGjC,KqB0jBoB;EAClB;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;;AAKJ;EACE;EACA;;;AAMF;EACE;EACA;EACA;EACA;;AAEA;EANF;IAOI;IACA;;;;ACpmBJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAEA;EACE;;;AAMN;EACE;EACA;EtBXA,OsBYc;EtBXd,QsBWc;EACd;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAKJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAIF;EACE;EACA;;;AAIF;EtBvDE,OsBwDc;EtBvDd,QsBuDc;EACd;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;ACvHF;EACE;;;AAKF;EACE;EACA;EACA;EACA;;;AAGF;EvBVE;EACA,aAFiC;EAGjC,KAHoB;EuBapB;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EAAgB;;;AAIpB;EACE;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;;;AAGF;EvBjDE;EACA,aAFiC;EAGjC,KAHoB;EuBoDpB;EACA;EACA;;;AAGF;EACE;EACA;;;AAKF;EACE;EACA;EACA;EACA;;AAEA;EAAuB;;;AAGzB;EACE;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAW;;;AAGb;EACE;EACA;EACA;EACA;EACA;;AAEA;EAAa;;AACb;EAAa;;;AAGf;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EvB9IA;EACA,aAFiC;EAGjC,KAHoB;EuBiJpB;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAkB;EAAyC;;AAC3D;EAAa;EAAoB;;AAEjC;EAAa;;AACb;EAAa;;;AAIf;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;;AACV;EAAa;EAAoC;;AAGjD;EACE;;AACA;EAAU;;;AAKd;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAM;EAAa;;AAEnB;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;;;AASF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACE;EACA;EACA;;;AAKJ;EACE;;;AAGF;EACE;;;AAGF;EACE;IACE;;EAGF;IACE;;;ACjUJ;EACE;EACA;EACA;EAEA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;ExB6CA;EACA,YAFqB;;AwBzCrB;EACE;;AAGF;ExB6CA;EACA;EACA;;AwB3CA;EACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;ExBYE;EACA;EACA;EACA;EACA;;;AwBZF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAEA;EACE;EACA;;AAIJ;ExBtCA;EACA;EACA;;;AwByCF;EACE;EACA;EACA;EACA;EACA;;AAEA;EAPF;IAQI;;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKA;EACA;ExBnFA;EACA,YAFqB;;AwBuFrB;EACE;EACA;EACA;;AAGF;ExBrFA;EACA;EACA;;;AwBwFF;EACE;EACA;;;AAGF;EACE;ExBlIA;EACA;EACA;;;AwBqIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ExBpJA;EACA,YAFqB;;AwBwJrB;EACE;;AAGF;ExBpJA;EACA;EACA;;AwBsJA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAIF;EACE;EACA;;AxBnIF;EwBuIE;;AAGF;EAtDF;IAuDI;;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;ExBhOA;EACA;EACA;;;AwBkOF;EACE;IACE;IACA;IACA;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ExBnQA;EACA,YAFqB;;AwBuQrB;EACE;;AAGF;EACE;;AAGF;ExBvQA;EACA;EACA;;;AwB0QF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;ExB5TA;EACA;EACA;;;AwB8TF;EACE;EACA;ExBlUA;EACA;EACA;;;AwBoUF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;;AAKJ;ExBxTE;EwB0TA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;IAAO;IAAY;;EACnB;IAAK;IAAY;;;AC1bnB;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAlBF;IAmBI;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EALF;IAMI;;;;AAKN;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAKJ;EACE;EACA;EACA;EACA;;;AAGF;EzBVE;EyBYA;EACA;EACA;EACA;EACA;EACA;EACA;EzBlCA;EACA,YAFqB;;AyBsCrB;EACE;;AAGF;EzBlCA;EACA;EACA;;AyBoCA;EACE;EACA;EACA;;;AAIJ;EACE;IAAO;;EACP;IAAK;;;AAGP;EACE;IAAO;;EACP;IAAK;;;AAGP;EACE;IAAW;;EACX;IAAM;;;AAGR;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAIF;EzBvEE;EyByEA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EzBpJA;EACA;EACA;;;AyBsJF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EAMA;EACA;;AAEA;EArBF;IAsBI;;;;AAIJ;EACE;;;AAGF;EACE;IAAO;;EACP;IAAK;;;AC5OL;EACE;EACA;EAMA;EACA;EACA;EACA;;AAIF;EACE;EACA;;AAGF;EACE;EACA;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EAIE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EAGA;EACA;EACA;;AAIA;EAVF;IAWI;;EAEA;IACE;;;;AAKN;EAEE;;;AAgBF;EACE;;AAEA;EACE;;AAGF;EAGE;;;AC7JJ;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;;AAMR;EACI;EACA;EACA;EACA;EACA;;;ACrBJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;E5BTF,O4BUgB;E5BThB,Q4BSgB;EACd;EACA;E5BpBF;EACA;E4BqBE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;E5B/BF;EACA;E4BgCE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;;AChEJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;;;AAIF;E7BbE;EACA,aAFiC;EAGjC,K6BYkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;;;AAIJ;E7BnBE,O6BoBc;E7BnBd,Q6BmBc;EACd;EACA;EACA;EACA;;;AAGF;E7BGE;EACA;EACA;E6BHA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;A7ByDA;E6BtDE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;E7BtFE;EACA,aAFiC;EAGjC,KAHoB;E6ByFpB;E7BpBA;EACA;EACA;EACA;EACA;E6BkBA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;E7BjGE;EACA;EACA,K6BgGkB;;;AAIpB;E7B7GE;EACA,aAFiC;EAGjC,K6B4GkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;;;AAIJ;EACE;EACA;E7BzIA;EACA;EACA,K6BwIkB;EAClB;;;AAGF;EACE;EACA;EACA;;;AAIF;E7BtIE,O6BuIc;E7BtId,Q6BsIc;EACd;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;A7B3CF;E6B+CE;;;AAIJ;E7B1JE,O6B2Jc;E7B1Jd,Q6B0Jc;EACd;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;A7B9DF;E6BkEE;;;AAKJ;EACE;EACA;EACA;;;AAGF;E7B1ME;EACA,aAFiC;EAGjC,K6ByMkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AC3NJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;;;AAGF;E9BZE;EACA,aAFiC;EAGjC,K8BWkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;E9BmDA,YADgB;EAEhB;EACA;E8BnDA;EACA;EACA;EACA;EACA;;A9B6DA;EAhBA,YAOe;EANf;EACA;EAMA;;;A8B9CF;E9BHE;EACA;EACA;EACA;EACA;E8BCA;;;AAGF;E9B5EE;EACA,aAFiC;EAGjC,K8B2EkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;;AChHJ;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IACE;;;AAKJ;E/BiBE;EACA,QAFkC;EAGlC;EACA;E+BlBA;E/BpBA;EACA;EACA,K+BmBkB;EAClB;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;EACA;E/BmDA,YADgB;EAEhB;EACA;E+BnDA;EACA;EACA;EACA;E/B/DA;EACA,aAFiC;EAGjC,K+B8DkB;EAClB;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;A/BmCJ;EAhBA,YAOe;EANf;EACA;EAMA;;A+BnBA;EACE;E/B/DF;EACA;E+BgEE;EACA;EACA;EACA;;;AAKJ;EACE;EACA;E/BjGA;EACA;;;A+BoGF;E/B7FE,O+B8Fc;E/B7Fd,Q+B6Fc;EACd;EACA;EACA;;AAEA;EAEE;E/BvFF;EACA;E+BwFE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEA;EACE;;AAIJ;EACE;;AAEA;EACE;;;AAMN;E/BnJE;EACA;EACA,K+BkJkB;EAClB;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;E/B7HA;EACA;EACA;E+B6HA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;E/BtJA;EACA;EACA;;;A+B0JF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;A/B7FA;E+BgGE;;;AAIJ;EACE;EACA;;;AAIF;E/BvOE;EACA,aAFiC;EAGjC,K+BsOkB;;;AAGpB;E/BrNE,O+BsNc;E/BrNd,Q+BqNc;EACd;EACA;EACA;E/BjOA;EACA;E+BkOA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;;A/BnIF;E+BuIE;;AAEA;EACE;;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAKJ;EACE;EACA;EACA;EACA;EACA;E/BpSA;EACA,aAFiC;EAGjC,K+BmSkB;EAClB;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;A/BvMF;E+B2ME;EACA;EACA;;;AAIJ;EACE;E/B3RA;EACA;EACA;E+B2RA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;E/BrWE;EACA,aAFiC;EAGjC,K+BoWkB;EAClB;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAIF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;E/B3XA;EACA;E+B4XA;;;AAGF;EACE;EACA;EACA;EACA;E/BrSA,Y+BsSoB;E/BrSpB;EACA;E+BqSA;EACA;EACA;EACA;EACA;EACA;;A/B5RA;EAhBA,YAOe;EANf;EACA;EAMA;;;A+B2SF;E/B5VE;EACA;EACA;EACA;EACA;E+B0VA;;;AAGF;E/BraE;EACA,aAFiC;EAGjC,K+BoakB;EAClB;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;;;AAKJ;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;E/BxbE,O+Bybc;E/Bxbd,Q+Bwbc;EACd;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;;AAIJ;E/BxcE,O+Bycc;E/Bxcd,Q+Bwcc;EACd;EACA;EACA;EACA;EACA;E/BtdA;EACA;;A+BwdA;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;E/BveA,O+Bwec;E/Bved,Q+Buec;EACd;EACA;E/BnZA,YADgB;EAEhB;EACA;E+BmZA;E/BpfA;EACA;E+BqfA;EACA;EACA;;AAEA;EACE;EACA;;A/B7YF;EAhBA,YAOe;EANf;EACA;EAMA;;A+B4ZA;EACE;;AAEA;EACE;E/BjfJ;EACA;E+BkfI;EACA;EACA;EACA;;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;E/B5hBA;EACA;E+B6hBA;;;AAIF;EACE;AAAA;IAEE;IACA;;EAGA;IACE;;;AAIN;EACE;IACE;IACA;IACA;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAIJ;EACE;;AAGF;EACE;IACE;;EAGF;IACE;;;;AAKN;EACE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EAjBF;IAkBI;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;E/B5kBA;EACA;EACA;;A+B8kBA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;E/BzqBE;EACA;EAOA,O+BmqBc;E/BlqBd,Q+BkqBc;EACd;EACA;EACA;EACA;EACA;;;AC9rBF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AhCiHF;EgC7GE;EACA;;;AAIJ;EhCrBE;EACA,aAFiC;EAGjC,KgCoBkB;EAClB;;;AAGF;EACE;;;AAGF;EhCsCE;EACA;EACA;EACA;EACA;EgCxCA;;;AAIF;EACE;EACA;EACA;EACA;;;AAGF;EhC3CE;EACA,aAFiC;EAGjC,KgC0CkB;EAClB;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAEA;EACE;;;AAKN;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EhClFE;EACA,aAFiC;EAGjC,KgCiFkB;EAClB;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AhCwBF;EgCpBE;;;AAIJ;EhC7GE;EACA,aAFiC;EAGjC,KgC4GkB;EAClB;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AhCTF;EgCaE;;;AAIJ;EACE;EACA;EhCzIA;EACA;EACA,KAHoB;EgC4IpB;EACA;;AAEA;EhC/HA,OgCgIgB;EhC/HhB,QgC+HgB;EACd;EACA;EACA;EACA;EhC5IF;EACA;EgC6IE;;AAEA;EACE;EACA;;AhCnCJ;EgCwCE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAMJ;EACE;EACA;EACA;;;AAGF;EhCzME;EACA,agCyMwB;EhCxMxB,KgCwMkB;EAClB;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;;AAQN;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAIF;EACE;EACA;EACA;EhC/JA;EACA;EACA,egC8JqB;EACrB;EACA;EACA;;AhC1IA;EgC6IE;EACA;;;AAMJ;EACE;IACE;;EAGF;IACE;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAOJ;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAMF;EACE;AAAA;IAEE;;EAKF;IACE;;;AAIJ;EACE;;AAEA;EACE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EhC3SA;EACA;EACA;EACA;EACA;EgCySA;EACA;EACA;;AhC7OA;EgCgPE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;;AhC9QF;EgCiRI;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EhCraA;EACA,aAFiC;EAGjC,KgCoakB;;;AAMpB;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAKJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EhCrbA;EACA;EgCsbA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;;AAIF;EACE;;;AAGF;EhCxdE;EACA,aAFiC;EAGjC,KgCudkB;EAClB;;;AAGF;EACE;EACA;EACA;EhC5aA;EACA;EACA;;;AgC8aF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIA;EACE;EACA;EACA;EACA;;AAKF;AAAA;AAAA;EAGE;EACA;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EhCzdE;EACA;EACA;;;AgC4dF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AhCtbF;EgC0bE;;;AAIJ;EhCvgBE;EACA;EACA;;;AgCygBF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AhC3cA;EgC8cE;EACA;;;AAIJ;EhChlBE;EACA,aAFiC;EAGjC,KgC+kBkB;EAClB;;;AAMF;EACE;IACE;IACA;;EAGF;IACE;;;AAKJ;EACE;IACE;;;AAOJ;EACE;AAAA;IAEE;;EAGF;IACE;;;AAIJ;EACE;AAAA;IAEE;;EAGF;IACE;;;AAOJ;EACE;IACE;;EAGF;IAGE;IACA,qBACE;IAGF;IACA;IACA;IACA;;EAEA;IACE;;EAGF;IACE;IACA;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;;EAGF;IACE;IACA;IACA;;EAGF;IACE;IACA;;EAEA;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;;EAIJ;IACE;IACA;;EAGF;IACE;IACA;IACA;;EAGF;IACE;;EAEA;IACE;;;AAMR;EACE;IACE;IACA;IACA;;;AAMJ;EACE;EACA;EhCjuBA;EACA;EACA,KgCguBkB;EAClB;EACA;;AAEA;EACE;;AAEA;EACE;;AAGF;EACE;;AhCxnBJ;EgC6nBE;EACA;;AAGF;EAxBF;IAyBI;IACA;IACA;IACA;IACA;IACA;IACA;;;;AAIJ;EACE;EACA;;;AAGF;EhC9wBE;EACA,aAFiC;EAGjC,KgC6wBkB;EAClB;;;AAGF;EhCnxBE;EACA,agCmxBuB;EhClxBvB,KgCkxBkB;EAClB;EACA;EACA;EACA;;AhC3pBA;EgC8pBE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAKF;EhC90BE;EACA,aAFiC;EAGjC,KgC60BkB;EAClB;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAMJ;EhCv1BE;EACA;EACA,KgCs1BkB;;;AAGpB;EhC9vBE;EACA;EACA,egC6vBqB;EACrB;EACA;;;AAGF;EhCx2BE;EACA,aAFiC;EAGjC,KgCu2BkB;EAClB;EACA;EACA;EACA;;AAEA;EACE;;AhCnvBF;EgCuvBE;;AAEA;EACE;;;AAKN;EhCr3BE;EACA;EACA,KgCo3BkB;;;AAGpB;EhCh4BE;EACA,aAFiC;EAGjC,KgC+3BkB;EAClB;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;EACE;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;;AhClyBA;EgCqyBE;EACA;;;AAIJ;EACE;EACA;EhCz6BA;EACA,aAFiC;EAGjC,KgCw6BkB;EAClB;EACA;EACA;EACA;;AhCjzBA;EgCozBE;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EhCt9BE;EACA;EACA,KgCq9BkB;;;AAGpB;EACE;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKF;EACE;EACA;;AAEA;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;;AAIJ;EACE;;;AAKF;EAIE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;;;AAIJ;EAKE;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;;EAIA;AAAA;AAAA;IAGE;IACA;;EAGF;IACE;;EAMJ;IACE;IACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAKJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EAMA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EAEA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAEA;EACE;;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAY;;AACZ;EAAY;;AACZ;EAAY;;AACZ;EAAY;;AAIZ;EACE;EACA;EACA;EACA;;AAGF;EACE;;;AAKJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;;;AAGF;AAAA;EAEE;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIF;EACE;;AAIF;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAIF;EACE;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;;AAMN;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;;AASR;EhCj/CE;EACA;EACA,KgCg/CkB;EAClB;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EhC5gDA;EACA,agC4gD0B;EhC3gD1B,KgC2gDoB;;AAGpB;EACE;EACA;EACA;EACA;;AAEA;EAAU;EAAa;;AAGzB;EhClhDA;EACA;EACA,KgCihDoB;EAClB;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EhC/iDA;EACA;EACA,KgC8iDoB;;AAGpB;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EhCtlDA;EACA,aAFiC;EAGjC,KgCqlDoB;EAClB;EACA;EACA;EACA;;AAGF;EhCvlDA;EACA;EACA,KgCslDoB;EAClB;EACA;EACA;EACA;EACA;;;ACxmDJ;EACE;EACA;;AAEA;EjCAA;EACA,aAFiC;EAGjC,KiCDoB;;AAGpB;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EAEA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAiB;;AACjB;EAAiB;;AACjB;EAAiB;;AAIjB;EACE;;;AAMN;EjC3DE;EACA,aiC2DwB;EjC1DxB,KiC0DkB;EAClB;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EjCjEF;EACA;EACA,KiCgEoB;;AAGpB;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;;AAGZ;EAAa;EAAuC;;AACpD;EAAa;EAAuC;;AACpD;EAAc;EAAsC;;;AAItD;EjCrGE;EACA;EACA,KiCoGkB;;AAElB;EjC/GA;EACA,aAFiC;EAGjC,KiC8GoB;;AAGpB;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAEA;EAAiB;;AACjB;EAAiB;;AACjB;EAAkB;;AAGpB;EACE;EACA;EACA;EACA;;AAGF;EjCtGA;EACA;EiCuGE;EACA;EACA;;AAGF;EjC7GA;EACA;EiC8GE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EjCrJF;EACA;EACA,KiCoJoB;EAClB;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;;AAKJ;EACE;EACA;EACA;EjCtLA;EACA;EACA,KiCqLkB;EAClB;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EjC5ME;EACA,aiC4MwB;EjC3MxB,KiC2MkB;EAClB;EACA;;AAEiB;EAAmB;EAAyC;EAA6B;;AACzF;EAAmB;EAAyC;EAA6B;;AACxF;EAAmB;EAAwC;EAA4B;;;AAG3G;EACE;EACA;EACA;EjCnMA,OiCoMc;EjCnMd,QiCmMc;EACd;EACA;EACA;EjC/MA;EACA;EiCgNA;;;AAGF;EjClOE;EACA,aAFiC;EAGjC,KiCiOkB;EAClB;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;ACtPF;AAAA;EAEE;EACA;EACA;EACA;;AAEA;EAPF;AAAA;IAQI;;;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;ElCbA;EACA,aAFiC;EAGjC,KkCYkB;;;AAIpB;EACE;EACA;EACA;;AAGA;EAAO;;AACP;EAAO;;AACP;EAAO;;AAEP;EACE;IAAa;;;AAGf;EAdF;IAeI;;EACA;IAAmB;;;AAIrB;EACE;IACE;;EAGE;IAAqB;;EAArB;IAAqB;;EAArB;IAAqB;;EAArB;IAAqB;;EAArB;IAAqB;;EAArB;IAAqB;;EAArB;IAAqB;;EAArB;IAAqB;;EAArB;IAAqB;;EAArB;IAAqB;;EAArB;IAAqB;;EAArB;IAAqB;;;;AAQ7B;EACE;EACA;EACA;EACA,YACE;;AAGF;EAAc;;AACd;EAAa;;AACb;EAAU;;;AAIZ;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACE;EACA;;AAGF;AAAA;EACE;EACA;;AAGF;AAAA;EACE;EACA;;AAGF;AAAA;EACE;EACA;;;AC/FJ;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;AnCwHA;AAAA;EmCrHE;EACA;;;AAKJ;EnCdE;EACA,aAFiC;EAGjC,KmCakB;EAClB;EACA;;;AAGF;EnCgDE;EACA;EACA;EACA;EACA;;;AmChDF;EnCxBE;EACA,aAFiC;EAGjC,KmCuBkB;;;AAGpB;EACE;;;AAGF;AAAA;EAEE;EACA;EACA;;AAEA;EANF;AAAA;IAOI;;;;AAIJ;AAAA;EnCyBE;EACA;EACA;EACA;EACA;EmC1BA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAKF;AAAA;EAEE;EAGA;EACA;;AAEA;EARF;AAAA;IASI;;;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;;AnCiDA;AAAA;EmC9CE;EACA;;;AAIJ;AAAA;EnChBE;EACA;EACA;EACA;EACA;EAxEA;EACA,aAFiC;EAGjC,KmCqFkB;EAClB;EACA;;;AAGF;AAAA;EAEE;EACA;EnC3CA;EACA;EACA;;AmC4CA;AAAA;EACE;;;AAIJ;EACE;EACA;EACA;;;AAIF;EACE;;AAEA;EAAsB;;;AAGxB;EACE;;AAEA;EAAsB;;;AAIxB;EnCpHE;EACA;EACA,KmCmHkB;;;AAGpB;EnC/HE;EACA,aAFiC;EAGjC,KmC8HkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;AnCxBF;EmC4BE;EACA;;;AAIJ;EnChJE;EACA;EmCiJA;EACA;;;AAKF;AAAA;EAEE;EACA;EACA;EACA;EACA;;AnC/CA;AAAA;EmCkDE;EACA;;;AAIJ;AAAA;EnChHE;EACA;EACA;EACA;EACA;EAxEA;EACA,aAFiC;EAGjC,KmCqLkB;EAClB;EACA;;;AAKF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;;AnCzEA;AAAA;EmC4EE;EACA;;;AAIJ;AAAA;EnC9ME;EACA,aAFiC;EAGjC,KmC8MkB;EAClB;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;AAEA;AAAA;EACE;;;AAIJ;AAAA;EAEE;;AAEA;AAAA;EnClKA;EACA;EACA;EACA;EACA;EmCgKE;;AAGF;AAAA;EACE;EACA;EACA;EACA;;;AAIJ;AAAA;EnCnPE;EACA,aAFiC;EAGjC,KmCmPkB;EAClB;EACA;EACA;EACA;;AnC5HA;AAAA;EmC+HE;;;AChQJ;EpCWE;EACA;EACA,KoCZkB;EAClB;EACA;;;AAGF;EpCFE;EACA,aAFiC;EAGjC,KoCCkB;EAClB;;;AAGF;EpCPE;EACA,aAFiC;EAGjC,KoCMkB;EAClB;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EpC/BE;EACA,aAFiC;EAGjC,KoC8BkB;EAClB;;;AAGF;AAAA;AAAA;EAGE;;;AAGF;EpC1CE;EACA,aAFiC;EAGjC,KoCyCkB;EAClB;;;AAIF;EpChDE;EACA,aAFiC;EAGjC,KoC+CkB;EAClB;EACA;EACA;;;AAGF;EACE;;;AAGF;EpC3DE;EACA,aAFiC;EAGjC,KoC0DkB;;AAElB;EAAc;;AACd;EAAe;;AACf;EAAe;;;AAGjB;EpCfE;EACA;EACA;;;AoCkBF;EpCxEE;EACA,aAFiC;EAGjC,KoCuEkB;EAClB;;;AAGF;EpC7EE;EACA,aAFiC;EAGjC,KoC4EkB;EAClB;;;AAGF;EpCpEE;EACA;EoCqEA;EACA;;;AAGF;EpCxFE;EACA,aAFiC;EAGjC,KoCuFkB;EAClB;EACA;EACA;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAIF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAIA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;;AAIJ;EACE;IACE;;;AAKJ;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;EAAa;;AAEvB;EAAU;;;ACvNZ;ErCIE;EACA,aAFiC;EAGjC,KqCLkB;EAClB;;;AAGF;ErCDE;EACA,aAFiC;EAGjC;EqCCA;EACA;EACA;EACA;;ArCuHA;EqCpHE;EACA;;;AAIJ;EACE;EACA;EACA;ErCmCA;EACA;EACA;EqCnCA;;;AAGF;ErCRE;EACA;EqCSA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;ErC1CE;EACA,aAFiC;EAGjC,KqCyCkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AChFJ;EtCWE;EACA;EACA,KsCZkB;EAClB;EACA;EACA;EACA;;AtC4HA;EsCzHE;EACA;;;AAIJ;EtCTE;EACA,aAFiC;EAGjC,KsCQkB;;;AAGpB;EtCNE;EACA;EACA,KsCKkB;EAClB;;;AAGF;EACE;EACA;EACA;EtC+BA;EACA;EACA;;;AsC7BF;EACE;EACA;EtCyBA;EACA;EACA;;;AsCvBF;EtC/BE;EACA,aAFiC;EAGjC,KsC8BkB;;;AAGpB;EtCnCE;EACA,aAFiC;EAGjC,KsCkCkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;;AC9DJ;AAAA;EvCIE;EACA,auCHwB;EvCIxB,KuCJkB;EAClB;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;AAEA;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIJ;AAAA;EvC3BE;EACA,aAFiC;EAGjC,KuC2BkB;EAClB;EACA;;;AAGF;AAAA;EAEE;EACA;EvCrCA;EACA,aAFiC;EAGjC,KuCoCkB;;;AAIpB;EACE;EACA;;;AAGF;EvC/CE;EACA,aAFiC;EAGjC,KuC8CkB;EAClB;EACA;;;AAGF;EAAoB;EAAiB;;;AACrC;EAAoB;EAAiB;;;AACrC;EAAoB;EAAiB;EAAgC;;;AACrE;EAAqB;;;AAGrB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAiB;;;AAInB;EACE;EACA;;;AAGF;EvChFE;EACA,aAFiC;EAGjC,KuC+EkB;EAClB;EACA;EACA;;;AAGF;EAAwB;EAAiB;;;AC3FzC;AAAA;EAEE;EACA;EACA;;AAEA;EANF;AAAA;IAMkC;;;AAChC;EAPF;AAAA;IAOkC;;;;AAGlC;AAAA;ExCNE;EACA,aAFiC;EAGjC,KwCMkB;EAClB;EACA;EACA;EACA;;;AAGF;AAAA;ExCOE,OwCLc;ExCMd,QwCNc;EACd;ExCJA;EACA;EwCKA;EACA;EACA;;AAEA;AAAA;EACE;EACA;;AxCmGF;AAAA;EwChGI;EACA;;AAIJ;AAAA;EACE;EACA;;AxCyFF;AAAA;EwCtFI;EACA;;AAIJ;AAAA;EACE;EACA;;AxC+EF;AAAA;EwC5EI;EACA;;;AAMN;EAAe;EAAS;;;AACxB;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;EAAmB;EAAiB;;;AACpC;EAAmB;;;AC7FnB;AAAA;EzCGE;EACA,aAFiC;EAGjC,KyCHkB;EAClB;EACA;;AAEA;AAAA;EACE;;;AAIJ;AAAA;EzCcE,OyCZc;EzCad,QyCbc;EACd;EACA;EACA;EACA;;AzC+GA;AAAA;EyC5GE;;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;;AAKJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EAAc;EAAiB;;AAC/B;EAAe;EAAgB;;AAGjC;EACE;EACA;EACA;EACA;EACA;;AAEA;EAAiB;EAAiB;;;AAKtC;AAAA;EAEE;EACA;;AAEA;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;AAAA;EzClJE;EACA,ayCmJwB;EzClJxB,KyCkJkB;EAClB;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EzCvIA,OyCwIc;EzCvId,QyCuIc;EACd;EACA;EACA;EzCnJA;EACA;EyCoJA;;AzCtCA;AAAA;EyCyCE;;;AAKJ;AAAA;AAAA;EAGE;;;AAGF;AAAA;EAEE;;;AAIF;EACE;EACA;EzClLA;EACA;EACA,KyCiLkB;;;AAGpB;EzC7LE;EACA,aAFiC;EAGjC,KyC4LkB;EAClB;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EzC9ME;EACA,aAFiC;EAGjC,KyC6MkB;EAClB;EACA;;;AAGF;EzChKE;EACA;EACA;EyCgKA;EACA;;;AAGF;EzCtKE;EACA;EACA;EyCsKA;EACA;EACA;;;AAGF;EACE;EACA;;;AAIF;EzCvOE;EACA,aAFiC;EAGjC,KyCsOkB;EAClB;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;;AAKJ;EzCtQE;EACA,aAFiC;EAGjC,KyCqQkB;EAClB;EACA;EACA;EACA;;;AAGF;EACE;;;ACnRF;AAAA;EAEE;;;AAGF;AAAA;E1CmEE;EACA;EACA;EACA;EACA;EAxEA;EACA,aAFiC;EAGjC,K0CEkB;EAClB;EACA;;;AAGF;AAAA;E1CTE;EACA,aAFiC;EAGjC,K0CSkB;EAClB;EACA;;AAEA;AAAA;EACE;;;AAIJ;AAAA;EAEE;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;E1CqBA;EACA;EACA;E0CrBA;;AAEA;AAAA;EACE;EACA;;;AAKJ;E1C1CE;EACA,aAFiC;EAGjC,K0CyCkB;EAClB;EACA;EACA;;;AAGF;EACE;EACA;EACA;E1C9BA,O0C+Bc;E1C9Bd,Q0C8Bc;EACd;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAMF;EAAgB;;AAChB;EAAe;;AACf;EAAa;;AACb;EAAiB;;;AC1EnB;AAAA;E3CIE;EACA,aAFiC;EAGjC,K2CJkB;EAClB;;;AAGF;AAAA;E3CoBE,O2ClBc;E3CmBd,Q2CnBc;EACd;EACA;E3CQA;EACA;E2CPA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACE;EACA;;;AAKJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EAAoB;EAAiB;;;AAGrC;EACE;EACA;EACA;;;AAGF;E3C1CE;EACA,aAFiC;EAGjC,K2CyCkB;EAClB;;;AAGF;EAAe;EAAiB;;;AAEhC;EACE;EACA;;;AAGF;E3CtDE;EACA,aAFiC;EAGjC,K2CqDkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AC5FJ;E5CIE;EACA,a4CJwB;E5CKxB,K4CLkB;EAClB;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AC3DF;E7CWE;EACA;EACA,K6CZkB;EAClB;EACA;EACA;EACA;;AAEA;E7CiEA;EACA;EACA;EACA;EACA;E6CnEE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EAAc;;AACd;EAAc;;AACd;EAAc;;;AC5BhB;E9CYE;EACA;EACA,K8CbkB;EAClB;EACA;EACA;EACA;;A9C6HA;E8C1HE;EACA;;;AAIJ;E9CRE;EACA,aAFiC;EAGjC,K8COkB;;;AAGpB;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AC9CJ;E/CYE;EACA;EACA,K+CbkB;;AAElB;E/CEA;EACA,aAFiC;EAGjC,K+CHoB;;AAGpB;EACE;EACA;EACA;EACA;E/C8CF;EACA;EACA;;A+C5CA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;;ACxCJ;EACE;IAAO;;EACP;IAAO;;;AAGT;EACE;IAAO;IAAY;;EACnB;IAAO;IAAY;;;AAGrB;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EhDdA;EACA;EACA,KgDakB;EAClB;EACA;EACA;EACA;EACA;;AhDkGA;EgD/FE;EACA;;AAGF;EApBF;IAqBI;IACA;;;;AAIJ;EACE;EhDzCA;EACA,agDyCwB;EhDxCxB,KgDwCkB;EAClB;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EhDrDE;EACA,aAFiC;EAGjC,KgDoDkB;EAClB;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EhDlEA;EACA,aAFiC;EAGjC,KgDiEkB;;AhD0DlB;EgDvDE;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AhDuCF;EgDnCE;;;AAIJ;EACE;EACA;EACA;EhD3EA,OgD4Ec;EhD3Ed,QgD2Ec;EACd;EACA;EACA;EACA;;;AAGF;EACE;;;AAKF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAuB;;;AAGzB;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAOA;EACE;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;IACE;;;ACzQJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAe;;AACf;EAAe;EAAgC;EAAkB;;;AAGnE;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;EAAa;;;AAGzB;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;;;AAKF;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;;AAKJ;AAAA;EAvHE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAiHA;;AA/GA;AAAA;EAAU;;AAEV;AAAA;AAAA;EjDyEA;EACA;EACA;;AiDzEA;AAAA;AAAA;EACE;EACA;EACA;;AAGF;AAAA;EACE;EACA;;AAqGF;AAAA;EAAiB;;AACjB;AAAA;EAAc;;;AAGhB;EACE;EACA;;;AAIF;EACE;EACA;EACA;;AAEA;EAAY;;AACZ;EAAsB;;AACtB;EAA0B;;AAC1B;EAAiB;;AACjB;EAAsB;;;AAGxB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;EAAmC;;;AAI/C;EAAgC;EAAmB;EAAiB;;;AACpE;EAAgC;EAAoB;;;AAGpD;EACE;EACA;EACA;EACA;;AAEA;EAAe;;AACf;EAAgB;;AAEhB;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAyB;EAAmC;;AAC5D;EAAa;EAAa;;AAG5B;EAAa;EAAY;EAAc;EAAe;;AAGxD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EAAI;;AACJ;EAAS;;AACT;EAAI;;;AAKR;EACE;EACA;EACA;EACA;;AAEA;EAAI;EAAkB;;AACtB;EAAS;EAAyB;;AAClC;EAAI;;AAEJ;EAAsB;EAAgC;;;AAIxD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAQ;EAAoB;EAAY;EAAU;;AAClD;EAAQ;EAAgB;EAAgC;;AAExD;EAAa;EAAa;;;AAG5B;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EAAgB;;;AAChB;EAAgB;;;AAEhB;AAAA;EACgC;;;AAEhC;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;AAAA;EAEE;EACA;;AAEA;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;;;AAIJ;AAAA;EAEE;;;AAGF;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EAAyB;;;AAG3B;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAQ;EAAoB;;AAE5B;EAAa;EAAa;;;AAG5B;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;;AAEA;EAAW;;;AAGb;EACE;;;AAIF;EAraE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EA8ZA;EACA;EACA;EACA;EAEA;EACA;EACA;;AAnaA;EAAU;;AAEV;EjDyEA;EACA;EACA;;AiDzEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;AA0ZF;EAAO;EAA4B;EAAiB;EAAuC;;AAC3F;EAAc;;;AAKhB;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAIF;EACE;;;AAKF;EA5cE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAqcA;EACA;EACA;EACA;;AAtcA;EAAU;;AAEV;EjDyEA;EACA;EACA;;AiDzEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;;AA8bJ;EAAsC;;;AAEtC;EACE;EACA;EACA;;AAEA;EAAU;EAAa;;;AAGzB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;EAAmC;;AAC7C;EAAU;EAAa;;;AAGzB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;IAAO;IAAY;;EACnB;IAAK;IAAY;;;AAGnB;EACE;EACA;EACA;EACA;;AAEA;EAAU;EAAa;EAAc;;;AAGvC;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EAAa;EAAc;;AAE3B;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EAAyB;EAAqC;;AAC9D;EAAwC;;;AAG1C;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EAAkB;EAAkB;EAAkB;EAAyB;;AAC/E;EAAgB;EAAmB;;;AAGrC;EACE;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;;;AAKd;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;;AACV;EACE;EACA;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EAAc;EAAsB;EAAqB;;;AAQ3D;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKF;EAAmC;EAAkB;;;AACrD;EAAkB;EAAkB;;;AACpC;EAAuB;;;AACvB;EAAyB;;;AAMzB;EACE;EACA;EACA;EACA;;AAEA;EAAmB;;;AAMnB;EAAkB;EAA4B;EAAiB;EAAkB;;AACjF;EAAmB;;AACnB;EAA2B;EAAa;;AACxC;EAAgC;EAAa;;AAE7C;EAA8B;;AAC9B;EAAc;;;AAIhB;EACE;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;EAAmC;;AAC7C;EAAU;EAAa;;;AAGzB;EAA8B;;;AAG9B;EAAiB;;;AAEjB;EAAiC;;;AACjC;EAAsB;EAAmB;;;AAIvC;AAAA;AAAA;AAAA;AAAA;EAIgB;;AAIhB;EACE;EACA;;AAGF;EAAoC;;AACpC;EAAwB;EAAqC;;;ACnyB/D;EACE;EACA;EACA;EACA;;AAEA;EANF;IAOI;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EATF;IAS8B;;;;AAG9B;ElDiDE;EACA;EACA;EACA;EACA;EkDnDA;;AAEA;EAAgB;;;AAGlB;EACE;EACA;EACA;EACA;EACA;;AAEA;EAAU;EAAmC;;;AAG/C;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EAAY;EAAe;EAAwB;;;AACnD;EAAa;EAAe;EAAiB;EAAW;;;AAExD;ElDRE;EACA;EACA;EACA;EACA;EkDMA;;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EAAO;;;AAGT;EACE;EACA;EACA;EACA;;;AAGF;EAAS;;;AAGT;EAAe;EAAe;EAAiB;;;AAE/C;EAAa;;;AAEb;EACE;EACA;EACA;;;AAGF;EAAkB;EAAiB;EAAkB;;;AACrD;EAAiB;EAAiB;EAAqC;;;AAEvE;EAA2B;;;AAC3B;EAAkC;;;AAClC;EAA6B;;;AAC7B;EAA2B;;;AAC3B;EAA2B;;;AAC3B;EAA0B;;;AAC1B;EAAwB;;;AACxB;EAAwB;;;AACxB;EAA2B;;;AAC3B;EAAwB;;;AAGxB;EAAY;EAAe;EAAiB;EAAU;;;AAEtD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EAAU;;AACV;EAAmB;;;AAIrB;EAAmB;EAAyC;;;AAC5D;EAAmB;EAAoC;;;AACvD;EAAmB;EAAqC;;;AACxD;EAAkB;EAAoC;;;AACtD;EAAgB;EAAoC;;;AACpD;EAAyB;;;AACzB;EAAyB;;;AACzB;EAAwB;;;AAGxB;EACE;EACA;EACA;;AAEA;ElD3GA;EACA;EACA;EACA;EACA;EkDyGE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EAAiB;;AAEjB;EAAQ;EAAqC;;;AAG/C;EACE;EACA;EACA;EACA;EACA;;;AC9LF;EACE;;;AAuBF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EAGE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIF;AAAA;EAEE;;;AAOA;AAAA;EACE;EACA;;AAGF;AAAA;EACE;EACA;;;AAMJ;EACE;IACE;;;AAIJ;EACE;IACE;;EAMF;IACE;;;AAMJ;EACE;IApIA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAGE;IAyHA;;EAGF;IACE;IACA;;EAGF;IACE;;;AAMJ;EACE;IAtJA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAKE;IAyIA;;EAGF;IACE;IACA;;EAGF;IACE;;EAQF;IACE;IACA;IACA;IACA;IACA;IACA;;;AAOJ;EACE;AAAA;IAEE;IACA;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IACE;;EAGF;AAAA;IAEE;;;ACpNJ;EACE;EACA,uBACE;EAEF;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;;;AAEF;EACE;;;AAGF;EACE;AAAA;IAEE;IACA;IACA;IAOA;;EAGF;IACE;;EAGF;IAAwB;;EACxB;IACE;IACA;IACA;IACA;;EAEF;IAAsB;;;AAGxB;EACE;IACE;IACA;;;AAIJ;EACE;IACE;;;AAKJ;EACE;EACA;EACA;;AAEA;EALF;IAMI;;;AAGF;EATF;IAUI;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;ACzHF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;IACE;IACA;IACA;;EAGF;AAAA;IAEE;;EAGF;IACE;IACA;;;AAIJ;EACE;IACE;;;ACtDJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAEA;EACE;;;AAKN;EACE;IACE;;EAGF;IACE;IACA;IACA;IACA;;;AC/DJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EAEE;EACA;;AAEA;EACE;;;AAKN;EAEE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;IACE;;;ACnIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;IAAO;IAAY;;EACnB;IAAO;IAAY;;;AAGrB;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKA;EACE;;AAIF;EACE;;AAGF;EACE;;;AC7IJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AC/BJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACE;EACA;;AAGF;AAAA;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AClMF;EACE;EACA;EACA;EACA;;AAEA;EAAiB;;AACjB;EAAgB;;AAGhB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;AAGF;EAAI;;AAEJ;EAAS;EAAkB;;AAC3B;EAAK;EAAoB;;AACzB;EAAa;EAA6B;;AAE1C;EAAS;EAAkC;;AAE3C;EACE;EACA;EACA;EACA;;AAEF;EAAU;;AAEV;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EAAO;EAAY;EAAkB;EAAW;;AAIlD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAI;;AACJ;EAAQ;;AAER;EACE;EACA;EACA;EACA;EACA;EACA;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;;AAEF;EAAyB;;AACzB;EAA8B;;AAE9B;EAAuB;EAAkB;EAAkC;;AAG7E;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EAAM;EAAiB;EAAc;EAAuC;;;AAI9E;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;E3D9KE;EACA,aAFiC;EAGjC,K2D6KkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AACA;EAAY;;AACZ;EAAyB;;AAG3B;E3DxLA,O2DyLgB;E3DxLhB,Q2DwLgB;E3DjMhB;EACA;E2DkME;EACA;EACA;EACA;EACA;;AAGF;EAAU;EAAe;EAAwB;EAAU;;AAC3D;EAAW;EAAkB;EAAmB;;AAChD;EAAU;EAAmB;EAAgC;;AAC7D;EACE;EAAoB;EAAW;EAC/B;EAAmB;;;AASrB;EAAsB;;AAGtB;EACE;IACE;IACA;;EAEA;IAAa;;EACb;IAAK;;EACL;IAA8C;;;;AAMpD;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EAAK;EAAkB;EAAW;EAAY;EAAe;EAAwB;;AAErF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAY;EAAiB;;AAE7B;E3DrTA;EACA,aAFiC;EAGjC,K2DoToB;EAClB;EACA;EACA;EAGA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;E3DnTF,O2DoTkB;E3DnTlB,Q2DmTkB;E3D5TlB;EACA;E2D6TI;EACA;EACA;;AAIJ;EAAU;EAAgB;EAAkB;EAAoB;;AAChE;EAAU;EAAoB;EAA2C;;;AAI3E;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACkB;;AAElB;EAAU;EAAa;;;AAIzB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;;AAKJ;E3DzYE;EACA,aAFiC;EAGjC,K2DwYkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;EAAa;EAAc;;;AAIvC;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;E3DhaA;EACA,aAFiC;EAGjC,K2D+ZoB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAY;EAA2B;;AAEvC;EACE;EACA;EACA;;AAGF;EAAU;EAAY;;AAGxB;EAAU;EAAe;EAAwB;EAAU;;AAE3D;EACE;EACA;EACA;EACA;EACA;;AAGF;EAAW;EAAkB;EAAiB;;;AAIhD;EACE;EACA;EACA;EACA;;;AAKA;EACE;EACA;EACA;EACA;;AAEA;EAAI;;AACJ;EAAQ;;AAER;EACE;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;;AACA;EAAY;;AAGd;EACE;EACA;;AACA;EAAY;;AAGd;EACE;EACA;;AACA;EAAY;;;AAIhB;AAAA;EAEE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA,YACE;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;AAAA;EACyD;;AACzD;EAA6B;;AAC7B;EAAyD;EAAY;;AAErE;E3DvkBA;EACA,aAFiC;EAGjC,K2DskBoB;EAClB;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAIJ;E3D1lBA;EACA,aAFiC;EAGjC,K2DylBoB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;EAAa;EAAc;;AAErC;EACE;EACA;EACA;EACA;;AAIJ;E3DhnBA;EACA,aAFiC;EAGjC,K2D+mBoB;EAClB;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAIJ;EAAS;EAAiB;EAAkB;;;AAKhD;EACE;EACA;EACA;;AAEA;EAA4B;;AAC5B;EAA2B;;AAC3B;EAA6B;;AAC7B;EAA2B;;AAC3B;EAA4B;;AAC5B;EAAyB;;AACzB;EAA4B;;AAE5B;E3DvpBA;EACA,aAFiC;EAGjC,K2DspBoB;EAClB;;AAIF;E3DvoBA,O2DwoBgB;E3DvoBhB,Q2DuoBgB;E3DhpBhB;EACA;E2DipBE;EACA;EACA;EACA;EACA,YACE;;AAGF;EAAU;EAAa;;AAGzB;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAKA;EAAY;;AAEZ;EAAU;;AAEV;EACE;EACA;;AAGF;EAAoC;;AAEpC;E3DvrBF,O2DwrBkB;E3DvrBlB,Q2DurBkB;E3DhsBlB;EACA;E2DisBI;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;EAAa;;AAGzB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKN;EACE;IAAO;IAAY;;EACnB;IAAK;IAAY;;;AAGnB;EAAyB;IAAO;;EAAc;IAAK;;;AAEnD;EACE;AAAA;AAAA;IAEyB;IAAkB;;EAC3C;IAAqB;;EACrB;IAA8B;;EAE9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAMoB;IAAiB;;;AAOnC;EAAO;;AACP;EAAM;;AAER;EAAqB;;;AC3wBvB;EACE;;AAEA;E5DAA;EACA,aAFiC;EAGjC,K4DDoB;EAClB;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EAAY;EAAY;EAAgC;EAAa;;AAErE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAiB;;AACjB;EAAkC;;AAItC;E5DfA;EACA;E4DgBE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;EAAkC;;AAC5C;EAAU;EAAa;;AAGzB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;E5D3DA;EACA,aAFiC;EAGjC,K4D0DoB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;E5DvDF;EACA;E4DwDI;;AACA;EAAU;EAAa;;AAKzB;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EARF;IASI;IACA;;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAIJ;E5DnIA;EACA,aAFiC;EAGjC,K4DkIoB;EAClB;EACA;EACA;EACA;;AAEA;EAAU;EAAa;;AAGzB;E5D7IA;EACA,aAFiC;EAGjC,K4D4IoB;EAClB;EACA;EACA;EACA;EACA;EACA;;AAEA;E5DtJF;EACA,aAFiC;EAGjC,K4DoJ2B;;AAEzB;EACE;EACA;EACA;EACA;EACA;EACA;;AAKJ;EACE;EACA;EACA;;AAGF;E5DzKA;EACA,aAFiC;EAGjC,K4DwKoB;EAClB;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;;AAEA;EAAU;EAAa;EAAc;;AAErC;EACE;;AAMJ;EAAe;E5DnLf;EACA;;A4DoLA;E5DnMA;EACA,aAFiC;EAGjC,K4DkMoB;EAClB;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;;AAEA;E5DtNF;EACA,aAFiC;EAGjC,K4DqNsB;EAClB;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;EAAa;;AAGzB;EACE;EACA;EACA;EACA;EACA;;AAGF;E5D1OF;EACA,aAFiC;EAGjC,K4DyOsB;EAClB;EACA;;AAEA;EAAU;EAAa;EAAc;;AAGvC;E5DlPF;EACA,aAFiC;EAGjC,K4DiPsB;EAClB;EACA;;AAEA;E5DvPJ;EACA,aAFiC;EAGjC,K4DsPwB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;EAAa;;AAEvB;EAAU;;AAMhB;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EAAQ;;AACR;EAAY;EAAa;;AAK7B;EACE;;AAEA;EAA0B;;AAK1B;EACE;EACA;EACA;EACA;EACA;;AAEA;EAAiB;;AACjB;EAAQ;;AAGV;EACE;EACA;EACA;EACA;EACA;EACA;;;AAON;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;E5DvVA;EACA,aAFiC;EAGjC,K4DsVoB;EAClB;EACA;EACA;EACA;EACA;;AAEA;EAAU;EAAa;EAAc;;;AAIzC;EACE;IAAK;;;AAGP;EACE;IAAW;IAAY;;EACvB;IAAM;IAAc;;;AAGtB;EACE;IAAO;IAAY;;EACnB;IAAK;IAAY;;;AAInB;EACE;;;AAGF;EACE;IAAO;IAAY;;EACnB;IAAK;IAAY;;;AAGnB;EACE;AAAA;AAAA;IAE0B;;;AAI1B;EAAiB;;;ACxYnB;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;;AAMJ;EACE;EACA;EACA;EACA;EAIA;EACA;;AAEA;EACE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAMJ;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAOE;;;AC5QJ;EACE;EACA;EAEA;EACA;EACA;EACA;;A9DyHA;E8DtHE;EACA;;AAKF;EACE;EACA;EACA;EACA;EACA;EAIA;;;AAIJ;EACE;IAAO;;;AAIT;EACE;;AAEA;EAAgB;;AAChB;EAAiB;;AACjB;EAAiB;;;AAGnB;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AACZ;EAAY;;;AACZ;EAAa;;;AAEb;EACE;EACA;;;AAIF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EAEA;EACA;;;AAGF;EACE;EACA;;;AAMA;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AAKJ;EACE;IAAc;;;ACjFhB;EACE;IAAO;IAAY;;EACnB;IAAO;IAAY;;;AAcrB;AAAA;AAAA;EAVE;;AAGE;AAAA;AAAA;EAAqB;;AAArB;AAAA;AAAA;EAAqB;;AAArB;AAAA;AAAA;EAAqB;;AAArB;AAAA;AAAA;EAAqB;;AAArB;AAAA;AAAA;EAAqB;;AAArB;AAAA;AAAA;EAAqB;;AAArB;AAAA;AAAA;EAAqB;;AAArB;AAAA;AAAA;EAAqB;;AAArB;AAAA;AAAA;EAAqB;;AAArB;AAAA;AAAA;EAAqB;;AAArB;AAAA;AAAA;EAAqB;;AAArB;AAAA;AAAA;EAAqB;;AAIvB;AAAA;AAAA;EAAgC;;;AAUlC;AAAA;AAAA;EAGE,YACE;;AAGF;AAAA;AAAA;EACE;EACA;;;AAMJ;AAAA;EAEE;;;AAGF;EACE;IAAO;;EACP;IAAO;;;AAMT;EACE;AAAA;AAAA;AAAA;AAAA;IAKE;;EAGF;AAAA;AAAA;IAGE;;EAEA;AAAA;AAAA;IAAU;;;ACtEd;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IACE;;;AAKJ;EACE;EACA;EACA;EACA;EhEZA;EACA;EACA,KgEWkB;EAClB;EACA;;;AAIF;EhE1BE;EACA,aAFiC;EAGjC,KgEyBkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAEA;EACE;;AAIJ;EACE;;AAEA;EACE;;AAIJ;EACE;;AAEA;EACE;;AAKF;EACE;;;AAKN;EACE;EhEhDA,OgEiDc;EhEhDd,QgEgDc;;;AAGhB;EACE;EACA;EACA;;;AAGF;EhE1DE,OgE2Dc;EhE1Dd,QgE0Dc;EACd;EACA;EACA;EACA;EACA;EhExEA;EACA;EgEyEA;EACA;;AAEA;EACE;EACA;;;AChGJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EjExBE;EACA,aAFiC;EAGjC,KiEuBkB;EAClB;EACA;;;AAGF;EACE;EjETA,OiEUc;EjETd,QiESc;EACd;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EjEnDE;EACA,aAFiC;EAGjC,KiEkDkB;EAClB;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EjE5CA,OiE6Cc;EjE5Cd,QiE4Cc;EjErDd;EACA;EiEsDA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;IACE;IACA;IACA;IACA;;;AC5FJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAMF;EACE;EACA;EACA;EACA;;AAGF;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;;;AAMN;ElE5BE;EACA;EACA,KkE2BkB;EAClB;EACA;;;AAGF;ElEzCE;EACA,aAFiC;EAGjC,KkEwCkB;EAClB;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;ElEpDE;EACA;EACA,KkEmDkB;EAClB;EACA;EACA;;;AAGF;ElElEE;EACA,aAFiC;EAGjC,KkEiEkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;;AAIJ;ElEjEE,OkEkEc;ElEjEd,QkEiEc;EACd;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AlE2BF;EkEvBE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;ElElHA;EACA,aAFiC;EAGjC,KkEiHkB;ElE/DlB;EACA;EACA;;;AkEiEF;ElEvHE;EACA,aAFiC;EAGjC,KkEsHkB;EAClB;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;;;AAGF;ElEhIE;EACA;EACA,KkE+HkB;EAClB;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;ElEnJA;EACA,aAFiC;EAGjC,KkEkJkB;EAClB;;AAEA;EACE;EACA;EACA;EACA;;;AAKJ;EACE;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;;AAEA;EALF;IAMI;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAIF;ElEzME;EACA,aAFiC;EAGjC,KkEwMkB;;;AAGpB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;;AAKJ;EACE;EACA;EACA;;;AAGF;ElEzOE;EACA;EACA,KkEwOkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAIF;EACE;;AAEA;EACE;;;AAIJ;ElEjOE;EACA;EACA;EACA;EACA;EkE+NA;;;AAGF;EACE;EACA;EACA;;AAEA;EALF;IAMI;;;;AAKJ;ElErTE;EACA,aAFiC;EAGjC,KkEoTkB;EAClB;EACA;EACA;EACA;;AlE7LA;EkEgME;;;AAIJ;ElE3SE,OkE4Sc;ElE3Sd,QkE2Sc;EACd;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;ElE/RA;EACA;EACA;;;AkEmSF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;ElErYE;EACA,aAFiC;EAGjC,KAHoB;EkEwYpB;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;ElEhaA;EACA;EACA,KkE+ZkB;;;AAGpB;ElE3aE;EACA,aAFiC;EAGjC,KkE0akB;EAClB;EACA;EACA;;;AAGF;ElE5ZE,OkE6Zc;ElE5Zd,QkE4Zc;EACd;EACA;ElEvaA;EACA;EkEwaA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;ElElcE;EACA,aAFiC;EAGjC,KkEickB;EAClB;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAEA;EACE;EACA;;;AAKN;ElE/bE,OkEgcc;ElE/bd,QkE+bc;EACd;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;ElEjeE;EACA;EACA,KkEgekB;EAClB;EACA;;;AAGF;EACE;EACA;ElEhfA;EACA,aAFiC;EAGjC,KkE+ekB;EAClB;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;ElEvgBA;EACA;EACA,KkEsgBkB;;;AAGpB;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;ElE5iBA;EACA;EACA,KkE2iBkB;;AAElB;EACE;EACA;EACA;EACA;;;AAIJ;ElE9jBE;EACA,aAFiC;EAGjC,KkE6jBkB;EAClB;EACA;EACA;EACA;;AAEA;EACE;;;AAKJ;ElEjiBE;EACA,QkEiiB6B;ElEhiB7B;EACA;EkEgiBA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;ACtmBJ;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;;AAIF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAKJ;EACE;;AAEA;EACE;;AAGF;EACE;;AAKJ;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAIF;EACE;EACA;;AAGF;EACE;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AC5JF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAIF;EACE;;;AAIF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;;;AClGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;ArEwHA;EqErHE;EACA;;;AAIJ;ErEbE;EACA,aAFiC;EAGjC,KqEYkB;EAClB;EACA;EACA;;ArE4GA;EqEzGE;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;ErEtCE;EACA,aqEsCwB;ErErCxB,KqEqCkB;EAClB;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;ArE2EF;EqEvEE;;AAEA;EACE;;;AAKN;EACE;;AAEA;EACE;;AAGF;EACE;;ArEuDF;EqEnDE;;AAEA;EACE;;;AAKN;ErEpEE;EACA;EAOA,OqE8Dc;ErE7Dd,QqE6Dc;EACd;EACA;EACA;EACA;;AAEA;ErE9DA,OqE+DqB;ErE9DrB,QqE8DqB;;ArEkCrB;EqE9BE;;;AAIJ;ErE5FE;EACA;EACA,KqE2FkB;EAClB;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;ErEzHE;EACA;EACA,KqEwHkB;EAClB;EACA;EACA;EACA;EACA;;AAEA;ErE5GA,OqE6GqB;ErE5GrB,QqE4GqB;;;AAIvB;EACE;EACA;EACA;EACA;;ArEpBA;EqEuBE;;;AAMJ;ErEnJE;EACA;EACA,KqEkJkB;EAClB;;;AAGF;ErE/JE;EACA,aqE+JwB;ErE9JxB,KqE8JkB;EAClB;EACA;EACA;EACA;EACA;;AAEA;EACE;;ArE3CF;EqE+CE;;;AAIJ;EACE;EACA;;AAEA;EACE;;ArExDF;EqE4DE;;;AAIJ;ErE/KE;EACA;EAOA,OqEyKc;ErExKd,QqEwKc;EACd;EACA;EACA;EACA;;AAEA;ErEzKA,OqE0KqB;ErEzKrB,QqEyKqB;;ArEzErB;EqE6EE;;;AAIJ;ErEvME;EACA;EACA,KqEsMkB;EAClB;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;ErEtOE;EACA,aAFiC;EAGjC,KqEqOkB;EAClB;EACA;;;AC7OF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAjBF;IAkBI;IACA;;;;AAIJ;EACE;EACA;EACA;EACA;;;AAIA;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;ACnEF;EACI;EACA;EACA;EACA;;AAEA;EANJ;IAOQ;;;;AAKR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AvE6GF;EuE1GM;EACA;;;AAIR;AAAA;EAEI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AvEiEF;EuE9DM;EACA;;AAGJ;EACI;EACA;EACA;;AAEA;EAAe;;AAGnB;EACI;EACA;;AAGJ;EACI;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AvE8BF;EuE5BkB;;;AAGpB;EACI;EACA;EACA;EACA;EACA;;;AAGJ;AAAA;EAEI;EACA;;;AAGJ;EACI;;;AAIJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;AAEA;EAAsB;;AAEtB;EACI;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;;AvEnBF;EuEsBM;EACA;;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;;;AAKR;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;;AAIR;EACI;EACA;;AvE7DF;EuE+DkB;;;AAIpB;EACI;EACA;EACA;EACA;;;AAIJ;EACI;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;;;AAIJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AvE5GF;EuE+GM;EACA;;;AAIR;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;;;AAKR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;;AAKR;EACI;;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EAAiB;;AACjB;EAAiB;;;AAIrB;EACI;EACA;EACA;EACA;EACA;;AvEvMF;EuEyMkB;;;AAGpB;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAQ;;AAER;EAAU;;AAEV;EACI;EACA;;AvE7NN;EuEiOM;;AACA;EAAU;;AACV;EAAW;EAAkC;;;AAKrD;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AvEzPN;EuE2PsB;;AAGpB;EACI;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAI;EAAa;EAAc;;;AAInC;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACI;EACA;EACA;EACA;EACA;EACA;;AvExSF;EuE2SM;EACA;;AAGJ;EAA8B;;;AAGlC;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAI;EAAa;;;AAIrB;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAI;EAAa;EAAc;;AvE9VjC;EuEiWM;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKR;EACI;;;AAGJ;EACI;EACA;EACA;EACA;;AvEnYF;EuEqYkB;;;AAIpB;EACI;EACA;EACA;EACA;;AvE7YF;EuEgZM;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;;;ACjiBJ;EACI;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACTR;EACE;EACA;EACA;;;AAMA;AAAA;EAEE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;AAAA;EAEE;EACA;;AAGF;EACE;;AAKF;EACE;IACE;IACA;IACA;;;;ACnCN;EACE;IAAO;IAAY;;EACnB;IAAO;IAAY;;;AAGrB;EACE;IAAgB;IAAsB;;EACtC;IAAgB;IAAsB;;;AAGxC;EACE;IAAW;;EACX;IAAW;;;AAGb;EAAwB;IAAM;;;AAE9B;EACE;IAAW;;EACX;IAAW;;;AAIb;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EAVF;IAU+B;;;;AAI/B;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAZF;IAY+B;IAAa;;;;AAG5C;E1EhDE;EACA,aAFiC;EAGjC,K0E+CkB;EAClB;;AAEA;EAAK;EAAiB;EAAkB;EAAW;;;AAGrD;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAIF;E1E3EE;EACA,aAFiC;EAGjC,K0E0EkB;EAClB;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;E1E7FE;EACA,aAFiC;EAGjC,K0E4FkB;EAClB;EACA;EACA;EACA;EACA;;AAEA;EAAW;;AAEX;EAAyB;EAA2B;;AACpD;EAAyB;EAAgB;EAAc;EAAe;EAAwB;;AAC9F;EAA0B;EAAiB;EAAkB;;AAC7D;EACE;EACA;EACA;EACA;EACA;EACA;;AAEF;EAA2B;;;AAG7B;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAuB;EAAmB;;AAC1C;E1ExIA;EACA,aAFiC;EAGjC,K0EsI4C;;AAC5C;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;AAEF;EAAqB;EAAgC;EAAa;;AAClE;EAAqB;EAAyB;;;AAGhD;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;E1E/JE;EACA,aAFiC;EAGjC,K0E8JkB;EAClB;EACA;EACA;EACA;EACA;;AAEA;EAAS;EAAoC;EAAY;;AACzD;EAAS;EAAe;EAAwB;EAAU;;AAC1D;EAAS;EAAiB;EAAkB;;AAC5C;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EAAY;;AACZ;EAAS;;AACT;EAAU;;AACV;EAAU;;;AAIZ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;E1EpME;EACA,aAFiC;EAGjC,K0EmMkB;EAClB;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;E1ErNE;EACA,aAFiC;EAGjC,K0EoNkB;EAClB;;AAEA;EAAK;EAAiB;EAAkB;EAAW;;;AAGrD;E1E5NE;EACA,aAFiC;EAGjC,K0E2NkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EAAY;EACZ;EACA;;;AAIJ;EACE;EACA;EACA;;;AAGF;E1EpPE;EACA,aAFiC;EAGjC,K0EmPkB;EAClB;;;AAGF;E1EzPE;EACA,aAFiC;EAGjC,K0EwPkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;EAAoC;;AAC9C;EAAgB;;;AAIlB;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;E1ErTE;EACA,aAFiC;EAGjC,K0EoTkB;EAClB;;AAEA;EAAK;EAAiB;EAAkB;EAAW;;;AAGrD;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EARF;IAQ8B;;;;AAG9B;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EAAuB;EAAY;;;AAIvC;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;E1ExWE;EACA;EACA,K0EuWkB;EAClB;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EAAa;;;AAIf;EACE;EACA;EACA;;AAEA;EAAkB;;AAElB;EACE;EACA;EACA;EACA;EACA;;AAIF;EAAgB;EAAgB;EAAc;;;AAIhD;EAAuD;;;AAEvD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;E1ElbE;EACA;EACA,K0EibkB;;;AAGpB;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;AAEA;EAAgB;EAAoC;;AAEpD;EACE;EACA;EACA;;;AAKF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EAAY;EACZ;EACA;EACA;;AAEF;EAAW;;;AAIb;E1E5fE;EACA;EACA,K0E0fgC;;;AAElC;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;;AAKJ;E1E3gBE;EACA;EACA,K0E0gBkB;EAClB;EACA;EACA;EACA;;;AAGF;E1E1hBE;EACA,aAFiC;EAGjC,K0EyhBkB;EAClB;EACA;EACA;;AAEA;EAAgB;EAA6B;;;AAG/C;E1EniBE;EACA,aAFiC;EAGjC,K0EkiBkB;EAClB;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;E1EhjBE;EACA;EACA,K0E+iBkB;EAClB;EACA;EACA;;;AAGF;E1EvjBE;EACA;EACA,K0EsjBkB;EAClB;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EAAwB;EAAoC;;;AAE5D;E1EzkBE;EACA;EACA,K0EukBgC;;;AAElC;E1EllBE;EACA,aAFiC;EAGjC,K0EglBqC;EAAM;;;AAG7C;EACE;EACA;EACA;EACA;E1EllBA;EACA;EACA,K0EilBkB;;;AAGpB;EACE;EACA;EACA;EACA;EACA;;;AAGF;E1ErmBE;EACA,aAFiC;EAGjC,K0EomBkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;EAAoC;EAAyC;;AACvF;EAAgB;;;AAGlB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EAAiC;;AAEjC;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAiB;;;AAIrB;EACE;EACA;EACA;EAAa;EACb;EACA;EACA;EACA;EACA;;AAEA;EAAU;EAAoC;;;AAGhD;EACE;EACA;EACA;EAAa;EACb;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAyB;EAA0B;;AACnD;EAAa;EAAa;;;AAI5B;E1E3qBE;EACA;EACA,K0E0qBkB;EAClB;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EAAmB;;;AAEnB;EAAoB;EAAiB;EAAkB;;;AACvD;EAAoB;EAAiB;EAAgC;;;AAErE;E1ErsBE;EACA,aAFiC;EAGjC,K0EosBkB;EAClB;EACA;EACA;;AAEA;EAAkB;;;AAGpB;EACE;EACA;EACA;EACA;EAAa;EACb;EACA;;AAEA;EAA0B;;AAC1B;EAA0B;;AAC1B;EAA0B;;AAC1B;EAA0B;;;AAG5B;EAAsB;;;AACtB;EAAuB;EAAmB;EAAkB;;;AAC5D;EAAuB;EAAiB;EAAgC;;;AAExE;E1EhuBE;EACA,aAFiC;EAGjC,K0E+tBkB;EAClB;EACA;EACA;EACA;;AAEA;EAAkB;;AAElB;EAAO;EAAiB;;;AAI1B;EACE;EACA;EAAa;EACb;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EAAU;EACV;EAAa;EACb;EACA;EACA;;AAGF;EAAU;;AAAkC;EAAW;;;AAIzD;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;E1EtxBE;EACA,aAFiC;EAGjC,K0EqxBkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EAA2B;EAAY;;;AAI3C;E1EtyBE;EACA;EACA,K0EqyBkB;EAClB;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;E1Ex0BE;EACA,aAFiC;EAGjC,K0Eu0BkB;EAClB;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;E1Ep3BE;EACA,aAFiC;EAGjC,K0Em3BkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAqB;EAAa;EAAc;;;AAGlD;EAAgB;EAAmB;EAAkB;EAAkC;;;AACvF;EAAgB;EAAmB;EAAgC;;;AAEnE;E1Ep4BE;EACA,aAFiC;EAGjC,K0Em4BkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAqB;EAAa;EAAc;;AAChD;EAAS;EAAmB;EAAkB;;;AAGhD;E1Ep5BE;EACA,aAFiC;EAGjC,K0Ek5B+B;EAAM;;;AACvC;E1Er5BE;EACA,aAFiC;EAGjC,K0Eo5BkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAqB;EAAa;EAAc;;;AAGlD;EAAmB;EAAkB;EAAW;;;AAChD;EACE;EACA;;AACA;EAAgB;;;AAElB;EAAyB;EAAgB;EAAiB;;;AAC1D;EAAyB;EAAgB;EAAiB;EAAgC;;;AAC1F;EAAa;EAAkB;EAA6B;;;AAE5D;E1E76BE;EACA,aAFiC;EAGjC,K0E46BkB;EAClB;EACA;;AAEA;EAAQ;EAAgB;;AACxB;EAAS;;;AAEX;EAAgB;EAAiB;EAAkC;EAAiB;;;AAGpF;EACE;IAAe;;EACf;IAAa;;EACb;IAAoB;;;ACh8BtB;EAAwB;IAAO;;EAAc;IAAK;;;AAElD;EACE;IAAO;IAAgD;;EACvD;IAAO;IAAmC;;EAC1C;IAAO;;EACP;IAAO;;;AAGT;EACE;IAAO;IAA4C;;EACnD;IAAO;IAA6C;;;AAGtD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;;AAGF;EAEE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAqB;EAAa;;;AAGpC;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAqB;EAAa;EAAc;;;AAGlD;AAAA;EAEE;EACA;;AAEA;AAAA;EAAU;;;AAGZ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAqB;EAAa;EAAc;;;AAGlD;EACE;EACA;EACA;EACA;;AAEA;EAAqB;;;AAIvB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAqB;EAAY;;;ACzKnC;EACE;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EAKA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;;;AChEF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;;A7E8GA;E6E3GE;;;AAMJ;EACE;EACA;;;AAGF;EACE;EACA,uBACE;EAGF;EACA;;AAEA;EACE;;AAGF;EAEE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;A7EoEA;E6EjEE;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;A7E4CF;E6EzCI;;;AAKN;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;A7EbF;E6EgBI;;;AAKN;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;;AAEA;EAEE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAKA;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AAKJ;EACE;;;AAIF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;A7E7FA;E6EgGE;;AAGF;EACE;;;AAQJ;EACE;;AAEA;EACE;EACA;EACA;;;AAMJ;AAAA;EAEE;;A7E1HA;AAAA;E6E6HE;;;AAIJ;EACE;EACA;EAIA;;;AAIF;EACE;;A7E5IA;E6E+IE;;;AAIJ;EACE;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;;AAQF;AAAA;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;EACE;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAIF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;;;AAKF;EACE;EACA;;;AAIA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;;;AAMF;EACE;AAAA;IAEE;;EAIA;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EAIJ;IACE;;;AAIJ;EACE;AAAA;AAAA;AAAA;AAAA;IAKE;IACA;;;AAIJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAOJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;;AAEA;EAEE;EACA;;;AAIJ;EACE;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAIA;EACE;;AAGF;EACE;;;AAMN;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EAEA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;;;AAMJ;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAIF;EACE;IACE;IACA;IACA;;EAGF;IACE;;EAIF;IACE;IACA;;EAGF;IACE;;;AC1uBJ;EACE;EAGA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;;AAEA;EACE;EACA,YACE;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;A9E4EF;E8ExEE;;AAEA;EACE;;;AASN;EACE;EACA;EACA;EACA;EACA,YACE;;;AAOJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EAEA;EACA;EACA;EACA;EACA;EACA,YACE;EAEF;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;A9EzBF;E8E6BE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKF;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAMF;EACE;EACA;EACA;;AAEA;EAAY;;AAGd;EAEE;EACA;EACA;;AAEA;EAAU;;AACV;EAAY;;AACZ;EAAe;;AAKjB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EAEE;EACA;EACA;;AAEA;EAAU;;AACV;EAAY;;AACZ;EAAe;;AAEf;EACE;EACA;;AAIJ;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;;AAEA;EAAU;;AACV;EAAY;;AACZ;EAAe;;AAEf;EAAW;;AAEX;EACE;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EAGE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EAEA;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;;A9EjTA;E8EoTE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EAIE;EACA;EACA;EACA,YACE;;A9EvUJ;E8E2UI;;;AAKN;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAIF;EACE;EACA;;;AAIF;EACE;IAAO;IAAY;;EACnB;IAAO;IAAY;;;AAGrB;EACE;IAAW;;EACX;IAAW;;;AAGb;EACE;IAAK;;;AAGP;EACE;IAAK;IAAY;;;AAGnB;EACE;IAAK;;;AAGP;EACE;IAAW;IAAc;;EACzB;IAAW;IAAY;;;AAGzB;EACE;IAAO;;EACP;IAAO;;;AAGT;EACE;IAAO;IAAY;;EACnB;IAAO;;EACP;IAAO;IAAY;;;AAGrB;EACE;IAAO;IAAY;;EACnB;IAAO;;EACP;IAAO;;EACP;IAAO;IAAY;;;AAGrB;EACE;IAAO;;EACP;IAAO;;;AAGT;EACE;IAAgB;IAAY;;EAC5B;IAAgB;IAAY;;EAC5B;IAAgB;;EAChB;IAAgB;IAAa;;EAC7B;IAAgB;;;AAGlB;EACE;IAAgB;;EAChB;IAAgB;;EAChB;IAAgB;;EAChB;IAAgB;;EAChB;IAAgB;;;AAGlB;EACE;IAAK;;;AAIP;EACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAWE;;EAGF;IAAkB;;EAClB;IAAiB;;EACjB;IAAU;IAAY;;EACtB;AAAA;IACU;;;AC9nBZ;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;;AAKF;EACE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;A/EqDA;E+ElDE;;;AAIJ;EACE;;;AAGF;EACE;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;E/EnFF,O+EoFgB;E/EnFhB,Q+EmFgB;EACd;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;;AAMJ;EACE;IACE;IACA;IACA;;EAGF;IACE;IACA;IACA;;EAGF;IACE;;;AC1KJ;EhFCE;EACA,aAFiC;EAGjC,KgFFkB;EAClB;EACA;EACA;EACA;EACA;EACA;;AhFuHA;EgFpHE;EACA;;AAGF;EAAU;;AACV;EAAY;;AACZ;EAAc;;AAEd;EAA0B;;AAC1B;EAA4B;;AAC5B;EAA8B;;;AAGhC;EACE;EACA;EACA;;AAEA;EAAU;EAAa;;;AAKzB;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EAAe;;;AAGjB;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EAAU;;;AAKZ;EACE;EACA;EACA;EACA;;;AAGF;EhFzFE;EACA,aAFiC;EAGjC,KgFwFkB;EAClB;;AAGA;EACE;EACA;;;AAMJ;EhFtGE;EACA,aAFiC;EAGjC,KgFqGkB;EAClB;;;AAGF;EhF3GE;EACA,aAFiC;EAGjC,KgF0GkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;;AAGF;EAAc;;AAEd;EACE;EACA;EACA;EACA;;AAIF;EAAgC;;AAChC;EAAkC;;;AAGpC;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAKF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;;;AAKF;EhF/KE;EACA,aAFiC;EAGjC,KgF8KkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACY;;AAEZ;EAAU;EAAa;;;AAKzB;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAIF;EhFrNE;EACA,aAFiC;EAGjC,KgFoNkB;EAClB;EACA;EACA;EACA;;;AC/NF;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAMJ;EACE;EACA;EACA;EACA;EjFNA;EACA;EACA,KiFKkB;EAClB;EACA;;;AAGF;EjFnBE;EACA,aAFiC;EAGjC,KiFkBkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;;AAIJ;EjFrCE;EACA;EACA,KiFoCkB;EAClB;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAKF;EjF7DE;EACA,aAFiC;EAGjC,KiF4DkB;EAClB;EACA;EACA;;;AAGF;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;EACE;EACA;;;AAOJ;EjF7FE;EACA,aAFiC;EAGjC,KiF4FkB;EAClB;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAQJ;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EjFxKE;EACA,aAFiC;EAGjC,KiFuKkB;EAClB;EACA;EACA;EACA;EACA;EACA;;AAIE;EACE;;AAGF;EACE;;AAIJ;EACE;;AAEA;EACE;;;AAKN;EACE;;AAEA;EACE;EACA;;;AAIJ;EjFvME;EACA;EACA,KiFsMkB;EAGlB;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;;AAKJ;EjFrPE;EACA,aAFiC;EAGjC,KiFoPkB;EAClB;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EAIA;EACA;;;AAOJ;EACE;IACE;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;;AAIJ;EACE;IAAO;;EACP;IAAK;;;AAGP;EACE;IAAO;;EACP;IAAK;;;AAGP;EACE;IAAO;;EACP;IAAM;;EACN;IAAK;;;AAGP;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EAEA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAKF;EAA2B;;AAC3B;EAA2B;;AAC3B;EAA2B;;AAE3B;EAAsB;EAAU;;AAChC;EAAsB;EAAW;;AACjC;EAAsB;EAAW;;AACjC;EAAsB;EAAW;;AACjC;EAAsB;EAAW;;AACjC;EAAsB;EAAW;;AACjC;EAAsB;EAAW;;AACjC;EAAsB;EAAW;;AACjC;EAAsB;EAAW;;AACjC;EAAuB;EAAW;;AAClC;EAAuB;EAAW;;AAClC;EAAuB;EAAW;;AAClC;EAAuB;EAAW;;AAClC;EAAuB;EAAW;;;AAKpC;EACE;AAAA;AAAA;AAAA;IAIE;;EAGF;IACE;;;AAKJ;EjFvfE;EACA,aAFiC;EAGjC,KiFsfkB;EAClB;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;EACA;EAEA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;AAIA;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;IACE;;EAGF;IACE;;;AAIJ;AAAA;EAEE;EACA;EACA;EAEA;EAEA;EACA;EACA;EACA;EACA;;;AAGF;EACE,kBACE;;;AAKJ;EACE,kBACE;;;AAMJ;EACE;IACE;;EAGF;AAAA;IAEE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAMA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EAGA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EAIA;EACA;EACA;;;AAGF;EACE;EACA;;AAEA;EACE;;AAEA;EACE;;AAIJ;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;ACpvBJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IAAO;;EACP;IAAK;;;AAMP;EACE;ElFhBA;EACA,aAFiC;EAGjC,KkFekB;EAClB;EACA;EACA;EACA;EACA;EACA,YACE;EAGF;EACA;EAGA;;AAIA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ElFVA;EACA,YAFqB;;AkFcrB;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;ElFhGE;EACA;EACA,KkF+FkB;EAElB;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;ElFhEA;EACA;EACA;;;AkFkEF;EACE;EACA;ElFtEA;EACA;EACA;;;AkFwEF;ElF9HE;EACA,aAFiC;EAGjC,KkF6HkB;EAClB;EACA;;;AAGF;ElFpIE;EACA,aAFiC;EAGjC,KkFmIkB;ElFtClB;EkFwCA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AlF3BF;EkF8BI;;;AAKN;ElFzJE;EACA;EACA,KkFwJkB;EAClB;EACA;EACA;;;AAIF;EACE;;;AAIF;EACE;AAAA;AAAA;AAAA;AAAA;IAKE;;;ACxLJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EAKA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AC7JF;EAAa;;;AAYX;EAAiB,WATL;;;AASZ;EAAiB,WATL;;;AASZ;EAAiB,WATL;;;AASZ;EAAiB,WATL;;;AASZ;EAAiB,WATL;;;AASZ;EAAiB,WATL;;;AASZ;EAAiB,WATL;;;AASZ;EAAiB,WATL;;;AASZ;EAAiB,WATL;;;AAgBZ;EAAiB,aAHH;;;AAGd;EAAiB,aAHH;;;AAGd;EAAiB,aAHH;;;AAGd;EAAiB,aAHH;;;AAOhB;EAAc;;;AACd;EAAc;;;AAiBZ;EAAiB,OAdJ;;;AAcb;EAAiB,OAdJ;;;AAcb;EAAiB,OAdJ;;;AAcb;EAAiB,OAdJ;;;AAcb;EAAiB,OAdJ;;;AAcb;EAAiB,OAdJ;;;AAcb;EAAiB,OAdJ;;;AAcb;EAAiB,OAdJ;;;AAcb;EAAiB,OAdJ;;;AAcb;EAAiB,OAdJ;;;AAuBf;EAAgB;;;AAChB;EAAgB;;;AAChB;EAAgB;;;AAChB;EAAe;;;AACf;EAAa;;;AACb;EAAkB;;;AAIhB;EAAgB;;AAChB;EAAgB;;AAChB;EAAgB;;AAChB;EAAe;;AACf;EAAa;;AACb;EAAkB;;;AAIpB;EAAgB;;;AAGhB;EAAQ;;;AAMN;EAAmB;;;AAAnB;EAAmB;;;AAAnB;EAAmB;;;AAAnB;EAAmB;;;AAQb;EACI;EACA;EACA;;;AAHJ;EACI;EACA;EACA;;;AAHJ;EACI;EACA;EACA;;;AAHJ;EACI;EACA;EACA;;;AAHJ;EACI;EACA;EACA;;;AAHJ;EACI;EACA;EACA;;;AAHJ;EACI;EACA;EACA;;;AAHJ;EACI;EACA;EACA;;;ACrFZ;AAAA;EAEE;;;AAIF;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IACE;;;AAKJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAKN;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAIA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAKN;EACE;;AAEA;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIA;EACE;;AAMR;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAMR;EACE;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAIF;EACE;;AAEA;EACE;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;;AAOR;EACE;IACE;IACA;;EAEA;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;;AAMN;EAEI;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;;AAKN;EACE;IACE;IACA;;;ACx3BH;AAAA;AAAA;AAAA;AAAA;AAAA;EAMG;;;AAGJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EASI;;;AAIJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;;AAIJ;EACI;EACA;EACA;;;AAGR;EACI;IACI;;EAGJ;IACI;;;AAIR;EACI;IACI;;EAGJ;IACI;;;AAIR;EACI;IACI;;EAGJ;IACI;;;AAIR;EACI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAGA;EACI;;;AAGJ;EACI;;;AAGR;EACI;EACA;EACA;;;AAGA;EACI;EACA;EACA;EACA;EACA;;;AAGA;EACI;;;AAGZ;EACI;IACI;IACA;IACA;IACA;IACA;;EAGJ;IACI;IACA;IACA;IACA;IACA;;EAGJ;IACI;IACA;IACA;IACA;IACA;;EAGJ;IACI;IACA;IACA;IACA;IACA%22%7D */