﻿@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 */
  /* Navigazione: rail delle sezioni e flyout delle voci. */
  --vesta-rail-width: 68px;
  --vesta-flyout-width: 256px;
  --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;
  /* Stato «in revisione» (viola): pieno per punti e barre, strong per il testo, subtle per i fondi. */
  --vesta-review: #A855F7;
  --vesta-review-strong: #7E22CE;
  --vesta-review-subtle: #FAF5FF;
  /* 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;
  /* On-dark tokens — testo, accenti e velature su superfici scure in ENTRAMBI i temi (dock,
     snackbar: fondo --vesta-bg-sidebar). Come i fill, non hanno variante per tema: la superficie
     sotto non cambia col tema, quindi non deve cambiare nemmeno ciò che ci sta sopra.
     Contrasto su #0F172A: muted 6,9:1 · accent 12,6:1 · success 10,2:1 · warning 12,4:1. */
  --vesta-on-dark-muted: #94A3B8;
  --vesta-on-dark-accent: #C7D2FE;
  --vesta-on-dark-success: #4ADE80;
  --vesta-on-dark-warning: #FCD34D;
  --vesta-on-dark-danger: #FCA5A5;
  --vesta-on-dark-info: #67E8F9;
  --vesta-on-dark-fill: rgba(255, 255, 255, .06);
  --vesta-on-dark-fill-hover: rgba(255, 255, 255, .14);
  --vesta-on-dark-border: rgba(255, 255, 255, .14);
  /* Bordo tonale primario (chip AI, riquadri selezionati): indigo-200 in chiaro. */
  --vesta-primary-border: #C7D2FE;
  /* Bordi tonali del riquadro icona dei dettagli: amber-200 / red-200 / green-200. */
  --vesta-warning-border: #FDE68A;
  --vesta-danger-border: #FECACA;
  --vesta-success-border: #BBF7D0;
  /* 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: 232px;
  --vesta-entity-preview-width: 380px;
  --vesta-entity-sidecard-width: 380px;
  /* Colonna laterale del dettaglio (mockup `minmax(0,1fr) 300px`). */
  --vesta-detail-side-width: 300px;
  --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;
  /* Rivelazione dei cruscotti: barre che crescono, sparkline che si disegna, contatori (letto anche da vesta-motion.js). */
  --motion-reveal: 700ms cubic-bezier(.22, 1, .36, 1);
  /* Ingresso di pagine, pannelli e card: più lungo di --motion-slow, con la stessa coda morbida
     di --motion-reveal (letto anche da vesta-motion.js). */
  --motion-enter: 450ms cubic-bezier(.22, 1, .36, 1);
  /* Passo della cascata fra fratelli (card, righe, figli di un pannello). */
  --motion-stagger: 40ms;
  /* Sfocatura di partenza degli ingressi «che mettono a fuoco». */
  --motion-blur: 6px;
  /* Bagliore d'ambiente dietro il contenuto (due macchie radiali che respirano piano). */
  --vesta-ambient-1: rgba(var(--vesta-primary-rgb), .10);
  --vesta-ambient-2: rgba(var(--vesta-warning-rgb), .08);
  /* 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;
  --bs-btn-disabled-color: var(--vesta-text-secondary);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-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);
}

.v-section-count {
  margin-left: 6px;
  font-family: var(--vesta-font-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--vesta-text-muted);
}

.v-section--flush {
  overflow: hidden;
}

.v-section-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 11px 16px;
  border-bottom: 1px solid var(--vesta-border-subtle);
}
.v-section-bar .card-title {
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: -0.005em;
}

.v-section-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
}

.v-section-foot {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 10px 16px;
  border-top: 1px solid var(--vesta-border-subtle);
  background: var(--vesta-bg-body);
  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 {
  margin-left: 6px;
  padding: 0 6px;
  border: 1px solid var(--vesta-border-subtle);
  border-radius: 99px;
  background: var(--vesta-bg-body);
  font-family: var(--vesta-font-mono);
  font-size: 10.5px;
  font-weight: 500;
  line-height: 15px;
  color: var(--vesta-text-muted);
}
.nav-link.active .vesta-tab-count {
  border-color: var(--vesta-primary-border);
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary-strong);
}

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

dialog.vesta-modal-host {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  overflow: visible;
}
dialog.vesta-modal-host:not([open]) {
  display: block;
}
dialog.vesta-modal-host::backdrop {
  background: transparent;
}

.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);
}

.modal-title {
  font-family: var(--vesta-font-display);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.3;
}

.modal-heading {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}

.modal-description {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--vesta-text-muted);
}

.modal-footer-start {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 14px;
  margin-right: auto;
  min-width: 0;
  font-size: 12.5px;
  color: var(--vesta-text-secondary);
}
.modal-footer-start b,
.modal-footer-start strong {
  color: var(--vesta-text-primary);
  font-family: var(--vesta-font-mono);
  font-weight: 600;
}

.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: var(--vesta-success-strong);
}
.alert-warning {
  --bs-alert-bg: var(--vesta-warning-subtle);
  --bs-alert-border-color: rgba(var(--vesta-warning-rgb), .3);
  --bs-alert-color: var(--vesta-warning-strong);
}
.alert-danger {
  --bs-alert-bg: var(--vesta-danger-subtle);
  --bs-alert-border-color: rgba(var(--vesta-danger-rgb), .25);
  --bs-alert-color: var(--vesta-danger-strong);
}

.app-shell {
  position: relative;
  display: grid;
  grid-template-columns: var(--vesta-rail-width) minmax(0, 1fr);
  height: 100vh;
  height: 100dvh;
}
.app-shell.sb-open ~ .sb-backdrop {
  display: block;
  opacity: 1;
}

@media (min-width: 1100px) {
  html[data-rail-pin="1"] .app-shell:not(.teams-embed) {
    grid-template-columns: var(--vesta-rail-width) var(--vesta-flyout-width) minmax(0, 1fr);
  }
  html[data-rail-pin="1"] .app-shell:not(.teams-embed) .fly {
    position: static;
    opacity: 1;
    translate: 0 0;
    pointer-events: auto;
    visibility: visible;
    box-shadow: none;
    transition: none;
  }
}
@media (max-width: 1099.98px) {
  .fly .fly-pin {
    display: none;
  }
}
.teams-embed .fly .fly-pin {
  display: none;
}

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

.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;
}
.page.page--wide {
  max-width: none;
}

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

.page-header {
  display: flex;
  align-items: flex-end;
  gap: 24px;
  justify-content: space-between;
  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-count {
  align-self: center;
  padding: 1px 8px;
  border-radius: var(--vesta-radius-full);
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-secondary);
  font-family: var(--vesta-font-mono);
  font-size: 12px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.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) {
  .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,
  html[data-rail-pin="1"] .app-shell {
    grid-template-columns: minmax(0, 1fr);
  }
  .app-shell .rail,
  .app-shell .fly {
    position: fixed;
    top: 0;
    bottom: 0;
    translate: -100% 0;
    transition: translate 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
  }
  .app-shell .rail {
    left: 0;
    z-index: 1046;
    height: auto;
  }
  .app-shell .fly,
  .app-shell .fly.open {
    left: var(--vesta-rail-width);
    z-index: 1045;
    width: min(var(--vesta-flyout-width), 100vw - var(--vesta-rail-width) - 24px);
    translate: calc(-100% - var(--vesta-rail-width)) 0;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    box-shadow: 8px 0 32px -8px rgba(0, 0, 0, 0.3);
  }
  .app-shell.sb-open .rail,
  .app-shell.sb-open .fly {
    translate: 0 0;
  }
  .app-shell.teams-embed {
    grid-template-columns: var(--vesta-rail-width) minmax(0, 1fr);
  }
  .app-shell.teams-embed .rail {
    position: relative;
    translate: 0 0;
    height: 100dvh;
  }
  .app-shell.teams-embed .fly.open {
    translate: 0 0;
  }
  .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;
    background: transparent;
    padding: 0;
    margin-left: -6px;
    cursor: pointer;
  }
  .tb-burger i[data-lucide] svg {
    width: 20px;
    height: 20px;
  }
  .tb-burger:hover {
    background: var(--vesta-bg-hover);
    color: var(--vesta-text-primary);
  }
  .tb-burger:active {
    transform: scale(0.94);
  }
  .tb-burger:focus-visible {
    outline: 2px solid var(--vesta-primary);
    outline-offset: 2px;
  }
  .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;
  }
  .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;
  }
}
.rail {
  position: relative;
  z-index: 1032;
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  width: var(--vesta-rail-width);
  height: 100vh;
  height: 100dvh;
  padding: 12px 0;
  background: var(--vesta-bg-sidebar);
  border-right: 1px solid var(--vesta-sidebar-rule);
}

.rail-logo {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  flex: none;
  margin-bottom: 10px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--vesta-primary), #8B5CF6);
  box-shadow: 0 8px 20px -6px rgba(var(--vesta-primary-rgb), 0.7);
  color: #fff;
  font-family: var(--vesta-font-display);
  font-size: 17px;
  font-weight: 800;
  text-decoration: none;
}
.rail-logo:hover {
  color: #fff;
}
.rail-logo:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.rail-sections,
.rail-tools {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
}

.rail-sections {
  flex: 1;
}

.rail-btn {
  position: relative;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  flex: none;
  padding: 0;
  border: 0;
  border-radius: 13px;
  background: transparent;
  color: var(--vesta-sidebar-section);
  cursor: pointer;
  transition: background var(--motion-base), color var(--motion-base);
}
.rail-btn i[data-lucide] svg {
  width: 21px;
  height: 21px;
}
.rail-btn:hover, .rail-btn[aria-expanded=true] {
  background: var(--vesta-bg-sidebar-2);
  color: #fff;
}
.rail-btn:focus-visible {
  outline: 2px solid var(--vesta-primary);
  outline-offset: -2px;
  color: #fff;
}
.rail-btn.active {
  background: rgba(var(--vesta-primary-rgb), 0.18);
  color: #fff;
}
.rail-btn.active::before {
  content: "";
  position: absolute;
  left: -11px;
  top: 12px;
  bottom: 12px;
  width: 3px;
  border-radius: 3px;
  background: var(--vesta-primary);
  box-shadow: 0 0 12px var(--vesta-primary);
}
.rail-btn:disabled {
  opacity: 0.45;
  cursor: default;
  background: transparent;
  color: var(--vesta-sidebar-section);
}
.rail-btn .dot-red {
  top: 10px;
  right: 10px;
  border-color: var(--vesta-bg-sidebar);
}

.rail-badge {
  position: absolute;
  top: 5px;
  right: 4px;
  min-width: 17px;
  height: 17px;
  padding: 0 5px;
  border-radius: 9px;
  background: var(--vesta-fill-primary);
  box-shadow: 0 0 0 2px var(--vesta-bg-sidebar);
  color: #fff;
  font-family: var(--vesta-font-mono);
  font-size: 10px;
  font-weight: 700;
  line-height: 17px;
  text-align: center;
}

.rail-tip {
  position: absolute;
  left: calc(100% + 10px);
  top: 50%;
  translate: 0 -50%;
  z-index: 60;
  padding: 5px 9px;
  border-radius: 7px;
  background: #1E293B;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--motion-fast);
}

.rail-btn:hover .rail-tip,
.rail-btn:focus-visible .rail-tip {
  opacity: 1;
}

.rail.flyopen [data-rail-section] .rail-tip {
  opacity: 0;
}

.rail-avatar-wrap {
  position: relative;
  margin-top: 6px;
}
.rail-avatar-wrap .dropdown-menu {
  min-width: 220px;
}

.rail-avatar {
  padding: 0;
  border: 2px solid rgba(255, 255, 255, 0.08);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}
.rail-avatar:focus-visible {
  outline: 2px solid var(--vesta-primary);
  outline-offset: 2px;
}

.rail-user-name,
.rail-user-role {
  max-width: 220px;
}

@media (max-height: 760px) {
  .rail {
    gap: 2px;
    padding: 8px 0;
  }
  .rail-logo {
    width: 34px;
    height: 34px;
    margin-bottom: 6px;
  }
  .rail-btn {
    width: 40px;
    height: 40px;
  }
}
@media (max-height: 600px) {
  .rail {
    overflow-y: auto;
    scrollbar-width: none;
  }
}
.fly {
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--vesta-rail-width);
  z-index: 1030;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: var(--vesta-flyout-width);
  background: var(--vesta-bg-sidebar-2);
  border-right: 1px solid var(--vesta-sidebar-rule);
  box-shadow: 24px 0 60px -30px rgba(0, 0, 0, 0.6);
  color: #CBD5E1;
  opacity: 0;
  translate: -12px 0;
  pointer-events: none;
  visibility: hidden;
  transition: translate var(--motion-slow), opacity var(--motion-base), visibility 0s linear 0.25s;
}
.fly.open {
  opacity: 1;
  translate: 0 0;
  pointer-events: auto;
  visibility: visible;
  transition: translate var(--motion-slow), opacity var(--motion-base), visibility 0s;
}

.fly-section {
  display: none;
  flex: 1;
  min-height: 0;
  flex-direction: column;
}

.fly-section.is-shown,
.fly:not(:has(.fly-section.is-shown)) .fly-section[data-current] {
  display: flex;
}

.fly-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 18px 12px 10px 18px;
}

.fly-heading {
  flex: 1;
  min-width: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.fly-title {
  color: #fff;
  font-family: var(--vesta-font-display);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.01em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fly-count {
  color: var(--vesta-sidebar-section);
  font-size: 11px;
  font-weight: 500;
}

.fly-pin {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  flex: none;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--vesta-sidebar-section);
  cursor: pointer;
}
.fly-pin i[data-lucide] svg {
  width: 15px;
  height: 15px;
}
.fly-pin:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
}
.fly-pin:focus-visible {
  outline: 2px solid var(--vesta-primary);
  outline-offset: -2px;
}
.fly-pin[aria-pressed=true] {
  background: rgba(var(--vesta-primary-rgb), 0.2);
  color: #fff;
}

.fly-search {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 4px 14px 10px;
  padding: 7px 10px;
  border: 1px solid var(--vesta-sidebar-rule);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.05);
  color: var(--vesta-sidebar-section);
  font-size: 12.5px;
  text-align: left;
  cursor: pointer;
}
.fly-search span {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fly-search i[data-lucide] svg {
  width: 14px;
  height: 14px;
}
.fly-search kbd {
  flex: none;
  padding: 2px 5px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.07);
  color: var(--vesta-sidebar-section);
  font-family: var(--vesta-font-mono);
  font-size: 10px;
  font-weight: 600;
}
.fly-search:hover {
  border-color: rgba(255, 255, 255, 0.16);
  color: #fff;
}
.fly-search:focus-visible {
  outline: 2px solid var(--vesta-primary);
  outline-offset: 1px;
}

.fly-list {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 4px 10px 10px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}

.fly-foot {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px 14px;
  border-top: 1px solid var(--vesta-sidebar-rule);
  color: var(--vesta-sidebar-section);
  font-size: 12px;
}
.fly-foot i[data-lucide] svg {
  width: 14px;
  height: 14px;
}
.fly-foot b {
  color: var(--vesta-sidebar-section-strong);
  font-weight: 600;
}

.sb-item {
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  padding: 8px 10px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #CBD5E1;
  cursor: pointer;
  font-size: 13.5px;
  font-weight: 500;
  text-align: left;
  text-decoration: none;
  user-select: none;
  transition: background var(--motion-fast), color var(--motion-fast);
}
.sb-item i[data-lucide] svg {
  width: 17px;
  height: 17px;
}
.sb-item .sb-item-icon {
  flex: none;
  color: var(--vesta-sidebar-section);
  transition: color var(--motion-fast);
}
.sb-item:hover {
  background: rgba(255, 255, 255, 0.05);
  color: #fff;
}
.sb-item:hover .sb-item-icon {
  color: var(--vesta-sidebar-section-strong);
}
.sb-item:focus-visible {
  outline: 2px solid var(--vesta-primary);
  outline-offset: -2px;
  color: #fff;
}
.sb-item.active {
  background: rgba(var(--vesta-primary-rgb), 0.2);
  color: #fff;
}
.sb-item.active .sb-item-icon {
  color: #A5B4FC;
}
.sb-item.locked {
  color: #94A3B8;
  opacity: 0.7;
}
.sb-item.locked:hover {
  background: rgba(255, 255, 255, 0.03);
}
.sb-item.locked .sb-item-lock {
  margin-left: auto;
  flex: none;
}
.sb-item.locked .sb-item-lock svg {
  width: 13px;
  height: 13px;
}

.sb-item-label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sb-item-pill,
.sb-item-badge {
  margin-left: auto;
  flex: none;
  padding: 1px 6px;
  border-radius: 9px;
  background: var(--vesta-fill-primary);
  color: #fff;
  font-family: var(--vesta-font-mono);
  font-size: 10.5px;
  font-weight: 700;
}

.sb-item-tag {
  background: var(--vesta-fill-success);
  font-family: inherit;
  letter-spacing: 0.02em;
}

@media (prefers-reduced-motion: reduce) {
  .fly,
  .fly.open {
    translate: 0 0;
    transition: opacity var(--motion-fast), visibility 0s;
  }
}
html,
.scrollbar-custom,
.table-responsive,
textarea {
  scrollbar-color: var(--vesta-text-muted) transparent;
  scrollbar-width: thin;
}

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background-color: var(--vesta-text-muted);
  border-radius: var(--vesta-radius-full);
  border: 2px solid transparent;
  background-clip: padding-box;
  transition: background-color var(--motion-fast);
}

::-webkit-scrollbar-thumb:hover {
  background-color: var(--vesta-text-secondary);
}

.fly,
.rail,
.bg-dark {
  scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}

.fly ::-webkit-scrollbar-thumb,
.bg-dark::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, 0.2);
}

.fly ::-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;
}

.tb-timer {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: none;
  padding: 5px 10px 5px 8px;
  border: 1px solid var(--vesta-success-border);
  border-radius: 10px;
  background: var(--vesta-success-subtle);
  color: var(--vesta-success-strong);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}
.tb-timer:hover {
  color: var(--vesta-success-strong);
  border-color: var(--vesta-success);
}
.tb-timer.is-paused {
  border-color: var(--vesta-border);
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-secondary);
}

.tb-timer-pulse {
  width: 8px;
  height: 8px;
  flex: none;
  border-radius: 50%;
  background: var(--vesta-success);
  animation: tb-timer-pulse 1.6s infinite;
}
.is-paused .tb-timer-pulse {
  background: var(--vesta-text-muted);
  animation: none;
}

@keyframes tb-timer-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.55);
  }
  70% {
    box-shadow: 0 0 0 8px rgba(34, 197, 94, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0);
  }
}
.tb-timer-time {
  font-family: var(--vesta-font-mono);
  font-variant-numeric: tabular-nums;
}

.tb-widgets {
  display: flex;
  align-items: center;
  gap: 7px;
  height: 36px;
  padding: 0 10px;
  font-size: 13px;
  font-weight: 600;
}
.tb-widgets:disabled {
  border-color: transparent;
  background: transparent;
  color: var(--vesta-text-secondary);
  opacity: 0.6;
}

@media (max-width: 899.98px) {
  .tb-widgets-label,
  .tb-timer-lbl {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .tb-timer-pulse {
    animation: none;
  }
}
.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.is-action {
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
}
.unassigned-chip.is-action:hover:not(:disabled) {
  color: var(--vesta-primary);
}
.unassigned-chip.is-action:hover:not(:disabled)::before {
  border-color: var(--vesta-primary);
  color: var(--vesta-primary);
}
.unassigned-chip.is-action:disabled {
  cursor: default;
  opacity: 0.6;
}

.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-progress {
  height: 4px;
  margin-top: 6px;
  border-radius: var(--vesta-radius-full);
  background: var(--vesta-bg-active);
  overflow: hidden;
}
.stat-progress > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--vesta-primary);
  transition: width var(--motion-base);
}
.stat-progress--success > span {
  background: var(--vesta-success);
}
.stat-progress--warning > span {
  background: var(--vesta-warning);
}
.stat-progress--danger > span {
  background: var(--vesta-danger);
}
.stat-progress--info > span {
  background: var(--vesta-info);
}

.stat-card--warn .stat-value,
.stat-card--warn .value,
.stat-card--danger .stat-value,
.stat-card--danger .value {
  color: var(--stat-emphasis-text);
}

.stat-card--warn {
  --stat-accent: var(--vesta-warning);
  --stat-emphasis-text: var(--vesta-warning-strong);
  background: var(--vesta-warning-subtle);
  border-color: color-mix(in srgb, var(--vesta-warning) 35%, var(--vesta-border));
}

.stat-card--danger {
  --stat-accent: var(--vesta-danger);
  --stat-emphasis-text: var(--vesta-danger-strong);
  background: var(--vesta-danger-subtle);
  border-color: color-mix(in srgb, var(--vesta-danger) 35%, var(--vesta-border));
}

.stat-card--clickable {
  cursor: pointer;
}
.stat-card--clickable .stat-label .vesta-calc-help {
  position: relative;
  z-index: 2;
}
.stat-card--clickable:focus-within {
  border-color: var(--stat-accent);
}
.stat-card--clickable.stat-card--warn:hover {
  background: color-mix(in srgb, var(--vesta-warning) 18%, var(--vesta-bg-card));
}
.stat-card--clickable.stat-card--danger:hover {
  background: color-mix(in srgb, var(--vesta-danger) 16%, var(--vesta-bg-card));
}

.stat-card.is-active {
  border-color: var(--vesta-primary);
  box-shadow: inset 0 0 0 1px var(--vesta-primary);
}
.stat-card.is-active .stat-value {
  color: var(--vesta-primary-strong);
}

.stat-card-hit {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  padding: 0;
  border: 0;
  border-radius: inherit;
  background: transparent;
  cursor: pointer;
}
.stat-card-hit:focus-visible {
  outline: var(--focus-outline);
  outline-offset: -3px;
}

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

.stat-card--sm {
  padding: 6px 12px;
}
.stat-card--sm .stat-label {
  gap: 6px;
  font-size: 11px;
  margin-bottom: 2px;
}
.stat-card--sm .icon {
  width: 18px;
  height: 18px;
  border-radius: 5px;
}
.stat-card--sm .icon svg {
  width: 12px;
  height: 12px;
}
.stat-card--sm .stat-value,
.stat-card--sm .value {
  font-size: 16px;
}
.stat-card--sm .stat-sub {
  font-size: 10.5px;
  margin-top: 1px;
}
.stat-card--sm::after {
  display: none;
}

.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;
  }
}
.stat-card--muted .stat-value,
.stat-card--muted .value {
  color: var(--vesta-text-muted);
  font-weight: 500;
}

.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;
  }
}
.vesta-empty-state--inline {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 14px 16px;
  border: 1px dashed var(--vesta-border-input);
  border-radius: 8px;
  font-size: 12.5px;
  color: var(--vesta-text-muted);
}
.vesta-empty-state--inline > i[data-lucide] {
  display: inline-flex;
  flex: none;
}
.vesta-empty-state--inline > i[data-lucide] svg {
  width: 14px;
  height: 14px;
}

.vesta-empty-state__action {
  margin-left: auto;
}

.env-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: none;
  padding: 4px 10px;
  border: 1px solid rgba(var(--vesta-warning-rgb), 0.45);
  border-radius: 999px;
  background: var(--vesta-warning-subtle);
  color: var(--vesta-warning-strong);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: default;
  user-select: none;
}
.env-badge .lucide,
.env-badge > i[data-lucide] {
  width: 14px;
  height: 14px;
  flex: none;
  display: block;
}

@media (max-width: 991.98px) {
  .env-badge {
    padding: 4px 6px;
  }
  .env-badge-text {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
}
.tk-kanban-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 2px 2px 12px;
}

.tk-kanban-lane + .tk-kanban-lane {
  margin-top: 18px;
}

.tk-kanban-lane-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--vesta-border-subtle);
  font-size: 13px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
}

.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;
  flex-wrap: wrap;
}
.tk-kanban-card-foot .lucide {
  width: 13px;
  height: 13px;
}

.tk-kanban-card-foot > .badge {
  flex: none;
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  text-align: left;
}
.tk-kanban-card-foot > .badge > span {
  overflow-wrap: anywhere;
}

.tk-kanban-card-foot > .text-truncate {
  min-width: 0;
}

.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 {
  position: relative;
  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-fill-primary);
  color: var(--vesta-text-inverse);
  font-weight: 700;
}
.vcal-cell--selected {
  background: var(--vesta-primary-subtle);
}
.vcal-cell--weekend {
  background: color-mix(in srgb, var(--vesta-text-muted) 5%, transparent);
}

.vcal-cell-hit {
  align-self: flex-start;
  padding: 0;
  background: none;
  border: 0;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.vcal-cell-hit::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.vcal-cell-hit:focus-visible {
  outline: none;
}
.vcal-cell-hit:focus-visible::after {
  outline: none;
  border-color: var(--vesta-primary);
  box-shadow: var(--focus-ring);
}

.vcal-cell-action {
  position: relative;
  z-index: 2;
}

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

.cal-dispatch {
  position: relative;
}

.cal-dnav {
  display: flex;
  align-items: center;
  gap: 4px;
}

.cal-dispatch-pad {
  padding: 14px;
}

.cal-userpick {
  position: absolute;
  z-index: 20;
  top: 56px;
  right: 14px;
  width: 320px;
  max-height: 60vh;
  overflow: auto;
  padding: 14px;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  box-shadow: var(--vesta-shadow-md);
}

.cal-wrap {
  display: grid;
  grid-template-columns: 264px minmax(0, 1fr);
  height: calc(100vh - 300px);
  min-height: 520px;
}

.cal-pool,
.cal-board {
  background: var(--vesta-bg-card);
  overflow: auto;
  min-width: 0;
  min-height: 0;
}

.cal-pool {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-right: 1px solid var(--vesta-border);
}

.cal-pool-head {
  padding: 12px 14px 8px;
  border-bottom: 1px solid var(--vesta-border-subtle);
}

.cal-pool-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--vesta-font-display);
  font-weight: 700;
  font-size: 14px;
}
.cal-pool-title .lucide {
  width: 15px;
  height: 15px;
  color: var(--vesta-warning-strong);
}

.cal-pool-n {
  margin-left: auto;
  padding: 1px 8px;
  border-radius: 999px;
  font-family: var(--vesta-font-mono);
  font-size: 11px;
  font-weight: 600;
  background: var(--vesta-warning-subtle);
  color: var(--vesta-warning-strong);
}

.cal-pool-sub {
  margin-top: 4px;
  font-size: 11.5px;
  color: var(--vesta-text-muted);
}

.cal-pool-list {
  flex: 1;
  overflow-y: auto;
  padding: 8px 10px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

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

.cal-rt-grid {
  display: grid;
  grid-template-columns: 224px 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-strong);
}
.cal-rt-label.is-best {
  background: var(--vesta-primary-subtle);
  box-shadow: inset 3px 0 0 var(--vesta-primary);
}

.cal-rt-corner--head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0 12px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--vesta-text-muted);
}

.cal-rt-sort {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 0;
  background: none;
  padding: 2px 4px;
  border-radius: 6px;
  font: inherit;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--vesta-primary-strong);
  cursor: pointer;
}
.cal-rt-sort .lucide {
  width: 13px;
  height: 13px;
}
.cal-rt-sort:hover {
  background: var(--vesta-bg-hover);
}
.cal-rt-sort.is-on {
  background: var(--vesta-primary-subtle);
}

.cal-rt-who {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.cal-rt-av {
  position: relative;
  flex: none;
  display: inline-flex;
}
.cal-rt-av .cal-rt-status {
  position: absolute;
  right: -2px;
  bottom: -2px;
  margin: 0;
  width: 11px;
  height: 11px;
  border: 2px solid var(--vesta-bg-card);
}

.cal-rt-sugbtn {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 2px;
  padding: 1px 8px;
  border: 1px solid var(--vesta-primary);
  border-radius: 999px;
  background: var(--vesta-bg-card);
  font-size: 10.5px;
  font-weight: 700;
  color: var(--vesta-primary-strong);
  cursor: pointer;
}
.cal-rt-sugbtn .lucide {
  width: 12px;
  height: 12px;
}

.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 {
  --pc: var(--vesta-primary);
  padding-left: 11px;
  background: color-mix(in srgb, var(--pc) 13%, var(--vesta-bg-card));
  border: 1px solid color-mix(in srgb, var(--pc) 45%, var(--vesta-bg-card));
  box-shadow: none;
  color: var(--vesta-text-primary);
  cursor: grab;
}
.cal-rt-block.appt::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--pc);
}
.cal-rt-block.appt .b-meta {
  color: var(--vesta-text-secondary);
  opacity: 1;
}
.cal-rt-block.appt .b-meta b {
  font-family: var(--vesta-font-mono);
  font-weight: 500;
}
.cal-rt-block.appt.prio-p1 {
  --pc: var(--vesta-prio-p1);
}
.cal-rt-block.appt.prio-p2 {
  --pc: var(--vesta-prio-p2);
}
.cal-rt-block.appt.prio-p3 {
  --pc: var(--vesta-prio-p3);
}
.cal-rt-block.appt.prio-p4 {
  --pc: var(--vesta-prio-p4);
}
.cal-rt-block.appt:hover {
  box-shadow: var(--vesta-shadow);
  z-index: 3;
}
.cal-rt-block.appt.appt-draft {
  border-style: dashed;
}
.cal-rt-block.appt.is-done {
  --pc: var(--vesta-text-muted);
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-secondary);
}
.cal-rt-block.appt.is-conflict {
  border: 2px dashed var(--vesta-danger);
  filter: none;
}
.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: pointer;
  opacity: 0.92;
}
.cal-rt-block.ext:active {
  cursor: pointer;
}
.cal-rt-block.ext:focus-visible {
  outline: 2px solid var(--vesta-text-inverse);
  outline-offset: 1px;
}
.cal-rt-block.ext.is-pending {
  box-shadow: 0 0 0 2px var(--vesta-warning);
  opacity: 1;
}
.cal-rt-block.ext.is-done {
  opacity: 0.55;
}
.cal-rt-block.ext.is-notdone {
  opacity: 0.45;
  text-decoration: line-through;
}
.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 var(--vesta-text-inverse);
  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: 224px repeat(7, minmax(0, 1fr));
}

.cal-rt-whead {
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  height: 52px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--vesta-border);
  border-right: 1px solid var(--vesta-border-subtle);
  background: var(--vesta-bg-card);
  color: var(--vesta-text-primary);
  cursor: pointer;
}
.cal-rt-whead .dn {
  display: grid;
  place-items: center;
  min-width: 24px;
  height: 24px;
  font-family: var(--vesta-font-mono);
  font-size: 13px;
  font-weight: 600;
}
.cal-rt-whead .dw {
  font-size: 9.5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--vesta-text-muted);
}
.cal-rt-whead:hover {
  background: var(--vesta-bg-hover);
}
.cal-rt-whead.is-today .dn {
  border-radius: 999px;
  background: var(--vesta-fill-primary);
  color: var(--vesta-text-inverse);
  font-size: 12px;
}

.cal-rt-wcell {
  min-height: 72px;
  padding: 6px 8px;
  border-right: 1px solid var(--vesta-border-subtle);
  border-bottom: 1px solid var(--vesta-border-subtle);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
}
.cal-rt-wcell.is-today {
  background: color-mix(in srgb, var(--vesta-primary) 5%, var(--vesta-bg-card));
}
.cal-rt-wcell.is-off {
  background: var(--vesta-bg-body);
}
.cal-rt-wcell.is-over {
  background: var(--vesta-danger-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-cell-hit {
  align-self: center;
}
.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 {
  --pc: var(--vesta-prio-p3);
  position: relative;
  padding: 10px 10px 10px 13px;
  border-radius: 10px;
  border: 1px solid var(--vesta-border);
  background: var(--vesta-bg-card);
  cursor: grab;
  transition: box-shadow 0.12s, border-color 0.12s;
}
.pool-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 3px;
  border-radius: 2px;
  background: var(--pc);
}
.pool-item.prio-p1 {
  --pc: var(--vesta-prio-p1);
}
.pool-item.prio-p2 {
  --pc: var(--vesta-prio-p2);
}
.pool-item.prio-p3 {
  --pc: var(--vesta-prio-p3);
}
.pool-item.prio-p4 {
  --pc: var(--vesta-prio-p4);
}
.pool-item:hover {
  border-color: var(--vesta-border-input);
  box-shadow: var(--vesta-shadow);
}
.pool-item.is-selected {
  border-color: var(--vesta-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--vesta-primary) 18%, transparent);
}
.pool-item .lucide {
  width: 12px;
  height: 12px;
}

.pool-r1 {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 10.5px;
  color: var(--vesta-text-muted);
}

.pool-title {
  display: block;
  width: 100%;
  margin: 4px 0 2px;
  padding: 0;
  border: 0;
  background: none;
  text-align: left;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--vesta-text-primary);
  cursor: pointer;
}
.pool-title:hover {
  color: var(--vesta-primary-strong);
}

.pool-customer {
  font-size: 11.5px;
  color: var(--vesta-text-secondary);
}

.pool-r3 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  font-size: 10.5px;
  color: var(--vesta-text-muted);
}
.pool-r3 b {
  font-family: var(--vesta-font-mono);
  font-weight: 500;
  color: var(--vesta-text-secondary);
}

.pool-sla {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}
.pool-sla.is-bad {
  color: var(--vesta-danger-strong);
  font-weight: 600;
}
.pool-sla.is-warn {
  color: var(--vesta-warning-strong);
  font-weight: 600;
}

.pool-sug {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  font-size: 10.5px;
  font-weight: 600;
  color: var(--vesta-primary-strong);
  cursor: pointer;
}
.pool-sug:hover {
  text-decoration: underline;
}

@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;
  }
}
.cal-rt-lunchband {
  background: repeating-linear-gradient(45deg, color-mix(in srgb, var(--vesta-text-muted) 14%, transparent), color-mix(in srgb, var(--vesta-text-muted) 14%, transparent) 6px, transparent 6px, transparent 12px);
  position: absolute;
  top: 0;
  height: 100%;
  border-left: 1px dashed var(--vesta-border);
  border-right: 1px dashed var(--vesta-border);
  pointer-events: none;
  z-index: 1;
}

.cal-rt-status {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 5px;
  border-radius: 50%;
  vertical-align: middle;
}
.cal-rt-status.is-onsite {
  background: var(--vesta-success);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--vesta-success) 30%, transparent);
}

.cal-rt-wsum {
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: 100%;
  padding: 4px 2px;
  border: 0;
  border-radius: 6px;
  background: none;
  text-align: left;
  color: var(--vesta-text-primary);
  cursor: pointer;
}
.cal-rt-wsum .n {
  font-size: 12px;
  font-weight: 600;
}
.cal-rt-wsum .n small {
  display: block;
  white-space: nowrap;
  font-family: var(--vesta-font-mono);
  font-weight: 500;
  color: var(--vesta-text-muted);
}
.cal-rt-wsum:hover {
  background: var(--vesta-bg-hover);
}
.cal-rt-wsum.is-over .n small {
  color: var(--vesta-danger-strong);
}

.cal-rt-wmix {
  display: flex;
  gap: 2px;
  height: 6px;
}

.cal-rt-wmix-bar {
  flex-basis: 0;
  min-width: 4px;
  border-radius: 2px;
}
.cal-rt-wmix-bar.prio-p1 {
  background: var(--vesta-prio-p1);
}
.cal-rt-wmix-bar.prio-p2 {
  background: var(--vesta-prio-p2);
}
.cal-rt-wmix-bar.prio-p3 {
  background: var(--vesta-prio-p3);
}
.cal-rt-wmix-bar.prio-p4 {
  background: var(--vesta-prio-p4);
}

.dispatch-tk {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  margin-bottom: 12px;
  border: 1px solid var(--vesta-border);
  border-radius: 10px;
}

.dispatch-tk-body {
  min-width: 0;
}

.dispatch-tk-t {
  font-size: 13px;
  font-weight: 600;
}

.dispatch-tk-c {
  font-size: 11.5px;
  color: var(--vesta-text-secondary);
}

.dispatch-tk-h {
  margin-left: auto;
  font-family: var(--vesta-font-mono);
  font-size: 12px;
  color: var(--vesta-text-secondary);
  white-space: nowrap;
}

.dispatch-tiles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.dispatch-tile {
  padding: 9px 12px;
  border: 1px solid var(--vesta-border-subtle);
  border-radius: 9px;
}

.dispatch-tile-l {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--vesta-text-muted);
}

.dispatch-tile-v {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 3px;
  font-size: 13px;
  font-weight: 600;
}
.dispatch-tile-v.is-mono {
  font-family: var(--vesta-font-mono);
  font-weight: 500;
}
.dispatch-tile-v .lucide {
  width: 13px;
  height: 13px;
  color: var(--vesta-text-muted);
}

.dispatch-was {
  font-weight: 500;
  color: var(--vesta-text-muted);
}

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

.dispatch-hint {
  flex: 1 1 0;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-right: auto;
  font-size: 11.5px;
  color: var(--vesta-text-muted);
}
.dispatch-hint .lucide {
  width: 13px;
  height: 13px;
}

.appt-sect {
  overflow: hidden;
  border: 1px solid var(--vesta-border);
  border-radius: 10px;
}

.appt-sect-h {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  font-size: 12px;
  font-weight: 700;
  background: var(--vesta-bg-body);
}
.appt-sect-h .lucide {
  width: 14px;
  height: 14px;
}
.appt-sect.is-bad .appt-sect-h {
  background: var(--vesta-danger-subtle);
  color: var(--vesta-danger-strong);
}
.appt-sect.is-warn .appt-sect-h {
  background: var(--vesta-warning-subtle);
  color: var(--vesta-warning-strong);
}
.appt-sect.is-ok .appt-sect-h {
  background: var(--vesta-success-subtle);
  color: var(--vesta-success-strong);
}

.appt-sect-b {
  padding: 4px 12px;
  border-top: 1px solid var(--vesta-border-subtle);
  font-size: 12px;
  color: var(--vesta-text-secondary);
}
.appt-sect-b .appt-conflict-row {
  gap: 6px;
  padding: 6px 0;
  border-bottom: 1px solid var(--vesta-border-subtle);
}
.appt-sect-b .appt-conflict-row:last-child {
  border-bottom: 0;
}
.appt-sect-b .appt-conflict-row .lucide {
  width: 13px;
  height: 13px;
  flex: none;
}
.appt-sect-b .appt-conflict-row.is-bad {
  color: var(--vesta-danger-strong);
}

.appt-conflict-detail {
  color: var(--vesta-text-muted);
}

.cal-pool-tools {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 8px;
}

button.cal-rt-leave {
  align-self: flex-start;
  padding: 0;
  border: 0;
  background: none;
  text-align: left;
  cursor: pointer;
}

.cal-legend .cal-lg {
  display: inline-block;
  width: 14px;
  height: 10px;
  margin-right: 5px;
  vertical-align: -1px;
  border-radius: 3px;
}
.cal-legend .cal-lg.prio-p1 {
  background: var(--vesta-prio-p1);
}
.cal-legend .cal-lg.prio-p2 {
  background: var(--vesta-prio-p2);
}
.cal-legend .cal-lg.prio-p3 {
  background: var(--vesta-prio-p3);
}
.cal-legend .cal-lg.prio-p4 {
  background: var(--vesta-prio-p4);
}
.cal-legend .cal-lg--done {
  background: var(--vesta-bg-hover);
  border: 1px solid var(--vesta-border);
}
.cal-legend .cal-lg--draft {
  border: 1px dashed var(--vesta-text-muted);
}
.cal-legend .cal-lg--lunch {
  background: repeating-linear-gradient(45deg, color-mix(in srgb, var(--vesta-text-muted) 30%, transparent), color-mix(in srgb, var(--vesta-text-muted) 30%, transparent) 6px, transparent 6px, transparent 12px);
}
.cal-legend .cal-lg--now {
  width: 2px;
  border-radius: 0;
  background: var(--vesta-danger);
}
.cal-legend .cal-rt-status {
  margin-right: 5px;
}

.cal-rt--dragging.cal-rt--ticket-drag .cal-rt-block.ext.is-drop-ok {
  pointer-events: auto;
}
.cal-rt--dragging.cal-rt--ticket-drag .cal-rt-block.ext.is-drop-ok.is-droptarget {
  box-shadow: 0 0 0 3px var(--vesta-primary), var(--vesta-shadow);
}

.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: 8px 14px;
  min-width: 0;
}

.v-list-head {
  min-height: var(--vl-head-min, 38px);
  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 {
  min-height: var(--vl-row-min, 52px);
  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-hover);
}
.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.is-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-row > .vl-end {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

@media (hover: hover) {
  .v-list-row .vl-acts {
    opacity: 0;
    transition: opacity 0.12s;
  }
  .v-list-row:hover .vl-acts,
  .v-list-row:focus-within .vl-acts {
    opacity: 1;
  }
}
.vl-acts {
  display: inline-flex;
  justify-content: flex-end;
  gap: 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: 6;
}
.pt-table .v-list-head > * {
  background: inherit;
  min-width: 0;
  overflow: hidden;
}
.pt-table .v-list-row {
  z-index: 0;
}
.pt-table .v-list-head,
.pt-table .v-list-row {
  min-width: min-content;
}

.pt-table--trial-requests {
  --vl-cols: minmax(220px, 2fr) minmax(180px, 1.4fr) minmax(170px, 1.4fr) 120px 110px 140px 88px;
}

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

.pt-table--idp {
  --vl-cols: minmax(220px, 1fr) max-content;
}

.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--parties {
  --vl-cols: 34px minmax(230px, 1.5fr) minmax(110px, .8fr) 112px minmax(128px, 1fr) 88px 104px 96px minmax(124px, 1fr) 64px;
}
.pt-table--parties.pt-table--parties-noecon {
  --vl-cols: 34px minmax(230px, 1.5fr) minmax(110px, .8fr) 112px minmax(128px, 1fr) 88px minmax(124px, 1fr) 64px;
}

@container vlist (min-width: 721px) and (max-width: 1100px) {
  .pt-table--parties .pt-c-type,
  .pt-table--parties .pt-c-last {
    display: none;
  }
  .pt-table--parties .v-list-head,
  .pt-table--parties .v-list-row {
    --vl-cols: 34px minmax(180px, 1.5fr) minmax(90px, .8fr) minmax(120px, 1fr) 88px 100px 92px 64px;
  }
  .pt-table--parties.pt-table--parties-noecon .v-list-head, .pt-table--parties.pt-table--parties-noecon .v-list-row {
    --vl-cols: 34px minmax(180px, 1.5fr) minmax(90px, .8fr) minmax(120px, 1fr) 88px 64px;
  }
}
@container vlist (max-width: 720px) {
  .pt-table--parties .v-list-row > .vl-check {
    position: absolute;
    top: 14px;
    right: 14px;
  }
  .pt-table--parties .v-list-row > .vl-hero {
    padding-right: 28px;
  }
}
.vl-check {
  display: flex;
  align-items: center;
}

.pt-row-sep {
  margin: 0 4px;
}

.pt-contract {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  font-size: 12.5px;
}
.pt-contract::before {
  content: "";
  flex: none;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--vesta-text-muted);
}
.pt-contract--ok::before {
  background: var(--vesta-success);
}
.pt-contract--warn::before {
  background: var(--vesta-warning);
}
.pt-contract--bad::before {
  background: var(--vesta-danger);
}
.pt-contract--off {
  color: var(--vesta-text-muted);
}

.pt-amount-neg {
  color: var(--vesta-danger-strong);
}

.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--customer-products {
  --vl-cols: 34px minmax(220px, 1.6fr) minmax(150px, 1fr) 130px minmax(130px, 0.9fr) 110px 64px 170px;
}

.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;
}

.pr-config-page .pt-table {
  height: auto;
}
.pr-config-page .pt-table-scroll {
  overflow: visible;
}

.pr-contract-picker {
  max-height: 320px;
  overflow-y: auto;
}

.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--expense-reports {
  --vl-cols: minmax(140px, 1fr) 80px 110px 120px 110px 100px;
}

.pt-table--expense-approvals {
  --vl-cols: minmax(150px, 1.4fr) minmax(130px, 1fr) 80px 110px 120px 110px 110px;
}

.pt-table--expense-lines {
  --vl-cols: 100px minmax(120px, 140px) minmax(160px, 1fr) minmax(140px, 170px) 130px 170px;
}

.pt-table--mileage-rates {
  --vl-cols: minmax(150px, 1fr) 110px 110px 110px 120px 160px;
}

.pt-table--workload {
  --vl-cols: minmax(170px, 1.3fr) 64px repeat(9, minmax(88px, 0.7fr)) 44px;
}
.pt-table--workload .v-list-head > [role=columnheader] {
  white-space: normal;
  line-height: 1.2;
}
.pt-table--workload .v-list-row > [role=gridcell] {
  min-width: 0;
}
.pt-table--workload .wl-user {
  display: flex;
  align-items: center;
  gap: 10px;
}

.wl-foot-tot {
  flex-wrap: wrap;
  gap: 14px;
}

.wl-comp {
  flex: none;
}
.wl-comp .v-card-head {
  flex-wrap: wrap;
  gap: 8px 12px;
}
.wl-comp.is-collapsed .v-card-head {
  margin-bottom: 0;
}

.wl-comp-tools {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-left: auto;
}

.wl-comp-rows {
  display: flex;
  flex-direction: column;
}

.wl-comp-row {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr) 64px;
  gap: 12px;
  align-items: center;
  padding: 5px 0;
  border-bottom: 1px solid var(--vesta-border-subtle);
}
.wl-comp-row:last-child {
  border-bottom: 0;
}
.wl-comp-row.is-zero .wl-comp-total {
  color: var(--vesta-text-muted);
  font-weight: 400;
}
@media (max-width: 720px) {
  .wl-comp-row {
    grid-template-columns: minmax(0, 1fr) 56px;
  }
  .wl-comp-row .wl-comp-name {
    grid-column: 1/-1;
  }
}

.wl-comp-name {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--vesta-text-primary);
  white-space: nowrap;
}

.wl-comp-total {
  font-size: 12.5px;
  font-weight: 600;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.wl-comp-more {
  display: flex;
  justify-content: center;
  padding-top: 8px;
}

.pt-table--workload-customers {
  --vl-cols: minmax(0, 2fr) 100px 110px 90px 90px;
}

.pt-table--workload-projects {
  --vl-cols: minmax(0, 1.6fr) minmax(0, 1.4fr) 110px;
}

.pt-table--workload-leave {
  --vl-cols: minmax(0, 1fr) 100px;
}

.pt-table--workload-activities {
  --vl-cols: 80px minmax(0, 2fr) minmax(0, 1.2fr) 90px;
}

.wl-tabpanel {
  padding-top: 1rem;
}

.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--devops-issues {
  --vl-cols: 110px minmax(180px, 1.6fr) 150px minmax(120px, 1fr) minmax(120px, 1fr) minmax(120px, 1fr) 140px;
}

.pt-table--devops-health {
  --vl-cols: minmax(160px, 1.4fr) minmax(170px, 1.4fr) 100px minmax(150px, 1fr) 100px;
}

.pt-table--devops-margins {
  --vl-cols: 96px minmax(160px, 2fr) 80px 90px 80px 80px 100px 100px 100px;
}

.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--disputes {
  --vl-cols: minmax(200px, 2fr) minmax(180px, 2fr) 80px 160px 110px 250px;
}

.pt-table--payment-terms {
  --vl-cols: 110px minmax(180px, 2fr) minmax(130px, 1fr) 100px minmax(110px, 0.8fr) 80px 90px;
}

.pt-table--payment-terms.is-multi-tenant {
  --vl-cols: 110px minmax(180px, 2fr) minmax(150px, 1.2fr) minmax(130px, 1fr) 100px minmax(110px, 0.8fr) 80px 90px;
}

.pt-table--work-groups {
  --vl-cols: minmax(220px, 2fr) 110px 90px 110px 250px;
}

.pt-table--technician-cost-rates {
  --vl-cols: minmax(170px, 1fr) minmax(180px, 1.6fr) 130px 90px;
}

.pt-table--memberships {
  --vl-cols: minmax(160px, 1.2fr) minmax(160px, 1.2fr) minmax(160px, 1.4fr) 190px 110px 260px;
}

.pt-table--access-grants {
  --vl-cols: minmax(200px, 1.6fr) minmax(150px, 1.2fr) minmax(120px, 0.8fr) 110px 190px 100px 120px;
}

.pt-table--access-audit {
  --vl-cols: 160px 200px 90px minmax(200px, 1fr);
}

.pt-table--tenants {
  --vl-cols: minmax(240px, 2fr) 150px 100px 140px;
}

.pt-table--dynamic-fields {
  --vl-cols: minmax(200px, 1.6fr) 90px 110px 280px;
}

.pt-table--dynamic-fields.is-provider {
  --vl-cols: minmax(200px, 1.4fr) minmax(180px, 1.2fr) 90px 110px 280px;
}

.pt-table--notifications {
  --vl-cols: 36px minmax(240px, 1fr) 150px 90px;
}

.pt-table--dev-jobs {
  --vl-cols: minmax(200px, 1fr) minmax(240px, 2fr) 160px;
}

.pt-table--code-values {
  --vl-cols: 36px minmax(150px, 1.4fr) minmax(120px, 1fr) minmax(120px, 1fr) 64px minmax(96px, auto);
}

.v-codes-card {
  flex: 0 1 auto;
  min-height: 0;
}
.v-codes-card > .card-body {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.v-codes-card .pt-table--code-values {
  flex: 0 1 auto;
  height: auto;
}

.pt-table--engagement {
  --vl-cols: minmax(220px, 1.6fr) 150px minmax(160px, 1fr) minmax(140px, 1fr) minmax(200px, 1.2fr);
}

.pt-table--sprints {
  --vl-cols: minmax(200px, 1.6fr) 190px 110px 90px 110px 90px minmax(200px, auto);
}

.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 {
  min-width: 0;
}
.pt-table--technicians .v-list-head > *,
.pt-table--technicians .v-list-row > * {
  order: var(--o, 0);
}
.pt-table--technicians .vl-c-hidden {
  display: none;
}

@media (min-width: 1000px) {
  .pt-table--technicians .v-list-head > :first-child,
  .pt-table--technicians .v-list-row > .vl-hero {
    position: sticky;
    left: 0;
    z-index: 1;
    overflow: visible;
    align-self: stretch;
    display: flex;
    align-items: center;
    margin-left: -14px;
    padding-left: 14px;
    box-shadow: 8px 0 10px -8px rgba(0, 0, 0, 0.14);
  }
  .pt-table--technicians .v-list-head {
    align-items: end;
  }
  .pt-table--technicians .v-list-head .v-sort {
    display: block;
    text-align: right;
    line-height: 1.35;
  }
  .pt-table--technicians .v-list-head > .pt-th-start .v-sort,
  .pt-table--technicians .v-list-head > .pt-th-start {
    text-align: left;
  }
  .pt-table--technicians .v-list-head .v-sort > .lucide,
  .pt-table--technicians .v-list-head .vesta-calc-help {
    display: inline-block;
    vertical-align: -2px;
    margin-left: 2px;
  }
  .pt-table--technicians .v-list-head > :not(:first-child) {
    position: relative;
    z-index: 0;
  }
  .pt-table--technicians .v-list-head > :first-child {
    z-index: 7;
    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-hover);
  }
}
.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(170px, 1.4fr) minmax(130px, 1fr) repeat(6, minmax(84px, 0.65fr)) minmax(130px, 1.1fr);
}
.pt-table--reconciliation .v-list-head > [role=columnheader] {
  white-space: normal;
  line-height: 1.2;
}
.pt-table--reconciliation .v-list-row > [role=gridcell] {
  min-width: 0;
}
.pt-table--reconciliation .v-list-row.is-group-cont .vl-hero {
  display: flex;
  align-items: center;
}
.pt-table--reconciliation .v-list-row.is-group-cont .vl-hero::before {
  content: "";
  flex: none;
  width: 14px;
  height: 14px;
  margin-left: 8px;
  border-left: 1.5px solid var(--vesta-border-input);
  border-bottom: 1.5px solid var(--vesta-border-input);
  border-radius: 0 0 0 4px;
}
.pt-table--reconciliation .pt-rec-covered {
  font-family: var(--vesta-font);
  font-size: 11px;
  white-space: nowrap;
}
.pt-table--reconciliation .pt-rec-recurring {
  margin-left: 6px;
  color: var(--vesta-text-muted);
}
.pt-table--reconciliation .pt-rec-recurring .lucide, .pt-table--reconciliation .pt-rec-recurring svg {
  width: 12px;
  height: 12px;
}
.pt-table--reconciliation .pt-rec-remaining {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}
.pt-table--reconciliation .pt-rec-consumption {
  width: 100%;
  max-width: 72px;
}
.pt-table--reconciliation .pt-rec-consumption .v-dash-hbar {
  height: 4px;
}
.pt-table--reconciliation .pt-rec-balanced {
  display: flex;
  align-items: center;
  gap: 8px;
}
.pt-table--reconciliation .pt-rec-why {
  min-width: 0;
  overflow: hidden;
  font-size: 11px;
  color: var(--vesta-text-muted);
  white-space: nowrap;
  text-overflow: ellipsis;
}

.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;
  gap: 8px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--vesta-border);
  flex-wrap: wrap;
}
.pt-table-toolbar > .pt-table-meta {
  margin-left: auto;
}

.pt-table-search {
  display: flex;
  align-items: center;
  gap: 7px;
  flex: 0 1 300px;
  min-width: 0;
  max-width: 100%;
  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);
}
.pt-table-search .lucide {
  width: 14px;
  height: 14px;
  flex: none;
}
[data-theme=dark] .pt-table-search {
  background: var(--vesta-bg-sidebar-2);
}

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

@media (max-width: 720px) {
  .pt-table-search {
    flex-basis: 100%;
  }
  .pt-table-toolbar > .pt-table-meta {
    margin-left: 0;
  }
}
.v-qchip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-full);
  background: var(--vesta-bg-card);
  color: var(--vesta-text-secondary);
  font: inherit;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
}
.v-qchip .lucide {
  width: 12px;
  height: 12px;
}
.v-qchip:hover {
  border-color: var(--vesta-border-input);
  color: var(--vesta-text-primary);
}
.v-qchip:focus-visible {
  outline: var(--focus-outline);
  outline-offset: 2px;
}
.v-qchip.is-active {
  background: var(--vesta-primary-subtle);
  border-color: var(--vesta-primary-border);
  color: var(--vesta-primary-strong);
  font-weight: 600;
}

.v-bulk-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  flex: none;
  padding: 8px 14px;
  background: var(--vesta-primary-subtle);
  border-bottom: 1px solid var(--vesta-primary-border);
  color: var(--vesta-primary-strong);
  font-size: 12.5px;
  font-weight: 600;
}
.v-bulk-bar .btn {
  font-size: 12px;
}
.v-bulk-bar > .v-bulk-bar-end {
  margin-left: auto;
}

.v-bulk-bar-count {
  font-variant-numeric: tabular-nums;
}

.v-qchips {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.v-qchip-count {
  font-family: var(--vesta-font-mono);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  color: var(--vesta-text-muted);
}
.v-qchip.is-active .v-qchip-count {
  color: inherit;
}

.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;
  flex-wrap: wrap;
  max-width: 100%;
  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: 999.98px) {
  .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;
  line-height: 1.3;
  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 {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  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-type-tabs--inline {
  flex-wrap: wrap;
  white-space: nowrap;
  padding: 0;
  border-bottom: 0;
}

.pt-type-tab-count {
  font-family: var(--vesta-font-mono);
  font-size: 10.5px;
  font-weight: 500;
  color: var(--vesta-text-muted);
}
.pt-type-tab.active .pt-type-tab-count {
  color: inherit;
}

.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;
  align-items: center;
  gap: 8px 14px;
  flex-wrap: wrap;
  min-width: 0;
}

.wf-rail-head {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  white-space: nowrap;
}

.wf-rail-current {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--vesta-text-primary);
}
.wf-rail-current.is-final {
  color: var(--vesta-success-strong);
}
.wf-rail-current.is-breached {
  color: var(--vesta-danger-strong);
}

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

.wf-rail-track {
  display: flex;
  flex: 1 1 320px;
  flex-wrap: nowrap;
  gap: 6px;
  min-width: 0;
}

.wf-rail-seg {
  flex: 1 1 0;
  min-width: 0;
}

.wf-rail-bar {
  display: block;
  height: 4px;
  border-radius: 99px;
  background: var(--vesta-bg-active);
}

.wf-rail-name {
  display: block;
  margin-top: 5px;
  font-size: 11px;
  color: var(--vesta-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.wf-rail-seg.done .wf-rail-bar {
  background: var(--vesta-success);
}
.wf-rail-seg.done .wf-rail-name {
  color: var(--vesta-success-strong);
}

.wf-rail-seg.current .wf-rail-bar {
  background: var(--vesta-primary);
}
.wf-rail-seg.current .wf-rail-name {
  color: var(--vesta-primary-strong);
  font-weight: 600;
}
.wf-rail-seg.current.final .wf-rail-bar {
  background: var(--vesta-success);
}
.wf-rail-seg.current.final .wf-rail-name {
  color: var(--vesta-success-strong);
}
.wf-rail-seg.current.breached .wf-rail-bar {
  background: var(--vesta-danger);
  animation: pulseSeg 1.4s ease-in-out infinite;
}
.wf-rail-seg.current.breached .wf-rail-name {
  color: var(--vesta-danger-strong);
}

.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-primary .vtl-marker {
  background: var(--vesta-primary-subtle);
  border-color: var(--vesta-primary-border);
  color: var(--vesta-primary-strong);
}

.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;
}

.vtl-note {
  font-size: 12.5px;
  color: var(--vesta-text-muted);
  white-space: pre-wrap;
}

.v-expand-card {
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  box-shadow: var(--vesta-shadow-sm);
  overflow: hidden;
  transition: border-color var(--motion-fast);
}
.v-expand-card:hover {
  border-color: var(--vesta-border-input);
}
.v-expand-card.is-open {
  border-color: color-mix(in srgb, var(--vesta-primary) 35%, var(--vesta-border));
}

.v-expand-card-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 12px 14px;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.v-expand-card-head:focus-visible {
  outline: 2px solid var(--vesta-primary);
  outline-offset: -2px;
  border-radius: var(--vesta-radius-lg);
}

.v-expand-card-icon {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-secondary);
}
.v-expand-card-icon .lucide {
  width: 14px;
  height: 14px;
}
.v-expand-card-icon.is-success {
  background: var(--vesta-success-subtle);
  color: var(--vesta-success-strong);
}
.v-expand-card-icon.is-primary {
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary-strong);
}
.v-expand-card-icon.is-warning {
  background: var(--vesta-warning-subtle);
  color: var(--vesta-warning-strong);
}
.v-expand-card-icon.is-danger {
  background: var(--vesta-danger-subtle);
  color: var(--vesta-danger-strong);
}

.v-expand-card-main {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.v-expand-card-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13.5px;
  font-weight: 600;
}

.v-expand-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 6px;
  font-size: 11.5px;
  color: var(--vesta-text-muted);
}
.v-expand-card-meta > * + *::before {
  content: "·";
  margin-right: 6px;
}

.v-expand-card-side {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.v-expand-card-chev {
  color: var(--vesta-text-muted);
  transition: transform var(--motion-fast);
}
.is-open .v-expand-card-chev {
  transform: rotate(180deg);
}

.v-expand-card-body {
  padding: 14px 14px 14px 52px;
  border-top: 1px solid var(--vesta-border-subtle);
}

@media (max-width: 900px) {
  .v-expand-card-body {
    padding-left: 14px;
  }
}
@media (max-width: 700px) {
  .v-expand-card-head {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .v-expand-card-side {
    grid-column: 2;
    justify-content: flex-start;
  }
  .v-expand-card-chev {
    display: none;
  }
}
.v-resize-handle {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 2;
  height: 8px;
  cursor: ns-resize;
  touch-action: none;
}
.v-resize-handle::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 3px;
  width: 28px;
  height: 3px;
  margin-left: -14px;
  border-radius: 2px;
  background: var(--vesta-primary);
  opacity: 0;
  transition: opacity var(--motion-fast);
}
.v-resize-handle:hover::before, .v-resize-handle:focus-visible::before {
  opacity: 1;
}
.v-resize-handle:focus-visible {
  outline: 2px solid var(--vesta-primary);
  outline-offset: -2px;
  border-radius: 3px;
}
@media (hover: none) {
  .v-resize-handle {
    height: 14px;
  }
  .v-resize-handle::before {
    top: 5px;
    opacity: 0.6;
  }
}

.v-resize-handle--start {
  top: 0;
}

.v-resize-handle--end {
  bottom: 0;
}

@media (prefers-reduced-motion: reduce) {
  .v-resize-handle::before {
    transition: none;
  }
}
.wl-hourly-wrap {
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 12px;
  padding: 10px 14px 8px;
  box-shadow: var(--vesta-shadow-sm);
  margin-bottom: 12px;
}

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

.wl-k-ticket {
  --blk-c: var(--vesta-primary);
}

.wl-k-unassigned {
  --blk-c: var(--vesta-warning);
}

.wl-k-internal {
  --blk-c: var(--vesta-secondary);
}

.wl-k-live {
  --blk-c: var(--vesta-primary);
}

.wl-k-paused {
  --blk-c: var(--vesta-primary);
}

.wl-k-activity {
  --blk-c: var(--vesta-info);
}

.wl-k-interruption {
  --blk-c: var(--vesta-warning);
}

.wl-k-lunch {
  --blk-c: var(--vesta-secondary);
}

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

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

.wl-nav-title {
  font-size: 12px;
  font-weight: 700;
  color: var(--vesta-text-primary);
}

.wl-nav-summary {
  font-variant-numeric: tabular-nums;
}

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

.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-hourly-track {
  position: relative;
  height: 26px;
  background: var(--vesta-bg-body);
  border: 1px solid var(--vesta-border);
  border-radius: 7px;
  overflow: hidden;
}

.wl-hourly-axis {
  position: relative;
  height: 14px;
  margin-top: 3px;
}
.wl-hourly-axis span {
  position: absolute;
  transform: translateX(-50%);
  font-family: var(--vesta-font-mono);
  font-size: 9.5px;
  color: var(--vesta-text-muted);
  white-space: nowrap;
}
.wl-hourly-axis span:first-child {
  transform: none;
}
.wl-hourly-axis span:last-child {
  transform: translateX(-100%);
}

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

.wl-minimap-block {
  position: absolute;
  top: 2px;
  bottom: 2px;
  border-radius: 2px;
  opacity: 0.7;
  background: var(--blk-c);
}

.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: repeating-linear-gradient(135deg, rgba(245, 158, 11, 0.55) 0 3px, rgba(245, 158, 11, 0.25) 3px 6px);
  pointer-events: none;
  min-width: 3px;
}

.wl-session-block {
  position: absolute;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  padding: 0 6px;
  overflow: hidden;
  white-space: nowrap;
  min-width: 4px;
  font-size: 10px;
  font-weight: 600;
  color: var(--vesta-text-primary);
  background: color-mix(in srgb, var(--blk-c) 30%, var(--vesta-bg-card));
  border: 0;
  border-right: 1px solid var(--vesta-bg-card);
  cursor: pointer;
}
.wl-session-block:hover {
  filter: brightness(0.96);
}
.wl-session-block:focus-visible {
  outline: 2px solid var(--vesta-primary);
  outline-offset: -2px;
}
.wl-session-block.selected {
  box-shadow: inset 0 0 0 2px var(--vesta-primary);
}
.wl-session-block.wl-k-live {
  background: var(--vesta-fill-primary);
  color: #fff;
}
.wl-session-block.wl-k-paused {
  background: repeating-linear-gradient(135deg, color-mix(in srgb, var(--blk-c) 30%, var(--vesta-bg-card)) 0 6px, color-mix(in srgb, var(--blk-c) 18%, var(--vesta-bg-card)) 6px 12px);
}
.wl-session-block.wl-k-activity {
  border: 1px dashed var(--blk-c);
}
.wl-session-block.wl-k-lunch {
  cursor: default;
  background: repeating-linear-gradient(135deg, transparent 0 4px, var(--vesta-border) 4px 5px);
  border-right: 0;
}

.wl-now-marker {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 2px;
  margin-left: -1px;
  background: var(--vesta-danger);
  z-index: 3;
  pointer-events: none;
}

@media (max-width: 720px) {
  .wl-session-block {
    font-size: 0;
  }
  .wl-hourly-axis span:nth-child(even) {
    display: none;
  }
}
.wl-open-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin-bottom: 12px;
  padding: 10px 12px 10px 14px;
  border-radius: 12px;
  border: 1px solid var(--vesta-on-dark-border);
  background: radial-gradient(600px 80px at 0% 50%, color-mix(in srgb, var(--vesta-primary) 35%, transparent), transparent 70%), var(--vesta-bg-sidebar);
  color: var(--vesta-text-inverse);
  box-shadow: var(--vesta-shadow-md);
}
.wl-open-bar .vd-context {
  flex: 1 1 220px;
  min-width: 0;
}
.wl-open-bar .vd-ctx-title {
  max-width: none;
}
.wl-open-bar .wl-open-bar-time {
  margin-left: auto;
}
@media (max-width: 1400px) {
  .wl-open-bar .wl-open-bar-parent {
    display: none;
  }
}

.wl-day-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 400px;
  gap: 16px;
  align-items: start;
}
@media (max-width: 1400px) {
  .wl-day-grid {
    grid-template-columns: minmax(0, 1fr) 340px;
  }
}
@media (max-width: 1000px) {
  .wl-day-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.wl-day-main {
  min-width: 0;
}

.wl-day-side {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.wl-day-side .wl-session-card {
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px 10px;
  padding: 10px 12px;
}
.wl-day-side .wl-session-time {
  grid-column: 2;
}
.wl-day-side .wl-session-body {
  grid-column: 1/-1;
}
.wl-day-side .wl-session-actions {
  grid-column: 1/-1;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.wl-day-side-title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 4px;
}

.wl-inbox-head {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--vesta-border);
}

.wl-inbox-count {
  margin-left: auto;
  font-family: var(--vesta-font-mono);
  font-weight: 600;
}

.wl-inbox-lead,
.wl-inbox-note {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--vesta-text-secondary);
}
.wl-inbox-lead b,
.wl-inbox-note b {
  color: var(--vesta-text-primary);
  font-weight: 600;
}

.wl-inbox-note {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  color: var(--vesta-text-muted);
}

.wl-inbox-day {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.wl-inbox-day-h {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 6px 0 0;
  font-size: 12px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
}

.wl-inbox-day-tot {
  margin-left: auto;
  font-family: var(--vesta-font-mono);
  font-weight: 600;
}

.wl-inbox-tm {
  flex: none;
  font-family: var(--vesta-font-mono);
  font-size: 11.5px;
  color: var(--vesta-text-secondary);
}

.wl-inbox-top {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.wl-inbox-top .wl-session-title {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}

.wl-inbox-dur {
  flex: none;
  font-family: var(--vesta-font-mono);
  font-size: 11.5px;
  color: var(--vesta-text-secondary);
}

.wl-inbox-noproposal {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11.5px;
  color: var(--vesta-text-muted);
}

.wl-day-side .wl-inbox-row {
  grid-template-columns: auto minmax(0, 1fr);
}
.wl-day-side .wl-inbox-row:focus-visible {
  outline: 2px solid var(--vesta-primary);
  outline-offset: 1px;
}
.wl-day-side .wl-inbox-row.is-checked {
  background: var(--vesta-primary-subtle);
  border-color: var(--vesta-primary);
}
.wl-day-side .wl-inbox-row .wl-session-body {
  grid-column: 2;
}

.wl-inbox-check {
  padding-top: 2px;
}

.wl-inbox-all {
  margin-left: 4px;
  padding: 0 2px;
  font-size: 11.5px;
  font-weight: 600;
}

.wl-inbox-acts {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.wl-inbox-more {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-left: auto;
}

.wl-inbox-rejected {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin: 6px 0 0;
  font-size: 12px;
  color: var(--vesta-danger-strong);
}

.wl-inbox-bulk {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  position: sticky;
  bottom: 0;
  z-index: 2;
  padding: 10px 12px;
  background: var(--vesta-primary-subtle);
  border: 1px solid var(--vesta-primary);
  border-radius: 10px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--vesta-text-primary);
}

.app-shell.has-dock .wl-inbox-bulk {
  bottom: 96px;
}
@media (max-width: 575.98px) {
  .app-shell.has-dock .wl-inbox-bulk {
    bottom: 132px;
  }
}

.wl-inbox-bulk-sep {
  width: 1px;
  height: 18px;
  background: var(--vesta-border);
}

.wl-inbox-bulk-clear {
  margin-left: auto;
}

.wl-inbox-foot {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin: 0;
  font-size: 11.5px;
  color: var(--vesta-text-muted);
}
.wl-inbox-foot b {
  color: var(--vesta-text-secondary);
  font-weight: 600;
}

.wl-pop-veil {
  position: fixed;
  inset: 0;
  z-index: 1980;
}

.wl-pop {
  position: relative;
  z-index: 1990;
  display: flex;
  flex-direction: column;
  width: 320px;
  max-width: 100%;
  margin-top: 8px;
  overflow: auto;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 12px;
  box-shadow: var(--vesta-shadow-lg);
}

.wl-pop-search {
  padding: 10px 12px;
  border-bottom: 1px solid var(--vesta-border);
}

.wl-pop-grp {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 8px 12px 2px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--vesta-text-muted);
}

.wl-pop-empty {
  padding: 6px 12px 10px;
  font-size: 12px;
  color: var(--vesta-text-muted);
}

.wl-pop-opt {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  padding: 7px 12px;
  border: 0;
  background: transparent;
  text-align: left;
  font: inherit;
  font-size: 12.5px;
  color: var(--vesta-text-primary);
  cursor: pointer;
}
.wl-pop-opt:hover, .wl-pop-opt:focus-visible {
  background: var(--vesta-bg-hover);
}

.wl-pop-tt {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wl-pop-cf {
  flex: none;
  font-family: var(--vesta-font-mono);
  font-size: 10.5px;
  font-weight: 600;
  color: var(--vesta-success-strong);
}
.wl-pop-cf.med {
  color: var(--vesta-warning-strong);
}

.wl-pop-foot {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  padding: 8px 12px;
  border-top: 1px solid var(--vesta-border);
  background: var(--vesta-bg-body);
}

.wl-pop--outlook {
  width: 360px;
}

.wl-pop-head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--vesta-border);
}

.wl-pop-head-txt {
  flex: 1;
  min-width: 0;
  font-size: 13px;
  font-weight: 600;
}

.wl-pop-sub {
  font-size: 11.5px;
  font-weight: 400;
  color: var(--vesta-text-muted);
}

.wl-pop-why {
  display: block;
  font-size: 10.5px;
  color: var(--vesta-text-muted);
}

.wl-pop-opt.is-selected {
  background: var(--vesta-primary-subtle);
  box-shadow: inset 3px 0 0 var(--vesta-primary);
}

.wl-pop-warn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  font-size: 12px;
  color: var(--vesta-warning-strong);
  background: var(--vesta-warning-subtle);
}

.wl-pop-warn-inline {
  color: var(--vesta-warning-strong);
}

.wl-outlook-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}

.wl-drag-src {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  flex: 1;
  min-width: 0;
}

.wl-drag-chip {
  display: flex;
  align-items: center;
  gap: 5px;
  max-width: 240px;
  padding: 3px 9px;
  border: 1px solid var(--vesta-border);
  border-radius: 999px;
  background: var(--vesta-bg-card);
  font-size: 12px;
  cursor: grab;
}
.wl-drag-chip:active {
  cursor: grabbing;
}

.wl-drag-search {
  width: 220px;
  max-width: 100%;
}

.wl-bulk-table td:first-child {
  width: 36px;
}

.wl-bulk-table td:last-child {
  width: 45%;
}

.wl-dt {
  padding: 14px 16px;
}

.wl-dt-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  margin-bottom: 12px;
}

.wl-dt-title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  margin: 0;
}
.wl-dt-title .lucide {
  color: var(--vesta-primary);
}

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

.wl-dt-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  margin: 0 0 0 auto;
  padding: 0;
  list-style: none;
  font-size: 11px;
  color: var(--vesta-text-secondary);
}
.wl-dt-legend li {
  display: flex;
  align-items: center;
  gap: 5px;
}

.wl-dt-swatch {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 3px;
  background: var(--blk-c);
}
.wl-dt-swatch.wl-k-lunch {
  background: repeating-linear-gradient(135deg, transparent 0 2px, var(--blk-c) 2px 4px);
  border: 1px solid var(--vesta-border);
}

.wl-dt-body {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
}

.wl-dt-hour {
  height: var(--wl-hour-h);
  font-size: 10px;
  color: var(--vesta-text-muted);
  font-variant-numeric: tabular-nums;
  transform: translateY(-6px);
}

.wl-dt-grid {
  position: relative;
  border-left: 1px solid var(--vesta-border-subtle);
}

.wl-dt-slot {
  height: var(--wl-hour-h);
  border-top: 1px solid var(--vesta-border-subtle);
}

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

.wl-dt-blk {
  position: absolute;
  left: 6px;
  right: 6px;
  z-index: 1;
  overflow: hidden;
  padding: 4px 8px;
  border: 1px solid var(--vesta-border);
  border-left: 4px solid var(--blk-c);
  border-radius: 8px;
  background: var(--vesta-bg-card);
  color: var(--vesta-text-primary);
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
  font-size: 12px;
}
.wl-dt-blk.selected {
  box-shadow: 0 0 0 2px var(--vesta-primary);
}
.wl-dt-blk.has-child {
  right: 38%;
}
.wl-dt-blk.wl-dt-child {
  left: auto;
  right: 6px;
  width: calc(38% - 12px);
  z-index: 2;
  background: var(--vesta-warning-subtle);
}
.wl-dt-blk.wl-k-live {
  background: color-mix(in srgb, var(--vesta-primary) 8%, var(--vesta-bg-card));
}
.wl-dt-blk.wl-k-lunch {
  z-index: 0;
  border-style: dashed;
  border-left-width: 1px;
  background: repeating-linear-gradient(135deg, transparent 0 6px, var(--vesta-border-subtle) 6px 8px);
  color: var(--vesta-text-secondary);
}
.wl-dt-blk.wl-k-activity {
  border-left-style: dashed;
}
.wl-dt-blk:hover .wl-dt-acts, .wl-dt-blk:focus-within .wl-dt-acts {
  opacity: 1;
}
.wl-dt-blk.is-compact .wl-dt-acts {
  display: none;
}

.wl-dt-h {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.wl-dt-tm,
.wl-dt-dur {
  flex: none;
  font-size: 11px;
  color: var(--vesta-text-secondary);
  font-variant-numeric: tabular-nums;
}

.wl-dt-ttl {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
}

.wl-dt-select {
  border: 0;
  padding: 0;
  background: none;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.wl-dt-select:hover {
  text-decoration: underline;
}
.wl-dt-select:focus-visible {
  outline: 2px solid var(--vesta-primary);
  outline-offset: 1px;
}

.wl-dt-tag {
  flex: none;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--vesta-text-secondary);
}

.wl-dt-acts {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  margin-top: 2px;
  opacity: 0;
  transition: opacity 0.12s;
}
.wl-dt-acts .btn {
  font-size: 11px;
  padding: 1px 6px;
}
@media (hover: none) {
  .wl-dt-acts {
    opacity: 1;
  }
}

.wl-dt-untimed {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 12px;
  font-size: 12px;
}

.wl-dt-untimed-label {
  color: var(--vesta-text-muted);
}

.wl-dt-untimed-item {
  border: 1px dashed var(--vesta-fill-info);
  border-radius: 6px;
  padding: 2px 8px;
  background: var(--vesta-bg-card);
  color: var(--vesta-text-primary);
  font: inherit;
}

@media (prefers-reduced-motion: reduce) {
  .wl-dt-acts {
    transition: none;
  }
}
.wl-dt-blk.is-resizing {
  z-index: 3;
  box-shadow: 0 0 0 2px var(--vesta-primary), var(--vesta-shadow-md);
}
.wl-dt-blk.is-resizing .wl-dt-tm {
  color: var(--vesta-primary-strong);
  font-weight: 600;
}

.wl-dt-drop {
  position: absolute;
  inset: 0;
  z-index: 4;
  display: grid;
  grid-auto-rows: calc(var(--wl-hour-h) / 4);
}

.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 {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.wl-month-sw-billable {
  --blk-c: var(--vesta-success);
}

.wl-month-sw-nonbillable {
  --blk-c: var(--vesta-primary);
}

.wl-month-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: auto;
  min-width: 0;
}

.wl-month-hours {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--vesta-text-primary);
  font-variant-numeric: tabular-nums;
}
.wl-month-hours small {
  font-size: 10px;
  font-weight: 600;
  color: var(--vesta-success-strong);
}

.wl-month-bar {
  display: flex;
  height: 5px;
  overflow: hidden;
  border-radius: 3px;
  background: var(--vesta-border-subtle);
}
.wl-month-bar i {
  display: block;
  height: 100%;
}

.wl-month-bar-billable {
  background: var(--vesta-success);
}

.wl-month-bar-nonbillable {
  background: var(--vesta-primary);
}

.wl-month .vcal-cell {
  container-type: inline-size;
}

@container (max-width: 124px) {
  .wl-month-pill-text {
    display: none;
  }
}
.wl-month-pill {
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 4px;
  max-width: 100%;
  padding: 1px 7px;
  border: 1px solid color-mix(in srgb, var(--vesta-warning) 45%, transparent);
  border-radius: 999px;
  background: var(--vesta-warning-subtle);
  color: var(--vesta-warning-strong);
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1.5;
  cursor: pointer;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.wl-month-pill .lucide {
  width: 11px;
  height: 11px;
  flex: none;
}
.wl-month-pill:hover {
  border-color: var(--vesta-warning);
}
.wl-month-pill:focus-visible {
  outline: none;
  border-color: var(--vesta-primary);
  box-shadow: var(--focus-ring);
}

.wl-month-plan,
.wl-month-leave {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  font-size: 10.5px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
}
.wl-month-plan .lucide,
.wl-month-leave .lucide {
  width: 11px;
  height: 11px;
  flex: none;
}
.wl-month-plan span,
.wl-month-leave span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wl-month-plan .lucide {
  color: var(--vesta-info-strong);
}

.wl-month-leave {
  align-self: flex-start;
  max-width: 100%;
  padding: 1px 6px;
  border-radius: 4px;
  background: var(--vesta-info-subtle);
  color: var(--vesta-info-strong);
}

@media (max-width: 575.98px) {
  .wl-month .vcal-cell {
    min-height: 64px;
    padding: 4px;
  }
  .wl-month-pill-text,
  .wl-month-leave-text,
  .wl-month-plan span,
  .wl-month-hours small {
    display: none;
  }
  .wl-month-hours {
    font-size: 10.5px;
  }
}
@media (max-width: 575.98px) {
  .wl-session-card {
    grid-template-columns: 1fr;
  }
  .wl-session-actions {
    flex-wrap: wrap;
  }
}
.wl-k-gap {
  --blk-c: var(--vesta-border-input);
}

.wl-k-planned {
  --blk-c: var(--vesta-info);
}

.wl-nav-gaps {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--vesta-text-secondary);
}

.wl-session-block.wl-k-gap {
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px dotted var(--vesta-border-input);
  color: var(--vesta-primary-strong);
}
.wl-session-block.wl-k-gap:hover {
  background: var(--vesta-primary-subtle);
  filter: none;
}
.wl-session-block.wl-k-gap .lucide {
  width: 12px;
  height: 12px;
}

.wl-dt-swatch.wl-k-gap {
  background: transparent;
  border: 1px dotted var(--vesta-border-input);
}

.wl-dt-swatch.wl-k-planned {
  background: repeating-linear-gradient(135deg, transparent 0 2px, var(--blk-c) 2px 4px);
  border: 1px solid var(--blk-c);
}

.wl-dt-blk.wl-k-gap {
  z-index: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px dotted var(--vesta-border-input);
  background: transparent;
  box-shadow: none;
  color: var(--vesta-text-muted);
  font-size: 11px;
}
.wl-dt-blk.wl-k-gap b {
  color: var(--vesta-text-secondary);
  font-weight: 600;
}

.wl-dt-blk.wl-k-planned {
  left: auto;
  right: 6px;
  width: calc(42% - 12px);
  z-index: 2;
  border-style: dashed;
  border-left-style: solid;
  background: repeating-linear-gradient(135deg, var(--vesta-bg-card) 0 6px, color-mix(in srgb, var(--blk-c) 8%, var(--vesta-bg-card)) 6px 12px);
}

.wl-dt-blk.is-decided {
  opacity: 0.6;
}

.wl-dt-gap-h {
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  width: 58%;
  margin-right: auto;
}
.wl-dt-gap-h .wl-dt-ttl {
  flex: 0 1 auto;
  font-weight: 400;
}

.wl-dt-b {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.wl-dt-src {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
  color: var(--vesta-text-secondary);
}

.wl-split-track {
  height: 34px;
}
.wl-split-track .wl-session-block {
  justify-content: center;
  cursor: default;
}
.wl-split-track .wl-session-block:hover {
  filter: none;
}

.wl-split-handle {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 14px;
  margin-left: -7px;
  cursor: ew-resize;
  z-index: 1;
}
.wl-split-handle::before {
  content: "";
  position: absolute;
  top: 3px;
  bottom: 3px;
  left: 6px;
  width: 2px;
  border-radius: 1px;
  background: var(--vesta-primary);
}
.wl-split-handle:focus-visible {
  outline: 2px solid var(--vesta-primary);
  outline-offset: -2px;
  border-radius: 3px;
}

@media (max-width: 720px) {
  .wl-split-track .wl-session-block {
    font-size: 10px;
  }
  .wl-hourly-axis.wl-split-axis span {
    display: block;
  }
}
.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-toassign {
  font-size: 10px;
  font-weight: 600;
  color: var(--vesta-warning-strong);
}

.wl-week-head.is-weekend {
  background: color-mix(in srgb, var(--vesta-text-muted) 8%, var(--vesta-bg-subtle));
}
.wl-week-head.is-weekend .wl-week-dom {
  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.is-decided {
  opacity: 0.6;
}

.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(--blk-c, var(--vesta-primary));
  border-radius: var(--vesta-radius-sm);
  background: color-mix(in srgb, var(--blk-c, 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);
}
[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;
  border-bottom: 1px solid var(--vesta-border);
  box-shadow: inset 3px 0 0 0 var(--blk-c, transparent);
  min-height: var(--tap-target, 44px);
}
.wl-agenda-row:last-child {
  border-bottom: 0;
}
.wl-agenda-row:hover {
  background: var(--vesta-bg-subtle);
}
.wl-agenda-row.wl-k-planned {
  background: repeating-linear-gradient(135deg, var(--vesta-bg-card) 0 6px, color-mix(in srgb, var(--blk-c) 6%, var(--vesta-bg-card)) 6px 12px);
}

.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;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.wl-agenda-title {
  display: block;
  max-width: 100%;
  padding: 0;
  background: none;
  border: 0;
  color: inherit;
  font-size: 13px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wl-agenda-title:hover {
  color: var(--vesta-primary-strong);
}
.wl-agenda-title:focus-visible {
  outline: none;
  border-color: var(--vesta-primary);
  box-shadow: var(--focus-ring);
}

.wl-agenda-sub {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  font-size: 11px;
  color: var(--vesta-text-muted);
}

.wl-agenda-source {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.wl-agenda-source .lucide {
  width: 12px;
  height: 12px;
}

.wl-agenda-dur {
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
  font-variant-numeric: tabular-nums;
}

.wl-agenda-actions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.wl-agenda-day-toassign {
  margin-left: auto;
  font-size: 11px;
  font-weight: 600;
  color: var(--vesta-warning-strong);
}

@media (max-width: 575.98px) {
  .wl-agenda-row {
    flex-wrap: wrap;
    gap: 4px 10px;
  }
  .wl-agenda-time {
    min-width: 0;
  }
  .wl-agenda-body {
    order: 3;
    flex-basis: 100%;
  }
}
.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: var(--vesta-success-subtle);
  color: var(--vesta-success-strong);
}
.wl-res-badge.is-suggested {
  background: var(--vesta-info-subtle);
  color: var(--vesta-info-strong);
}
.wl-res-badge.is-to-clarify {
  background: var(--vesta-warning-subtle);
  color: var(--vesta-warning-strong);
}
.wl-res-badge.is-internal {
  background: color-mix(in srgb, var(--vesta-secondary) 10%, transparent);
  color: var(--vesta-text-secondary);
}
.wl-res-badge.is-planned {
  background: var(--vesta-info-subtle);
  color: var(--vesta-info-strong);
}
.wl-res-badge.is-live {
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary-strong);
}

@keyframes wl-block-in {
  from {
    opacity: 0;
    transform: translateY(4px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.wl-view .wl-week,
.wl-view .vcal-wrap {
  border: 0;
  border-radius: 0;
}
.wl-view .wl-week {
  --wl-week-col-min: 84px;
  --wl-week-axis-w: 48px;
}
.wl-view .wl-week-grid {
  border-top: 1px solid var(--vesta-border);
}
.wl-view .wl-dt-top > .wl-nav-zoom {
  margin-left: auto;
}

.wl-month-sum {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 20px;
  padding: 12px 4px 2px;
  border-top: 1px solid var(--vesta-border);
  font-size: 12px;
  color: var(--vesta-text-secondary);
}
.wl-month-sum b {
  color: var(--vesta-text-primary);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.wl-month-sum .is-warn,
.wl-month-sum .is-warn b {
  color: var(--vesta-warning-strong);
}

.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-fill-primary);
  border-color: var(--vesta-fill-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-grid {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 8px;
}

.wl-batch-line {
  display: grid;
  grid-template-columns: 28px 140px 118px 118px minmax(0, 1fr) minmax(0, 1.2fr) 96px 36px;
  gap: 6px;
  align-items: start;
}

.wl-batch-head {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--vesta-text-muted);
  padding: 0 0 2px;
  border-bottom: 1px solid var(--vesta-border-subtle);
}

.wl-batch-row {
  padding: 4px 0;
  border-radius: var(--vesta-radius-sm, 8px);
}
.wl-batch-row.is-invalid-time input[type=time] {
  border-color: var(--vesta-warning);
}
.wl-batch-row.is-rejected {
  background: var(--vesta-danger-subtle);
  box-shadow: inset 3px 0 0 var(--vesta-danger);
}

.wl-batch-n {
  font-size: 12px;
  color: var(--vesta-text-muted);
  text-align: right;
  padding-top: 6px;
  font-variant-numeric: tabular-nums;
}

.wl-batch-target {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.wl-batch-bill {
  padding-top: 4px;
}

.wl-batch-tools {
  display: flex;
  gap: 4px;
  align-items: center;
  flex-wrap: wrap;
}

.wl-batch-kb {
  margin-left: auto;
  font-size: 11px;
  color: var(--vesta-text-muted);
}
.wl-batch-kb kbd {
  font-size: 10px;
  padding: 0 4px;
  border: 1px solid var(--vesta-border);
  border-radius: 4px;
  background: var(--vesta-bg-card);
  color: inherit;
}

.wl-batch-totals {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-right: auto;
  font-size: 12px;
  color: var(--vesta-text-muted);
}
.wl-batch-totals b {
  color: var(--vesta-text);
  font-variant-numeric: tabular-nums;
}

.wl-batch-warn {
  color: var(--vesta-warning-strong);
  font-weight: 600;
}

@media (max-width: 991.98px) {
  .wl-batch-head {
    display: none;
  }
  .wl-batch-line {
    grid-template-columns: 28px minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr) 36px;
    padding: 8px 4px;
    border: 1px solid var(--vesta-border-subtle);
  }
  .wl-batch-line > :nth-child(5),
  .wl-batch-line > :nth-child(6),
  .wl-batch-line > :nth-child(7) {
    grid-column: 2/-1;
  }
  .wl-batch-line > :nth-child(8) {
    grid-column: 5;
    grid-row: 1;
  }
  .wl-batch-bill {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .wl-batch-bill::before {
    content: attr(data-label);
    font-size: 12px;
    color: var(--vesta-text-muted);
  }
  .wl-batch-bill.is-empty {
    display: none;
  }
}
.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;
}

.vesta-theme-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: none;
  height: 30px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--vesta-border);
  background: var(--vesta-bg-card);
  color: var(--vesta-text-secondary);
  font: inherit;
  font-size: 11.5px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
}
.vesta-theme-btn:hover {
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-primary);
}
.vesta-theme-btn:focus-visible {
  outline: 2px solid var(--vesta-primary);
  outline-offset: 2px;
}
.vesta-theme-btn .lucide,
.vesta-theme-btn > i[data-lucide] {
  width: 14px;
  height: 14px;
  display: block;
  flex: none;
}

@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: radial-gradient(600px 80px at 0% 50%, color-mix(in srgb, var(--vesta-primary) 35%, transparent), transparent 70%), var(--vesta-bg-sidebar);
  color: var(--vesta-text-inverse);
  border: 1px solid var(--vesta-on-dark-border);
  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;
}
.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-on-dark-accent);
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

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

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

.vd-ctx-meta {
  font-size: 11.5px;
  color: var(--vesta-on-dark-muted);
  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-on-dark-muted);
  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-parent {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  max-width: 300px;
  padding: 5px 10px;
  border: 1px dashed var(--vesta-on-dark-border);
  border-radius: 8px;
  background: var(--vesta-on-dark-fill);
  color: var(--vesta-on-dark-muted);
  font-family: inherit;
  font-size: 11.5px;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.12s, border-color 0.12s;
}
.vd-parent > i {
  display: inline-flex;
  flex: none;
}
.vd-parent svg {
  flex: none;
  width: 12px;
  height: 12px;
  color: var(--vesta-on-dark-warning);
}
.vd-parent b {
  color: var(--vesta-text-inverse);
  font-weight: 600;
}
.vd-parent:hover:not(:disabled) {
  background: var(--vesta-on-dark-fill-hover);
  border-color: var(--vesta-on-dark-muted);
}
.vd-parent:focus-visible {
  outline: 2px solid var(--vesta-on-dark-accent);
  outline-offset: 2px;
}
.vd-parent:disabled {
  opacity: 0.6;
  cursor: default;
}

.vd-parent-text {
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}

.vd-parent-time {
  flex: none;
  font-family: var(--vesta-font-mono);
  font-variant-numeric: tabular-nums;
}

@media (max-width: 1180px) {
  .vd-parent {
    display: none;
  }
}
.vd-timer {
  font-family: var(--vesta-font-mono);
  font-size: 22px;
  font-weight: 600;
  color: var(--vesta-text-inverse);
  padding: 0 10px;
  min-width: 108px;
  text-align: center;
  letter-spacing: 0.02em;
  font-variant-numeric: tabular-nums;
}

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

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

.vd-btn {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  border: 1px solid var(--vesta-on-dark-border);
  background: var(--vesta-on-dark-fill);
  display: grid;
  place-items: center;
  cursor: pointer;
  color: var(--vesta-text-inverse);
  transition: background 0.12s, border-color 0.12s, color 0.12s;
}
.vd-btn:hover {
  background: var(--vesta-on-dark-fill-hover);
}
.vd-btn:focus-visible {
  outline: 2px solid var(--vesta-on-dark-accent);
  outline-offset: 2px;
}
.vd-btn-danger {
  background: var(--vesta-fill-danger);
  border-color: var(--vesta-fill-danger);
}
.vd-btn-danger:hover {
  background: var(--vesta-danger);
  border-color: var(--vesta-danger);
}
.vd-btn-ghost {
  background: transparent;
  border-color: transparent;
  color: var(--vesta-on-dark-muted);
}
.vd-btn-ghost:hover {
  color: var(--vesta-text-inverse);
}

.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: var(--vesta-on-dark-fill-hover);
}

.vd-min-count {
  font-size: 12px;
  font-weight: 700;
  color: var(--vesta-on-dark-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;
  color: var(--vesta-text-primary);
  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-record-menu {
  width: 260px;
}
.vd-record-menu .vd-pick-row {
  width: 100%;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
}
.vd-record-menu .vd-pick-row:focus-visible {
  outline: 2px solid var(--vesta-primary);
  outline-offset: -2px;
}

.vd-btn.vd-btn-resume {
  display: inline-flex;
  align-items: center;
  width: auto;
  padding: 0 10px;
  gap: 6px;
  max-width: 240px;
}

.vd-btn-resume-text {
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 767.98px) {
  .vd-btn-resume-text {
    display: none;
  }
}

@media (max-width: 575.98px) {
  .vesta-dock:not(.minimized) {
    flex-wrap: wrap;
    row-gap: 8px;
  }
  .vesta-dock:not(.minimized) .vd-context {
    flex: 1 1 0;
    min-width: 0;
  }
  .vesta-dock:not(.minimized) .vd-actions {
    flex-basis: 100%;
    justify-content: space-between;
  }
}
.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: 14px 10px;
  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: 16px;
}

.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);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 0 10px 6px;
}

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

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

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

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

.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%;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 12px;
  box-shadow: var(--vesta-shadow-sm);
  overflow: clip;
}
[data-theme=dark] .tk-list {
  background: var(--vesta-bg-card);
  border-color: var(--vesta-border);
}
.tk-list > .v-pager {
  background: var(--vesta-bg-body);
  border-top: 1px solid var(--vesta-border);
  flex: none;
}

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

.tk-table-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  container-type: inline-size;
  container-name: tktable;
}

@media (max-width: 999.98px) {
  .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 26px 84px minmax(130px, 1fr) 76px 100px 88px 104px 80px 30px);
  align-items: center;
  padding: 0 12px;
  gap: 8px;
}

.tk-thead > *,
.tk-row > * {
  min-width: 0;
}

.tk-c-hours {
  text-align: right;
  justify-self: stretch;
}
.tk-c-hours .v-sort {
  margin-left: auto;
}

.tk-c-assignee {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.tk-tags-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.tk-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  max-width: 100%;
  padding: 3px 8px;
  border: 1px solid var(--vesta-border);
  border-radius: 999px;
  background: var(--vesta-bg-body);
  color: var(--vesta-text-primary);
  font-weight: 500;
  white-space: normal;
  text-align: left;
  overflow-wrap: anywhere;
}

.tk-tag-ghost {
  border-style: dashed;
  color: var(--vesta-text-secondary);
  cursor: pointer;
}
.tk-tag-ghost:hover {
  border-style: solid;
  border-color: var(--vesta-primary);
}

.tk-tag-x {
  display: inline-flex;
  padding: 0;
  border: 0;
  background: none;
  color: var(--vesta-text-muted);
  line-height: 1;
}
.tk-tag-x:hover {
  color: var(--vesta-danger);
}

.tk-tags-input {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
}
.tk-tags-input > :first-child {
  flex: 1 1 auto;
  min-width: 0;
}

.tk-tags-suggest {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.tk-c-type {
  display: flex;
  align-items: center;
  justify-content: center;
}

.tk-type-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: var(--tk-type-bg);
  color: var(--tk-type-fg);
}
.tk-type-icon .lucide {
  width: 13px;
  height: 13px;
}

.tk-meta-type {
  display: none;
}

.tk-c-hours-summary {
  white-space: nowrap;
  line-height: 1.3;
}
.tk-c-hours-summary .tk-hours-worked,
.tk-c-hours-summary .tk-hours-billable {
  display: block;
}
.tk-c-hours-summary .tk-hours-billable {
  font-size: 10.5px;
}

.tk-hours-short {
  color: var(--vesta-warning-strong);
}

.tk-row.is-closed .tk-c-title,
.tk-row.is-closed .tk-c-id,
.tk-row.is-closed .tk-c-type,
.tk-row.is-closed .tk-c-sla,
.tk-row.is-closed .tk-c-hours {
  opacity: 0.6;
}
.tk-row.is-closed .tk-title-text {
  color: var(--vesta-text-secondary);
}

.tk-c-due {
  min-width: 0;
  white-space: nowrap;
}

.tk-c-sla .v-sla-bar {
  min-width: 0;
  max-width: 100%;
}
.tk-c-sla .v-sla-bar__row {
  flex-wrap: wrap;
  row-gap: 2px;
}
.tk-c-sla .v-sla-bar__label {
  min-width: 0;
}

.tk-c-actions {
  display: flex;
  align-items: center;
  justify-content: center;
}

.tk-thead .v-sort {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  text-align: inherit;
}

@container tktable (min-width: 821px) {
  .tk-thead > *,
  .tk-row > * {
    order: var(--o, 0);
  }
  .vl-c-hidden {
    display: none;
  }
}
.tk-assignee {
  min-width: 0;
  flex-wrap: nowrap;
  align-items: flex-start;
}
.tk-assignee > span {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.35;
}

.tk-c-wf {
  min-width: 0;
}
.tk-c-wf .wf-chip {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}

.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);
  white-space: normal;
  overflow-wrap: anywhere;
}

.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;
  flex-wrap: wrap;
  row-gap: 2px;
  overflow: visible;
}
.tk-title-meta .lucide {
  width: 13px;
  height: 13px;
  flex: none;
  vertical-align: -2px;
}
.tk-title-meta .badge,
.tk-title-meta .tk-meta-tag,
.tk-title-meta .tk-child-badge {
  line-height: 1.5;
  padding-block: 0;
}

.tk-meta-tags > .badge {
  flex: none;
  min-width: 0;
  max-width: 100%;
  white-space: normal;
}
.tk-meta-tags > .badge > span {
  overflow-wrap: anywhere;
}

.tk-meta-party {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 72px;
  flex: 1 1 auto;
  flex-wrap: wrap;
  row-gap: 2px;
  white-space: normal;
}

.tk-meta-party-text {
  overflow-wrap: anywhere;
}

.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;
  flex-wrap: wrap;
  row-gap: 2px;
}

.tk-meta-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex: none;
  min-width: 0;
  max-width: none;
  padding: 1px 8px;
  border-radius: 99px;
  background: var(--vesta-bg-muted, rgba(0, 0, 0, 0.05));
  color: var(--vesta-text-secondary);
  white-space: normal;
}
.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-wrap: anywhere;
}

.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: 820px) {
  .tk-thead,
  .tk-row {
    grid-template-columns: 30px 26px 84px minmax(110px, 1fr) 76px 100px 88px 104px 30px;
  }
  .tk-c-hours {
    display: none;
  }
  .tk-c-due {
    display: none;
  }
}
@container tktable (max-width: 700px) {
  .tk-thead,
  .tk-row {
    grid-template-columns: 30px 26px 76px minmax(100px, 1fr) 72px 96px 84px 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-type {
    display: none;
  }
  .tk-row .tk-meta-type {
    display: inline-flex;
  }
  .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;
    overflow: visible;
  }
  .tk-row .tk-c-title .tk-meta-tag {
    display: inline-flex;
    max-width: none;
  }
  .tk-row .tk-c-title .tk-meta-tag-text {
    display: inline;
  }
  .tk-row .tk-c-title .tk-meta-tags {
    flex-wrap: wrap;
    row-gap: 2px;
    overflow: visible;
  }
  .tk-row .tk-c-title .tk-meta-tags > .badge {
    max-width: none;
  }
  .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-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-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-head-person {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  font-size: 12.5px;
  color: var(--vesta-text-secondary);
}

.tk-info-desc {
  padding: 14px 16px;
}

.tk-history-change {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-left: 6px;
}

.tk-history-arrow svg {
  width: 13px;
  height: 13px;
  color: var(--vesta-text-muted);
}

.tk-state-tag {
  display: inline-flex;
  align-items: center;
  padding: 1px 8px;
  border-radius: 5px;
  font-size: 11px;
  font-weight: 600;
  line-height: 18px;
  white-space: nowrap;
  background: var(--vesta-secondary-subtle);
  color: var(--vesta-text-secondary);
}
.tk-state-tag.is-to {
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary-strong);
}

.tk-side-people {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tk-side-person {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.tk-side-person-text {
  flex: 1;
  min-width: 0;
}

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

.tk-side-person-sub {
  font-size: 11.5px;
  color: var(--vesta-text-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tk-side-plafond {
  margin-top: 10px;
}

.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-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 74px 10px 14px;
  font-size: 12px;
  color: var(--vesta-text-secondary);
}

.v-list > .v-pager {
  background: var(--vesta-bg-body);
  border-top: 1px solid var(--vesta-border);
  flex: none;
}

.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-gap {
  min-width: 28px;
  text-align: center;
  color: var(--vesta-text-muted);
}

.v-pager-btn {
  min-width: 28px;
  height: 28px;
  padding: 0 6px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--vesta-border);
  border-radius: 6px;
  background: var(--vesta-bg-card);
  color: var(--vesta-text-secondary);
  font: inherit;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
}
.v-pager-btn .lucide {
  width: 13px;
  height: 13px;
}
.v-pager-btn:hover:not(:disabled):not(.is-active) {
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-primary);
}
.v-pager-btn.is-active {
  background: var(--vesta-fill-primary);
  border-color: var(--vesta-fill-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-strong);
}
.tk-act-status.is-open {
  background: var(--vesta-warning-subtle, #FEF3C7);
  color: var(--vesta-warning-strong);
}

.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-effort {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tk-effort-figures {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
}

.tk-effort-fig {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.tk-effort-lbl {
  font-size: 12px;
  color: var(--vesta-text-secondary);
}

.tk-effort-val {
  font-size: 14px;
  font-weight: 600;
}

.tk-effort-edit {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
}
.tk-effort-edit > * {
  min-width: 0;
}

.tk-effort-split {
  padding: 10px 12px;
  border: 1px solid var(--vesta-border);
  border-radius: 10px;
  background: var(--vesta-bg-body);
  container-type: inline-size;
  container-name: tkeffort;
}

.tk-effort-split-title {
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
}

.tk-effort-split-row {
  display: grid;
  grid-template-columns: minmax(0, 200px) minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  padding: 4px 0;
  font-size: 13px;
}

.tk-effort-split-who {
  min-width: 0;
}

.tk-effort-split-h {
  font-weight: 600;
  white-space: nowrap;
}

.tk-effort-split-n {
  white-space: nowrap;
  font-size: 12px;
}

@container tkeffort (max-width: 560px) {
  .tk-effort-split-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .tk-effort-split-row .tk-effort-split-who {
    grid-column: 1/-1;
  }
}
.tk-act-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.tk-act-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tk-act-card-hours {
  min-width: 48px;
  font-size: 14px;
  font-weight: 600;
  text-align: right;
}
.tk-act-card-hours small {
  display: block;
  font-size: 10.5px;
  font-weight: 500;
  line-height: 1.1;
  color: var(--vesta-text-muted);
}

.tk-act-card-desc {
  font-size: 13px;
  line-height: 1.5;
}

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

.tk-act-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 10px;
  margin: 12px 0 0;
}
.tk-act-facts > div {
  padding: 8px 10px;
  border: 1px solid var(--vesta-border-subtle);
  border-radius: 8px;
}
.tk-act-facts 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);
}
.tk-act-facts dd {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 2px 0 0;
  font-size: 12.5px;
  font-weight: 600;
}
.tk-act-facts dd .lucide {
  color: var(--vesta-text-muted);
}

.tk-act-composer {
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  margin-bottom: 16px;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--vesta-primary) 35%, var(--vesta-border));
  box-shadow: 0 0 0 3px var(--vesta-primary-subtle);
}

.tk-act-composer-head {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  padding: 12px 18px;
  border-bottom: 1px solid var(--vesta-border);
  background: var(--vesta-bg-body);
}

.tk-act-composer-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 18px;
}

.tk-act-composer-when {
  --_head-h: 28px;
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) 200px;
  gap: 14px;
  align-items: start;
}
.tk-act-composer-when > .vf-field > .vf-label,
.tk-act-composer-when .tk-act-composer-range-head {
  min-height: var(--_head-h);
}

.tk-act-composer-range {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.tk-act-composer-range-head {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: space-between;
  flex-wrap: wrap;
}

.tk-act-time {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.tk-act-time > :not(.tk-act-time-sep) {
  flex: 1 1 0;
  min-width: 0;
}
.tk-act-time .tk-act-time-sep {
  flex: none;
  color: var(--vesta-text-muted);
}

.lunch-break-field .tk-act-time {
  max-width: 20rem;
}

.tk-act-composer-more {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.tk-act-composer-links {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.tk-act-composer-links:empty {
  display: none;
}

.tk-act-composer-notes {
  padding: 14px;
  border: 1px dashed var(--vesta-border-input);
  border-radius: 10px;
  background: var(--vesta-bg-body);
}

.tk-act-composer-extras {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}

.tk-act-composer-panel {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--vesta-border);
  border-radius: 10px;
}

.tk-act-composer-panel-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 13px;
  font-weight: 700;
}
.tk-act-composer-panel-title .lucide {
  color: var(--vesta-text-muted);
}

.tk-act-composer-admin {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--vesta-border);
  border-radius: 10px;
  background: var(--vesta-bg-body);
}

.tk-act-composer-admin-tag {
  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;
}

.tk-act-composer-admin-rates {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.tk-act-composer-foot {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 12px 18px;
  border-top: 1px solid var(--vesta-border);
}

.tk-act-composer-summary {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  min-width: 0;
  font-size: 12.5px;
  color: var(--vesta-text-secondary);
}
.tk-act-composer-summary > span:first-child,
.tk-act-composer-summary > span:nth-child(2) {
  font-family: var(--vesta-font-mono);
  color: var(--vesta-text-primary);
}
.tk-act-composer-summary > * + *::before {
  content: "·";
  margin-right: 6px;
  color: var(--vesta-text-muted);
}

.tk-act-composer-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-left: auto;
}

.tk-act-composer .tk-act-materials-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.tk-act-composer .tk-act-materials-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 10px;
  border: 1px solid var(--vesta-border);
  border-radius: 8px;
  background: var(--vesta-bg-body);
  font-size: 12.5px;
}
.tk-act-composer .tk-act-materials-list li .tk-mat-qty {
  flex: none;
  font-weight: 600;
}
.tk-act-composer .tk-act-materials-list li .tk-mat-desc {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1 1 auto;
  min-width: 0;
}
.tk-act-composer .tk-act-materials-list li .btn {
  margin-left: auto;
}

.tk-act-composer .tk-act-material-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.tk-act-composer .tk-act-material-form .tk-mat-picker {
  flex: 1 1 220px;
  min-width: 0;
}
.tk-act-composer .tk-act-material-form .tk-mat-qty-input {
  flex: 0 0 100px;
}

@media (max-width: 900px) {
  .tk-act-composer-when {
    grid-template-columns: 1fr 1fr;
  }
  .tk-act-composer-range {
    grid-column: 1/-1;
    order: -1;
  }
  .tk-act-composer-more {
    grid-template-columns: 1fr 1fr;
  }
  .tk-act-composer-more > :first-child {
    grid-column: 1/-1;
  }
  .tk-act-composer-extras {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 700px) {
  .tk-act-composer-when,
  .tk-act-composer-more,
  .tk-act-composer-admin-rates {
    grid-template-columns: 1fr;
  }
}
.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);
}

.tk-act-materials-count {
  margin-left: 6px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--vesta-bg-hover);
  font-size: 10px;
  letter-spacing: 0;
}

.tk-act-materials-empty {
  margin-top: 6px;
}

.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-text, var(--vesta-info-strong));
}
.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);
  --_banner-text: var(--vesta-success-strong);
}
.v-sla-banner--warning {
  --_banner-color: var(--vesta-warning);
  --_banner-bg: var(--vesta-warning-subtle);
  --_banner-text: var(--vesta-warning-strong);
}
.v-sla-banner--breached {
  --_banner-color: var(--vesta-danger);
  --_banner-bg: var(--vesta-danger-subtle);
  --_banner-text: var(--vesta-danger-strong);
}

.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-strong);
}
.v-sla-meter-value.tone-warning {
  color: var(--vesta-warning-strong);
}
.v-sla-meter-value.tone-breached {
  color: var(--vesta-danger-strong);
}
.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-kpi-cards--sm {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.v-kpi-cards--sm .stat-card {
  flex: 0 1 auto;
  min-width: 0;
}
@media (max-width: 767.98px) {
  .v-kpi-cards--sm {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }
}

.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);
}

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

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

.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;
}

.v-field-tile-value {
  font-size: 12px;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.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-page-grid .v-sidecard {
  margin-bottom: 0;
  padding: 14px 16px;
  border-radius: var(--vesta-radius-lg);
}

.v-side-kv-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: stretch;
}

.v-side-kv {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
}
.v-side-kv > i[data-lucide] {
  display: inline-flex;
  flex: none;
  margin-top: 2px;
  color: var(--vesta-text-muted);
}
.v-side-kv > i[data-lucide] svg {
  width: 14px;
  height: 14px;
}

.v-side-kv-text {
  flex: 1;
  min-width: 0;
}

.v-side-kv-k {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--vesta-text-muted);
}

.v-side-kv-v {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 1px;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--vesta-text-primary);
}
.v-side-kv-v.is-mono {
  font-family: var(--vesta-font-mono);
}
.v-side-kv-v a {
  text-decoration: none;
}
.v-side-kv-v a:hover {
  text-decoration: underline;
}
.v-side-kv-v small {
  display: block;
  font-size: 11px;
  font-weight: 400;
  color: var(--vesta-text-muted);
}

.v-side-kv.is-warning .v-side-kv-v {
  color: var(--vesta-warning-strong);
  font-weight: 600;
}

.v-side-kv.is-danger .v-side-kv-v {
  color: var(--vesta-danger-strong);
  font-weight: 600;
}

.v-side-empty {
  display: block;
  font-size: 12.5px;
  color: var(--vesta-text-muted);
}

.v-add-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  align-self: flex-start;
  margin-top: 10px;
  padding: 5px 10px 5px 8px;
  border: 1px dashed var(--vesta-border-input);
  border-radius: 99px;
  background: transparent;
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  color: var(--vesta-text-secondary);
  cursor: pointer;
}
.v-add-link .lucide,
.v-add-link svg {
  width: 13px;
  height: 13px;
}
.v-add-link:hover {
  border-color: var(--vesta-primary);
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary-strong);
}
.v-add-link:focus-visible {
  outline: var(--focus-outline, 2px solid var(--vesta-primary));
  outline-offset: 2px;
}

.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-main,
.v-detail-hero-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: stretch;
  min-width: 0;
}

.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;
}
.v-action-overflow-item .lucide {
  color: var(--vesta-text-muted);
}
.v-action-overflow-item.is-warning, .v-action-overflow-item.is-warning .lucide {
  color: var(--vesta-warning-strong);
}
.v-action-overflow-item.is-danger, .v-action-overflow-item.is-danger .lucide {
  color: var(--vesta-danger-strong);
}

.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-detail-page-head .v-detail-hero {
  gap: 0;
  padding: 0;
  border-bottom: 0;
}
.v-detail-page-head .v-detail-hero > :last-child:not(.v-detail-hero-stats):not(.v-detail-hero-tabs) {
  margin-bottom: 14px;
}

.v-detail-hero-back {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  min-width: 0;
  margin-bottom: 10px;
  font-size: 12px;
  color: var(--vesta-text-muted);
}
.v-detail-hero-back .v-detail-back-link {
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 12px;
  color: var(--vesta-text-secondary);
}
.v-detail-hero-back .v-detail-back-link .lucide {
  width: 13px;
  height: 13px;
}

.v-detail-hero-back-sep.lucide,
.v-detail-hero-back-sep svg {
  width: 12px;
  height: 12px;
}

.v-detail-hero-cur {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  font-weight: 600;
  color: var(--vesta-text-primary);
}

.v-detail-hero-nav {
  margin-left: auto;
}

.v-record-nav {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
.v-record-nav .btn {
  width: 28px;
  height: 28px;
  padding: 0;
}

.v-record-nav-pos {
  padding: 0 6px;
  font-family: var(--vesta-font-mono);
  font-size: 11px;
  color: var(--vesta-text-muted);
  white-space: nowrap;
}

.v-detail-page-head .v-detail-hero-main {
  flex-direction: row;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 14px;
}

.v-detail-page-head .v-detail-hero-body {
  flex: 1 1 300px;
  gap: 5px;
}

.v-detail-page-head .v-detail-hero-title {
  font-size: 20px;
  letter-spacing: -0.018em;
  line-height: 1.25;
  text-wrap: pretty;
}

.v-detail-page-head .v-detail-hero-id {
  padding: 2px 8px;
  border: 1px solid var(--vesta-border-subtle);
  border-radius: 99px;
  background: var(--vesta-bg-body);
  font-size: 11.5px;
  font-weight: 500;
}

.v-detail-page-head .v-detail-hero-meta .v-meta-row {
  gap: 5px 14px;
  font-size: 12.5px;
}
.v-detail-page-head .v-detail-hero-meta .v-meta-row .v-meta-sep {
  display: none;
}
.v-detail-page-head .v-detail-hero-meta .v-meta-row .v-meta-item .lucide {
  width: 13px;
  height: 13px;
  color: var(--vesta-text-muted);
}

.v-detail-page-head .v-detail-hero-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-left: auto;
  align-self: center;
}
.v-detail-page-head .v-detail-hero-actions .btn {
  white-space: nowrap;
}
.v-detail-page-head .v-detail-hero-actions .v-action-more {
  min-width: 31px;
  min-height: 31px;
}

.v-detail-page-head .v-detail-hero-postchips .badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.v-detail-page-head .v-detail-hero-postchips .badge svg {
  width: 11px;
  height: 11px;
}

.v-detail-hero-av {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex: none;
  border-radius: 10px;
  overflow: hidden;
}
.v-detail-hero-av.is-icon {
  border: 1px solid var(--_av-border);
  background: var(--_av-bg);
  color: var(--_av-fg);
}
.v-detail-hero-av.is-icon .lucide,
.v-detail-hero-av.is-icon svg {
  width: 20px;
  height: 20px;
}
.v-detail-hero-av.is-primary {
  --_av-bg: var(--vesta-primary-subtle);
  --_av-fg: var(--vesta-primary-strong);
  --_av-border: var(--vesta-primary-border);
}
.v-detail-hero-av.is-warning {
  --_av-bg: var(--vesta-warning-subtle);
  --_av-fg: var(--vesta-warning-strong);
  --_av-border: var(--vesta-warning-border);
}
.v-detail-hero-av.is-danger {
  --_av-bg: var(--vesta-danger-subtle);
  --_av-fg: var(--vesta-danger-strong);
  --_av-border: var(--vesta-danger-border);
}
.v-detail-hero-av.is-success {
  --_av-bg: var(--vesta-success-subtle);
  --_av-fg: var(--vesta-success-strong);
  --_av-border: var(--vesta-success-border);
}
.v-detail-hero-av.is-info {
  --_av-bg: var(--vesta-info-subtle);
  --_av-fg: var(--vesta-info-strong);
  --_av-border: var(--vesta-border);
}
.v-detail-hero-av.is-neutral {
  --_av-bg: var(--vesta-bg-body);
  --_av-fg: var(--vesta-text-secondary);
  --_av-border: var(--vesta-border);
}
.v-detail-hero-av.is-custom > .v-avatar {
  border-radius: 10px;
}

.v-detail-page-head .v-detail-hero-tracker {
  margin-top: 12px;
}

.v-detail-hero-stats {
  margin-top: 12px;
  min-width: 0;
}

.v-detail-hero-tabs {
  min-width: 0;
  border-top: 1px solid var(--vesta-border-subtle);
}
.v-detail-hero-tabs .nav-tabs {
  border-bottom: 0;
}
.v-detail-hero-tabs .nav-link {
  padding: 10px 12px;
}

.v-detail-hero-main + .v-detail-hero-tabs,
.v-detail-hero-tracker + .v-detail-hero-tabs {
  margin-top: 12px;
}

@media (max-width: 1240px) {
  .v-detail-hero-stats .v-kpi-cards .stat-sub {
    display: none;
  }
}
@media (max-width: 1000px) {
  .v-detail-page-head .v-detail-hero-actions {
    margin-left: 0;
    width: 100%;
  }
  .v-detail-page-head .v-detail-hero-stats .v-kpi-cards {
    border-top: 0;
  }
  .v-detail-page-head .v-detail-hero-stats .v-kpi-cards .stat-card {
    height: 36px;
    padding: 0 10px;
    border-bottom: 1px solid var(--vesta-border-subtle);
  }
  .v-detail-page-head .v-detail-hero-stats .v-kpi-cards .stat-card:first-child {
    padding-left: 0;
  }
}
@media (max-width: 720px) {
  .v-detail-page-head .v-detail-hero-title {
    font-size: 17px;
  }
  .v-detail-page-head .v-detail-hero-actions .btn-light:has(> .lucide, > i[data-lucide]) {
    font-size: 0;
    gap: 0;
  }
  .v-detail-page-head .v-detail-hero-stats .v-kpi-cards .stat-card:first-child {
    padding-left: 10px;
  }
  .v-record-nav-pos {
    display: none;
  }
}
.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;
}

.v-contact-card--bare {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
[data-theme=dark] .v-contact-card--bare {
  background: transparent;
}
.v-contact-card--bare .v-contact-name {
  font-weight: 600;
}
.v-contact-card--bare .v-contact-role {
  font-size: 11.5px;
}

.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-comment-mentions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  padding: 8px 4px 10px;
  border-top: 1px solid var(--vesta-border-subtle);
}
.tk-comment-mentions > :last-child {
  flex: 1;
  min-width: 0;
}

.tk-comment-mention-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 4px;
}

.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: #B91C1C;
}
[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-strong);
}
.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-text-muted);
}
.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-text-secondary);
}
.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-strong);
  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-rel-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, auto);
  align-items: center;
  gap: 4px 14px;
  padding: 10px 12px 10px 14px;
  margin-bottom: 6px;
  border: 1px solid var(--vesta-border-subtle);
  border-radius: var(--vesta-radius-md, 8px);
  background: var(--vesta-bg-card);
  transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
}
.tk-rel-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  border-radius: inherit 0 0 inherit;
  background: var(--rel-accent, var(--vesta-text-muted));
}
.tk-rel-card.prio-p1 {
  --rel-accent: var(--vesta-danger);
}
.tk-rel-card.prio-p2 {
  --rel-accent: var(--vesta-warning);
}
.tk-rel-card.prio-p3 {
  --rel-accent: var(--vesta-primary);
}
.tk-rel-card.prio-p4 {
  --rel-accent: var(--vesta-text-muted);
}
.tk-rel-card:hover {
  border-color: var(--vesta-border-input);
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.07);
  transform: translateY(-1px);
}
[data-theme=dark] .tk-rel-card:hover {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
}
.tk-rel-card.is-closed {
  background: var(--vesta-bg-subtle, var(--vesta-bg-card));
}
.tk-rel-card.is-closed .tk-rel-card-title {
  color: var(--vesta-text-secondary);
}
.tk-rel-card .tk-rel-card-hit {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
}
.tk-rel-card > * {
  position: relative;
  z-index: 1;
}

.tk-rel-card-main {
  grid-area: 1/1;
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.tk-rel-card-id {
  flex-shrink: 0;
  font-size: 11.5px;
  color: var(--vesta-text-muted);
}

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

.tk-rel-card-meta {
  grid-area: 2/1;
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  font-size: 11px;
  color: var(--vesta-text-muted);
}
.tk-rel-card-meta .sep {
  opacity: 0.5;
}

.tk-rel-card-wf {
  grid-area: 3/1;
  min-width: 0;
  max-width: 260px;
}

.tk-rel-card-side {
  grid-area: 1/2/span 3/3;
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-end;
  flex-shrink: 0;
}

.tk-rel-card-hours {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--vesta-text-secondary);
}
.tk-rel-card-hours svg {
  width: 13px;
  height: 13px;
}

.tk-rel-card-who {
  display: flex;
  align-items: center;
  gap: 6px;
  max-width: 170px;
  min-width: 0;
}

.tk-rel-card-who-name {
  min-width: 0;
  font-size: 11.5px;
  color: var(--vesta-text-secondary);
}

.tk-rel-card-more {
  border-radius: 999px;
  padding: 1px 6px;
  font-size: 10.5px;
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary);
  flex-shrink: 0;
}

.tk-rel-card-note {
  grid-area: 4/1/5/-1;
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding-top: 2px;
  font-size: 12px;
  color: var(--vesta-text-muted);
  min-width: 0;
}
.tk-rel-card-note svg {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
  margin-top: 1px;
}

@media (max-width: 900px) {
  .tk-rel-card {
    grid-template-columns: minmax(0, 1fr);
  }
  .tk-rel-card .tk-rel-card-main,
  .tk-rel-card .tk-rel-card-meta,
  .tk-rel-card .tk-rel-card-wf,
  .tk-rel-card .tk-rel-card-side,
  .tk-rel-card .tk-rel-card-note {
    grid-area: auto;
  }
  .tk-rel-card .tk-rel-card-side {
    justify-content: flex-start;
  }
}
.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-ai-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  max-width: 100%;
  min-width: 0;
  padding: 2px 8px 2px 6px;
  border: 1px solid var(--vesta-primary-border);
  border-radius: var(--vesta-radius-full);
  background: var(--vesta-bg-card);
  color: var(--vesta-primary-active);
  font-family: inherit;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;
  cursor: pointer;
  position: relative;
  transition: background var(--motion-fast), border-color var(--motion-fast);
}
.v-ai-chip > i {
  display: inline-flex;
  flex: none;
}
.v-ai-chip svg {
  flex: none;
  width: 11px;
  height: 11px;
  color: var(--vesta-primary);
}
.v-ai-chip:hover:not(:disabled) {
  background: var(--vesta-primary-subtle);
}
.v-ai-chip:focus-visible {
  outline: var(--focus-outline);
  outline-offset: 2px;
}
.v-ai-chip:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.v-ai-chip:hover .v-ai-chip-tip, .v-ai-chip:focus-visible .v-ai-chip-tip {
  display: block;
}

[data-theme=dark] .v-ai-chip {
  color: var(--vesta-primary-strong);
}

.v-ai-chip-label {
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}

.v-ai-chip-cf {
  flex: none;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--vesta-text-muted);
}
.v-ai-chip-cf.is-high {
  background: var(--vesta-success);
}
.v-ai-chip-cf.is-medium {
  background: var(--vesta-warning);
  box-shadow: 0 0 0 1.5px color-mix(in srgb, var(--vesta-warning) 35%, transparent);
}

.v-ai-chip .v-ai-chip-tip {
  width: auto;
  min-width: 180px;
  max-width: 320px;
  white-space: normal;
  font-weight: 400;
  text-align: left;
}
.v-ai-chip .v-ai-chip-tip .pp-tip-t {
  margin-bottom: 3px;
}
.v-ai-chip .v-ai-chip-tip > span:last-child {
  color: var(--vesta-text-muted);
  font-size: 11px;
}

.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-text, var(--vesta-primary-strong));
  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, .vf-richtext-editor .vf-rt-toolbar .vf-rt-btn {
  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), .vf-richtext-editor .vf-rt-toolbar .vf-rt-btn:hover:not(:disabled) {
  background: var(--vesta-bg-hover);
  border-color: var(--vesta-border);
}
.vf-richtext-editor .vf-rt-toolbar button:disabled, .vf-richtext-editor .vf-rt-toolbar .vf-rt-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.vf-richtext-editor .vf-rt-toolbar .vf-rt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  user-select: none;
}
.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-hidden-inputs {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.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-editor .vf-rt-notice {
  padding: 6px 12px;
  border-top: 1px solid var(--vesta-border);
  background: var(--vesta-bg-body);
  color: var(--vesta-text-muted);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.vf-richtext {
  font-size: 13px;
  color: var(--vesta-text-primary);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.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-richtext img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0.5em 0;
  border-radius: 4px;
  border: 1px solid var(--vesta-border);
}

.vf-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  max-width: 100%;
  padding: 1px 7px;
  border: 1px solid var(--vesta-border);
  border-radius: 10px;
  background: var(--vesta-bg-subtle);
  font-size: 12px;
  line-height: 1.6;
  text-decoration: none;
  vertical-align: baseline;
  word-break: break-all;
}
.vf-chip::before {
  content: "📎";
  font-size: 11px;
}
.vf-chip:hover {
  background: var(--vesta-bg-hover);
}

.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;
  position: relative;
}
.vf-check input, .vf-radio input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}
.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;
  position: relative;
}
.vf-switch input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}
.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;
}

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

.vf-duration-row {
  display: flex;
  align-items: center;
  gap: 6px;
}
.vf-duration-row > :first-child {
  flex: 1 1 auto;
  min-width: 72px;
}

.vf-duration-stepper {
  display: inline-flex;
  flex: none;
  border: 1px solid var(--vesta-border-input);
  border-radius: 8px;
  overflow: hidden;
}
.vf-duration-stepper button {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 0;
  background: var(--vesta-bg-card);
  color: var(--vesta-text-secondary);
  cursor: pointer;
}
.vf-duration-stepper button:hover:not(:disabled) {
  background: var(--vesta-bg-hover);
}
.vf-duration-stepper button:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.vf-duration-stepper button:focus-visible {
  outline: 2px solid var(--vesta-primary);
  outline-offset: -2px;
}
.vf-duration-stepper button + button {
  border-left: 1px solid var(--vesta-border);
}
.vf-duration-stepper button .lucide {
  width: 13px;
  height: 13px;
}

.vf-duration-presets {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.vf-duration-preset {
  border-radius: 999px;
  padding: 2px 9px;
  border: 1px solid var(--vesta-border);
  background: var(--vesta-bg-card);
  color: var(--vesta-text-secondary);
  font-family: var(--vesta-font-mono);
  font-size: 11px;
  cursor: pointer;
}
.vf-duration-preset:hover:not(:disabled), .vf-duration-preset.active {
  border-color: var(--vesta-primary);
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary-strong);
}

.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;
}

.gl-dash-sla-row {
  grid-template-columns: 96px minmax(0, 1fr) 48px;
}

.gl-detailkit-variant {
  margin: 18px 0 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--vesta-text-muted);
}

.gl-detailkit {
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  overflow: hidden;
}
.gl-detailkit .v-detail-page--banded {
  min-height: 0;
}

:root {
  --vesta-bp-list-rail: 1000px;
}

.v-list-page {
  display: flex;
  align-items: flex-start;
  width: 100%;
  min-height: calc(100vh - var(--vesta-topbar-height));
  background: var(--vesta-bg-body);
  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;
  top: 0;
  min-height: calc(100vh - var(--vesta-topbar-height));
  max-height: calc(100vh - var(--vesta-topbar-height));
  overflow-y: auto;
  background: var(--vesta-bg-card);
  border-right: 1px solid var(--vesta-border);
}
.v-list-page-filters > .tk-side {
  border-right: 0;
}

.v-list-page-main {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.v-list-page-header {
  display: flex;
  flex-direction: column;
  padding: 14px 22px 0;
  background: var(--vesta-bg-card);
  border-bottom: 1px solid var(--vesta-border);
  flex: none;
}

.v-list-page-header > .page-header,
.v-detail-page-head > .page-header {
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.v-list-page-header > .page-header > :first-child,
.v-detail-page-head > .page-header > :first-child {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  column-gap: 10px;
  row-gap: 2px;
  min-width: 0;
}
.v-list-page-header .page-title,
.v-detail-page-head .page-title {
  margin: 0;
  font-size: 20px;
  letter-spacing: -0.018em;
}
.v-list-page-header .page-sub,
.v-detail-page-head .page-sub {
  font-size: 12px;
  color: var(--vesta-text-muted);
}
.v-list-page-header .page-actions,
.v-detail-page-head .page-actions {
  margin-left: auto;
}

.v-list-page-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
  min-width: 0;
  padding: 16px 22px 28px;
}

.v-list-page-preview {
  flex: 0 0 var(--vesta-entity-preview-width);
  position: sticky;
  top: 0;
  min-height: calc(100vh - var(--vesta-topbar-height));
  max-height: calc(100vh - var(--vesta-topbar-height));
  overflow-y: auto;
  background: var(--vesta-bg-card);
  border-left: 1px solid var(--vesta-border);
}

.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;
}

.v-list-page.pt-list-page--flow .v-list-page-body {
  overflow-y: auto;
}
.v-list-page.pt-list-page--flow .v-list-page-body > .pt-table {
  flex: none;
  height: auto;
}
.v-list-page.pt-list-page--flow .v-list-page-body > .pt-table > .pt-table-scroll {
  flex: none;
  overflow-y: visible;
}
@media (min-width: 1001px) {
  .v-list-page.pt-list-page--flow .v-list-page-body > .pt-table {
    overflow: clip;
  }
  .v-list-page.pt-list-page--flow .v-list-page-body > .pt-table > .pt-table-scroll {
    overflow: visible;
  }
  .v-list-page.pt-list-page--flow .v-list-page-body > .pt-table .v-list-head {
    top: -16px;
  }
}

.v-list-page-header .v-kpi-cards,
.v-detail-hero-stats .v-kpi-cards {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0;
  border-top: 1px solid var(--vesta-border-subtle);
}
.v-list-page-header .v-kpi-cards .stat-card,
.v-detail-hero-stats .v-kpi-cards .stat-card {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  flex: none;
  min-width: 0;
  height: 40px;
  padding: 0 14px;
  border: 0;
  border-right: 1px solid var(--vesta-border-subtle);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
  white-space: nowrap;
}
.v-list-page-header .v-kpi-cards .stat-card::before, .v-list-page-header .v-kpi-cards .stat-card::after,
.v-detail-hero-stats .v-kpi-cards .stat-card::before,
.v-detail-hero-stats .v-kpi-cards .stat-card::after {
  display: none;
}
.v-list-page-header .v-kpi-cards .stat-card:first-child,
.v-detail-hero-stats .v-kpi-cards .stat-card:first-child {
  padding-left: 0;
}
.v-list-page-header .v-kpi-cards .stat-card:last-child,
.v-detail-hero-stats .v-kpi-cards .stat-card:last-child {
  border-right: 0;
}
.v-list-page-header .v-kpi-cards .stat-card:hover,
.v-detail-hero-stats .v-kpi-cards .stat-card:hover {
  transform: none;
  box-shadow: none;
  border-color: var(--vesta-border-subtle);
}
.v-list-page-header .v-kpi-cards .stat-card:hover .icon,
.v-detail-hero-stats .v-kpi-cards .stat-card:hover .icon {
  transform: none;
}
.v-list-page-header .v-kpi-cards .stat-card:focus-within,
.v-detail-hero-stats .v-kpi-cards .stat-card:focus-within {
  border-color: var(--vesta-border-subtle);
}
.v-list-page-header .v-kpi-cards .stat-label,
.v-detail-hero-stats .v-kpi-cards .stat-label {
  display: contents;
  font-size: 11.5px;
  color: var(--vesta-text-secondary);
}
.v-list-page-header .v-kpi-cards .icon,
.v-detail-hero-stats .v-kpi-cards .icon {
  order: -2;
  width: auto;
  height: auto;
  background: transparent !important;
}
.v-list-page-header .v-kpi-cards .icon svg,
.v-list-page-header .v-kpi-cards .icon .lucide,
.v-detail-hero-stats .v-kpi-cards .icon svg,
.v-detail-hero-stats .v-kpi-cards .icon .lucide {
  width: 14px;
  height: 14px;
}
.v-list-page-header .v-kpi-cards .stat-value,
.v-detail-hero-stats .v-kpi-cards .stat-value {
  order: -1;
  font-family: var(--vesta-font-mono);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
}
.v-list-page-header .v-kpi-cards .stat-sub,
.v-detail-hero-stats .v-kpi-cards .stat-sub {
  margin: 0;
  font-size: 11px;
  color: var(--vesta-text-muted);
}
.v-list-page-header .v-kpi-cards .stat-progress,
.v-detail-hero-stats .v-kpi-cards .stat-progress {
  width: 44px;
  margin: 0;
}
.v-list-page-header .v-kpi-cards .trend,
.v-detail-hero-stats .v-kpi-cards .trend {
  margin: 0;
  padding: 1px 6px;
}
.v-list-page-header .v-kpi-cards .stat-card--warn,
.v-list-page-header .v-kpi-cards .stat-card--danger,
.v-list-page-header .v-kpi-cards .stat-card--clickable.stat-card--warn:hover,
.v-list-page-header .v-kpi-cards .stat-card--clickable.stat-card--danger:hover,
.v-detail-hero-stats .v-kpi-cards .stat-card--warn,
.v-detail-hero-stats .v-kpi-cards .stat-card--danger,
.v-detail-hero-stats .v-kpi-cards .stat-card--clickable.stat-card--warn:hover,
.v-detail-hero-stats .v-kpi-cards .stat-card--clickable.stat-card--danger:hover {
  background: transparent;
}
.v-list-page-header .v-kpi-cards .stat-card--clickable:hover,
.v-detail-hero-stats .v-kpi-cards .stat-card--clickable:hover {
  color: var(--vesta-text-primary);
}
.v-list-page-header .v-kpi-cards .stat-card--clickable:hover,
.v-list-page-header .v-kpi-cards .stat-card--clickable:focus-within,
.v-detail-hero-stats .v-kpi-cards .stat-card--clickable:hover,
.v-detail-hero-stats .v-kpi-cards .stat-card--clickable:focus-within {
  box-shadow: inset 0 -2px 0 var(--vesta-primary);
}
.v-list-page-header .v-kpi-cards .stat-card.is-active,
.v-detail-hero-stats .v-kpi-cards .stat-card.is-active {
  background: var(--vesta-primary-subtle);
  box-shadow: inset 0 -2px 0 var(--vesta-primary);
}
.v-list-page-header .v-kpi-cards .stat-card-hit,
.v-detail-hero-stats .v-kpi-cards .stat-card-hit {
  border-radius: 0;
}
.v-list-page-header .v-kpi-cards .stat-card--muted .stat-value,
.v-detail-hero-stats .v-kpi-cards .stat-card--muted .stat-value {
  color: var(--vesta-text-muted);
  font-weight: 500;
}

@media (max-width: 1240px) {
  .v-list-page-header .v-kpi-cards .stat-sub {
    display: none;
  }
}
@media (min-width: 1540px) {
  .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-left: 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: 999.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-right: 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;
  }
  .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;
  }
  .v-list-page-header {
    padding: 12px 14px 0;
  }
  .v-list-page-body {
    padding: 12px 14px 24px;
  }
  .v-list-page-header .v-kpi-cards {
    border-top: 0;
  }
  .v-list-page-header .v-kpi-cards .stat-card {
    height: 36px;
    padding: 0 10px;
    border-bottom: 1px solid var(--vesta-border-subtle);
  }
  .v-list-page-header .v-kpi-cards .stat-card:first-child {
    padding-left: 0;
  }
}
@media (max-width: 720px) {
  .v-list-page-header .page-title,
  .v-detail-page-head .page-title {
    font-size: 17px;
  }
  .v-list-page-header .page-actions .btn:has(> .lucide, > i[data-lucide]),
  .v-detail-page-head .page-actions .btn:has(> .lucide, > i[data-lucide]) {
    font-size: 0;
    gap: 0;
  }
  .v-list-page-header .v-kpi-cards .stat-card:first-child {
    padding-left: 10px;
  }
}
@media (max-width: 600px) {
  .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-detail-page.v-detail-page--banded {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  max-width: none;
  margin: 0;
  padding: 0;
  min-height: calc(100vh - var(--vesta-topbar-height));
  background: var(--vesta-bg-body);
}

.v-detail-page-head {
  flex: none;
  padding: 10px 22px 0;
  background: var(--vesta-bg-card);
  border-bottom: 1px solid var(--vesta-border);
  min-width: 0;
}
.v-detail-page-head:has(> .page-header) {
  padding-top: 14px;
}
.v-detail-page-head > .vesta-tabnav {
  border-top: 1px solid var(--vesta-border-subtle);
}
.v-detail-page-head > .vesta-tabnav .nav-tabs {
  border-bottom: 0;
}
.v-detail-page-head > .vesta-tabnav .nav-link {
  padding: 10px 12px;
}

.v-detail-page-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding: 16px 22px 28px;
  min-width: 0;
}
.has-sidecard > .v-detail-page-grid {
  grid-template-columns: minmax(0, 1fr) var(--vesta-detail-side-width);
}
.v-detail-page-grid > .v-detail-page-body {
  order: 0;
  gap: 14px;
}
.v-detail-page-grid > .v-detail-page-sidecard {
  order: 0;
  position: static;
  max-height: none;
  overflow: visible;
  gap: 12px;
}

@media (max-width: 1000px) {
  .v-detail-page-head {
    padding: 10px 14px 0;
  }
  .v-detail-page-head:has(> .page-header) {
    padding-top: 12px;
  }
  .v-detail-page-grid,
  .has-sidecard > .v-detail-page-grid {
    grid-template-columns: minmax(0, 1fr);
    padding: 12px 14px 24px;
  }
}
.v-field-group-title {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px 6px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--vesta-text-muted);
}
.v-field-group-title::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--vesta-border-subtle);
}

.v-field-group {
  overflow: hidden;
}

.v-fields {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 0;
  margin: 0 -1px -1px 0;
}

.v-field {
  min-width: 0;
  padding: 10px 16px;
  background: var(--vesta-bg-card);
  box-shadow: inset -1px 0 0 var(--vesta-border-subtle), inset 0 -1px 0 var(--vesta-border-subtle);
}
.v-field.is-wide {
  grid-column: 1/-1;
}

.v-field-k {
  display: flex;
  align-items: center;
  gap: 5px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--vesta-text-muted);
}
.v-field-k .lucide,
.v-field-k svg {
  flex: none;
  width: 12px;
  height: 12px;
}

.v-field-v {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  margin: 3px 0 0;
  font-size: 13px;
  font-weight: 500;
  color: var(--vesta-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v-field-v.is-mono {
  font-family: var(--vesta-font-mono);
  font-size: 12.5px;
}
.v-field-v.is-muted {
  color: var(--vesta-text-muted);
  font-weight: 400;
}
.v-field-v.is-wrap {
  white-space: normal;
  line-height: 1.35;
}
.v-field-v a {
  text-decoration: none;
}
.v-field-v a:hover {
  text-decoration: underline;
}

.v-yn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.v-yn .lucide,
.v-yn svg {
  width: 13px;
  height: 13px;
}
.v-yn.is-yes {
  color: var(--vesta-success-strong);
}
.v-yn.is-no {
  color: var(--vesta-text-muted);
  font-weight: 400;
}

.v-detail-two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

@media (max-width: 720px) {
  .v-fields {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  }
  .v-detail-two {
    grid-template-columns: minmax(0, 1fr);
  }
}
.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: stretch;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 8px;
  overflow: hidden;
}

.v-view-toggle-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 11px;
  min-height: 32px;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--vesta-text-secondary);
  font-size: 12.5px;
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
  transition: background var(--motion-fast), color var(--motion-fast);
}
.v-view-toggle-btn + .v-view-toggle-btn {
  border-left: 1px solid var(--vesta-border);
}
.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: -3px;
}
.v-view-toggle-btn > .v-view-toggle-icon {
  display: inline-flex;
}
.v-view-toggle-btn > .v-view-toggle-icon svg {
  width: 13px;
  height: 13px;
}
.v-view-toggle-btn > .v-view-toggle-label {
  line-height: 1;
}
.v-view-toggle-btn.is-active {
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary-active);
  font-weight: 600;
}
.v-view-toggle-btn.is-active:hover {
  background: var(--vesta-primary-subtle);
}

[data-theme=dark] .v-view-toggle-btn.is-active {
  color: var(--vesta-primary-strong);
}

.v-view-toggle-kbd {
  font-family: var(--vesta-font-mono);
  font-size: 10px;
  line-height: 15px;
  padding: 0 4px;
  color: var(--vesta-text-muted);
  background: transparent;
  border: 1px solid var(--vesta-border);
  border-radius: 4px;
  box-shadow: none;
}

@media (max-width: 1400px) {
  .v-view-toggle-kbd {
    display: none;
  }
}
@media (max-width: 1240px) {
  .v-view-toggle-btn {
    padding: 6px 9px;
    justify-content: center;
  }
  .v-view-toggle-btn > .v-view-toggle-label {
    display: none;
  }
}
@media (max-width: 600px) {
  .v-view-toggle-btn {
    min-width: var(--tap-target);
    min-height: var(--tap-target);
  }
}
.v-period {
  position: relative;
  display: inline-flex;
}

.v-period-seg,
.v-seg {
  display: inline-flex;
  align-items: stretch;
  overflow: hidden;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 8px;
}

.v-period-seg-btn,
.v-seg-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 11px;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--vesta-text-secondary);
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
  transition: background var(--motion-fast), color var(--motion-fast);
}
.v-period-seg-btn + .v-period-seg-btn,
.v-period-seg-btn + .v-seg-btn,
.v-seg-btn + .v-period-seg-btn,
.v-seg-btn + .v-seg-btn {
  border-left: 1px solid var(--vesta-border);
}
.v-period-seg-btn:hover,
.v-seg-btn:hover {
  color: var(--vesta-text-primary);
  background: var(--vesta-bg-hover);
}
.v-period-seg-btn:focus-visible,
.v-seg-btn:focus-visible {
  outline: var(--focus-outline);
  outline-offset: -2px;
}
.v-period-seg-btn.is-active,
.v-seg-btn.is-active {
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary-strong);
  font-weight: 600;
}
.v-period-seg-btn.is-active:hover,
.v-seg-btn.is-active:hover {
  background: var(--vesta-primary-subtle);
}

.v-period-seg-custom {
  font-family: var(--vesta-font-mono);
}
.v-period-seg-custom > svg {
  width: 14px;
  height: 14px;
  color: var(--vesta-text-muted);
}

.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: 720px) {
  .v-period,
  .v-period-seg {
    width: 100%;
  }
  .v-period-seg-btn,
  .v-seg-btn {
    flex: 1;
    justify-content: center;
    padding: 6px;
  }
}
.v-dash-tone-primary {
  --_c: var(--vesta-primary);
}

.v-dash-tone-success {
  --_c: var(--vesta-success);
}

.v-dash-tone-warning {
  --_c: var(--vesta-warning);
}

.v-dash-tone-danger {
  --_c: var(--vesta-danger);
}

.v-dash-tone-info {
  --_c: var(--vesta-info);
}

.v-dash-tone-secondary {
  --_c: var(--vesta-secondary);
}

.v-dash-tone-review {
  --_c: var(--vesta-review);
}

.v-dash-tone-primary-soft {
  --_c: var(--vesta-primary-border);
}

.v-dash-tone-neutral {
  --_c: var(--vesta-border);
}

.v-dash-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.v-dash-g2 {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 12px;
}

.v-dash-g2b {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
}

.v-dash-g3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.v-dash-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 12px;
  box-shadow: var(--vesta-shadow-sm);
}

.v-dash-card-h {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 11px 16px;
  border-bottom: 1px solid var(--vesta-border-subtle);
}
.v-dash-card-h h2 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 13.5px;
  font-weight: 600;
  white-space: nowrap;
  color: var(--vesta-text-primary);
}
.v-dash-card-h h2 svg {
  width: 14px;
  height: 14px;
  color: var(--vesta-text-muted);
}

.v-dash-card-n {
  padding: 1px 7px;
  font-family: var(--vesta-font-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--vesta-text-muted);
  background: var(--vesta-bg-body);
  border: 1px solid var(--vesta-border-subtle);
  border-radius: 99px;
}

.v-dash-card-hint {
  font-size: 11.5px;
  color: var(--vesta-text-muted);
}

.v-dash-card-r {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
}

.v-dash-card-b {
  padding: 12px 16px 14px;
}
.v-dash-card-b.is-flush {
  padding: 0;
}

.v-dash-kpi {
  gap: 4px;
  padding: 13px 16px 12px;
  transition: border-color var(--motion-fast), box-shadow var(--motion-fast);
}
.v-dash-kpi.is-link:hover {
  border-color: var(--vesta-border-input);
  box-shadow: var(--vesta-shadow);
}

.v-dash-kpi-k {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 500;
  color: var(--vesta-text-secondary);
}
.v-dash-kpi-k svg {
  width: 15px;
  height: 15px;
  color: var(--vesta-text-muted);
  flex: none;
}

.v-dash-kpi-lnk {
  margin-left: auto;
  color: var(--vesta-text-muted);
}
.v-dash-kpi-lnk::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
}
.v-dash-kpi-lnk:focus-visible {
  outline: none;
}
.v-dash-kpi-lnk:focus-visible::after {
  outline: var(--focus-outline);
  outline-offset: 2px;
}

.v-dash-kpi-help {
  position: relative;
  z-index: 1;
  display: inline-flex;
}

.v-dash-kpi-v {
  font-family: var(--vesta-font-mono);
  font-size: 24px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--vesta-text-primary);
}
.v-dash-kpi-v small {
  font-family: var(--vesta-font);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
  color: var(--vesta-text-muted);
}
.v-dash-kpi-v.is-ok {
  color: var(--vesta-success-strong);
}
.v-dash-kpi-v.is-warn {
  color: var(--vesta-warning-strong);
}
.v-dash-kpi-v.is-bad {
  color: var(--vesta-danger-strong);
}

.v-dash-kpi-d {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  color: var(--vesta-text-muted);
}
.v-dash-kpi-d svg {
  width: 12px;
  height: 12px;
}
.v-dash-kpi-d .is-up,
.v-dash-kpi-d .is-down {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-weight: 600;
}
.v-dash-kpi-d .is-up {
  color: var(--vesta-success-strong);
}
.v-dash-kpi-d .is-down {
  color: var(--vesta-danger-strong);
}

.v-dash-spark {
  display: block;
  width: 100%;
  height: 26px;
  margin-top: 8px;
  overflow: visible;
}

.v-dash-spark-line {
  fill: none;
  stroke: var(--_c);
  stroke-width: 1.6;
  stroke-linejoin: round;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: 1;
  stroke-dashoffset: 0;
  animation: v-dash-draw var(--motion-reveal) backwards;
  animation-delay: 150ms;
}

.v-dash-spark-area {
  fill: var(--_c);
  opacity: 0.12;
  animation: v-dash-fade var(--motion-reveal) backwards;
  animation-delay: 300ms;
}

.v-dash-kpi-track {
  margin-top: 10px;
}

.v-dash-hbar {
  position: relative;
  display: flex;
  min-width: 0;
  height: 6px;
  background: var(--vesta-bg-active);
  border-radius: 99px;
}
.v-dash-hbar > span {
  display: block;
  flex: none;
  width: var(--_w, 0%);
  height: 100%;
  background: var(--_c);
  border-radius: inherit;
  transform-origin: left center;
  animation: v-dash-grow-x var(--motion-reveal) backwards;
}
.v-dash-hbar.is-thick {
  height: 8px;
}
.v-dash-hbar.is-stack {
  overflow: hidden;
}
.v-dash-hbar.is-stack > span {
  border-radius: 0;
}

.v-dash-hbar-mark {
  position: absolute;
  top: -3px;
  left: var(--_x, 0%);
  width: 2px;
  height: 12px;
  margin-left: -1px;
  background: var(--vesta-text-secondary);
  border-radius: 1px;
}

.v-dash-pipe-bar {
  display: flex;
  height: 6px;
  overflow: hidden;
  background: var(--vesta-bg-active);
  border-radius: 12px 12px 0 0;
}
.v-dash-pipe-bar > span {
  display: block;
  width: var(--_w, 0%);
  height: 100%;
  background: var(--_c);
  transform-origin: left center;
  animation: v-dash-grow-x var(--motion-reveal) backwards;
}

.v-dash-pipe-cells {
  display: grid;
  grid-template-columns: repeat(var(--_n, 4), minmax(0, 1fr));
}

.v-dash-pipe-cell {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  padding: 12px 16px 13px;
  font: inherit;
  text-align: left;
  color: inherit;
  background: transparent;
  border: 0;
  border-right: 1px solid var(--vesta-border-subtle);
}
.v-dash-pipe-cell:last-child {
  border-right: 0;
  border-bottom-right-radius: 12px;
}
.v-dash-pipe-cell:first-child {
  border-bottom-left-radius: 12px;
}
.v-dash-pipe-cell:is(button, a) {
  text-decoration: none;
  cursor: pointer;
}
.v-dash-pipe-cell:is(button, a):hover {
  background: var(--vesta-bg-hover);
}
.v-dash-pipe-cell:is(button, a):focus-visible {
  outline: var(--focus-outline);
  outline-offset: -2px;
}
.v-dash-pipe-cell.is-active {
  box-shadow: inset 0 -2px 0 var(--vesta-primary);
}

.v-dash-pipe-k {
  display: flex;
  align-items: center;
  gap: 6px;
  overflow: hidden;
  font-size: 11.5px;
  font-weight: 500;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--vesta-text-secondary);
}
.v-dash-pipe-k::before {
  content: "";
  flex: none;
  width: 8px;
  height: 8px;
  background: var(--_c);
  border-radius: 2px;
}

.v-dash-pipe-v {
  font-family: var(--vesta-font-mono);
  font-size: 22px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1.15;
  color: var(--vesta-text-primary);
}

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

.v-dash-pipe-cell.is-warn .v-dash-pipe-v,
.v-dash-pipe-cell.is-warn .v-dash-pipe-d {
  color: var(--vesta-warning-strong);
}
.v-dash-pipe-cell.is-warn .v-dash-pipe-d {
  font-weight: 500;
}

.v-dash-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  font-size: 11.5px;
  color: var(--vesta-text-secondary);
}
.v-dash-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.v-dash-legend button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.v-dash-legend button:hover {
  color: var(--vesta-text-primary);
}
.v-dash-legend button.is-off {
  opacity: 0.45;
  text-decoration: line-through;
}
.v-dash-legend i {
  display: inline-block;
  width: 9px;
  height: 9px;
  background: var(--_c);
  border-radius: 2px;
}

.v-dash-vbars {
  position: relative;
  display: grid;
  grid-template-columns: repeat(var(--_n, 1), minmax(0, 1fr));
  gap: 8px;
  align-items: end;
  height: 150px;
  margin-top: 12px;
  border-bottom: 1px solid var(--vesta-border);
}

.v-dash-vbars-grp {
  position: relative;
  display: flex;
  gap: 3px;
  align-items: flex-end;
  height: 100%;
  outline: none;
}
.v-dash-vbars-grp > span:not(.v-dash-vbars-tip) {
  flex: 1;
  height: var(--_h, 0%);
  min-height: 2px;
  background: var(--_c);
  border-radius: 3px 3px 0 0;
  transform-origin: center bottom;
  transition: opacity var(--motion-fast);
  animation: v-dash-grow-y var(--motion-reveal) backwards;
}
.v-dash-vbars-grp:nth-child(1) > span:not(.v-dash-vbars-tip) {
  animation-delay: 0ms;
}
.v-dash-vbars-grp:nth-child(2) > span:not(.v-dash-vbars-tip) {
  animation-delay: 30ms;
}
.v-dash-vbars-grp:nth-child(3) > span:not(.v-dash-vbars-tip) {
  animation-delay: 60ms;
}
.v-dash-vbars-grp:nth-child(4) > span:not(.v-dash-vbars-tip) {
  animation-delay: 90ms;
}
.v-dash-vbars-grp:nth-child(5) > span:not(.v-dash-vbars-tip) {
  animation-delay: 120ms;
}
.v-dash-vbars-grp:nth-child(6) > span:not(.v-dash-vbars-tip) {
  animation-delay: 150ms;
}
.v-dash-vbars-grp:nth-child(7) > span:not(.v-dash-vbars-tip) {
  animation-delay: 180ms;
}
.v-dash-vbars-grp:nth-child(8) > span:not(.v-dash-vbars-tip) {
  animation-delay: 210ms;
}
.v-dash-vbars-grp:nth-child(9) > span:not(.v-dash-vbars-tip) {
  animation-delay: 240ms;
}
.v-dash-vbars-grp:nth-child(10) > span:not(.v-dash-vbars-tip) {
  animation-delay: 270ms;
}
.v-dash-vbars-grp:nth-child(11) > span:not(.v-dash-vbars-tip) {
  animation-delay: 300ms;
}
.v-dash-vbars-grp:nth-child(12) > span:not(.v-dash-vbars-tip) {
  animation-delay: 330ms;
}
.v-dash-vbars-grp:hover > span:not(.v-dash-vbars-tip) {
  opacity: 0.85;
}
.v-dash-vbars:has(> .v-dash-vbars-grp:is(:hover, :focus-visible)) > .v-dash-vbars-grp:not(:hover, :focus-visible) > span:not(.v-dash-vbars-tip) {
  opacity: 0.35;
}
.v-dash-vbars-grp:focus-visible {
  border-radius: 3px;
  box-shadow: 0 0 0 2px var(--vesta-primary-border);
}
.v-dash-vbars-grp:hover .v-dash-vbars-tip, .v-dash-vbars-grp:focus-visible .v-dash-vbars-tip {
  opacity: 1;
  translate: none;
  scale: none;
}

.v-dash-vbars-tip {
  position: absolute;
  bottom: calc(100% + 6px);
  left: 50%;
  z-index: 2;
  padding: 4px 7px;
  font-family: var(--vesta-font-mono);
  font-size: 11px;
  width: max-content;
  max-width: 220px;
  color: var(--vesta-text-inverse);
  background: var(--vesta-bg-sidebar);
  border-radius: 5px;
  box-shadow: var(--vesta-shadow);
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%);
  translate: 0 4px;
  scale: 0.94;
  transform-origin: center bottom;
  transition: opacity var(--motion-fast), translate var(--motion-base), scale var(--motion-base);
}
.v-dash-vbars-grp.is-start > .v-dash-vbars-tip {
  left: 0;
  transform: none;
}
.v-dash-vbars-grp.is-end > .v-dash-vbars-tip {
  right: 0;
  left: auto;
  transform: none;
}

.v-dash-vbars-gl {
  position: absolute;
  right: 0;
  bottom: var(--_y, 0%);
  left: 0;
  font-family: var(--vesta-font-mono);
  font-size: 10px;
  color: var(--vesta-text-muted);
  border-top: 1px dashed var(--vesta-border);
  pointer-events: none;
}
.v-dash-vbars-gl span {
  position: absolute;
  top: -14px;
  right: 0;
}

.v-dash-xlab {
  display: grid;
  grid-template-columns: repeat(var(--_n, 1), minmax(0, 1fr));
  gap: 8px;
  margin-top: 6px;
  font-family: var(--vesta-font-mono);
  font-size: 11px;
  text-align: center;
  color: var(--vesta-text-muted);
}
.v-dash-xlab span {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.v-dash-donut {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 18px;
  align-content: flex-start;
  align-items: center;
  justify-content: center;
}

.v-dash-donut-ring {
  position: relative;
  width: 120px;
  height: 120px;
  flex: none;
}
.v-dash-donut-ring svg {
  display: block;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.v-dash-donut-track,
.v-dash-donut-arc {
  fill: none;
  stroke-width: 5.4;
}

.v-dash-donut-track {
  stroke: var(--vesta-bg-active);
}

.v-dash-donut-arc {
  stroke: var(--_c);
  stroke-dasharray: var(--_d) 100;
  stroke-dashoffset: var(--_o);
  animation: v-dash-donut-in var(--motion-reveal) backwards;
}

.v-dash-donut-c {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.v-dash-donut-c b {
  font-family: var(--vesta-font-mono);
  font-size: 22px;
  font-weight: 600;
  line-height: 1;
  color: var(--vesta-text-primary);
  font-variant-numeric: tabular-nums;
}
.v-dash-donut-c small {
  margin-top: 3px;
  font-size: 10.5px;
  color: var(--vesta-text-muted);
}

.v-dash-donut-legend {
  display: flex;
  flex: 1 1 180px;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.v-dash-donut-legend li {
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: center;
  font-size: 12.5px;
  color: var(--vesta-text-secondary);
}
.v-dash-donut-legend i {
  display: block;
  width: 10px;
  height: 10px;
  background: var(--_c);
  border-radius: 2px;
}
.v-dash-donut-legend span {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.v-dash-donut-legend b {
  font-family: var(--vesta-font-mono);
  font-weight: 600;
  white-space: nowrap;
  color: var(--vesta-text-primary);
  font-variant-numeric: tabular-nums;
}

.v-dash-donut-p {
  min-width: 36px;
  font-family: var(--vesta-font-mono);
  font-size: 11.5px;
  text-align: right;
  color: var(--vesta-text-muted);
}

.v-dash-donut-empty {
  flex: 1 1 180px;
  margin: 0;
  font-size: 12px;
  color: var(--vesta-text-muted);
}

.v-dash-row {
  display: grid;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid var(--vesta-border-subtle);
}
.v-dash-row:first-child {
  padding-top: 0;
}
.v-dash-row:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.v-dash-row > * {
  min-width: 0;
}
.v-dash-row.is-click {
  margin: 0 -8px;
  padding-right: 8px;
  padding-left: 8px;
  cursor: pointer;
  border-radius: 8px;
}
.v-dash-row.is-click:hover {
  background: var(--vesta-bg-hover);
}

.v-dash-row-t {
  overflow: hidden;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--vesta-text-primary);
}

.v-dash-row-s {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 1px;
  overflow: hidden;
  font-size: 11.5px;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--vesta-text-muted);
}
.v-dash-row-s b {
  font-weight: 500;
  color: var(--vesta-text-secondary);
}

.v-dash-num {
  font-family: var(--vesta-font-mono);
  font-size: 12.5px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
  color: var(--vesta-text-primary);
}
.v-dash-num small {
  display: block;
  font-family: var(--vesta-font);
  font-size: 10.5px;
  font-weight: 500;
  color: var(--vesta-text-muted);
}
.v-dash-num.is-ok {
  color: var(--vesta-success-strong);
}
.v-dash-num.is-warn {
  color: var(--vesta-warning-strong);
}
.v-dash-num.is-bad {
  color: var(--vesta-danger-strong);
}

.v-dash-ico {
  display: grid;
  flex: none;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 7px;
}
.v-dash-ico svg {
  width: 14px;
  height: 14px;
}
.v-dash-ico.is-primary {
  color: var(--vesta-primary-strong);
  background: var(--vesta-primary-subtle);
}
.v-dash-ico.is-danger {
  color: var(--vesta-danger-strong);
  background: var(--vesta-danger-subtle);
}
.v-dash-ico.is-warning {
  color: var(--vesta-warning-strong);
  background: var(--vesta-warning-subtle);
}
.v-dash-ico.is-info {
  color: var(--vesta-info-strong);
  background: var(--vesta-info-subtle);
}
.v-dash-ico.is-success {
  color: var(--vesta-success-strong);
  background: var(--vesta-success-subtle);
}
.v-dash-ico.is-secondary {
  color: var(--vesta-text-secondary);
  background: var(--vesta-secondary-subtle);
}
.v-dash-ico.is-review {
  color: var(--vesta-review-strong);
  background: var(--vesta-review-subtle);
}

.v-dash-state {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  color: var(--vesta-text-secondary);
}
.v-dash-state::before {
  content: "";
  flex: none;
  width: 7px;
  height: 7px;
  background: var(--_c, var(--vesta-text-muted));
  border-radius: 50%;
}

a.v-dash-row {
  color: inherit;
  text-decoration: none;
}
a.v-dash-row:focus-visible {
  outline: var(--focus-outline);
  outline-offset: -2px;
}

.v-dash-row-main {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.v-dash-row--alert {
  grid-template-columns: 28px minmax(0, 1fr) auto;
}

.v-dash-row--sla {
  grid-template-columns: 32px minmax(0, 1fr) 52px 56px;
}

.v-dash-row--due {
  grid-template-columns: 46px minmax(0, 1fr) auto;
}

.v-dash-row--bar {
  grid-template-columns: minmax(0, 1fr) minmax(80px, 140px) minmax(56px, auto);
}

.v-dash-row--team {
  grid-template-columns: 26px minmax(0, 1fr) minmax(80px, 140px) minmax(56px, auto);
}

.v-dash-num--muted {
  color: var(--vesta-text-secondary);
}
.v-dash-num--muted b {
  font-weight: 600;
  color: var(--vesta-text-primary);
}

.v-dash-stack {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}

.v-dash-g2b > :only-child {
  grid-column: 1/-1;
}

.v-dash-note {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 12px 0 0;
  font-size: 11.5px;
  color: var(--vesta-text-muted);
}
.v-dash-note svg {
  width: 12px;
  height: 12px;
}

.v-dash-totals {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin-top: 14px;
  padding-top: 12px;
  font-size: 12px;
  color: var(--vesta-text-secondary);
  border-top: 1px solid var(--vesta-border-subtle);
}
.v-dash-totals b {
  font-family: var(--vesta-font-mono);
  font-weight: 600;
  color: var(--vesta-text-primary);
}
.v-dash-totals b.is-ok {
  color: var(--vesta-success-strong);
}
.v-dash-totals b.is-bad {
  color: var(--vesta-danger-strong);
}

.v-dash-minis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.v-dash-kpi.is-mini {
  padding: 10px 12px;
  box-shadow: none;
}
.v-dash-kpi.is-mini .v-dash-kpi-v {
  font-size: 20px;
}

.v-dash-timer {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 12px 16px;
  background: var(--vesta-primary-subtle);
  border-color: var(--vesta-primary-border);
}

.v-dash-timer-time {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--vesta-font-mono);
  font-size: 26px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
  color: var(--vesta-primary-strong);
}
.v-dash-timer-time.is-paused {
  color: var(--vesta-text-secondary);
}

.v-dash-timer-pulse {
  flex: none;
  width: 9px;
  height: 9px;
  background: var(--vesta-danger);
  border-radius: 50%;
  animation: v-dash-pulse 1.4s ease-in-out infinite;
}
.is-paused > .v-dash-timer-pulse {
  background: var(--vesta-text-muted);
  animation: none;
}

.v-dash-timer-acts {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  justify-content: flex-end;
}

.v-dash-row--tk {
  grid-template-columns: 46px minmax(0, 1fr) 36px minmax(110px, 150px) 28px;
}

.v-dash-row--take {
  grid-template-columns: 46px minmax(0, 1fr) 36px auto;
}

.v-dash-row--ctk {
  grid-template-columns: 46px minmax(0, 1fr) 36px minmax(110px, 150px);
}

.v-dash-row--agenda {
  grid-template-columns: 48px 3px minmax(0, 1fr) auto;
}

a.v-dash-row-t {
  text-decoration: none;
}
a.v-dash-row-t:hover {
  text-decoration: underline;
}

.v-dash-row.has-link {
  position: relative;
}
.v-dash-row.has-link a.v-dash-row-t::after {
  position: absolute;
  inset: 0;
  content: "";
  border-radius: inherit;
}
.v-dash-row.has-link a.v-dash-row-t:focus-visible {
  outline: none;
}
.v-dash-row.has-link a.v-dash-row-t:focus-visible::after {
  outline: var(--focus-outline);
  outline-offset: -2px;
}
.v-dash-row.has-link button,
.v-dash-row.has-link .v-dash-state[title] {
  position: relative;
  z-index: 1;
}

.v-dash-sla {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.v-dash-sla .v-dash-num {
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
}

.v-dash-play {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  color: var(--vesta-primary-strong);
  cursor: pointer;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 50%;
}
.v-dash-play svg {
  width: 12px;
  height: 12px;
}
.v-dash-play:hover, .v-dash-play.is-on {
  color: #fff;
  background: var(--vesta-fill-primary);
  border-color: var(--vesta-fill-primary);
}
.v-dash-play:disabled {
  cursor: default;
  opacity: 0.6;
}
.v-dash-play:focus-visible {
  outline: var(--focus-outline);
}

.v-dash-agenda-h {
  font-family: var(--vesta-font-mono);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--vesta-text-secondary);
}
.v-dash-agenda-h small {
  display: block;
  font-size: 10.5px;
  font-weight: 500;
  color: var(--vesta-text-muted);
}

.v-dash-agenda-bar {
  align-self: stretch;
  width: 3px;
  min-height: 30px;
  background: var(--vesta-primary);
  border-radius: 2px;
}
.is-now > .v-dash-agenda-bar {
  background: var(--vesta-danger);
}
.is-done > .v-dash-agenda-bar {
  background: var(--vesta-border);
}

.v-dash-row--agenda.is-done .v-dash-row-t {
  color: var(--vesta-text-muted);
  text-decoration: line-through;
}

@keyframes v-dash-pulse {
  0%, 100% {
    box-shadow: 0 0 0 3px var(--vesta-danger-subtle);
  }
  50% {
    box-shadow: 0 0 0 6px transparent;
  }
}
@media (prefers-reduced-motion: reduce) {
  .v-dash-timer-pulse {
    animation: none;
  }
}
@media (max-width: 1000px) {
  .v-dash-timer {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .v-dash-timer-acts {
    grid-column: 1/-1;
    justify-content: flex-start;
  }
}
@media (max-width: 720px) {
  .v-dash-timer-time {
    font-size: 22px;
  }
  .v-dash-row--tk {
    grid-template-columns: minmax(0, 1fr) minmax(80px, 96px) 28px;
  }
  .v-dash-row--tk > :first-child,
  .v-dash-row--tk > .v-dash-state,
  .v-dash-row--take > .v-dash-state {
    display: none;
  }
  .v-dash-row--take {
    grid-template-columns: 46px minmax(0, 1fr) auto;
  }
  .v-dash-row--ctk {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .v-dash-row--ctk > :first-child,
  .v-dash-row--ctk > .v-dash-state {
    display: none;
  }
  .v-dash-row--agenda {
    grid-template-columns: 48px 3px minmax(0, 1fr);
  }
  .v-dash-row--agenda > :last-child:not(.v-dash-row-main) {
    display: none;
  }
}
.v-dash-row--dtk {
  grid-template-columns: 28px 40px minmax(0, 1fr) 30px minmax(72px, 110px) minmax(96px, 120px) 28px;
  gap: 8px;
}

.v-dash-dtk-state {
  overflow: hidden;
  text-overflow: ellipsis;
}

.v-dash-row--day {
  grid-template-columns: 52px minmax(0, 1fr) auto;
}

.v-dash-row--prj {
  grid-template-columns: minmax(0, 1fr) minmax(36px, 72px) auto;
}

.v-dash-days {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--vesta-border-subtle);
}

.v-dash-row--mention {
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: start;
}
.v-dash-row--mention .v-dash-ico {
  font-size: 10.5px;
  font-weight: 600;
}

.v-dash-row-q {
  display: -webkit-box;
  overflow: hidden;
  font-size: 12.5px;
  line-height: 1.4;
  color: var(--vesta-text-primary);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.v-dash-row-q b {
  font-weight: 600;
}

@media (max-width: 1400px) {
  .v-dash-row--dtk {
    grid-template-columns: 28px 40px minmax(0, 1fr) 30px minmax(96px, 120px) 28px;
  }
  .v-dash-row--dtk > .v-dash-dtk-state {
    display: none;
  }
}
@media (max-width: 1000px) {
  .v-dash-row--dtk {
    grid-template-columns: 28px 40px minmax(0, 1fr) 30px 28px;
  }
  .v-dash-row--dtk > .v-dash-dtk-sla {
    display: none;
  }
}
@media (max-width: 720px) {
  .v-dash-row--dtk {
    grid-template-columns: 28px minmax(0, 1fr) 28px;
  }
  .v-dash-row--dtk > .v-dash-dtk-id,
  .v-dash-row--dtk > .v-dash-dtk-prio {
    display: none;
  }
  .v-dash-row--prj {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .v-dash-row--prj > .v-dash-prj-gap {
    display: none;
  }
}
@keyframes v-dash-fade {
  from {
    opacity: 0;
  }
}
@keyframes v-dash-draw {
  from {
    stroke-dashoffset: 1;
  }
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes v-dash-grow-x {
  from {
    transform: scaleX(0);
  }
  to {
    transform: none;
  }
}
@keyframes v-dash-grow-y {
  from {
    transform: scaleY(0);
  }
  to {
    transform: none;
  }
}
@keyframes v-dash-donut-in {
  from {
    stroke-dasharray: 0 100;
  }
}
@media (prefers-reduced-motion: reduce) {
  .v-dash-spark-line,
  .v-dash-spark-area,
  .v-dash-hbar > span,
  .v-dash-pipe-bar > span,
  .v-dash-vbars-grp > span:not(.v-dash-vbars-tip),
  .v-dash-donut-arc {
    animation: none;
  }
  .v-dash-kpi,
  .v-dash-vbars-grp > span,
  .v-dash-vbars-tip {
    transition: none;
  }
  .v-dash-vbars-tip {
    translate: none;
    scale: none;
  }
}
@media (max-width: 1240px) {
  .v-dash-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .v-dash-g3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .v-dash-g3 > .v-dash-card:last-child {
    grid-column: 1/-1;
  }
}
@media (max-width: 1000px) {
  .v-dash-g2,
  .v-dash-g2b,
  .v-dash-g3 {
    grid-template-columns: minmax(0, 1fr);
  }
  .v-dash-g3 > .v-dash-card:last-child {
    grid-column: auto;
  }
}
@media (max-width: 720px) {
  .v-dash-kpi-v {
    font-size: 20px;
  }
  .v-dash-card-hint {
    display: none;
  }
  .v-dash-pipe-cells {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .v-dash-pipe-cell:nth-child(2n) {
    border-right: 0;
  }
  .v-dash-pipe-cell:not(:nth-last-child(-n+2)) {
    border-bottom: 1px solid var(--vesta-border-subtle);
  }
  .v-dash-row--bar {
    grid-template-columns: minmax(0, 1fr) minmax(56px, auto);
  }
  .v-dash-row--team {
    grid-template-columns: 26px minmax(0, 1fr) minmax(56px, auto);
  }
  .v-dash-row--bar > .v-dash-hbar,
  .v-dash-row--team > .v-dash-hbar {
    display: none;
  }
  .v-dash-minis {
    grid-template-columns: minmax(0, 1fr);
  }
}
.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, #4F46E5);
  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-text {
  margin: 0 0 4px;
  font-size: 13px;
  line-height: 1.5;
  white-space: pre-wrap;
  color: var(--vesta-text-secondary);
}

.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-content video {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 20px 0;
  background: #000;
  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__titlerow {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}
.vesta-help-card__title {
  min-width: 0;
  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.has-check .vesta-help-card__body {
  padding-right: 22px;
}
.vesta-help-card__flag, .vesta-help-card__soon {
  flex: 0 0 auto;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.vesta-help-card__soon {
  background: color-mix(in srgb, var(--vesta-text-muted) 14%, transparent);
  color: var(--vesta-text-muted);
}
.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(--vesta-primary) 16%, transparent);
  color: var(--vesta-primary);
}
.vesta-help-card__check .lucide {
  width: 12px;
  height: 12px;
}
.vesta-help-card__flag {
  background: color-mix(in srgb, var(--vesta-primary) 18%, transparent);
  color: color-mix(in srgb, var(--vesta-primary) 75%, var(--vesta-text-primary));
}

.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, .vesta-help-page .vesta-help-content video {
    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 {
  background: color-mix(in srgb, var(--vh-accent) 16%, transparent);
  color: var(--vh-accent);
}
.vesta-help-group .vesta-help-card__flag {
  background: color-mix(in srgb, var(--vh-accent) 18%, transparent);
  color: color-mix(in srgb, var(--vh-accent) 75%, var(--vesta-text-primary));
}

@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) 14%, transparent);
  color: var(--vesta-primary-strong);
  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-palette-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;
  }
}
@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-panel-in var(--motion-enter) backwards;
}

@keyframes v-panel-in {
  from {
    opacity: 0;
    translate: 0 6px;
    filter: blur(calc(var(--motion-blur) / 2));
  }
}
@keyframes v-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.vm-pending,
.vm-pending * {
  animation-play-state: paused !important;
}

.page-title,
.main-body h1 {
  animation: v-title-in var(--motion-enter) backwards;
}

.page-sub {
  animation: v-fade-in var(--motion-enter) calc(var(--motion-stagger) * 2) backwards;
}

@keyframes v-title-in {
  from {
    opacity: 0;
    translate: 0 0.4em;
    clip-path: inset(0 0 100% 0);
  }
  to {
    opacity: 1;
    translate: none;
    clip-path: inset(0 0 -0.25em 0);
  }
}
.v-expand-card-body {
  animation: v-panel-in var(--motion-base) backwards;
}

.dropdown-menu > li,
.dropdown-menu > .dropdown-item,
.notif-item {
  animation: v-row-in var(--motion-fast) both;
}
.dropdown-menu > li:nth-child(1),
.dropdown-menu > .dropdown-item:nth-child(1),
.notif-item:nth-child(1) {
  animation-delay: 0ms;
}
.dropdown-menu > li:nth-child(2),
.dropdown-menu > .dropdown-item:nth-child(2),
.notif-item:nth-child(2) {
  animation-delay: 18ms;
}
.dropdown-menu > li:nth-child(3),
.dropdown-menu > .dropdown-item:nth-child(3),
.notif-item:nth-child(3) {
  animation-delay: 36ms;
}
.dropdown-menu > li:nth-child(4),
.dropdown-menu > .dropdown-item:nth-child(4),
.notif-item:nth-child(4) {
  animation-delay: 54ms;
}
.dropdown-menu > li:nth-child(5),
.dropdown-menu > .dropdown-item:nth-child(5),
.notif-item:nth-child(5) {
  animation-delay: 72ms;
}
.dropdown-menu > li:nth-child(6),
.dropdown-menu > .dropdown-item:nth-child(6),
.notif-item:nth-child(6) {
  animation-delay: 90ms;
}
.dropdown-menu > li:nth-child(7),
.dropdown-menu > .dropdown-item:nth-child(7),
.notif-item:nth-child(7) {
  animation-delay: 108ms;
}
.dropdown-menu > li:nth-child(8),
.dropdown-menu > .dropdown-item:nth-child(8),
.notif-item:nth-child(8) {
  animation-delay: 126ms;
}
.dropdown-menu > li:nth-child(9),
.dropdown-menu > .dropdown-item:nth-child(9),
.notif-item:nth-child(9) {
  animation-delay: 144ms;
}
.dropdown-menu > li:nth-child(10),
.dropdown-menu > .dropdown-item:nth-child(10),
.notif-item:nth-child(10) {
  animation-delay: 162ms;
}
.dropdown-menu > li:nth-child(n+11),
.dropdown-menu > .dropdown-item:nth-child(n+11),
.notif-item:nth-child(n+11) {
  animation-delay: 162ms;
}

.wl-pop {
  transform-origin: top left;
  animation: v-pop-in var(--motion-base) backwards;
}

@keyframes v-pop-in {
  from {
    opacity: 0;
    scale: 0.96;
    translate: 0 -4px;
  }
}
.v-dash-row--agenda.is-done .v-dash-row-t {
  animation: v-strike-in var(--motion-reveal) backwards;
}

@keyframes v-strike-in {
  from {
    text-decoration-color: transparent;
  }
}
.cal-wrap.is-slide-next .cal-rt {
  animation: v-slide-next var(--motion-enter) backwards;
}

.cal-wrap.is-slide-prev .cal-rt {
  animation: v-slide-prev var(--motion-enter) backwards;
}

@keyframes v-slide-next {
  from {
    opacity: 0;
    translate: 24px 0;
  }
}
@keyframes v-slide-prev {
  from {
    opacity: 0;
    translate: -24px 0;
  }
}
.main {
  position: relative;
}
.main::before {
  content: "";
  position: absolute;
  inset: -20%;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(40% 35% at 78% 8%, var(--vesta-ambient-2), transparent 70%), radial-gradient(45% 40% at 12% 30%, var(--vesta-ambient-1), transparent 70%);
  animation: v-ambient 28s ease-in-out infinite alternate;
}

.teams-embed .main::before {
  content: none;
}

@keyframes v-ambient {
  from {
    transform: translate3d(-2%, -1%, 0) scale(1);
  }
  to {
    transform: translate3d(3%, 2%, 0) scale(1.08);
  }
}
@media print {
  .main::before {
    content: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .v-list-row,
  .pt-row,
  .tk-row,
  .v-tab-panel,
  .tab-pane.active,
  .page-title,
  .main-body h1,
  .page-sub,
  .v-expand-card-body,
  .dropdown-menu > li,
  .dropdown-menu > .dropdown-item,
  .notif-item,
  .wl-pop,
  .cal-wrap[class*=is-slide] .cal-rt,
  .v-dash-row--agenda.is-done .v-dash-row-t,
  .main::before {
    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,
.vesta-snackbar-container {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  overflow: visible;
}

.vesta-toast-container {
  position: fixed;
  top: 24px;
  right: 20px;
  bottom: auto;
  left: auto;
  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-snackbar-container {
  position: fixed;
  left: 50%;
  bottom: 24px;
  top: auto;
  right: auto;
  transform: translateX(-50%);
  z-index: 1090;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  pointer-events: none;
}

.app-shell.has-dock ~ .vesta-snackbar-container {
  bottom: 94px;
}
@media (max-width: 575.98px) {
  .app-shell.has-dock ~ .vesta-snackbar-container {
    bottom: 140px;
  }
}

.vesta-snackbar {
  min-width: 320px;
  max-width: min(560px, 100vw - 32px);
  background: var(--vesta-bg-sidebar);
  border-color: transparent;
  color: var(--vesta-text-inverse);
  box-shadow: var(--vesta-shadow-lg);
  font-size: 12.5px;
  padding: 9px 10px 9px 14px;
}
.vesta-snackbar .vesta-toast-icon {
  color: var(--vesta-on-dark-info);
}
.vesta-snackbar.vesta-toast-success .vesta-toast-icon {
  color: var(--vesta-on-dark-success);
}
.vesta-snackbar.vesta-toast-warning .vesta-toast-icon {
  color: var(--vesta-on-dark-warning);
}
.vesta-snackbar.vesta-toast-danger .vesta-toast-icon {
  color: var(--vesta-on-dark-danger);
}
.vesta-snackbar .vesta-toast-close {
  color: var(--vesta-text-inverse);
  opacity: 0.7;
}
.vesta-snackbar .vesta-toast-close:hover {
  background: color-mix(in srgb, var(--vesta-text-inverse) 14%, transparent);
  color: var(--vesta-text-inverse);
  opacity: 1;
}

.vesta-toast-action {
  flex: none;
  border: 0;
  cursor: pointer;
  padding: 5px 10px;
  border-radius: 6px;
  font-size: 12.5px;
  font-weight: 600;
  background: color-mix(in srgb, var(--vesta-text-inverse) 12%, transparent);
  color: var(--vesta-text-inverse);
}
.vesta-toast-action:hover {
  background: color-mix(in srgb, var(--vesta-text-inverse) 20%, transparent);
}

.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);
  position: relative;
}

.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;
  line-height: 1.5;
  text-align: center;
}
.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-tabs {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 0 14px;
  border-bottom: 1px solid var(--vesta-border-subtle);
}
[data-theme=dark] .notif-tabs {
  border-bottom-color: var(--vesta-border);
}

.notif-tab {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 0;
  margin-bottom: -1px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: none;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--vesta-text-secondary);
}
.notif-tab:hover {
  color: var(--vesta-text-primary);
}
.notif-tab.active {
  font-weight: 600;
  color: var(--vesta-text-primary);
  border-bottom-color: var(--vesta-primary);
}

.notif-tab-count {
  display: grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 99px;
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-secondary);
  font-size: 10.5px;
  font-weight: 600;
}
.notif-tab.active .notif-tab-count {
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary-strong);
}

.notif-tab-count--danger,
.notif-tab.active .notif-tab-count--danger {
  background: var(--vesta-danger-subtle);
  color: var(--vesta-danger-strong);
}
[data-theme=dark] .notif-tab-count--danger,
[data-theme=dark] .notif-tab.active .notif-tab-count--danger {
  background: rgba(var(--vesta-danger-rgb), 0.16);
  color: var(--vesta-danger);
}

.notif-tools {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: space-between;
  padding: 8px 14px;
  background: var(--vesta-bg-body);
  border-bottom: 1px solid var(--vesta-border-subtle);
  font-size: 12px;
  color: var(--vesta-text-secondary);
}
.notif-tools .form-check-label {
  font-size: 12px;
}
[data-theme=dark] .notif-tools {
  background: rgba(255, 255, 255, 0.03);
  border-bottom-color: var(--vesta-border);
}

.notif-item-head {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.notif-item-head .notif-item-title {
  flex: 1;
  min-width: 0;
}
.notif-item-head .notif-item-time {
  flex: none;
  margin-top: 0;
}

.notif-item--unread .notif-item-head::before {
  content: "";
  width: 6px;
  height: 6px;
  flex: none;
  align-self: center;
  margin-left: -10px;
  margin-right: -4px;
  border-radius: 50%;
  background: var(--vesta-primary);
}

.notif-item--alert {
  cursor: default;
}
.notif-item--alert .notif-item-time {
  flex: none;
  margin-top: 2px;
  font-variant-numeric: tabular-nums;
}

.notif-alert-text {
  font-size: 12.5px;
  line-height: 1.4;
  color: var(--vesta-text-primary);
  overflow-wrap: anywhere;
}

.notif-item--success .notif-alert-text {
  color: var(--vesta-text-secondary);
}

.notif-footer-note {
  font-size: 11px;
  color: var(--vesta-text-muted);
}

.notif-icon--success {
  background: var(--vesta-success-subtle);
  color: var(--vesta-success-strong);
}
[data-theme=dark] .notif-icon--success {
  background: rgba(var(--vesta-success-rgb), 0.16);
  color: var(--vesta-success);
}

.notif-icon--warning {
  background: var(--vesta-warning-subtle);
  color: var(--vesta-warning-strong);
}
[data-theme=dark] .notif-icon--warning {
  background: rgba(var(--vesta-warning-rgb), 0.16);
  color: var(--vesta-warning);
}

.notif-icon--danger {
  background: var(--vesta-danger-subtle);
  color: var(--vesta-danger-strong);
}
[data-theme=dark] .notif-icon--danger {
  background: rgba(var(--vesta-danger-rgb), 0.16);
  color: var(--vesta-danger);
}

.notif-icon--info {
  background: var(--vesta-info-subtle);
  color: var(--vesta-info-strong);
}
[data-theme=dark] .notif-icon--info {
  background: rgba(var(--vesta-info-rgb), 0.16);
  color: var(--vesta-info);
}

.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] {
  --vl-head-min: 32px;
  --vl-row-min: 40px;
}
[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-automation-scope {
  margin: 4px 0 10px;
}

.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: 12px;
  align-items: flex-start;
  padding: 11px 0;
  border-radius: var(--vesta-radius-md);
  background: var(--vesta-bg-subtle);
  border-top: 1px solid var(--vesta-border);
  border-left: 3px solid var(--vesta-border);
}
.brain-insight:first-of-type {
  border-top: none;
}
.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-diag {
  margin-top: 10px;
  border: 1px dashed var(--vesta-border);
  border-radius: var(--vesta-radius-md);
  background: var(--vesta-bg-subtle, var(--vesta-bg-card));
}

.brain-diag-head {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  cursor: pointer;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
  user-select: none;
}

.brain-diag-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 4px 10px 10px;
  font-size: 12px;
}

.brain-diag-rejected {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 10px;
  border-radius: var(--vesta-radius-md);
  border-left: 3px solid var(--vesta-warning, var(--vesta-primary));
  background: var(--vesta-bg-card);
}

.brain-diag-label, .brain-diag-grid dt {
  font-weight: 700;
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--vesta-text-secondary);
}

.brain-diag-value {
  color: var(--vesta-text-primary);
}

.brain-diag-grid {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 2px 12px;
  margin: 0;
}
.brain-diag-grid dt {
  align-self: center;
}
.brain-diag-grid dd {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}

.brain-diag-section {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.brain-diag-phases {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
}
.brain-diag-phases li {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
}

.brain-diag-phase-name {
  color: var(--vesta-text-secondary);
}

.brain-diag-phase-ms {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.brain-diag-evidence {
  display: flex;
  flex-direction: column;
  gap: 6px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.brain-diag-evidence li {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 6px 8px;
  border-radius: var(--vesta-radius-md);
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  min-width: 0;
}
.brain-diag-evidence li.is-cited {
  border-left: 3px solid var(--vesta-primary);
}
.brain-diag-evidence li.is-uncited {
  opacity: 0.75;
}

.brain-diag-ev-head {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.brain-diag-ev-type {
  font-weight: 600;
}

.brain-diag-ev-score {
  font-variant-numeric: tabular-nums;
  color: var(--vesta-text-secondary);
}

.brain-diag-ev-cited {
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--vesta-text-secondary);
}

.brain-diag-ev-snippet {
  color: var(--vesta-text-secondary);
  font-size: 11.5px;
  min-width: 0;
  overflow-wrap: anywhere;
}

.brain-diag-note {
  margin: 0;
  font-size: 11px;
  color: var(--vesta-text-secondary);
}

.brain-lookup {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.brain-lookup-btns {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.brain-tickets {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.brain-tickets-head {
  display: flex;
  align-items: center;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
  font-weight: 600;
}

.brain-tickets-count {
  white-space: nowrap;
}

.brain-tickets-scope,
.brain-tickets-more {
  color: var(--vesta-text-muted);
  font-size: 0.85em;
  font-weight: 400;
  margin: 0;
}

.brain-tickets-filters {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.brain-tickets-filter {
  border: 1px solid var(--vesta-border);
  border-radius: 999px;
  padding: 1px 8px;
  font-size: 0.8em;
  color: var(--vesta-text-muted);
  white-space: nowrap;
}

.brain-tickets-empty {
  margin: 0;
  color: var(--vesta-text-muted);
}

.brain-tickets-scroll {
  overflow-x: auto;
  min-width: 0;
  scrollbar-width: thin;
}

.brain-tickets-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9em;
}
.brain-tickets-table th, .brain-tickets-table td {
  text-align: left;
  padding: 4px 10px 4px 0;
  border-bottom: 1px solid var(--vesta-border);
  vertical-align: top;
}
.brain-tickets-table th {
  color: var(--vesta-text-muted);
  font-weight: 600;
  white-space: nowrap;
}
.brain-tickets-table .brain-tickets-title {
  min-width: 14ch;
}
.brain-tickets-table td:not(.brain-tickets-title) {
  white-space: nowrap;
}

.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-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: 136px;
  --pt-matrix-row-h: 40px;
}

.pt-matrix-scroll {
  overflow-x: auto;
  overflow-y: hidden;
  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--nosubject .pt-matrix-row {
  grid-template-columns: repeat(var(--pt-matrix-days), var(--pt-matrix-day-w)) minmax(0, var(--pt-matrix-total-w));
}

.pt-matrix-caption {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--vesta-text-secondary);
}

.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-day.is-today,
.pt-matrix-cell.is-today,
.pt-matrix-sum.is-today {
  box-shadow: inset 2px 0 0 0 var(--vesta-primary), inset -2px 0 0 0 var(--vesta-primary);
}

.pt-matrix-day.is-today {
  color: var(--vesta-primary-strong);
  font-weight: 700;
  box-shadow: inset 2px 0 0 0 var(--vesta-primary), inset -2px 0 0 0 var(--vesta-primary), inset 0 3px 0 0 var(--vesta-primary);
}
.pt-matrix-day.is-today .pt-matrix-dow {
  color: var(--vesta-primary-strong);
}

.pt-matrix-day.is-holiday.is-today {
  color: var(--vesta-danger-strong);
}

.pt-matrix-sum.is-nonworking.is-today {
  opacity: 1;
}

.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 {
  position: sticky;
  right: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
  padding: 3px 10px;
  background: var(--vesta-bg-card);
  border-left: 1px solid var(--vesta-border);
  font-family: var(--vesta-font-mono);
  font-size: 0.74rem;
  font-weight: 600;
}

.pt-matrix-row--head .pt-matrix-total {
  z-index: 4;
}

.pt-matrix-row--sum .pt-matrix-total {
  background: var(--vesta-border-subtle);
}
[data-theme=dark] .pt-matrix-row--sum .pt-matrix-total {
  background: rgba(148, 163, 184, 0.06);
}

.pt-matrix-total-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1px;
  min-width: 0;
}

.pt-matrix-total-v {
  flex: 0 0 auto;
  white-space: nowrap;
}

.pt-matrix-spark {
  flex: 0 0 42px;
  height: 16px;
  overflow: hidden;
}
.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--subtotal {
  margin-top: 3px;
  padding-top: 3px;
  border-top: 1px dashed var(--vesta-border-subtle);
}
.pt-matrix-tip-row--subtotal dt {
  font-style: italic;
}

.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;
}
.td-session .td-session-actions {
  flex: 0 0 auto;
  align-self: center;
  display: inline-flex;
  gap: 2px;
}
.td-session .td-session-actions .btn {
  padding: 0 4px;
  line-height: 1;
}

.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: 92px;
  }
  .pt-matrix-spark {
    display: none;
  }
  .pt-matrix-cell-btn {
    font-size: 0.64rem;
    letter-spacing: -0.03em;
  }
  .pt-matrix-tip {
    width: 188px;
  }
}
.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-strong);
}
.tk-split-tag.is-overflow {
  background: var(--vesta-warning-subtle, #FEF3C7);
  color: var(--vesta-warning-strong);
}

@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;
  overflow-wrap: anywhere;
}
.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__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__pane {
  animation: profileHeroIn 0.3s ease 0.2s backwards;
}

@media (prefers-reduced-motion: reduce) {
  .vesta-profile-hero__avatar::before,
  .vesta-profile__pane {
    animation: none;
  }
}
.vtg-head {
  position: relative;
  height: 52px;
}

.vtg-tick {
  position: absolute;
  top: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 8px;
  border-left: 1px solid var(--vesta-border-subtle);
  white-space: nowrap;
}

.vtg-tick-primary {
  font-family: var(--vesta-font-mono);
  font-size: 12px;
  font-weight: 600;
  color: var(--vesta-text-primary);
}

.vtg-tick-secondary {
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--vesta-text-muted);
}

.vtg-today-pill {
  position: absolute;
  bottom: 4px;
  z-index: 1;
  transform: translateX(-50%);
  padding: 1px 7px;
  border-radius: var(--vesta-radius-full);
  background: var(--vesta-fill-primary);
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  white-space: nowrap;
}

.vtg-line {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 0;
  border-left: 1px solid var(--vesta-border-subtle);
  pointer-events: none;
}

.vtg-today-line {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 2;
  width: 0;
  border-left: 2px solid var(--vesta-primary);
  opacity: 0.55;
  pointer-events: none;
}

.vtg-head--daily .vtg-tick {
  width: var(--vtg-day);
  align-items: center;
  padding-left: 0;
}

.vtg-tick--weekend .vtg-tick-primary {
  color: var(--vesta-text-muted);
}

.vtg-weekend {
  position: absolute;
  top: 0;
  bottom: 0;
  background: var(--vesta-bg-subtle);
  pointer-events: none;
}

.pp-view-tabs {
  margin-top: 4px;
}

.pp-flt {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  font-size: 12.5px;
  color: var(--vesta-text-secondary);
}

.pp-gwrap {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  background: var(--vesta-bg-card);
}

.pp-gantt {
  --pp-label-w: 300px;
  --pp-pct-w: 104px;
  --pp-sched-w: 190px;
  position: relative;
  display: grid;
  grid-template-columns: var(--pp-label-w) var(--pp-track-w, 600px) var(--pp-pct-w) var(--pp-sched-w);
  min-width: max-content;
}

.pp-row {
  display: contents;
}

.pp-corner,
.pp-col,
.pp-head-track {
  position: sticky;
  top: 0;
  z-index: 5;
  height: 52px;
  box-sizing: border-box;
  background: var(--vesta-bg-body);
  border-bottom: 1px solid var(--vesta-border);
}

[data-theme=dark] .pp-corner,
[data-theme=dark] .pp-col,
[data-theme=dark] .pp-head-track {
  background: var(--vesta-bg-sidebar-2);
}

.pp-corner,
.pp-col {
  display: flex;
  align-items: flex-end;
  padding: 8px 14px;
  font-size: var(--vesta-fs-xs);
  font-weight: var(--vesta-fw-bold);
  letter-spacing: var(--vesta-tracking-wide);
  text-transform: uppercase;
  color: var(--vesta-text-muted);
}

.pp-corner {
  left: 0;
  z-index: 6;
  border-right: 1px solid var(--vesta-border);
}

.pp-col {
  border-left: 1px solid var(--vesta-border);
}

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

.pp-head-track {
  z-index: 4;
}

.pp-col--progress,
.pp-col--schedule {
  z-index: 6;
}

.pp-col--progress,
.pp-pct {
  right: var(--pp-sched-w);
}

.pp-col--schedule,
.pp-sched {
  right: 0;
}

.pp-col--progress {
  box-shadow: -6px 0 8px -6px color-mix(in srgb, var(--vesta-text-primary) 18%, transparent);
}

.pp-label {
  position: sticky;
  left: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 62px;
  padding: 6px 12px 6px 8px;
  box-sizing: border-box;
  background: var(--vesta-bg-card);
  border-right: 1px solid var(--vesta-border);
  border-bottom: 1px solid var(--vesta-border-subtle);
}

.pp-label.is-child {
  min-height: 46px;
  padding-left: 40px;
  background: var(--vesta-bg-body);
}

.pp-label-body {
  min-width: 0;
}

.pp-tog {
  display: grid;
  flex: none;
  place-items: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--vesta-text-muted);
  cursor: pointer;
}

.pp-tog:hover {
  background: var(--vesta-bg-hover);
}

.pp-tog:focus-visible {
  outline: 2px solid var(--vesta-primary);
  outline-offset: 1px;
}

.pp-tog svg,
.pp-tog i {
  width: 15px;
  height: 15px;
  transition: transform 0.12s;
}

.pp-tog.is-open > svg,
.pp-tog.is-open > i {
  transform: rotate(90deg);
}

.pp-tog.is-none {
  visibility: hidden;
}

.pp-code {
  margin-right: 6px;
  font-family: var(--vesta-font-mono);
  font-size: 11px;
  font-weight: 600;
  color: var(--vesta-primary-strong);
  text-decoration: none;
}

a.pp-code:hover {
  text-decoration: underline;
}

.pp-label.is-child .pp-code {
  font-weight: 500;
  color: var(--vesta-text-muted);
}

.pp-name {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--vesta-text-primary);
}

.pp-label.is-child .pp-name {
  font-size: 12.5px;
  font-weight: 500;
}

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

.pp-track {
  position: relative;
  min-height: 62px;
  border-bottom: 1px solid var(--vesta-border-subtle);
}

.pp-track.is-child {
  min-height: 46px;
  background: color-mix(in srgb, var(--vesta-bg-body) 55%, transparent);
}

.pp-pct,
.pp-sched {
  position: sticky;
  z-index: 3;
  background: var(--vesta-bg-card);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 62px;
  padding: 0 14px;
  box-sizing: border-box;
  border-left: 1px solid var(--vesta-border);
  border-bottom: 1px solid var(--vesta-border-subtle);
}

.pp-pct {
  align-items: flex-end;
  font-family: var(--vesta-font-mono);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--vesta-text-primary);
}

.pp-pct.is-muted {
  color: var(--vesta-text-muted);
}

.pp-pct.is-child,
.pp-sched.is-child {
  min-height: 46px;
  background: var(--vesta-bg-body);
}

.pp-sched-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.pp-sched-pct {
  display: none;
  font-family: var(--vesta-font-mono);
  font-size: 12px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
}

.pp-sched-sub {
  margin-top: 3px;
  font-size: 11px;
  line-height: 1.3;
  color: var(--vesta-text-muted);
}

.pp-bar-hit {
  position: absolute;
  top: 50%;
  height: 18px;
  margin-top: -9px;
  outline: none;
}

.pp-bar-hit.is-wbs {
  height: 13px;
  margin-top: -6.5px;
}

.pp-bar-hit:focus-visible .pp-bar,
.pp-bar-hit:focus-visible .pp-wbar {
  box-shadow: 0 0 0 2px var(--vesta-bg-card), 0 0 0 4px var(--vesta-primary);
}

.pp-bar {
  display: block;
  height: 100%;
  overflow: hidden;
  box-sizing: border-box;
  border: 1px solid var(--vesta-primary);
  border-radius: 6px;
  background: var(--vesta-primary-subtle);
}

.pp-bar i {
  display: block;
  height: 100%;
  background: var(--vesta-primary);
}

.pp-bar.is-late {
  border-color: var(--vesta-danger);
  background: var(--vesta-danger-subtle);
}

.pp-bar.is-late i {
  background: var(--vesta-danger);
}

.pp-bar.is-done {
  border-color: var(--vesta-success-strong);
  background: var(--vesta-success-subtle);
}

.pp-bar.is-done i {
  background: var(--vesta-success);
}

.pp-bar.is-clip-l,
.pp-wbar.is-clip-l {
  border-left: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.pp-wbar {
  display: block;
  height: 100%;
  overflow: hidden;
  box-sizing: border-box;
  border-radius: 4px;
}

.pp-wbar.is-own {
  border: 1.5px solid var(--vesta-primary);
  background: var(--vesta-primary-subtle);
}

.pp-wbar.is-own i {
  display: block;
  height: 100%;
  background: var(--vesta-primary);
}

.pp-wbar.is-proj {
  border: 1.5px dashed var(--vesta-text-muted);
  background: transparent;
}

.pp-wbar.is-proj i {
  display: block;
  height: 100%;
  background: var(--vesta-text-muted);
  opacity: 0.3;
}

.pp-wbar.is-over {
  border-color: var(--vesta-danger);
}

.pp-wbar.is-over i {
  background: var(--vesta-danger);
}

.pp-fc {
  position: absolute;
  top: 50%;
  z-index: 1;
  height: 18px;
  margin-top: -9px;
  box-sizing: border-box;
  border: 2px dashed var(--vesta-danger);
  border-left: 0;
  border-radius: 0 6px 6px 0;
  pointer-events: none;
}

.pp-fc.is-clip-r {
  border-right: 0;
  border-radius: 0;
}

.pp-dia {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 11px;
  height: 11px;
  margin: -5.5px 0 0 -5.5px;
  box-sizing: border-box;
  transform: rotate(45deg);
  border: 2px solid var(--vesta-primary);
  background: var(--vesta-primary);
}

.pp-dia.is-ok {
  border-color: var(--vesta-success);
  background: var(--vesta-success);
}

.pp-dia.is-skip {
  border-color: var(--vesta-text-muted);
  background: var(--vesta-bg-card);
}

.pp-nm-band {
  position: absolute;
  top: 50%;
  height: 10px;
  margin-top: -5px;
  box-sizing: border-box;
  border: 1px solid var(--vesta-border);
  border-radius: 5px;
  background: repeating-linear-gradient(135deg, var(--vesta-border) 0 6px, transparent 6px 12px);
}

.pp-nm-lbl {
  position: absolute;
  top: 50%;
  margin-top: 8px;
  font-size: 11px;
  color: var(--vesta-text-muted);
  white-space: nowrap;
}

.pp-tip {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 40;
  display: none;
  width: 290px;
  max-width: calc(100vw - 16px);
  padding: 11px 13px;
  border: 1px solid var(--vesta-border);
  border-radius: 10px;
  background: var(--vesta-bg-card);
  box-shadow: var(--vesta-shadow-lg);
  font-size: 12px;
  color: var(--vesta-text-primary);
  pointer-events: none;
}

.pp-bar-hit:hover .pp-tip,
.pp-bar-hit:focus-visible .pp-tip {
  display: block;
}

.pp-tip-t {
  display: block;
  margin-bottom: 7px;
  font-size: 12.5px;
  font-weight: 600;
}

.pp-tip-kv {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 12px;
  row-gap: 4px;
}

.pp-tip-kv > span:nth-child(odd) {
  color: var(--vesta-text-muted);
}

.pp-legend {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  padding: 10px 14px;
  background: var(--vesta-bg-card);
  border-top: 1px solid var(--vesta-border);
  font-size: 11.5px;
  color: var(--vesta-text-secondary);
}

.pp-legend > span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.pp-lg {
  display: inline-block;
  width: 26px;
  height: 10px;
  box-sizing: border-box;
  border-radius: 3px;
}

.pp-lg--own {
  border: 1.5px solid var(--vesta-primary);
  background: var(--vesta-primary-subtle);
}

.pp-lg--proj {
  border: 1.5px dashed var(--vesta-text-muted);
}

.pp-lg--fc {
  border: 2px dashed var(--vesta-danger);
  border-left: 0;
  border-radius: 0 3px 3px 0;
}

.pp-lg--dia {
  width: 9px;
  height: 9px;
  border-radius: 0;
  transform: rotate(45deg);
  background: var(--vesta-success);
}

.pp-lg--nm {
  border: 1px solid var(--vesta-border);
  background: repeating-linear-gradient(135deg, var(--vesta-border) 0 5px, transparent 5px 10px);
}

@media (max-width: 1199.98px) {
  .pp-gantt {
    --pp-label-w: 220px;
    --pp-pct-w: 0px;
    --pp-sched-w: 170px;
  }
  .pp-col--progress,
  .pp-pct {
    visibility: hidden;
    overflow: hidden;
    padding: 0;
    border: 0;
  }
  .pp-col--schedule {
    box-shadow: -6px 0 8px -6px color-mix(in srgb, var(--vesta-text-primary) 18%, transparent);
  }
  .pp-sched-pct {
    display: inline;
  }
}
@media (max-width: 767.98px) {
  .pp-gantt {
    --pp-label-w: 170px;
    --pp-sched-w: 140px;
  }
  .pp-col--progress,
  .pp-col--schedule,
  .pp-pct,
  .pp-sched {
    position: static;
    box-shadow: none;
  }
  .pp-col--progress,
  .pp-col--schedule {
    position: sticky;
    right: auto;
  }
  .pp-label {
    padding-right: 8px;
  }
  .pp-label .badge,
  .pp-meta {
    display: none;
  }
  .pp-gwrap {
    max-height: none;
    min-height: 320px;
  }
  .pp-legend {
    gap: 8px 14px;
  }
}
.pl-range {
  margin-left: 6px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
  white-space: nowrap;
}

.pl-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
  padding: 8px 14px;
  border-bottom: 1px solid var(--vesta-border-subtle);
  background: var(--vesta-bg-card);
}

.pl-flt {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 220px;
  font-size: 12.5px;
  color: var(--vesta-text-secondary);
}

.pl-flt > :last-child {
  flex: 1 1 auto;
  min-width: 0;
}

.pl-gantt {
  grid-template-columns: var(--pp-label-w) var(--pp-track-w, 600px);
}

.pl-label {
  align-items: flex-start;
}

.pl-optout {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin-left: 6px;
  color: var(--vesta-warning-strong);
}

.pl-optout svg,
.pl-optout i {
  width: 12px;
  height: 12px;
}

.pl-track {
  overflow: hidden;
}

.pl-group {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  padding: 6px 12px;
  background: var(--vesta-bg-body);
  font-size: var(--vesta-fs-xs);
  font-weight: var(--vesta-fw-bold);
  letter-spacing: var(--vesta-tracking-wide);
  text-transform: uppercase;
  color: var(--vesta-text-muted);
}

.pl-note {
  position: absolute;
  top: 50%;
  left: 12px;
  transform: translateY(-50%);
  font-size: 11.5px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  color: var(--vesta-text-muted);
  white-space: nowrap;
}

.pl-ellipsis {
  max-width: 270px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pl-unav {
  position: absolute;
  top: 0;
  bottom: 20px;
  z-index: 0;
  background: repeating-linear-gradient(135deg, color-mix(in srgb, var(--vesta-warning) 16%, transparent) 0 5px, transparent 5px 10px);
  outline: none;
}

.pl-unav.is-full {
  background: repeating-linear-gradient(135deg, color-mix(in srgb, var(--vesta-warning) 30%, transparent) 0 5px, transparent 5px 10px);
}

.pl-unav:hover .pp-tip,
.pl-unav:focus-visible .pp-tip {
  display: block;
}

.pl-load {
  position: absolute;
  bottom: 2px;
  z-index: 1;
  height: 16px;
  box-sizing: border-box;
  border-left: 1px solid var(--vesta-bg-card);
  font-family: var(--vesta-font-mono);
  font-size: 10px;
  font-weight: 600;
  line-height: 16px;
  text-align: center;
  color: var(--vesta-text-primary);
}

.pl-load small {
  font-size: 9px;
  color: var(--vesta-text-muted);
}

.pl-load.is-ok {
  background: var(--vesta-success-subtle);
}

.pl-load.is-high {
  border-top: 2px dotted var(--vesta-warning-strong);
  background: var(--vesta-warning-subtle);
  line-height: 14px;
}

.pl-load.is-full {
  border-top: 2px solid var(--vesta-danger-strong);
  background: var(--vesta-danger-subtle);
  line-height: 14px;
}

.pl-load.is-none {
  background: var(--vesta-bg-subtle);
}

.tsb-hit {
  position: absolute;
  z-index: 2;
  outline: none;
}

.tsb-hit:hover .pp-tip,
.tsb-hit:focus-visible .pp-tip {
  display: block;
}

.tsb-hit:focus-visible .tsb {
  box-shadow: 0 0 0 2px var(--vesta-bg-card), 0 0 0 4px var(--vesta-primary);
}

.tsb {
  position: relative;
  display: flex;
  align-items: center;
  gap: 4px;
  height: 100%;
  padding: 0 7px;
  overflow: hidden;
  box-sizing: border-box;
  border: 1px solid var(--vesta-primary);
  border-radius: 6px;
  background: var(--vesta-primary-subtle);
  font-size: 11.5px;
  font-weight: 600;
  color: var(--vesta-text-primary);
}

.tsb-fill {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  background: color-mix(in srgb, var(--vesta-primary) 28%, transparent);
  pointer-events: none;
}

.tsb-label {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tsb-mark {
  position: relative;
  flex: none;
  width: 13px;
  height: 13px;
  color: var(--vesta-danger-strong);
}

.tsb.is-late {
  border-color: var(--vesta-danger);
  background: var(--vesta-danger-subtle);
}

.tsb.is-late .tsb-fill {
  background: color-mix(in srgb, var(--vesta-danger) 28%, transparent);
}

.tsb.is-blocked {
  border-style: dashed;
  border-color: var(--vesta-warning-strong);
  background: var(--vesta-warning-subtle);
}

.tsb.is-blocked .tsb-mark {
  color: var(--vesta-warning-strong);
}

.tsb.is-busy {
  border: 1px dashed var(--vesta-text-muted);
  background: repeating-linear-gradient(135deg, var(--vesta-bg-subtle) 0 6px, transparent 6px 12px);
  font-weight: 500;
  color: var(--vesta-text-muted);
}

.tsb.is-clip-l {
  border-left: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.tsb.is-clip-r {
  border-right: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.pl-window-empty {
  position: sticky;
  left: 0;
  display: flex;
  align-items: center;
  gap: 7px;
  grid-column: 1/-1;
  max-width: 960px;
  padding: 8px 14px;
  box-sizing: border-box;
  border-bottom: 1px solid var(--vesta-border-subtle);
  font-size: 12.5px;
  color: var(--vesta-text-muted);
}

.pl-window-empty svg,
.pl-window-empty i {
  width: 14px;
  height: 14px;
}

.pl-queue {
  position: sticky;
  left: 0;
  grid-column: 1/-1;
  max-width: 960px;
  padding: 6px 14px 10px 40px;
  box-sizing: border-box;
  background: var(--vesta-bg-body);
  border-bottom: 1px solid var(--vesta-border-subtle);
}

.pl-queue-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.pl-queue-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 4px 0;
  font-size: 12.5px;
  color: var(--vesta-text-primary);
}

.pl-queue-item.is-busy {
  color: var(--vesta-text-muted);
}

.pl-queue-pos {
  width: 22px;
  font-family: var(--vesta-font-mono);
  font-size: 11px;
  font-weight: 600;
  text-align: right;
  color: var(--vesta-text-muted);
}

.pl-queue-title {
  min-width: 0;
}

.pl-queue-item .badge svg,
.pl-queue-item .badge i,
.pl-legend svg,
.pl-legend i[data-lucide] {
  width: 13px;
  height: 13px;
  vertical-align: -2px;
}

.pl-queue-meta {
  font-family: var(--vesta-font-mono);
  font-size: 11px;
  color: var(--vesta-text-muted);
}

.pl-sprints-box {
  flex-shrink: 0;
  background: var(--vesta-bg-card);
  border-top: 1px solid var(--vesta-border);
}

.pl-sprints-box > summary {
  padding: 9px 14px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
  cursor: pointer;
}

.pl-sprints {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  max-height: 33vh;
  padding: 4px 14px 12px;
  overflow-y: auto;
}

.pl-sprint {
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: 260px;
  padding: 10px 12px;
  box-sizing: border-box;
  border: 1px solid var(--vesta-border);
  border-radius: 10px;
}

.pl-sprint-head {
  display: flex;
  align-items: center;
  gap: 6px;
}

.pl-sprint-head svg,
.pl-sprint-head i {
  width: 14px;
  height: 14px;
  color: var(--vesta-text-muted);
}

.pl-sprint-bar {
  height: 8px;
  overflow: hidden;
  border-radius: var(--vesta-radius-full);
  background: var(--vesta-bg-subtle);
}

.pl-sprint-bar i {
  display: block;
  height: 100%;
  background: var(--vesta-primary);
}

.pl-sprint-bar.is-over i {
  background: var(--vesta-danger);
}

.pl-warn {
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--vesta-warning-strong);
}

.pl-lg {
  display: inline-block;
  width: 26px;
  height: 10px;
  box-sizing: border-box;
  border-radius: 3px;
}

.pl-lg--bar {
  border: 1px solid var(--vesta-primary);
  background: linear-gradient(90deg, color-mix(in srgb, var(--vesta-primary) 40%, transparent) 55%, var(--vesta-primary-subtle) 55%);
}

.pl-lg--busy {
  border: 1px dashed var(--vesta-text-muted);
  background: repeating-linear-gradient(135deg, var(--vesta-bg-subtle) 0 4px, transparent 4px 8px);
}

.pl-lg--load {
  height: 12px;
  border-top: 2px solid var(--vesta-danger-strong);
  border-radius: 0;
  background: var(--vesta-danger-subtle);
}

.pl-lg--unav {
  background: repeating-linear-gradient(135deg, color-mix(in srgb, var(--vesta-warning) 30%, transparent) 0 4px, transparent 4px 8px);
}

.pl-queue-item[draggable=true],
.tsb-hit.is-draggable {
  cursor: grab;
}

.pl-queue-item.is-selected,
.pp-label.is-selected {
  background: var(--vesta-primary-subtle);
}

.pl-queue-item:focus-visible,
.pp-label.is-child:focus-visible {
  outline: 2px solid var(--vesta-primary);
  outline-offset: -2px;
}

.pl-queue-sel {
  color: var(--vesta-text-muted);
}

.pl-gesture-bar {
  display: flex;
  flex-basis: 100%;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 4px 0 2px 30px;
}

.pp-label .pl-gesture-bar {
  padding-left: 0;
}

.pl-label.is-drop {
  outline: 1px dashed var(--vesta-primary);
  outline-offset: -3px;
}

.pl-drop-day {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 3;
  border-left: 1px dashed color-mix(in srgb, var(--vesta-primary) 30%, transparent);
}

.pl-drop-day:hover {
  background: color-mix(in srgb, var(--vesta-primary) 12%, transparent);
}

.pl-preview-row {
  grid-column: 1/-1;
}

.pl-preview {
  margin: 8px 0 12px;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--vesta-primary) 35%, transparent);
  border-radius: var(--vesta-radius);
  background: var(--vesta-primary-subtle);
}

.pl-preview-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.pl-preview-title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
}

.pl-preview-sub,
.pl-preview-note,
.pl-preview-empty {
  margin: 4px 0 0;
  font-size: 12px;
  color: var(--vesta-text-muted);
}

.pl-preview-table {
  margin: 8px 0 0;
  font-size: 12.5px;
  --bs-table-bg: transparent;
}

.pl-preview-table tr.is-target td {
  font-weight: 600;
}

.pl-preview-table s {
  color: var(--vesta-text-muted);
}

.pl-preview-table .badge {
  margin: 0 4px 2px 0;
}

.tsb-ghost {
  position: absolute;
  box-sizing: border-box;
  border: 1.5px dashed var(--vesta-primary);
  border-radius: 6px;
  background: transparent;
  pointer-events: none;
}

.pl-preview-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 6px;
}

.v-snap-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.v-snap-card {
  border: 1px solid var(--vesta-border);
  border-radius: var(--vesta-radius-lg);
  background: var(--vesta-bg-card);
  overflow: hidden;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.v-snap-card.is-open {
  border-color: var(--vesta-primary-border);
  box-shadow: 0 0 0 1px var(--vesta-primary-border);
}

.v-snap-head {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto 20px;
  align-items: center;
  gap: 14px;
  width: 100%;
  padding: 14px 16px;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  cursor: pointer;
  transition: background 0.15s;
}
.v-snap-head:hover {
  background: var(--vesta-bg-hover);
}
.v-snap-head:focus-visible {
  outline: none;
  outline: none;
  border-color: var(--vesta-primary);
  box-shadow: var(--focus-ring);
}

.v-snap-ico {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: var(--vesta-radius-md);
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary);
}
.v-snap-ico .lucide,
.v-snap-ico svg {
  width: 18px;
  height: 18px;
}
.v-snap-ico--manual {
  background: var(--vesta-success-subtle);
  color: var(--vesta-success);
}

.v-snap-title {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.v-snap-name {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 14px;
  font-weight: 700;
  color: var(--vesta-text-primary);
}

.v-snap-tag {
  padding: 2px 8px;
  border-radius: var(--vesta-radius-sm);
  background: var(--vesta-bg-muted);
  color: var(--vesta-text-secondary);
  font-size: 11.5px;
  font-weight: 600;
}

.v-snap-meta {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  color: var(--vesta-text-muted);
}

.v-snap-cols {
  display: flex;
  align-items: flex-start;
  gap: 28px;
}

.v-snap-col {
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: flex-end;
  min-width: 72px;
  text-align: right;
}
.v-snap-col-k {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--vesta-text-muted);
  white-space: nowrap;
}
.v-snap-col-v {
  font-family: var(--vesta-font-mono);
  font-size: 15px;
  font-weight: 700;
  color: var(--vesta-text-primary);
  font-variant-numeric: tabular-nums;
}
.v-snap-col-v.text-success {
  color: var(--vesta-success);
}
.v-snap-col-v.text-danger {
  color: var(--vesta-danger);
}
.v-snap-col-v.text-warning {
  color: var(--vesta-warning);
}
.v-snap-col-sub {
  font-size: 11px;
  color: var(--vesta-text-muted);
  white-space: nowrap;
}
.v-snap-col-sub.text-danger {
  color: var(--vesta-danger);
}

.v-snap-chev {
  display: grid;
  place-items: center;
  color: var(--vesta-text-muted);
}
.v-snap-chev .lucide,
.v-snap-chev svg {
  width: 16px;
  height: 16px;
}

.v-snap-body {
  border-top: 1px dashed var(--vesta-border-subtle);
}

@media (max-width: 720px) {
  .v-snap-head {
    grid-template-columns: 40px minmax(0, 1fr) 20px;
  }
  .v-snap-cols {
    grid-column: 1/-1;
    grid-row: 2;
    flex-wrap: wrap;
    gap: 16px 24px;
  }
  .v-snap-col {
    align-items: flex-start;
    text-align: left;
  }
  .v-snap-chev {
    grid-column: 3;
    grid-row: 1;
  }
}
.v-wgrid-wrap {
  container: wgrid/inline-size;
}

.v-wgrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
  grid-auto-rows: 148px;
  grid-auto-flow: dense;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.v-wcell {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 0;
}
.v-wcell > .v-dash-card {
  flex: 1;
  min-height: 0;
  overflow: clip;
}
.v-wcell.is-s {
  grid-column: span 1;
  grid-row: span 1;
}
.v-wcell.is-m {
  grid-column: span 2;
  grid-row: span 1;
}
.v-wcell.is-l {
  grid-column: span 2;
  grid-row: span 2;
}
.v-wcell.is-xl {
  grid-column: span 4;
  grid-row: span 2;
}

@container wgrid (max-width: 633.98px) {
  .v-wcell.is-xl {
    grid-column: span 2;
  }
}
@container wgrid (max-width: 309.98px) {
  .v-wcell.is-m,
  .v-wcell.is-l,
  .v-wcell.is-xl {
    grid-column: span 1;
  }
}
@media (max-width: 720px) {
  .v-wgrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .v-wcell.is-xl {
    grid-column: span 2;
  }
}
.v-widget.is-primary .v-dash-card-h h2 svg {
  color: var(--vesta-primary-strong);
}
.v-widget.is-success .v-dash-card-h h2 svg {
  color: var(--vesta-success-strong);
}
.v-widget.is-warning .v-dash-card-h h2 svg {
  color: var(--vesta-warning-strong);
}
.v-widget.is-danger .v-dash-card-h h2 svg {
  color: var(--vesta-danger-strong);
}
.v-widget.is-info .v-dash-card-h h2 svg {
  color: var(--vesta-info-strong);
}

.v-widget-pending {
  margin: 0;
  font-size: 12.5px;
  color: var(--vesta-text-muted);
}

.v-wgrid.is-editing .v-wcell {
  cursor: grab;
}
.v-wgrid.is-editing .v-wcell > .v-dash-card {
  border-style: dashed;
  border-color: var(--vesta-border-input);
}
.v-wgrid.is-editing .v-wcell.is-drop-target > .v-dash-card {
  border-style: solid;
  border-color: var(--vesta-primary);
  box-shadow: var(--focus-ring);
}

.v-wcell-edit {
  position: absolute;
  right: 6px;
  bottom: 6px;
  left: 6px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  padding: 4px;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 8px;
  box-shadow: var(--vesta-shadow-sm);
  cursor: default;
}

.v-wcell-grip svg {
  width: 14px;
  height: 14px;
  color: var(--vesta-text-muted);
}

.v-wcell-btn,
.v-wcell-size {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 5px;
  font-size: 11px;
  font-weight: 600;
  color: var(--vesta-text-primary);
  background: transparent;
  border: 1px solid var(--vesta-border-subtle);
  border-radius: 6px;
}
.v-wcell-btn svg,
.v-wcell-size svg {
  width: 13px;
  height: 13px;
}
.v-wcell-btn:hover:not(:disabled),
.v-wcell-size:hover:not(:disabled) {
  background: var(--vesta-bg-hover);
}
.v-wcell-btn:focus-visible,
.v-wcell-size:focus-visible {
  outline: none;
  border-color: var(--vesta-primary);
  box-shadow: var(--focus-ring);
}
.v-wcell-btn:disabled,
.v-wcell-size:disabled {
  opacity: 0.45;
}

.v-wcell-size[aria-pressed=true] {
  color: #fff;
  background: var(--vesta-fill-primary);
  border-color: var(--vesta-fill-primary);
}

.v-wcell-btn.is-remove {
  margin-left: auto;
  color: var(--vesta-danger-strong);
}

.v-wgallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.v-wgallery-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 500;
  text-align: left;
  color: var(--vesta-text-primary);
  background: var(--vesta-bg-card);
  border: 1px dashed var(--vesta-border-input);
  border-radius: 10px;
}
.v-wgallery-item svg {
  width: 15px;
  height: 15px;
  flex: none;
}
.v-wgallery-item:hover {
  background: var(--vesta-bg-hover);
}
.v-wgallery-item:focus-visible {
  outline: none;
  border-color: var(--vesta-primary);
  box-shadow: var(--focus-ring);
}
.v-wgallery-item.is-primary .v-wgallery-ico svg {
  color: var(--vesta-primary-strong);
}
.v-wgallery-item.is-success .v-wgallery-ico svg {
  color: var(--vesta-success-strong);
}
.v-wgallery-item.is-warning .v-wgallery-ico svg {
  color: var(--vesta-warning-strong);
}
.v-wgallery-item.is-danger .v-wgallery-ico svg {
  color: var(--vesta-danger-strong);
}
.v-wgallery-item.is-info .v-wgallery-ico svg {
  color: var(--vesta-info-strong);
}

.v-wgallery-name {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v-wgallery-plus svg {
  color: var(--vesta-text-muted);
}

dialog.v-wpanel-host {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  overflow: clip;
}

dialog.v-wpanel-host:not([open]) {
  display: block;
}

dialog.v-wpanel-host::backdrop {
  background: transparent;
}

.v-wpanel-scrim {
  position: absolute;
  inset: 0;
  background: rgba(2, 6, 23, 0.42);
}

.v-wpanel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  width: min(360px, 100vw);
  background: var(--vesta-bg-card);
  border-left: 1px solid var(--vesta-border);
  box-shadow: -18px 0 48px rgba(2, 6, 23, 0.28);
}

[data-theme=dark] .v-wpanel {
  box-shadow: -18px 0 48px rgba(0, 0, 0, 0.55);
}

.v-wpanel-h {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--vesta-border);
}

.v-wpanel-title {
  display: flex;
  flex: 1;
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin: 0;
  font-size: 15px;
  font-weight: 700;
}

.v-wpanel-title svg {
  width: 17px;
  height: 17px;
  color: var(--vesta-primary-strong);
}

.v-wpanel-body {
  flex: 1;
  min-height: 0;
  padding: 14px 16px;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.v-wpanel-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.v-wpanel-item {
  position: relative;
  display: flex;
  min-height: 148px;
}

.v-wpanel-item > .v-dash-card {
  flex: 1;
  min-width: 0;
  overflow: clip;
}

.v-wpanel-list.is-editing .v-wpanel-item {
  cursor: grab;
}

.v-wpanel-list.is-editing .v-wpanel-item > .v-dash-card {
  border-style: dashed;
  border-color: var(--vesta-border-input);
}

.v-wpanel-item.is-drop-target > .v-dash-card {
  border-style: solid;
  border-color: var(--vesta-primary);
  box-shadow: var(--focus-ring);
}

.v-wpanel-gallery {
  margin-top: 16px;
}

.v-wpanel-subtitle {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
}

.v-wgallery.is-panel {
  grid-template-columns: 1fr;
}

.v-wpanel-f {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 16px;
  border-top: 1px solid var(--vesta-border);
}

@keyframes v-wjiggle {
  from {
    rotate: -0.6deg;
  }
  to {
    rotate: 0.6deg;
  }
}
.v-wgrid.is-editing .v-wcell,
.v-wpanel-list.is-editing .v-wpanel-item {
  animation: v-wjiggle 0.32s ease-in-out infinite alternate;
}

.v-wgrid.is-editing .v-wcell:nth-child(2n),
.v-wpanel-list.is-editing .v-wpanel-item:nth-child(2n) {
  animation-delay: -0.16s;
}

.v-wgrid.is-editing .v-wcell:nth-child(3n),
.v-wpanel-list.is-editing .v-wpanel-item:nth-child(3n) {
  animation-duration: 0.36s;
}

.v-wgrid.is-editing .v-wcell.is-drop-target,
.v-wpanel-list.is-editing .v-wpanel-item.is-drop-target {
  animation: none;
}

@media (prefers-reduced-motion: reduce) {
  .v-wgrid.is-editing .v-wcell,
  .v-wpanel-list.is-editing .v-wpanel-item {
    animation: none;
  }
}
@keyframes v-wpanel-in {
  from {
    translate: 100% 0;
  }
}
@keyframes v-wpanel-out {
  to {
    translate: 100% 0;
  }
}
@keyframes v-wpanel-fade-out {
  to {
    opacity: 0;
  }
}
.v-wpanel {
  animation: v-wpanel-in var(--motion-slow) backwards;
}

.v-wpanel-scrim {
  animation: v-fade-in var(--motion-base) backwards;
}

.v-wpanel-host.is-closing .v-wpanel {
  animation: v-wpanel-out var(--motion-base) forwards;
}

.v-wpanel-host.is-closing .v-wpanel-scrim {
  animation: v-wpanel-fade-out var(--motion-base) forwards;
}

.v-wgallery > li {
  animation: v-row-in var(--motion-fast) backwards;
}

.v-wgallery > li:nth-child(2) {
  animation-delay: 22ms;
}

.v-wgallery > li:nth-child(3) {
  animation-delay: 44ms;
}

.v-wgallery > li:nth-child(4) {
  animation-delay: 66ms;
}

.v-wgallery > li:nth-child(5) {
  animation-delay: 88ms;
}

.v-wgallery > li:nth-child(6) {
  animation-delay: 110ms;
}

.v-wgallery > li:nth-child(7) {
  animation-delay: 132ms;
}

.v-wgallery > li:nth-child(8) {
  animation-delay: 154ms;
}

.v-wgallery > li:nth-child(9) {
  animation-delay: 176ms;
}

.v-wgallery > li:nth-child(10) {
  animation-delay: 198ms;
}

.v-wgallery > li:nth-child(11) {
  animation-delay: 220ms;
}

.v-wgallery > li:nth-child(12) {
  animation-delay: 242ms;
}

.v-wgallery > li:nth-child(n+13) {
  animation-delay: 242ms;
}

.v-wgrid.is-editing .v-wcell.is-dragging,
.v-wpanel-list.is-editing .v-wpanel-item.is-dragging {
  opacity: 0.35;
  animation: none;
}

@media (prefers-reduced-motion: reduce) {
  .v-wpanel,
  .v-wpanel-scrim,
  .v-wpanel-host.is-closing .v-wpanel,
  .v-wpanel-host.is-closing .v-wpanel-scrim,
  .v-wgallery > li {
    animation: none;
  }
}
.v-widget > .v-dash-card-b {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 8px;
  min-height: 0;
  overflow: clip;
}

.v-widget .v-dash-kpi {
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
}

.v-widget .v-dash-kpi.is-link:hover {
  border-color: transparent;
  box-shadow: none;
}

.v-widget-msg {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  margin: 0;
  font-size: 12.5px;
  color: var(--vesta-text-muted);
}

.v-widget-msg svg {
  flex: none;
  width: 15px;
  height: 15px;
}

.v-widget-msg .btn {
  margin-left: auto;
}

.v-widget-skel {
  width: 100%;
}

.v-wrows {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.v-wmore {
  align-self: flex-start;
  font-size: 12px;
  font-weight: 600;
  color: var(--vesta-primary-strong);
  text-decoration: none;
}

.v-wmore:hover {
  text-decoration: underline;
}

.v-widget .v-dash-vbars.v-wbars {
  height: 104px;
  margin-top: 4px;
}

.v-wtimer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  min-width: 0;
}

.v-wtimer > .v-dash-row-main {
  flex: 1 1 120px;
  min-width: 0;
}

.v-wtimer > .v-dash-timer-acts {
  margin-left: auto;
}

.v-wtimer-time {
  display: flex;
  align-items: center;
  font-family: var(--vesta-font-mono);
  font-size: 24px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
  color: var(--vesta-primary-strong);
}

.v-wtimer-time > .v-dash-timer-pulse {
  margin-right: 8px;
}

.v-wtimer.is-s .v-wtimer-time {
  font-size: 20px;
}

.v-wtimer.is-l .v-wtimer-time {
  font-size: 34px;
}

.v-wtimer.is-paused .v-wtimer-time {
  color: var(--vesta-text-secondary);
}

.v-wtimer.is-paused .v-dash-timer-pulse {
  background: var(--vesta-text-muted);
  animation: none;
}

.v-wclock {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  min-width: 0;
}

.v-wclock-time {
  font-family: var(--vesta-font-mono);
  font-size: 34px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--vesta-text-primary);
}

.v-wclock-date {
  font-size: 12.5px;
  color: var(--vesta-text-secondary);
}

.v-wclock-date::first-letter {
  text-transform: uppercase;
}

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

@keyframes v-wsep-blink {
  50% {
    opacity: 0.2;
  }
}
.v-wtimer.is-live .v-wtime-sep,
.v-wclock .v-wtime-sep {
  animation: v-wsep-blink 1s steps(1, end) infinite;
}

.v-wnext {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.v-wnext.is-s,
.v-wnext.is-l {
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.v-wnext > .v-dash-row-main {
  flex: 1;
  min-width: 0;
}

.v-wnext-when {
  display: flex;
  flex: none;
  flex-direction: column;
}

.v-wnext-time {
  font-family: var(--vesta-font-mono);
  font-size: 24px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
  color: var(--vesta-success-strong);
}

.v-wnext-day {
  font-size: 12px;
  font-weight: 600;
  color: var(--vesta-text-secondary);
}

.v-wnext-day::first-letter {
  text-transform: uppercase;
}

.v-wcheck {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 0;
  font-size: 12.5px;
  list-style: none;
}

.v-wcheck > li,
.v-wcheck-one {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: var(--vesta-text-secondary);
}

.v-wcheck-one {
  font-size: 12.5px;
}

.v-wcheck svg,
.v-wcheck-one svg {
  flex: none;
  width: 14px;
  height: 14px;
}

.v-wcheck .is-ok svg,
.v-wcheck-one.is-ok svg {
  color: var(--vesta-success-strong);
}

.v-wcheck .is-warn svg,
.v-wcheck-one.is-warn svg {
  color: var(--vesta-warning-strong);
}

.v-wrows > .v-dash-row,
.v-wcheck > li {
  animation: v-row-in var(--motion-fast) backwards;
}

.v-wrows > .v-dash-row:nth-child(2),
.v-wcheck > li:nth-child(2) {
  animation-delay: 22ms;
}

.v-wrows > .v-dash-row:nth-child(3),
.v-wcheck > li:nth-child(3) {
  animation-delay: 44ms;
}

.v-wrows > .v-dash-row:nth-child(4),
.v-wcheck > li:nth-child(4) {
  animation-delay: 66ms;
}

.v-wrows > .v-dash-row:nth-child(5) {
  animation-delay: 88ms;
}

.v-widget > .v-dash-card-h {
  padding: 14px 16px 0;
  border-bottom: 0;
}

.v-widget > .v-dash-card-h h2 {
  min-width: 0;
  overflow: hidden;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--vesta-text-secondary);
}

.v-widget > .v-dash-card-h h2 svg {
  width: 15px;
  height: 15px;
}

.v-widget > .v-dash-card-b {
  padding-top: 10px;
}

.v-widget.is-h1 > .v-dash-card-h {
  padding-top: 12px;
}

.v-widget.is-h1 > .v-dash-card-h h2 {
  font-size: 11px;
}

.v-widget.is-h1 > .v-dash-card-b {
  gap: 6px;
  padding-top: 6px;
}

.v-whero {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 12px;
  min-width: 0;
}

.v-wbig {
  font-family: var(--vesta-font-display);
  font-size: 34px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: -0.03em;
  white-space: nowrap;
  color: var(--vesta-text);
  text-decoration: none;
}

.v-widget.is-h1 .v-wbig {
  font-size: 28px;
}

.v-wbig small {
  margin-left: 3px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  color: var(--vesta-text-muted);
}

.v-wbig.is-link:hover {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.v-wbig.is-ok {
  color: var(--vesta-success-strong);
}

.v-wbig.is-warn {
  color: var(--vesta-warning-strong);
}

.v-wbig.is-bad {
  color: var(--vesta-danger-strong);
}

.v-wbig.is-primary {
  color: var(--vesta-primary-strong);
}

.v-wsub {
  min-width: 0;
  font-size: 12px;
  color: var(--vesta-text-muted);
}

.v-wsub a {
  color: inherit;
  text-decoration: underline dotted;
  text-underline-offset: 2px;
}

.v-wsub a:hover {
  color: var(--vesta-primary-strong);
}

.v-wsub b {
  font-weight: 600;
  color: var(--vesta-text);
}

.v-whero-aside {
  align-self: center;
  margin-left: auto;
}

.v-wcell.is-s .v-whero-aside {
  display: none;
}

.v-wlist {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-height: 0;
  overflow: hidden;
  mask-image: linear-gradient(#000 calc(100% - 10px), transparent);
}

.v-widget.is-h1 .v-wlist {
  gap: 5px;
}

.v-wrow {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  font-size: 13px;
  color: var(--vesta-text);
  text-decoration: none;
  animation: v-row-in var(--motion-fast) backwards;
}

.v-widget.is-h1 .v-wrow {
  font-size: 12.5px;
}

.v-wlist > .v-wrow:nth-child(2) {
  animation-delay: 45ms;
}

.v-wlist > .v-wrow:nth-child(3) {
  animation-delay: 90ms;
}

.v-wlist > .v-wrow:nth-child(4) {
  animation-delay: 135ms;
}

.v-wlist > .v-wrow:nth-child(5) {
  animation-delay: 180ms;
}

a.v-wrow:hover .v-wrow-t {
  color: var(--vesta-primary-strong);
}

.v-wrow-t {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v-wrow-t small {
  display: block;
  overflow: hidden;
  font-size: 11.5px;
  font-weight: 400;
  text-overflow: ellipsis;
  color: var(--vesta-text-muted);
}

.v-wrow-s {
  font-size: 11.5px;
  white-space: nowrap;
  color: var(--vesta-text-muted);
}

.v-wrow-v {
  min-width: 36px;
  font-family: var(--vesta-font-mono);
  font-size: 12px;
  font-weight: 700;
  text-align: right;
  white-space: nowrap;
}

.v-wrow-v.is-bad {
  color: var(--vesta-danger-strong);
}

.v-wrow-v.is-warn {
  color: var(--vesta-warning-strong);
}

.v-wtag {
  font-family: var(--vesta-font-mono);
  font-size: 10.5px;
  font-weight: 600;
}

.v-wrow-bar {
  flex: 0 1 70px;
  min-width: 40px;
}

.v-wcell.is-s .v-wrow-bar,
.v-wcell.is-s .v-wrow-s {
  display: none;
}

.v-wmt-now {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.v-wmt-now > div {
  min-width: 0;
}

.v-wmt-ic {
  display: grid;
  flex: none;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: var(--vesta-warning-subtle);
  color: var(--vesta-warning-strong);
}

.v-wmt-ic svg {
  width: 26px;
  height: 26px;
}

.v-widget.is-h1 .v-wmt-ic {
  width: 38px;
  height: 38px;
}

.v-widget.is-h1 .v-wmt-ic svg {
  width: 22px;
  height: 22px;
}

.v-wmt-t {
  font-family: var(--vesta-font-display);
  font-size: 30px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: -0.03em;
}

.v-wmt-t small {
  margin-left: 4px;
  font-family: var(--vesta-font-base);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0;
  color: var(--vesta-text-muted);
}

.v-widget.is-h1 .v-wmt-t {
  font-size: 24px;
}

.v-wmt-c {
  margin-top: 3px;
  overflow: hidden;
  font-size: 12.5px;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--vesta-text-secondary);
}

.v-wmt-row {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
}

.v-wmt-row > .v-wmt-strip {
  flex: 1;
  min-width: 0;
}

.v-wmt-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}

.v-wmt-day {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  min-width: 0;
  padding: 8px 4px;
  border-radius: 12px;
  background: var(--vesta-bg-hover);
  font-size: 12px;
}

.v-wmt-day svg {
  width: 18px;
  height: 18px;
  margin: 2px 0;
  color: var(--vesta-text-secondary);
}

.v-wmt-day.is-adverse {
  outline: 1.5px solid var(--vesta-warning-strong);
  background: var(--vesta-warning-subtle);
}

.v-wmt-day.is-adverse svg {
  color: var(--vesta-warning-strong);
}

.v-widget.is-h1 .v-wmt-day {
  gap: 2px;
  padding: 5px 3px;
  font-size: 11px;
}

.v-widget.is-h1 .v-wmt-lo {
  display: none;
}

.v-wmt-dn {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--vesta-text-muted);
}

.v-wmt-hi {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.v-wmt-lo {
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  color: var(--vesta-text-muted);
}

.v-wmt-pin {
  position: absolute;
  top: -7px;
  right: -5px;
  display: grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 9px;
  background: var(--vesta-warning-strong);
  font-size: 10px;
  font-weight: 700;
  color: var(--vesta-text-inverse);
}

.v-wmt-list {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-height: 0;
  overflow: hidden;
  mask-image: linear-gradient(#000 calc(100% - 10px), transparent);
}

.v-wmt-site {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 7px 10px;
  border-radius: 10px;
  font-size: 12.5px;
}

.v-wmt-site:first-child {
  background: var(--vesta-primary-subtle);
}

.v-wmt-site svg {
  flex: none;
  width: 16px;
  height: 16px;
  color: var(--vesta-text-secondary);
}

.v-wmt-si {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}

.v-wmt-si b,
.v-wmt-si span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v-wmt-si b {
  font-weight: 600;
}

.v-wmt-si span {
  font-size: 11px;
  color: var(--vesta-text-muted);
}

.v-wmt-st {
  font-family: var(--vesta-font-display);
  font-size: 14px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.v-wmt-xl {
  display: grid;
  flex: 1;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 22px;
  min-height: 0;
}

.v-wmt-left,
.v-wmt-right {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
}

.v-wmt-left > .v-wmt-strip {
  margin-top: auto;
}

.v-wmt-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 12px;
  font-size: 12px;
  color: var(--vesta-text-secondary);
}

.v-wmt-meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.v-wmt-meta svg {
  width: 14px;
  height: 14px;
  color: var(--vesta-text-muted);
}

.v-wmt-lbl {
  margin-bottom: 8px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--vesta-text-muted);
}

.v-wlocate {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.v-wmt-gap {
  margin: 12px 0;
}

@media (prefers-reduced-motion: reduce) {
  .v-wtimer.is-live .v-wtime-sep,
  .v-wclock .v-wtime-sep,
  .v-wrows > .v-dash-row,
  .v-wlist > .v-wrow,
  .v-wcheck > li {
    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-primary-border: #C7D2FE;
  --vesta-warning-border: #FDE68A;
  --vesta-danger-border: #FECACA;
  --vesta-success-border: #BBF7D0;
  --vesta-success-subtle: #F0FDF4;
  --vesta-warning-subtle: #FFFBEB;
  --vesta-danger-subtle: #FEF2F2;
  --vesta-info-subtle: #ECFEFF;
  --vesta-secondary-subtle: #F1F5F9;
  --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-review: #A855F7;
  --vesta-review-strong: #7E22CE;
  --vesta-review-subtle: #FAF5FF;
  --vesta-wf-current-bg: #BBF7D0;
  --vesta-wf-todo: var(--vesta-border);
  --vesta-ambient-1: rgba(var(--vesta-primary-rgb), .10);
  --vesta-ambient-2: rgba(var(--vesta-warning-rgb), .08);
}

[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-primary-border: rgba(129,140,248,.45);
  --vesta-warning-border: rgba(245,158,11,.4);
  --vesta-danger-border: rgba(239,68,68,.4);
  --vesta-success-border: rgba(34,197,94,.4);
  --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-secondary-subtle: rgba(148,163,184,.18);
  --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-review: #C084FC;
  --vesta-review-strong: #D8B4FE;
  --vesta-review-subtle: rgba(168,85,247,.16);
  --vesta-wf-current-bg: rgba(34,197,94,.30);
  --vesta-wf-todo: rgba(255,255,255,.08);
  --vesta-ambient-1: rgba(var(--vesta-primary-rgb), .16);
  --vesta-ambient-2: rgba(var(--vesta-warning-rgb), .06);
}

[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 .brand-logo,
.public-shell .brand-logo {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  font-family: var(--vesta-font-display);
  font-weight: 800;
  font-size: 19px;
  letter-spacing: -0.01em;
  color: var(--vesta-text-primary);
}
.login-shell .brand-logo-mark,
.public-shell .brand-logo-mark {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: linear-gradient(135deg, #4F46E5, #A855F7);
  box-shadow: 0 6px 18px rgba(var(--vesta-primary-rgb), 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.2);
  color: #fff;
}
.login-shell .brand-logo-mark svg,
.public-shell .brand-logo-mark svg {
  width: 17px;
  height: 17px;
}
.login-shell .brand-logo-suite,
.public-shell .brand-logo-suite {
  font-weight: 500;
  color: var(--vesta-text-muted);
}
.login-shell .journey,
.public-shell .journey {
  list-style: none;
  margin: auto 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  position: relative;
  max-width: 520px;
}
.login-shell .journey::before,
.public-shell .journey::before {
  content: "";
  position: absolute;
  left: 82px;
  top: 18px;
  bottom: 18px;
  width: 2px;
  background: var(--vesta-border);
}
.login-shell .jstep,
.public-shell .jstep {
  display: grid;
  grid-template-columns: 40px 36px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 9px 12px;
  border: 1px solid transparent;
  border-radius: 12px;
  position: relative;
  opacity: 0.85;
  transition: background 0.3s, opacity 0.3s;
}
.login-shell .jstep.done,
.public-shell .jstep.done {
  opacity: 0.92;
}
.login-shell .jstep.on,
.public-shell .jstep.on {
  opacity: 1;
  background: var(--vesta-bg-card);
  border-color: var(--vesta-border);
  box-shadow: var(--vesta-shadow-md), 0 0 0 3px rgba(var(--vesta-primary-rgb), 0.18);
}
.login-shell .jt,
.public-shell .jt {
  font-family: var(--vesta-font-mono);
  font-size: 11.5px;
  color: var(--vesta-text-muted);
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.login-shell .jstep.on .jt,
.public-shell .jstep.on .jt {
  color: var(--vesta-primary-strong);
  font-weight: 600;
}
.login-shell .jico,
.public-shell .jico {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  position: relative;
  z-index: 1;
  background: var(--vesta-bg-body);
  border: 2px solid var(--vesta-border);
  color: var(--vesta-text-secondary);
  transition: all 0.3s;
}
.login-shell .jstep.done .jico,
.public-shell .jstep.done .jico {
  border-color: var(--vesta-success);
  background: var(--vesta-success-subtle);
  color: var(--vesta-success-strong);
}
.login-shell .jstep.on .jico,
.public-shell .jstep.on .jico {
  border-color: var(--vesta-fill-primary);
  background: var(--vesta-fill-primary);
  color: #fff;
  box-shadow: 0 0 0 5px rgba(var(--vesta-primary-rgb), 0.2);
}
.login-shell .jbody,
.public-shell .jbody {
  min-width: 0;
}
.login-shell .jtitle,
.public-shell .jtitle {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--vesta-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.login-shell .jdesc,
.public-shell .jdesc {
  margin-top: 1px;
  font-size: 12px;
  line-height: 1.4;
  color: var(--vesta-text-secondary);
  text-wrap: pretty;
}
.login-shell .mtag,
.public-shell .mtag {
  display: inline-flex;
  align-items: center;
  padding: 1px 6px;
  border-radius: 5px;
  font-size: 9.5px;
  font-weight: 700;
  line-height: 15px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-secondary);
}
.login-shell .mtag.ok,
.public-shell .mtag.ok {
  background: var(--vesta-success-subtle);
  color: var(--vesta-success-strong);
}
.login-shell .mtag.warn,
.public-shell .mtag.warn {
  background: var(--vesta-warning-subtle);
  color: var(--vesta-warning-strong);
}
.login-shell .mtag.bad,
.public-shell .mtag.bad {
  background: var(--vesta-danger-subtle);
  color: var(--vesta-danger-strong);
}
.login-shell .mtag.pri,
.public-shell .mtag.pri {
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary-strong);
}

@media (prefers-reduced-motion: reduce) {
  .public-shell .jstep,
  .public-shell .jico {
    transition: none;
  }
}
.login-shell .is-hidden,
.toggle-pwd .is-hidden {
  display: none !important;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes loginSkeleton {
  to {
    background-position: -200% 0;
  }
}
.login-shell {
  display: grid;
  grid-template-columns: minmax(420px, 46%) minmax(0, 1fr);
  min-height: 100dvh;
  background: var(--vesta-bg-body);
}
.login-shell .lucide {
  width: 15px;
  height: 15px;
  flex: none;
}
.login-shell .brand-pane {
  position: sticky;
  top: 0;
  height: 100dvh;
  align-self: start;
  overflow: hidden;
  min-width: 0;
  padding: 28px 44px 32px;
  display: flex;
  flex-direction: column;
  gap: 28px;
  background: color-mix(in srgb, var(--vesta-primary) 5%, var(--vesta-bg-body));
  border-right: 1px solid var(--vesta-border);
  isolation: isolate;
}
.login-shell .brand-pane::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(700px 400px at 20% 0%, rgba(var(--vesta-primary-rgb), 0.14), transparent 60%);
  z-index: -1;
}
.login-shell .brand-head {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 520px;
}
.login-shell .brand-roles {
  align-self: flex-start;
  margin-bottom: 4px;
}
.login-shell .brand-title {
  margin: 0;
  min-height: 2.3em;
  font-family: var(--vesta-font-display);
  font-weight: 700;
  font-size: clamp(26px, 2.4vw, 34px);
  line-height: 1.12;
  letter-spacing: -0.025em;
  color: var(--vesta-text-primary);
  text-wrap: pretty;
}
.login-shell .brand-title em {
  font-style: normal;
  color: var(--vesta-primary-strong);
}
.login-shell .brand-sub {
  margin: 0;
  max-width: 480px;
  font-size: 14px;
  line-height: 1.55;
  color: var(--vesta-text-secondary);
  text-wrap: pretty;
}
.login-shell .brand-mods {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.login-shell .brand-mods-label {
  font-family: var(--vesta-font-mono);
  font-size: 10.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--vesta-text-muted);
}
.login-shell .brand-mods-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.login-shell .brand-mod {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 4px 8px;
  align-items: center;
  padding: 9px 11px;
  border-radius: 10px;
  border: 1px solid var(--vesta-border);
  background: var(--vesta-bg-card);
  font-size: 11.5px;
  line-height: 1.35;
  color: var(--vesta-text-secondary);
}
.login-shell .brand-mod > svg,
.login-shell .brand-mod > i[data-lucide] {
  grid-row: 1/3;
  width: 14px;
  height: 14px;
  color: var(--vesta-primary-strong);
}
.login-shell .brand-mod b {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--vesta-text-primary);
}
.login-shell .form-pane {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.login-shell .form-topbar {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 20px 32px;
  background: color-mix(in srgb, var(--vesta-bg-body) 88%, transparent);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.login-shell .form-topbar-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-right: auto;
  padding-left: 6px;
  font-size: 12.5px;
  color: var(--vesta-text-secondary);
  white-space: nowrap;
}
.login-shell .form-topbar-cta a {
  font-weight: 600;
  color: var(--vesta-primary-strong);
  text-decoration: none;
}
.login-shell .form-topbar-cta a:hover {
  text-decoration: underline;
}
.login-shell .mobile-hero {
  display: none;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.login-shell .mobile-hero .brand-logo-mark {
  width: 30px;
  height: 30px;
  border-radius: 8px;
}
.login-shell .mobile-hero .brand-logo-mark svg {
  width: 15px;
  height: 15px;
}
.login-shell .mobile-hero .wordmark {
  font-family: var(--vesta-font-display);
  font-weight: 800;
  font-size: 17px;
  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;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.login-shell .form-wrap {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 32px 40px;
}
.login-shell .form-wrap:has(.legal-card), .login-shell .form-wrap:has(.trial-card) {
  align-items: flex-start;
}
.login-shell .form-card {
  width: 100%;
  max-width: 440px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 28px;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 16px;
  box-shadow: var(--vesta-shadow-md);
}
.login-shell .form-card.legal-card {
  max-width: 720px;
}
.login-shell .form-card.status-card {
  max-width: 520px;
}
.login-shell .form-head {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.login-shell .form-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  align-self: flex-start;
  padding: 6px 10px;
  border-radius: 8px;
  font-family: var(--vesta-font-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--vesta-primary-strong);
  background: var(--vesta-primary-subtle);
}
.login-shell .form-title {
  margin: 0;
  font-family: var(--vesta-font-display);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--vesta-text-primary);
}
.login-shell .form-sub {
  margin: 6px 0 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--vesta-text-secondary);
  text-wrap: pretty;
}
.login-shell .form-stack {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.login-shell .form-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--vesta-text-primary);
}
.login-shell .form-label a {
  font-size: 12px;
  font-weight: 500;
  color: var(--vesta-primary-strong);
  text-decoration: none;
}
.login-shell .form-label a:hover {
  text-decoration: underline;
}
.login-shell .input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}
.login-shell .input-wrap > svg.lead,
.login-shell .input-wrap > i[data-lucide].lead {
  position: absolute;
  left: 12px;
  color: var(--vesta-text-muted);
  pointer-events: none;
}
.login-shell .input-wrap .toggle-pwd {
  position: absolute;
  right: 6px;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 7px;
  display: grid;
  place-items: center;
  background: transparent;
  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-primary);
}
.login-shell .form-control {
  width: 100%;
  height: 42px;
  padding: 0 12px 0 38px;
  border-radius: 10px;
  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.18);
}
.login-shell .form-control.has-trail {
  padding-right: 42px;
}
.login-shell .form-control.invalid {
  border-color: var(--vesta-danger);
}
.login-shell .form-hint {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--vesta-text-muted);
}
.login-shell .pwd-strength {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  margin-top: 8px;
}
.login-shell .pwd-strength span {
  height: 4px;
  border-radius: 99px;
  background: var(--vesta-bg-active);
}
.login-shell .pwd-strength[data-level="1"] span:nth-child(-n+1) {
  background: var(--vesta-danger);
}
.login-shell .pwd-strength[data-level="2"] span:nth-child(-n+2) {
  background: var(--vesta-warning);
}
.login-shell .pwd-strength[data-level="3"] span {
  background: var(--vesta-success);
}
.login-shell .pwd-rules {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
  font-size: 12px;
  color: var(--vesta-text-muted);
}
.login-shell .pwd-rules li {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.login-shell .pwd-rules li.met {
  color: var(--vesta-success-strong);
}
.login-shell .pwd-rules svg,
.login-shell .pwd-rules i[data-lucide] {
  width: 13px;
  height: 13px;
}
.login-shell .form-check {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  font-size: 13px;
  color: var(--vesta-text-secondary);
  user-select: none;
  cursor: pointer;
}
.login-shell .form-check input {
  appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  margin: 0;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  border: 1.5px solid var(--vesta-border-input);
  border-radius: 4px;
  background: var(--vesta-bg-input);
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.login-shell .form-check input:checked {
  background: var(--vesta-fill-primary);
  border-color: var(--vesta-fill-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 .form-check input:focus-visible {
  outline: 2px solid var(--vesta-primary);
  outline-offset: 2px;
}
.login-shell .btn-primary {
  width: 100%;
  height: 44px;
  border-radius: 10px;
  background: var(--vesta-fill-primary);
  border: 1px solid var(--vesta-fill-primary);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  box-shadow: 0 6px 16px rgba(var(--vesta-primary-rgb), 0.3);
  transition: background 0.15s, transform 0.1s;
}
.login-shell .btn-primary:hover {
  background: var(--vesta-primary-hover);
}
.login-shell .btn-primary:active {
  transform: translateY(1px);
}
.login-shell .btn-primary:disabled {
  opacity: 0.7;
  cursor: progress;
}
.login-shell .btn-primary .btn-icon {
  transition: transform 0.15s;
}
.login-shell .btn-primary:hover .btn-icon {
  transform: translateX(2px);
}
.login-shell .btn-spinner {
  display: inline-grid;
  place-items: center;
  line-height: 0;
  animation: spin 1s linear infinite;
}
.login-shell .divider {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--vesta-font-mono);
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--vesta-text-muted);
}
.login-shell .divider::before, .login-shell .divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--vesta-border);
}
.login-shell .sso-grid {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.login-shell .sso-remembered {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border: 1px dashed var(--vesta-border-input);
  border-radius: 10px;
  font-size: 12.5px;
  color: var(--vesta-text-secondary);
}
.login-shell .sso-remembered > svg,
.login-shell .sso-remembered > i[data-lucide] {
  flex-shrink: 0;
  color: var(--vesta-primary-strong);
}
.login-shell .sso-remembered b {
  font-weight: 600;
  color: var(--vesta-text-primary);
}
.login-shell .btn-sso {
  width: 100%;
  height: 42px;
  border-radius: 10px;
  border: 1px solid var(--vesta-border-input);
  background: var(--vesta-bg-card);
  color: var(--vesta-text-primary);
  font-size: 13.5px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  cursor: pointer;
  transition: background 0.15s;
}
.login-shell .btn-sso:hover {
  background: var(--vesta-bg-hover);
}
.login-shell .last-access {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.login-shell .la-change {
  align-self: center;
  padding: 4px 8px;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 12.5px;
  color: var(--vesta-text-secondary);
  text-decoration: underline;
  white-space: nowrap;
  cursor: pointer;
}
.login-shell .la-change:hover {
  color: var(--vesta-text-primary);
}
.login-shell .la-change:focus-visible {
  outline: 2px solid var(--vesta-primary);
  outline-offset: 2px;
  border-radius: 6px;
}
.login-shell .sso-callback-wait {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px 0;
  color: var(--vesta-text-muted);
}
.login-shell .alert-danger,
.login-shell .alert-success {
  display: none;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid;
  border-radius: 10px;
  font-size: 13px;
  line-height: 1.45;
}
.login-shell .alert-danger.show,
.login-shell .alert-success.show {
  display: flex;
}
.login-shell .alert-danger > svg,
.login-shell .alert-danger > i[data-lucide],
.login-shell .alert-success > svg,
.login-shell .alert-success > i[data-lucide] {
  flex-shrink: 0;
  margin-top: 1px;
}
.login-shell .alert-danger {
  background: var(--vesta-danger-subtle);
  border-color: rgba(239, 68, 68, 0.3);
  color: var(--vesta-danger-strong);
}
.login-shell .alert-success {
  background: var(--vesta-success-subtle);
  border-color: rgba(34, 197, 94, 0.3);
  color: var(--vesta-success-strong);
}
.login-shell .validation-message {
  margin-top: 6px;
  font-size: 12px;
  color: var(--vesta-danger-strong);
}
.login-shell .form-foot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding-top: 14px;
  border-top: 1px solid var(--vesta-border);
  text-align: center;
  font-size: 12.5px;
  color: var(--vesta-text-secondary);
}
.login-shell .form-foot a {
  color: var(--vesta-primary-strong);
  text-decoration: none;
}
.login-shell .form-foot a:hover {
  text-decoration: underline;
}
.login-shell .form-foot-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
}
.login-shell .form-foot-links a {
  font-weight: 500;
  color: var(--vesta-text-secondary);
}
.login-shell .form-foot-links a:hover {
  color: var(--vesta-primary-strong);
}
.login-shell .form-foot-social {
  display: flex;
  justify-content: center;
  gap: 8px;
}
.login-shell .form-foot-social a {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid var(--vesta-border);
  background: var(--vesta-bg-card);
  color: var(--vesta-text-secondary);
}
.login-shell .form-foot-social a:hover {
  border-color: var(--vesta-primary);
  color: var(--vesta-primary-strong);
}
.login-shell .form-foot-social a svg {
  width: 14px;
  height: 14px;
}
.login-shell .form-foot-copy {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 4px 8px;
  font-size: 11.5px;
  color: var(--vesta-text-muted);
}
.login-shell .form-foot-copy code {
  padding: 1px 6px;
  border-radius: 5px;
  font-family: var(--vesta-font-mono);
  font-size: 10.5px;
  color: var(--vesta-text-secondary);
  background: var(--vesta-bg-hover);
}
.login-shell .form-foot a.back-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
  color: var(--vesta-text-secondary);
}
.login-shell .form-foot a.back-link:hover {
  color: var(--vesta-primary-strong);
  text-decoration: none;
}
.login-shell .legal-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.login-shell .legal-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 9px;
  border-radius: 99px;
  border: 1px solid var(--vesta-border);
  background: var(--vesta-bg-card);
  font-family: var(--vesta-font-mono);
  font-size: 11px;
  color: var(--vesta-text-secondary);
}
.login-shell .legal-grid {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}
.login-shell .legal-toc {
  position: sticky;
  top: 76px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.login-shell .legal-toc a {
  padding: 6px 10px;
  border-left: 2px solid transparent;
  border-radius: 7px;
  font-size: 12.5px;
  color: var(--vesta-text-secondary);
  text-decoration: none;
}
.login-shell .legal-toc a:hover {
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-primary);
}
.login-shell .legal-body {
  display: flex;
  flex-direction: column;
  gap: 22px;
  min-width: 0;
}
.login-shell .legal-section {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 12px;
  scroll-margin-top: 80px;
}
.login-shell .legal-section .legal-n {
  padding-top: 4px;
  font-family: var(--vesta-font-mono);
  font-size: 11px;
  font-weight: 600;
  color: var(--vesta-text-muted);
}
.login-shell .legal-section h3 {
  margin: 0 0 6px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--vesta-text-primary);
}
.login-shell .legal-section p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.65;
  color: var(--vesta-text-secondary);
  text-wrap: pretty;
}
.login-shell .legal-section p + p {
  margin-top: 8px;
}
.login-shell .legal-section ul {
  list-style: none;
  margin: 10px 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.login-shell .legal-section li {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--vesta-border);
  border-radius: 10px;
  background: var(--vesta-bg-card);
  font-size: 13px;
  line-height: 1.55;
  color: var(--vesta-text-secondary);
}
.login-shell .legal-section .legal-ico {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary-strong);
}
.login-shell .legal-link-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 10px;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 13px;
  font-weight: 600;
  color: var(--vesta-primary-strong);
  cursor: pointer;
}
.login-shell .legal-link-btn:hover {
  text-decoration: underline;
}
.login-shell .legal-empty {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border: 1px dashed var(--vesta-border-input);
  border-radius: 12px;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--vesta-text-secondary);
}
.login-shell .legal-empty > svg,
.login-shell .legal-empty > i[data-lucide] {
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--vesta-text-muted);
}
.login-shell .legal-contact {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.login-shell .legal-contact a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 11px;
  border: 1px solid var(--vesta-border);
  border-radius: 9px;
  background: var(--vesta-bg-card);
  font-size: 12.5px;
  font-weight: 500;
  color: var(--vesta-text-primary);
  text-decoration: none;
}
.login-shell .legal-contact a:hover {
  border-color: var(--vesta-primary);
  color: var(--vesta-primary-strong);
}
.login-shell .status-hero {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid var(--vesta-border);
  border-radius: 12px;
  background: var(--vesta-bg-card);
}
.login-shell .status-hero .status-hero-icon .lucide {
  width: 22px;
  height: 22px;
}
.login-shell .status-hero .status-hero-icon {
  width: 44px;
  height: 44px;
  flex: none;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-secondary);
}
.login-shell .status-hero.ok .status-hero-icon {
  background: var(--vesta-success-subtle);
  color: var(--vesta-success-strong);
}
.login-shell .status-hero.warn .status-hero-icon {
  background: var(--vesta-warning-subtle);
  color: var(--vesta-warning-strong);
}
.login-shell .status-hero.bad .status-hero-icon {
  background: var(--vesta-danger-subtle);
  color: var(--vesta-danger-strong);
}
.login-shell .status-hero .status-hero-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--vesta-text-primary);
}
.login-shell .status-hero .status-hero-sub {
  margin-top: 2px;
  font-family: var(--vesta-font-mono);
  font-size: 12.5px;
  color: var(--vesta-text-muted);
}
.login-shell .status-hero .status-hero-action {
  margin-left: auto;
}
.login-shell .status-list {
  list-style: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--vesta-border);
  border-radius: 12px;
  background: var(--vesta-bg-card);
}
.login-shell .status-row {
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 11px 16px;
  border-top: 1px solid var(--vesta-border-subtle);
}
.login-shell .status-row:first-child {
  border-top: 0;
}
.login-shell .status-row .status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--vesta-text-muted);
}
.login-shell .status-row .status-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--vesta-text-primary);
}
.login-shell .status-row .status-name small {
  display: block;
  margin-top: 1px;
  font-size: 11.5px;
  font-weight: 400;
  color: var(--vesta-text-muted);
}
.login-shell .status-row .status-state {
  padding: 2px 8px;
  border-radius: 99px;
  font-family: var(--vesta-font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-secondary);
}
.login-shell .status-row.ok .status-dot {
  background: var(--vesta-success);
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.18);
}
.login-shell .status-row.ok .status-state {
  background: var(--vesta-success-subtle);
  color: var(--vesta-success-strong);
}
.login-shell .status-row.warn .status-dot {
  background: var(--vesta-warning);
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.18);
}
.login-shell .status-row.warn .status-state {
  background: var(--vesta-warning-subtle);
  color: var(--vesta-warning-strong);
}
.login-shell .status-row.bad .status-dot {
  background: var(--vesta-danger);
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.18);
}
.login-shell .status-row.bad .status-state {
  background: var(--vesta-danger-subtle);
  color: var(--vesta-danger-strong);
}
.login-shell .status-skeleton {
  display: block;
  height: 12px;
  border-radius: 6px;
  background: linear-gradient(90deg, var(--vesta-bg-hover), var(--vesta-bg-active), var(--vesta-bg-hover));
  background-size: 200% 100%;
  animation: loginSkeleton 1.2s linear infinite;
}
.login-shell .status-skeleton.w-lg {
  width: 140px;
}
.login-shell .status-skeleton.w-sm {
  width: 60px;
}
.login-shell .status-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--vesta-text-muted);
}
.login-shell .form-card.trial-card {
  max-width: 760px;
}
.login-shell .form-label small {
  font-weight: 400;
  font-size: 11.5px;
  color: var(--vesta-text-muted);
}
.login-shell .rq-form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.login-shell .rq-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px;
}
.login-shell .rq-full {
  grid-column: 1/-1;
}
.login-shell .form-control.rq-textarea {
  height: auto;
  min-height: 96px;
  padding: 10px 12px;
  line-height: 1.5;
  resize: vertical;
}
.login-shell .rq-hp {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.login-shell .rq-mods {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.login-shell .rq-mod {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 16px;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid var(--vesta-border);
  border-radius: 12px;
  background: var(--vesta-bg-card);
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.12s, background 0.12s;
}
.login-shell .rq-mod:hover {
  border-color: var(--vesta-border-input);
  background: var(--vesta-bg-hover);
}
.login-shell .rq-mod.on {
  border-color: var(--vesta-primary);
  background: var(--vesta-primary-subtle);
  box-shadow: 0 0 0 3px rgba(var(--vesta-primary-rgb), 0.12);
}
.login-shell .rq-mod-ico {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  border: 1px solid var(--vesta-border);
  background: var(--vesta-bg-body);
  color: var(--vesta-text-secondary);
}
.login-shell .rq-mod.on .rq-mod-ico {
  border-color: var(--vesta-fill-primary);
  background: var(--vesta-fill-primary);
  color: #fff;
}
.login-shell .rq-mod-tx {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.login-shell .rq-mod-tx b {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--vesta-text-primary);
}
.login-shell .rq-mod-tx em {
  padding: 1px 5px;
  border-radius: 4px;
  font-family: var(--vesta-font-mono);
  font-size: 9.5px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.05em;
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary-strong);
}
.login-shell .rq-mod-tx small {
  font-size: 11.5px;
  line-height: 1.35;
  color: var(--vesta-text-muted);
}
.login-shell .rq-mod-chk {
  width: 16px;
  height: 16px;
  color: var(--vesta-primary-strong);
  opacity: 0;
  transition: opacity 0.12s;
}
.login-shell .rq-mod.on .rq-mod-chk {
  opacity: 1;
}
.login-shell .rq-sum {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.login-shell .rq-sum-grp {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px 14px;
  border: 1px solid var(--vesta-border);
  border-radius: 12px;
}
.login-shell .rq-sum-grp h4 {
  margin: 0 0 4px;
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--vesta-text-primary);
}
.login-shell .rq-sum-grp h4 > svg {
  width: 14px;
  height: 14px;
  color: var(--vesta-primary-strong);
}
.login-shell .rq-edit {
  margin-left: auto;
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 11.5px;
  font-weight: 500;
  color: var(--vesta-primary-strong);
  cursor: pointer;
}
.login-shell .rq-edit:hover {
  text-decoration: underline;
}
.login-shell .rq-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 12.5px;
}
.login-shell .rq-row span {
  flex: none;
  color: var(--vesta-text-muted);
}
.login-shell .rq-row b {
  min-width: 0;
  font-weight: 500;
  text-align: right;
  overflow-wrap: anywhere;
  color: var(--vesta-text-primary);
}
.login-shell .rq-sum-mods {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.login-shell .rq-sum-mods span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 99px;
  font-size: 12px;
  font-weight: 500;
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary-strong);
}
.login-shell .rq-sum-mods svg {
  width: 12px;
  height: 12px;
}
.login-shell .rq-needs {
  margin: 0 0 4px;
  font-size: 13px;
  line-height: 1.5;
  white-space: pre-wrap;
  color: var(--vesta-text-secondary);
}
.login-shell .rq-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}
.login-shell .rq-steps li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0 10px;
  border-top: 2px solid var(--vesta-border);
  font-size: 12px;
  font-weight: 500;
  color: var(--vesta-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.login-shell .rq-steps li span {
  flex: none;
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-family: var(--vesta-font-mono);
  font-size: 10.5px;
  font-weight: 600;
  background: var(--vesta-bg-active);
  color: var(--vesta-text-muted);
}
.login-shell .rq-steps li.on {
  border-top-color: var(--vesta-primary);
  font-weight: 600;
  color: var(--vesta-text-primary);
}
.login-shell .rq-steps li.on span {
  background: var(--vesta-fill-primary);
  color: #fff;
}
.login-shell .rq-steps li.done {
  border-top-color: var(--vesta-success);
  color: var(--vesta-text-secondary);
}
.login-shell .rq-steps li.done span {
  background: var(--vesta-fill-success);
  color: #fff;
}
.login-shell .rq-seg {
  display: flex;
  overflow: hidden;
  border: 1px solid var(--vesta-border-input);
  border-radius: 10px;
  background: var(--vesta-bg-input);
}
.login-shell .rq-seg button {
  flex: 1;
  height: 40px;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  color: var(--vesta-text-secondary);
  cursor: pointer;
}
.login-shell .rq-seg button + button {
  border-left: 1px solid var(--vesta-border);
}
.login-shell .rq-seg button.on {
  background: var(--vesta-primary-subtle);
  font-weight: 600;
  color: var(--vesta-primary-strong);
}
.login-shell .rq-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.login-shell .rq-chips button {
  height: 32px;
  padding: 0 12px;
  border: 1px solid var(--vesta-border-input);
  border-radius: 99px;
  background: var(--vesta-bg-card);
  font: inherit;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--vesta-text-secondary);
  cursor: pointer;
}
.login-shell .rq-chips button.on {
  border-color: var(--vesta-primary);
  background: var(--vesta-primary-subtle);
  font-weight: 600;
  color: var(--vesta-primary-strong);
}
.login-shell .form-control.rq-select {
  padding-right: 36px;
  appearance: none;
  -webkit-appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--vesta-text-muted) 50%), linear-gradient(135deg, var(--vesta-text-muted) 50%, transparent 50%);
  background-position: calc(100% - 18px) 19px, calc(100% - 13px) 19px;
  background-size: 5px 5px;
  background-repeat: no-repeat;
}
.login-shell .alert-warn {
  display: none;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid rgba(245, 158, 11, 0.3);
  border-radius: 10px;
  background: var(--vesta-warning-subtle);
  font-size: 13px;
  line-height: 1.45;
  color: var(--vesta-warning-strong);
}
.login-shell .alert-warn.show {
  display: flex;
}
.login-shell .alert-warn > svg {
  flex-shrink: 0;
  margin-top: 1px;
}
.login-shell .btn-line {
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 14px;
  border: 1px solid var(--vesta-border-input);
  border-radius: 10px;
  background: var(--vesta-bg-card);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--vesta-text-primary);
  cursor: pointer;
}
.login-shell .btn-line:hover {
  background: var(--vesta-bg-hover);
}
.login-shell .btn-line:disabled {
  opacity: 0.7;
  cursor: progress;
}
.login-shell .rq-nav {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 6px;
}
.login-shell .rq-count {
  margin: 0 auto;
  font-family: var(--vesta-font-mono);
  font-size: 11px;
  color: var(--vesta-text-muted);
}
.login-shell .btn-primary.rq-next-btn {
  width: auto;
  padding: 0 18px;
  text-decoration: none;
}
.login-shell .rq-hidden {
  visibility: hidden;
}
.login-shell .rq-done {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
  text-align: center;
}
.login-shell .rq-done p {
  max-width: 520px;
  margin: 0;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--vesta-text-secondary);
}
.login-shell .rq-done code {
  padding: 1px 6px;
  border-radius: 5px;
  font-family: var(--vesta-font-mono);
  font-size: 12px;
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-primary);
}
.login-shell .rq-done-ico {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: var(--vesta-success-subtle);
  color: var(--vesta-success-strong);
}
.login-shell .rq-done-ico svg {
  width: 26px;
  height: 26px;
}
.login-shell .rq-done-title {
  margin: 0;
  font-family: var(--vesta-font-display);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--vesta-text-primary);
}
.login-shell .rq-next {
  width: 100%;
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  text-align: left;
}
.login-shell .rq-next li {
  display: flex;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--vesta-border);
  border-radius: 12px;
  font-size: 12px;
  line-height: 1.4;
  color: var(--vesta-text-secondary);
}
.login-shell .rq-next li > span {
  flex: none;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary-strong);
}
.login-shell .rq-next b {
  display: block;
  font-size: 12.5px;
  color: var(--vesta-text-primary);
}
.login-shell .btn-quiet {
  height: 32px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 10px;
  border-radius: 8px;
  border: 1px solid var(--vesta-border);
  background: var(--vesta-bg-card);
  color: var(--vesta-text-primary);
  font-size: 12.5px;
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
}
.login-shell .btn-quiet:hover {
  background: var(--vesta-bg-hover);
  border-color: var(--vesta-border-input);
}
.login-shell .btn-quiet:disabled {
  opacity: 0.7;
  cursor: progress;
}

@media (prefers-reduced-motion: reduce) {
  .login-shell .jstep,
  .login-shell .jico,
  .login-shell .btn-primary,
  .login-shell .btn-primary .btn-icon {
    transition: none;
  }
  .login-shell .status-skeleton {
    animation: none;
  }
}
@media (max-width: 1400px) {
  .login-shell .brand-mods-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 1250px) {
  .login-shell .brand-roles .pt-type-tab span {
    display: none;
  }
}
@media (max-width: 1100px) {
  .login-shell .legal-grid {
    grid-template-columns: 1fr;
  }
  .login-shell .legal-toc {
    display: none;
  }
}
@media (max-width: 1000px) {
  .login-shell {
    grid-template-columns: 1fr;
  }
  .login-shell .brand-pane {
    display: none;
  }
  .login-shell .mobile-hero {
    display: inline-flex;
  }
  .login-shell .form-topbar {
    padding: 14px 20px;
  }
  .login-shell .form-topbar-cta {
    display: none;
  }
  .login-shell .form-wrap {
    align-items: flex-start;
    padding: 16px 20px 32px;
  }
}
@media (max-width: 700px) {
  .login-shell .form-card {
    padding: 20px;
    border-radius: 14px;
  }
  .login-shell .form-title {
    font-size: 24px;
  }
  .login-shell .rq-grid,
  .login-shell .rq-mods,
  .login-shell .rq-sum,
  .login-shell .rq-next {
    grid-template-columns: 1fr;
  }
  .login-shell .rq-nav {
    flex-wrap: wrap;
  }
  .login-shell .rq-count {
    order: -1;
    width: 100%;
    margin: 0;
  }
  .login-shell .btn-primary.rq-next-btn {
    flex: 1;
  }
  .login-shell .rq-steps li {
    justify-content: center;
    gap: 0;
    font-size: 0;
  }
  .login-shell .rq-steps li span {
    font-size: 10.5px;
  }
  .login-shell .legal-section {
    grid-template-columns: 1fr;
  }
  .login-shell .legal-section .legal-n {
    display: none;
  }
  .login-shell .status-hero {
    flex-wrap: wrap;
  }
  .login-shell .status-hero .status-hero-action {
    margin-left: 0;
    width: 100%;
  }
  .login-shell .vesta-lang-btn .vesta-lang-chevron {
    display: none;
  }
}
.public-shell {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background: var(--vesta-bg-body);
  color: var(--vesta-text-primary);
}
.public-shell .lucide {
  width: 16px;
  height: 16px;
  flex: none;
}
.public-shell .pub-wrap {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 24px;
}
.public-shell .pub-skip {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 40;
  padding: 8px 12px;
  border-radius: 8px;
  background: var(--vesta-bg-card);
}
.public-shell .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  white-space: nowrap;
}
.public-shell .ph {
  position: sticky;
  top: 0;
  z-index: 30;
  background: color-mix(in srgb, var(--vesta-bg-body) 88%, transparent);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--vesta-border);
}
.public-shell .ph-bar {
  height: 64px;
  display: flex;
  align-items: center;
  gap: 22px;
}
.public-shell .ph .brand-logo {
  font-size: 18px;
  text-decoration: none;
}
.public-shell .pnav {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-left: 8px;
}
.public-shell .pnav-link,
.public-shell .pnav-dd > summary {
  height: 36px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0 11px;
  border-radius: 8px;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--vesta-text-secondary);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.public-shell .pnav-link:hover,
.public-shell .pnav-dd > summary:hover {
  background: var(--vesta-bg-hover);
  color: var(--vesta-text-primary);
}
.public-shell .pnav-link.on,
.public-shell .pnav-dd > summary.on {
  color: var(--vesta-primary-strong);
}
.public-shell .pnav-link .lucide,
.public-shell .pnav-dd > summary .lucide {
  width: 13px;
  height: 13px;
}
.public-shell .pnav-dd {
  position: relative;
}
.public-shell .pnav-dd > summary {
  list-style: none;
}
.public-shell .pnav-dd > summary::-webkit-details-marker {
  display: none;
}
.public-shell .pnav-dd[open] > summary .lucide {
  transform: rotate(180deg);
}
.public-shell .pnav-dd-menu {
  position: absolute;
  left: 0;
  top: calc(100% + 6px);
  min-width: 280px;
  z-index: 20;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 6px;
  background: var(--vesta-bg-card);
  border: 1px solid var(--vesta-border);
  border-radius: 12px;
  box-shadow: var(--vesta-shadow-md);
}
.public-shell .pnav-dd-menu a {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--vesta-text-primary);
  text-decoration: none;
}
.public-shell .pnav-dd-menu a:hover, .public-shell .pnav-dd-menu a[aria-current=page] {
  background: var(--vesta-bg-hover);
}
.public-shell .pnav-dd-menu a .pub-ico {
  width: 30px;
  height: 30px;
  border-radius: 8px;
}
.public-shell .pnav-dd-menu a small {
  display: block;
  font-weight: 400;
  font-size: 11.5px;
  color: var(--vesta-text-muted);
}
.public-shell .ph-acts {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
}
.public-shell .ph-icon-btn {
  width: 32px;
  height: 32px;
  padding: 0;
  justify-content: center;
}
.public-shell .ph-burger {
  display: none;
}
.public-shell .pub-main {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.public-shell .pub-main:focus {
  outline: none;
}
.public-shell .pub-sec {
  padding: 64px 0;
}
.public-shell .pub-sec + .pub-sec {
  padding-top: 0;
}
.public-shell .pub-sec-h {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 640px;
  margin-bottom: 28px;
}
.public-shell .pub-sec-h h2 {
  margin: 0;
  font-family: var(--vesta-font-display);
  font-size: clamp(24px, 2.6vw, 32px);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.15;
  text-wrap: pretty;
}
.public-shell .pub-sec-h p {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: var(--vesta-text-secondary);
  text-wrap: pretty;
}
.public-shell h1 em,
.public-shell h2 em {
  font-style: normal;
  color: var(--vesta-primary-strong);
}
.public-shell .pub-h-sm {
  margin: 0 0 14px;
  font-family: var(--vesta-font-display);
  font-size: 18px;
  font-weight: 700;
}
.public-shell .pub-ico {
  width: 40px;
  height: 40px;
  flex: none;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: var(--vesta-primary-subtle);
  color: var(--vesta-primary-strong);
}
.public-shell .pub-ico .lucide {
  width: 18px;
  height: 18px;
}
.public-shell .pub-more {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--vesta-primary-strong);
  text-decoration: none;
}
.public-shell .pub-more .lucide {
  width: 13px;
  height: 13px;
}
.public-shell .pub-hero {
  position: relative;
  padding: 72px 0 56px;
  overflow: hidden;
  background: color-mix(in srgb, var(--vesta-primary) 5%, var(--vesta-bg-body));
  border-bottom: 1px solid var(--vesta-border);
  isolation: isolate;
}
.public-shell .pub-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(700px 400px at 20% 0%, rgba(var(--vesta-primary-rgb), 0.14), transparent 60%);
}
.public-shell .pub-hero h1 {
  margin: 0;
  font-family: var(--vesta-font-display);
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.03em;
  text-wrap: pretty;
}
.public-shell .pub-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 48px;
  align-items: center;
}
.public-shell .pub-hero-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  min-width: 0;
}
.public-shell .pub-hero--feature .pub-hero-copy {
  max-width: 760px;
}
.public-shell .pub-lead {
  margin: 0;
  max-width: 560px;
  font-size: 16.5px;
  line-height: 1.55;
  color: var(--vesta-text-secondary);
  text-wrap: pretty;
}
.public-shell .pub-hero-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.public-shell .pub-kpis {
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
}
.public-shell .pub-kpis li {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.public-shell .pub-kpis b {
  font-family: var(--vesta-font-display);
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -0.02em;
}
.public-shell .pub-kpis span {
  font-size: 12.5px;
  color: var(--vesta-text-secondary);
}
.public-shell .pub-hero-visual,
.public-shell .pub-how-visual {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}
.public-shell .pub-hero-visual .journey,
.public-shell .pub-how-visual .journey {
  max-width: none;
  width: 100%;
  margin: 0;
}
.public-shell .journey-toggle {
  align-self: flex-end;
}
.public-shell .pub-crumbs {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  color: var(--vesta-text-muted);
}
.public-shell .pub-crumbs li + li::before {
  content: "›";
  margin-right: 6px;
}
.public-shell .pub-crumbs a {
  color: var(--vesta-text-secondary);
}
.public-shell .pub-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: 12.5px;
  font-weight: 600;
}
.public-shell .pub-eyebrow .lucide {
  width: 14px;
  height: 14px;
}
.public-shell .pub-mods {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.public-shell .pub-mods li {
  display: flex;
}
.public-shell .pub-mod {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 20px;
  border: 1px solid var(--vesta-border);
  border-radius: 14px;
  background: var(--vesta-bg-card);
  color: var(--vesta-text-primary);
  text-decoration: none;
  transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
}
.public-shell .pub-mod:hover {
  color: var(--vesta-text-primary);
  border-color: var(--vesta-primary);
  box-shadow: var(--vesta-shadow-md);
  transform: translateY(-2px);
}
.public-shell .pub-mod b {
  font-size: 15.5px;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.public-shell .pub-mod .pub-mod-text {
  font-size: 13px;
  line-height: 1.5;
  color: var(--vesta-text-secondary);
  text-wrap: pretty;
}
.public-shell .pub-mod .pub-more {
  margin-top: auto;
}
.public-shell .pub-points {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.public-shell .pub-point {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--vesta-border);
  border-radius: 14px;
  background: var(--vesta-bg-card);
}
.public-shell .pub-point h3 {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.public-shell .pub-point p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--vesta-text-secondary);
  text-wrap: pretty;
}
.public-shell .pub-how {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 40px;
  align-items: start;
}
.public-shell .pub-how .pub-sec-h {
  margin: 0;
}
.public-shell .pub-strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
  gap: 32px;
  align-items: center;
  padding: 28px 32px;
  border: 1px solid var(--vesta-border);
  border-radius: 16px;
  background: var(--vesta-bg-card);
}
.public-shell .pub-strip-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}
.public-shell .pub-strip-copy h2 {
  margin: 0;
  font-family: var(--vesta-font-display);
  font-size: 18px;
  font-weight: 700;
}
.public-shell .pub-strip-copy p {
  margin: 0;
  font-size: 13.5px;
  color: var(--vesta-text-secondary);
}
.public-shell .pub-strip-points {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.public-shell .pub-strip-points li {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid var(--vesta-border-subtle);
  border-radius: 10px;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--vesta-text-secondary);
}
.public-shell .pub-strip-points .pub-ico {
  width: 36px;
  height: 36px;
  border-radius: 9px;
}
.public-shell .pub-strip-points b {
  display: block;
  font-size: 13.5px;
  color: var(--vesta-text-primary);
}
.public-shell .pub-faq {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--vesta-border);
  border-radius: 14px;
  background: var(--vesta-bg-card);
  overflow: hidden;
}
.public-shell .pub-faq details + details {
  border-top: 1px solid var(--vesta-border-subtle);
}
.public-shell .pub-faq summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  font-size: 15px;
  font-weight: 600;
}
.public-shell .pub-faq summary::-webkit-details-marker {
  display: none;
}
.public-shell .pub-faq summary .lucide {
  margin-left: auto;
  color: var(--vesta-text-muted);
  transition: transform 0.2s;
}
.public-shell .pub-faq details[open] summary .lucide {
  transform: rotate(180deg);
}
.public-shell .pub-faq p {
  margin: 0;
  max-width: 760px;
  padding: 0 20px 18px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--vesta-text-secondary);
  text-wrap: pretty;
}
.public-shell .pub-others {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.public-shell .pub-others a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 36px;
  padding: 0 13px;
  border-radius: 99px;
  border: 1px solid var(--vesta-border);
  background: var(--vesta-bg-card);
  font-size: 13px;
  font-weight: 500;
  color: var(--vesta-text-primary);
  text-decoration: none;
}
.public-shell .pub-others a:hover {
  border-color: var(--vesta-primary);
  color: var(--vesta-primary-strong);
}
.public-shell .pub-others a .lucide {
  width: 14px;
  height: 14px;
  color: var(--vesta-text-muted);
}
.public-shell .pub-band {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 44px 40px;
  border-radius: 20px;
  background: linear-gradient(135deg, var(--vesta-fill-primary), #6D28D9);
  box-shadow: 0 20px 50px rgba(var(--vesta-primary-rgb), 0.3);
  color: #fff;
}
.public-shell .pub-band h2 {
  margin: 0 0 8px;
  font-family: var(--vesta-font-display);
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.15;
}
.public-shell .pub-band p {
  margin: 0;
  max-width: 560px;
  font-size: 15px;
  line-height: 1.55;
  color: #E0E7FF;
  text-wrap: pretty;
}
.public-shell .pub-band .pub-band-btn {
  --bs-btn-bg: #fff;
  --bs-btn-border-color: #fff;
  --bs-btn-color: var(--vesta-fill-primary);
  --bs-btn-hover-bg: #EEF2FF;
  --bs-btn-hover-border-color: #EEF2FF;
  --bs-btn-hover-color: var(--vesta-fill-primary);
  --bs-btn-active-bg: #E0E7FF;
  --bs-btn-active-color: var(--vesta-fill-primary);
}
.public-shell .pf {
  padding: 40px 0 28px;
  border-top: 1px solid var(--vesta-border);
  background: var(--vesta-bg-card);
}
.public-shell .pf-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
  gap: 28px;
}
.public-shell .pf-col {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.public-shell .pf-col a {
  font-size: 13px;
  color: var(--vesta-text-secondary);
  text-decoration: none;
}
.public-shell .pf-col a:hover {
  color: var(--vesta-primary-strong);
  text-decoration: underline;
}
.public-shell .pf-lbl {
  margin: 0 0 4px;
  font-family: var(--vesta-font-mono);
  font-size: 10.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--vesta-text-muted);
}
.public-shell .pf-brand {
  align-items: flex-start;
  gap: 12px;
}
.public-shell .pf-brand .brand-logo {
  text-decoration: none;
}
.public-shell .pf-brand p {
  margin: 0;
  max-width: 320px;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--vesta-text-secondary);
}
.public-shell .pf-bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 32px;
  padding-top: 18px;
  border-top: 1px solid var(--vesta-border);
}
.public-shell .pf-copy {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  font-size: 12px;
  color: var(--vesta-text-muted);
}
.public-shell .pf-vat {
  font-family: var(--vesta-font-mono);
}
.public-shell .pf-social {
  display: flex;
  gap: 8px;
}
.public-shell .pf-social a {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  border: 1px solid var(--vesta-border);
  color: var(--vesta-text-secondary);
}
.public-shell .pf-social a:hover {
  color: var(--vesta-primary-strong);
  border-color: var(--vesta-primary);
}
.public-shell .pf-social svg {
  width: 15px;
  height: 15px;
}

@media (prefers-reduced-motion: reduce) {
  .public-shell .pub-mod,
  .public-shell .pub-faq summary .lucide {
    transition: none;
  }
  .public-shell .pub-mod:hover {
    transform: none;
  }
}
@media (max-width: 1000px) {
  .public-shell .pub-hero-grid,
  .public-shell .pub-how,
  .public-shell .pub-strip {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .public-shell .pub-mods,
  .public-shell .pf-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .public-shell .pnav {
    display: none;
  }
  .public-shell .ph-burger {
    display: inline-flex;
  }
  .public-shell .ph-login {
    display: none;
  }
  .public-shell .ph.menu .pnav {
    position: absolute;
    top: 64px;
    left: 0;
    right: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    padding: 10px 16px 14px;
    background: var(--vesta-bg-card);
    border-bottom: 1px solid var(--vesta-border);
    box-shadow: var(--vesta-shadow-md);
  }
  .public-shell .ph.menu .pnav-link,
  .public-shell .ph.menu .pnav-dd > summary {
    height: 40px;
  }
  .public-shell .ph.menu .pnav-dd-menu {
    position: static;
    min-width: 0;
    padding: 0 0 0 10px;
    border: 0;
    box-shadow: none;
  }
}
@media (max-width: 700px) {
  .public-shell .pub-wrap {
    padding: 0 16px;
  }
  .public-shell .ph-bar {
    gap: 12px;
  }
  .public-shell .ph-trial {
    display: none;
  }
  .public-shell .pub-hero {
    padding: 44px 0 36px;
  }
  .public-shell .pub-sec {
    padding: 44px 0;
  }
  .public-shell .pub-mods,
  .public-shell .pub-points,
  .public-shell .pub-strip-points,
  .public-shell .pf-grid {
    grid-template-columns: 1fr;
  }
  .public-shell .pub-strip {
    padding: 20px;
  }
  .public-shell .pub-band {
    grid-template-columns: 1fr;
    padding: 28px 22px;
  }
  .public-shell .pub-band-btn {
    width: 100%;
  }
  .public-shell .pub-kpis {
    gap: 18px;
  }
  .public-shell .journey::before {
    left: 66px;
  }
  .public-shell .jstep {
    grid-template-columns: 32px 36px minmax(0, 1fr) auto;
    gap: 8px;
    padding: 8px;
  }
  .public-shell .jt {
    font-size: 10.5px;
  }
  .public-shell .pf-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}
.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/_rail.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/layout/_flyout.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/_env-badge.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/_expand-card.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_resize-handle.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/_dashboard.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/_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/components/_timeline-grid.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_project-planning.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_planning.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_snapshot-card.scss%22,%22file:///C:/Users/sponselli/Development/vs/vestaSuite/VestaSuite/VestaSuite.UI/wwwroot/scss/components/_widgets.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/components/_journey.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/layout/_public.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;AACA;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;EACA;EACA;EACA;AAEA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;AAEA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;AACA;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;AACA;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;AACA;EACA;AACA;AAAA;EAEA;AACA;EACA;AACA;EACA;AACA;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;;;ACpTF;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;;ACmIA;EDhIE;EACA;EACA;;;AEXJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EDoBA,OClBgB;EDmBhB,QCnBgB;;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;;ADeA;ECZE;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;;ADxBA;EC2BE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;ADjDA;ECoDE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;ADhEA;ECmEE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AD7EA;ECgFE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AD1FA;EC6FE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;ADvGA;EC0GE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;;;AC9QF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AF+HA;EE5HE;EACA;EACA;;;AAIJ;EACE;EACA;;AFoHA;EEjHE;EACA;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;;;AAIF;EACE;;;AAGF;EF1CE;EACA,aAFiC;EAGjC,KEyCkB;EAClB;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;EFvDE;EACA,aAFiC;EAGjC,KEsDkB;EAClB;;;AAGF;EF5DE;EACA,aAFiC;EAGjC,KE2DkB;EAClB;EACA;EACA;EACA;EACA;EACA;;;AClFF;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;EL2FA;EACA;EACA;;AAqCA;AAAA;EK7HE;EACA;EACA;;;AAMA;EACE;;;AAKN;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAIA;EACE;EACA;;AAGF;ELsDA;EACA;EACA;;;AMrGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AN0HJ;EMrHE;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;;APqGJ;EOhGE;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;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;ACpJF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAgB;;AAEhB;EAAc;;;AAGhB;EACE;EACA;EACA;EACA;;AR+GA;EQ5GE;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;AR2FA;EQxFE;;;AAKJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EAEE;EACA;EACA;;;AC7FJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AT+HA;ES5HE;EACA;;;AT2HF;ESrHE;;AAEA;EACE;;;ACxBN;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;;ACxBJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;IACE;;EAEA;IACE;IACA;IACA;IACA;IACA;IACA;IACA;;;AAMN;EACE;IACE;;;AAIJ;EACE;;;AAGF;AAAA;EXvBE;EACA;EACA,KWuBkB;EAClB;EAOA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EXjDA;EACA,aAFiC;EAGjC,KWgDkB;EAClB;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;;AAQJ;EACE;EACA;EACA;;AAIA;EACE;;;AAKJ;EACE;;;AAGF;EXrFE;EACA,aWqFwB;EXpFxB,KWoFkB;EAClB;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EXrHE;EACA,aAFiC;EAGjC,KWoHkB;EAClB;;;AAIF;EX3HE;EACA,aW2HwB;EX1HxB,KW0HkB;EAClB;;;AAGF;EX1GE,OW2Gc;EX1Gd,QW0Gc;EXnHd;EACA;EWoHA;EACA;EACA;EAGA;EACA;;AAEA;EXrHA,OWsHgB;EXrHhB,QWqHgB;;AXfhB;EWmBE;EAGA;;;AAIJ;EXvJE;EACA,aAFiC;EAGjC,KWsJkB;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;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;AAAA;IAEE;IACA;;EAGA;IACE;;;AAIN;EAGE;AAAA;IAEE;;EAGF;AAAA;IAEE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;;EAGF;AAAA;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAIA;AAAA;IAEE;;EAMJ;IACE;;EAEA;IACE;IACA;IACA;;EAGF;IACE;;EAIJ;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;;EAEA;IXlVF,OWmVkB;IXlVlB,QWkVkB;;EAGhB;IACE;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;EAIJ;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;;EAGF;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;;ACvnBJ;EACE;EACA;EZkBA;EACA;EACA,KYnBkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EZsBE,OYrBc;EZsBd,QYtBc;EZad;EACA;EYZA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;;AAIJ;AAAA;EZjBE;EACA;EACA,KYiBkB;EAClB;;;AAGF;EACE;;;AAGF;EACE;EZbA,OYcc;EZbd,QYac;EZtBd;EACA;EYuBA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;;AAEA;EZ1BA,OY2BgB;EZ1BhB,QY0BgB;;AAGhB;EAEE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;;;AAIJ;EACE;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;EACA;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;AAAA;EAEE;;;AAKF;EACE;IACE;IACA;;EAGF;IZ3JA,OY4JgB;IZ3JhB,QY2JgB;IACd;;EAGF;IZhKA,OYiKgB;IZhKhB,QYgKgB;;;AAIlB;EACE;IACE;IACA;;;ACzMJ;EACE;EACA;EACA;EACA;EACA;EbaA;EACA;EACA,KadkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAIF;AAAA;EAEE;;;AAGF;Eb7BE;EACA,aAFiC;EAGjC,Ka4BkB;EAClB;;;AAGF;EACE;EACA;EACA;Eb9BA;EACA;EACA,Ka6BkB;;;AAGpB;EACE;EACA;EACA;EACA;EACA;EbMA;EACA;EACA;;;AaJF;EACE;EACA;EACA;;;AAGF;EblCE,OamCc;EblCd,QakCc;Eb3Cd;EACA;Ea4CA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;Eb7CA,Oa8CgB;Eb7ChB,Qa6CgB;;AAGhB;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EbvFE;EACA,aAFiC;EAGjC,KasFkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EbjDF;EACA;EACA;;AamDA;EbnFA,OaoFgB;EbnFhB,QamFgB;;AAGhB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;Eb9HA;EACA;EACA,Ka6HkB;EAClB;EACA;EACA;EACA;;;AAGF;Eb7IE;EACA,aAFiC;EAGjC,Ka4IkB;EAClB;EACA;EACA;EACA;;AAEA;Eb9HA,Oa+HgB;Eb9HhB,Qa8HgB;;AAGhB;EACE;EACA;;;AAKJ;Eb/JE;EACA,aAFiC;EAGjC,Ka8JkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;;AAEA;Eb1JA,Oa2JgB;Eb1JhB,Qa0JgB;;AAGhB;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAEA;EACE;;AAKJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAEA;EbzMJ,Oa0MoB;EbzMpB,QayMoB;;;AAMtB;EACE;EACA;EbpLA;EACA;EACA;;;AasLF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;;;AAGF;EACE;AAAA;IAEE;IACA;;;AAKJ;AAAA;AAAA;AAAA;EAIE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAIF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AAAA;AAAA;EAGE;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AC7TF;EdSE;EACA,aAFiC;EAGjC,KcVkB;EAIlB;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAUJ;EAGE;EACA;EACA;EACA;EACA;Ed8BA;EACA;EACA;;Ac7BA;EAEE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAIF;EAIE;EACA;Ed/CA;EACA,aAFiC;EAGjC,Kc8CkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EdTF;EACA;EACA;;AcWA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;Ad2CF;EcvCE;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAMN;EdnGE;EACA,aAFiC;EAGjC,KckGkB;EAClB;;AAEA;AAAA;EAEE;;;AAKJ;EACE;EACA;EACA;Ed3FA,Oc4Fc;Ed3Fd,Qc2Fc;EACd;EACA;EACA;EACA;;AdOA;EcJE;;AAIF;EACE;;;AAKJ;EACE;;;AAIA;EACI;;;AAKN;Ed9IE;EACA,aAFiC;EAGjC,Kc6IkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;;;AAIJ;EdjJE,OckJc;EdjJd,QciJc;EACd;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;IAAK;;EACL;IAAM;;EACN;IAAO;;;AAGT;EACE;EACA;;;AAIF;EdhME;EACA,aAFiC;EAGjC,Kc+LkB;EAClB;EACA;EACA;EACA;;AAIA;EACE;EACA;EACA;EACA;;;AAIJ;EACE;AAAA;IAEE;;;AAIJ;EACE;IACE;;;ACvOJ;EfaE;EACA,aAFiC;EAGjC,KedkB;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;EfhBE,OeiBc;EfhBd,QegBc;EACd;EACA;;;AAIF;Ef7CE;EACA,aAFiC;EAGjC,Ke4CkB;EAClB;;AAEA;EACE;;AAGF;EACE;EACA;;AfsEF;EelEE;EACA;;;AAKJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;Af6CF;Ee1CI;EACA;;AAIJ;EACE;EACA;EACA;;AAIA;EACE;;AAGF;EACE;;AfyBJ;EetBM;;;AAOR;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;;;AAOF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EfvHF,OewHgB;EfvHhB,QeuHgB;EACd;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;;;AAMN;EACE;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AClNF;EhBgHE;EACA;EACA,eAH0B;EgB7G1B;EACA;EACA;EACA;EACA,YACE;;AAKF;EACE;EACA;EACA;EACA;EACA;EAKA;EACA;;AAIF;EACE;EACA;EACA;EACA;EhBGF,OgBFgB;EhBGhB,QgBHgB;EACd;EACA;EAGA;;AAGF;EACE;EACA;EACA,YACE;;AAGF;EACE;;AAGF;EACE;;AAIJ;AAAA;EhB5CA;EACA,aAFiC;EAGjC,KgB4CoB;EAClB;EACA;EACA;EACA;;AAGF;EhB/BA,OgBgCgB;EhB/BhB,QgB+BgB;EACd;EhBzCF;EACA;EgB2CE;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;EhB3FA;EACA,aAFiC;EAGjC,KgB0FoB;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;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EAAoB;;AACpB;EAAoB;;AACpB;EAAmB;;AACnB;EAAiB;;;AAOjB;AAAA;AAAA;AAAA;EAEE;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAIF;EACE;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;;AAKJ;EACE;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAKJ;EACE;;AAEA;AAAA;EAEE;;;AAKJ;EACE;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;;AAGF;EACE;EACA;;AAGF;EACE;;;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;;;AAQJ;AAAA;EAEE;EACA;;;ACzWJ;EACE;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;;AAIJ;EACE;EjBkBA,OiBjBc;EjBkBd,QiBlBc;EACd;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EjBPJ,OiBQkB;EjBPlB,QiBOkB;EACd;EACA;EACA;;;AAKN;EjBhBE,OiBiBc;EjBhBd,QiBgBc;EjBzBd;EACA;EiB0BA;EACA;EACA;EAGA,YACE;EAEF;;AAEA;EjB7BA,OiB8BgB;EjB7BhB,QiB6BgB;;;AAIlB;EACE;IACE;;;AAIJ;EAEE;IAEE;;EAGF;IACE;;;AAIJ;EAEE;AAAA;IAEE;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;;AAEA;EACE;EACA;;;AAKN;EACE;;;ACpHF;ElBQE;EACA,aAFiC;EAGjC,KkBTkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAMA;AAAA;ElBgBA,OkBdqB;ElBerB,QkBfqB;EACnB;EAIA;;;AAOJ;EACE;IACE;;EAGF;IAGE;IACA;IACA;IACA;IACA;IACA;;;ACnDJ;EACE;EAGA;EACA;EACA;EACA;;;AAIF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AnBuFA;EmBpFE;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;;AnB6CA;EmB1CE;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;EAGA;;AAKA;EACE;EACA;;;AAQJ;EACE;EACA;EACA;EACA;EACA;;AAIA;EACE;;;AAMJ;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;ACnOF;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAEA;EACE;;AAKJ;EACE;;AAEA;EACE;;ApBoGJ;EoBhGI;;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;EAGE;EACA;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;EAEA;EACA;EACA;;AAGF;EACE;;AAIF;EACE;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAEA;ErBXF;EACA;EACA;;;AqBaF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAOF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;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;;AAIF;EACE;EACA;;;AAKJ;EACE;EACA;EACA;EACA;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;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;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;;AAIP;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;AAIJ;EAAY;;AACZ;EAAY;;AACZ;EAAY;;AACZ;EAAY;;AAEZ;EACE;EACA;;AAGF;EACE;;AAIF;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAKJ;EACE;EACA;;AAOF;EACE;EACA;EACA;EACA;;AAGA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAKJ;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;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAIF;EACE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIF;EACE;;AAGF;EACE;;AAGF;EArXA;EAwXE;;;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;;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;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EAAY;;AACZ;EAAY;;AACZ;EAAY;;AACZ;EAAY;;AAEZ;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;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;;;AAKJ;EAj4BE;EAo4BA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAIJ;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EAAY;;AACZ;EAAY;;AACZ;EAAY;;AACZ;EAAY;;;AAKd;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAKJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;;AAKN;EACE;;;AAIF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAKA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAY;;AACZ;EAAY;;AACZ;EAAY;;AACZ;EAAY;;AAEZ;EACE;EACA;;AAGF;EACE;;AAGF;EAvqCF;;AA2qCE;EACE;EACA;EACA;;AAIJ;EACE;;;AAMJ;EACE;;AAEA;EACE;;;AC1mDJ;EtBgHE;EACA;EACA,esBjHqB;EACrB;EACA;;AtBsIA;EsBnIE;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;;;AAKF;EACE;EACA;EACA;EtB1BA;EACA;EACA;EACA;EACA;;AA8DA;EsBpCE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EtBrFF;EACA;EACA;EACA;EACA;EsBmFE;EACA;;;AAMJ;EACE;EACA;;;AAKF;EACE;IACE;IACA;;EAGF;AAAA;IAEE;;;AAIJ;EACE;EACA;EACA;;;AAIF;EtB/EE;EACA;EACA,esB8EqB;EACrB;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;AtBlEF;EsBsEE;EACA;;;AAIJ;EtBxME;EACA,aAFiC;EAGjC,KsBuMkB;EAClB;EACA;EACA;EACA;;AAEA;EtBzLA,OsB0LgB;EtBzLhB,QsByLgB;EACd;EtBnMF;EACA;EsBoME;EACA;EACA;;AtBxFF;EsB2FI;EACA;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EtBxOA;EACA,aAFiC;EAGjC,KsBuOoB;EAClB;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AtBhIJ;EsBqIE;EACA;;;AAKJ;EtBxQE;EACA,aAFiC;EAGjC,KsBuQkB;EAClB;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AtBtJA;EsByJE;;;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;;AAUA;EACE;EACA;EACA;;AAKA;EACE;EAIA;EACA;;AAIJ;EACE;;AAGF;AAAA;EAEE;;;AAOJ;EAEE;;;AAGF;EAGE;;;AAUF;EACE;;;AAKF;EACE;;;AAMF;EACE;;AAEA;EACE;;;AAOJ;EAEI;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAGF;IAEE;;;AAMN;EACE;IACE;IACA;IACA;;EAGF;IACE;;;AAKJ;EACE;EACA;;;AAIF;EACE;;;AAKF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EAAgB;;AAChB;EAAkB;;AAClB;EAAiB;;AAEjB;EACE;;;AAKJ;EACE;;;AAOF;EACE;;;AAMF;EACE;;;AAIF;EACE;;AAIA;EACE;;;AAKJ;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EAEE;;;AAUA;EACE;;AAGF;EACE;;;AAMJ;EACE;EACA;;;AAkBF;EACE;;;AAOF;EACE;;;AAMF;EACE;;;AAKF;EACE;;;AAMF;EACE;;;AAKF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAKF;EACE;;;AAMF;EACE;;;AAIF;EACE;;;AAKF;EACE;;AAEA;EACE;EACA;;AAGF;EAAkC;;AAElC;EACE;EACA;EACA;;;AAKJ;EACE;EACA;;;AAIF;EACE;;AAEA;EAAe;EAAiB;;AAEhC;EAA8B;;;AAGhC;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAe;;AAEf;EACE;EACA;;AAGF;EAfF;IAgBI;;EAEA;IAAgB;;;;AAIpB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAKF;EACE;;;AAIF;EACE;;;AAIF;AAAA;EAEE;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;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;;;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;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;;AAKJ;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAKF;EAEE;;AAOA;AAAA;EAEE;;AAGF;EACE;;;AAMJ;EAEI;AAAA;IAEE;IACA;IACA;IACA;IAGA;IACA;IACA;IACA;IACA;IACA;;EAKF;IACE;;EAMF;IACE;IACA;IACA;;EAOF;AAAA;IAEE;;EAGF;AAAA;IAEE;IACA;IACA;;EAKF;IACE;IACA;;EAGF;IAEE;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;;;AAQF;EACE;;AAGA;EACE;EACA;;AAKF;EACE;;AAKF;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAKJ;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAEA;EAAe;EAAa;;AAI9B;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAEA;EAAe;;AAGjB;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;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;;;;AAMhC;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AtBh8CF;EsBo8CE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;IACE;;EAGF;IACE;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;;;AAIF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EAGA;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;EACA;;;AAQF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;;;AAGF;EtBnuDE;EACA;EACA,esBkuDqB;EACrB;EACA;EACA;EACA;EACA;EACA;EACA;;AtBltDA;EsBqtDE;EACA;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAKJ;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;;AAEA;EACE;;;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;;AtBt2DA;EsBy2DE;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;;;AC3kEF;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;EvBlCE;EACA;EACA,KuBiCkB;;AAElB;EACE;EACA;EACA;EACA;;AvB6EF;EuB1EI;;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;;;AASV;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIA;EAAe;;AACf;EAAgB;;;AAIhB;EAAe;;AACf;EAAgB;EAAoC;;AAGlD;EAAe;;AACf;EAAgB;;AAIhB;EACE;EACA;;AAGF;EAAgB;;;AAKpB;EACE;EACA;EACA;EACA;EACA;EACA;;AvBlGA;EuBqGE;;;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;EvB/QE;EACA,aAFiC;EAGjC,KuB8QkB;;;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;;AvB1LA;EuB6LE;;;AAIJ;EvB9TE;EACA,aAFiC;EAGjC,KuB6TkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AvB3MA;EuB8ME;;;AAIJ;EvB/UE;EACA,aAFiC;EAGjC,KuB8UkB;EAClB;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAIF;EvBhWE;EACA;EACA,KuB+VkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AvBrPA;EuBwPE;;;AAMJ;EACE;EACA;EACA;EACA;EACA;;AvBnQA;EuBsQE;;;AAKJ;EACE;EACA;;AvB7QA;EuBgRE;;;AAMJ;EACE;;AvBvRA;EuB0RE;;;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;EvBvkBA;EACA,aAFiC;EAGjC,KuBskBoB;EAClB;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;;AAKJ;EACE;EACA;;;AAMF;EACE;EACA;EACA;EACA;;AAEA;EANF;IAOI;IACA;;;;ACznBJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAEA;EACE;;;AAMN;EACE;EACA;ExBFA,OwBGc;ExBFd,QwBEc;EACd;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAKJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAIF;EACE;EACA;;;AAIF;ExBrDE,OwBsDc;ExBrDd,QwBqDc;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;;;AAIF;EACE;EACA;EACA;;;ACtIF;EzBiHE;EACA;EACA,eAH0B;EyB9G1B;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;EzBDE,OyBEc;EzBDd,QyBCc;EzBVd;EACA;EyBWA;EACA;EACA;;AAEA;EzBFA,OyBE6B;EzBD7B,QyBC6B;;AAE7B;EAAe;EAAyC;;AACxD;EAAe;EAAyC;;AACxD;EAAe;EAAyC;;AACxD;EAAc;EAAwC;;;AAGxD;EzB/BE;EACA;EACA,KyB8BkB;EAClB;;;AAGF;EzBSE;EACA;EACA;EyBTA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;;ACrHJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EAEE;;AAGF;EACE;EACA;EACA;;AAIF;EApCF;IAqCI;;EAEA;IACE;IACA;;;;AAKN;EAA0B;;;AAC1B;EAAwB;;;AAExB;EACE;IAA2B;;;AC7C7B;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;E3BAE;EACA,aAFiC;EAGjC,KAHoB;E2BGpB;EACA;EACA;;;AAMF;EAAqB;;;AACrB;EAAqB;;;AACrB;EAAqB;;;AACrB;EAAqB;;;AACrB;EAAqB;;;AACrB;EAAqB;;;AACrB;EAAqB;;;AACrB;EAAqB;;;AAErB;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAKF;EACE;EACA;EACA;EACA;;AAEA;EAAuB;;;AAGzB;EACE;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAgB;;AAChB;EAAe;;;AAKnB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAW;;;AAGb;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;;AACV;EAAkB;EAAyC;;AAC3D;EAAa;;AAEb;EACE;EACA;;AAGF;EACE;;AAMF;EACE;;AAIF;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;IAAoB;;EACpB;IAAuC;;;AAKzC;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;EAEF;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;IAAsB;;;;AAK1B;EACE;EACA;EACA;EACA;;AAEA;EANF;IAOI;;;AAGF;EAVF;IAWI;;;;AAIJ;EACE;;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;;AAIJ;E3BvSE;EACA,aAFiC;EAGjC,K2BsSkB;EAClB;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;AAEA;AAAA;EAAI;EAAkC;;;AAGxC;E3BvUE;EACA,a2BuUuB;E3BtUvB,K2BsUkB;EAClB;;;AAGF;EACE;EACA;EACA;;;AAGF;E3BlVE;EACA,aAFiC;EAGjC,K2BiVkB;EAClB;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;E3BvWE;EACA,a2BuWuB;E3BtWvB,K2BsWkB;;AAElB;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;E3BxXE;EACA,aAFiC;EAGjC,K2BuXkB;EAClB;EACA;;;AAIF;EACE;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;;;AAIJ;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;E3B5ZE;EACA,aAFiC;EAGjC,K2B2ZkB;EAClB;EACA;;;AAGF;E3BlaE;EACA,aAFiC;EAGjC,K2BiakB;EAClB;;;AAGF;E3BvaE;EACA,a2BuauB;E3BtavB,K2BsakB;EAClB;EACA;EACA;;;AAIF;E3B/aE;EACA,aAFiC;EAGjC,K2B8akB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAMF;EACE;;AAGA;EAJF;IAKI;;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;E3BpdE;EACA,a2BoduB;E3BndvB,K2BmdkB;EAClB;EACA;EACA;;AAEA;EAAI;EAAoC;;;AAK1C;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;E3BzfE;EACA,aAFiC;EAGjC,K2BwfkB;EAClB;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;E3BzgBE;EACA,aAFiC;EAGjC,K2BwgBkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;E3B/iBE;EACA,aAFiC;EAGjC,K2B8iBkB;EAClB;EACA;EACA;EACA;;;AAIF;EACE;;;AAGF;E3B5jBE;EACA,aAFiC;EAGjC,K2B2jBkB;EAClB;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;E3B1lBE;EACA,aAFiC;EAGjC,K2BylBkB;EAClB;EACA;EACA;EACA;;;AAGF;EACE;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;E3BhnBE;EACA,aAFiC;EAGjC,K2B+mBkB;EAClB;EACA;EACA;;;AAGF;E3BvnBE;EACA,aAFiC;EAGjC,K2BsnBkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;E3BhqBE;EACA,aAFiC;EAGjC,K2B+pBkB;EAClB;EACA;EACA;;AAEA;EAAU;;;AAGZ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;E3BxrBA;EACA,aAFiC;EAGjC,K2BsrBuB;;;AAGzB;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;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;EACA;EACA;EACA;;AAEA;EACE;;AAIF;EAAc;;AAEd;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAIF;EAEE;;AAGF;EACE;;;AAIJ;E3B7yBE;EACA,aAFiC;EAGjC,K2B4yBkB;EAClB;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;;AACV;EAAkB;EAAyC;;;AAG7D;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAO;EAAiB;;AAExB;EAVF;IAWI;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;IAAc;;;AAIhB;EACE;EACA;;AAEA;EACE;EACA;;;AAMJ;EACE;EACA;EACA;EACA;EACA;;;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;;;AAMF;EACE;EACA;EACA;;;AAGF;EAA2B;;;AAC3B;EAA2B;;;AAE3B;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EAAI;EAAgB;;;AAGtB;EAA4B;;;AAC5B;EAA4B;;;AAI5B;EAAuB;;;AAEvB;EACE;IAAsB;;;AAGxB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;E3Bh+BA;EACA,YAFqB;;A2Bo+BrB;EAAU;EAAa;EAAc;;AAErC;EAAU;;AAEV;E3Bh+BA;EACA;EACA;;;A2Bi+BF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EAAU;EAAa;EAAc;;AAErC;AAAA;E3BjhCA;EACA;EACA;;;A2BkhCF;EAAyB;;;AAEzB;EACE;EACA;EACA;EACA;EACA;EACA;;;AAKF;EACE;IACE;IACA;;EAGF;AAAA;AAAA;AAAA;IAIE;;EAGF;IAAkB;;;AAGpB;EACE;IACE;;EAGF;IACE;;;AAMJ;EAAgB;;;AAChB;EAAgB;;;AAEhB;E3BpnCE;EACA,aAFiC;EAGjC,K2BmnCkB;EAClB;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;EAAyC;;AACnD;EAAU;EAAa;;;AAGzB;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAI;EAAoC;;;AAG1C;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAMF;EAAwB;;;AAKxB;EACE;EACA;EACA;EACA;EACA;;AAEA;EAAa;EAAgB;;;AAG/B;E3B1rCE;EACA,aAFiC;EAGjC,K2ByrCkB;EAClB;;;AAGF;E3B/rCE;EACA,aAFiC;EAGjC,K2B8rCkB;EAClB;EACA;EACA;EACA;EACA;EACA;;;AAMF;EACE;;AAEA;EACE;EACA;;AACA;EAAU;;;AAId;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;;AAMJ;EACE;IAAoC;;EACpC;IAAqC;;;AClwCvC;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;E5BsDA;EACA,YAFqB;;A4BlDrB;EACE;;AAGF;E5BsDA;EACA;EACA;;A4BpDA;EACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;E5BqBE;EACA;EACA;EACA;EACA;;;A4BrBF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAIF;EACE;EACA;EACA;;;AAIF;EACE;;AAEA;EAAe;;;AAGjB;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;E5B3CA;EACA;EACA;;;A4B8CF;EACE;EACA;EACA;EACA;EACA;;AAEA;EAPF;IAQI;;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKA;EACA;E5BxFA;EACA,YAFqB;;A4B4FrB;EACE;EACA;EACA;;AAGF;E5B1FA;EACA;EACA;;;A4B8FF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;E5B5IA;EACA;EACA;;;A4B+IF;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;EAEA;EACA;EACA;EACA;EACA;EACA;E5B/JA;EACA,YAFqB;;A4BmKrB;EACE;;AAGF;E5B/JA;EACA;EACA;;AAqCA;E4B6HE;;AAGF;EAlCF;IAmCI;;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;E5BtNA;EACA;EACA;;;A4BwNF;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;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;;;AAMJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;E5B7TA;EACA;EACA;;A4B8TA;EAAU;;AAEV;E5BhSA;EACA;EACA;;;A4BiSF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EAAU;EAAa;;;AAGzB;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;IACE;IACA;;EAGF;IAAkB;;EAElB;IAAkB;IAAU;;;AAI9B;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;;AAKJ;E5BjWE;E4BmWA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;IAAO;IAAY;;EACnB;IAAK;IAAY;;;AAMjB;AAAA;EAEE;EACA;;AAKF;EACE;EACA;;AAGF;EAAgB;;AAGhB;EAA4B;;;AAI9B;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;AAAA;EACa;;;AChiBf;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;E7BDE;E6BGA;EACA;EACA;EACA;EACA;EACA;EACA;E7BzBA;EACA,YAFqB;;A6B6BrB;EACE;;AAGF;E7BzBA;EACA;EACA;;A6B6BA;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;E7BhEE;E6BkEA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;E7B7IA;EACA;EACA;;;A6B+IF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EAMA;EACA;;AAEA;EArBF;IAsBI;;;;AAIJ;EACE;;;AAGF;EACE;IAAO;;EACP;IAAK;;;AC9OL;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;;;AASF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EAGA,uBAbc;EAcd;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;;;AAMF;EACE;IACE;;EAGF;IAEE;IACA;IACA;;EAEA;AAAA;AAAA;IAGE;;EAGF;IACE;IACA;;EAMJ;IACE;IACA;IACA;;EAEA;IACE;IACA;IACA;;EAGF;IACE;;;AAkBN;EACE;;AAEA;EACE;;AAGF;EAGE;;;AClRJ;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;EhCAF,OgCCgB;EhCAhB;EgCCE;EACA;EhCXF;EACA;EgCYE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EhCtBF;EACA;EgCuBE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;;AAOJ;EhC1DE;EACA,aAFiC;EAGjC,KgCyDkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAIF;AAAA;EhCxDA,OgC0DqB;EhCzDrB,QgCyDqB;EACnB;EACA;;;ACrGJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;;;AAIF;EjCJE;EACA,aAFiC;EAGjC,KiCGkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;;;AAIJ;EjCVE,OiCWc;EjCVd,QiCUc;EACd;EACA;EACA;EACA;;;AAGF;EjCYE;EACA;EACA;EiCZA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AjCkEA;EiC/DE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EjC7EE;EACA,aAFiC;EAGjC,KAHoB;EiCgFpB;EjCXA;EACA;EACA;EACA;EACA;EiCSA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EjCxFE;EACA;EACA,KiCuFkB;;;AAIpB;EjCpGE;EACA,aAFiC;EAGjC,KiCmGkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;;;AAIJ;EACE;EACA;EjChIA;EACA;EACA,KiC+HkB;EAClB;;;AAGF;EACE;EACA;EACA;;;AAIF;EjC7HE,OiC8Hc;EjC7Hd,QiC6Hc;EACd;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AjClCF;EiCsCE;;;AAIJ;EjCjJE,OiCkJc;EjCjJd,QiCiJc;EACd;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AjCrDF;EiCyDE;;;AAKJ;EACE;EACA;EACA;;;AAGF;EjCjME;EACA,aAFiC;EAGjC,KiCgMkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AC3NJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;;;AAGF;ElCHE;EACA,aAFiC;EAGjC,KkCEkB;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;ElC4DA,YADgB;EAEhB;EACA;EkC5DA;EACA;EACA;EACA;EACA;;AlCsEA;EAhBA,YAOe;EANf;EACA;EAMA;;;AkCvDF;ElCME;EACA;EACA;EACA;EACA;EkCRA;;;AAGF;ElCnEE;EACA,aAFiC;EAGjC,KkCkEkB;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;EnC0BE;EACA,QAFkC;EAGlC;EACA;EmC3BA;EnCXA;EACA;EACA,KmCUkB;EAClB;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EAIA,YACE;EAEF;EACA;EACA;EACA;EACA;EnC5DA;EACA,aAFiC;EAGjC,KmC2DkB;EAClB;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAKJ;EACE;EnCzDF;EACA;EmC0DE;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EnC3FA;EACA;;;AmC8FF;EnCvFE,OmCwFc;EnCvFd,QmCuFc;EACd;EACA;EACA;;AAEA;EAEE;EnCjFF;EACA;EmCkFE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEA;EACE;;AAIJ;EACE;;AAEA;EACE;;;AAMN;EnC7IE;EACA;EACA,KmC4IkB;EAClB;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EnCvHA;EACA;EACA;EmCuHA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EnChJA;EACA;EACA;;;AmCoJF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;IACE;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAIF;EnCjSE;EACA,aAFiC;EAGjC,KmCgSkB;;;AAGpB;EnC/QE,OmCgRc;EnC/Qd,QmC+Qc;EACd;EACA;EACA;EnC3RA;EACA;EmC4RA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAIF;EACE;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EnCtWA;EACA,aAFiC;EAGjC,KmCqWkB;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;;AnCzQF;EmC6QE;EACA;EACA;;;AAIJ;EACE;EnC7VA;EACA;EACA;EmC6VA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EnCvaE;EACA,aAFiC;EAGjC,KmCsakB;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;EnC7bA;EACA;EmC8bA;;;AAGF;EACE;EACA;EACA;EACA;EAEA;EnCzWA,YmC0WoB;EnCzWpB;EACA;EmCyWA;EACA;EACA;EACA;EACA;EACA;;AnChWA;EAhBA,YAOe;EANf;EACA;EAMA;;;AmC+WF;EnChaE;EACA;EACA;EACA;EACA;EmC8ZA;;;AAGF;EnCzeE;EACA,aAFiC;EAGjC,KmCwekB;EAClB;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;;;AAKJ;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAON;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EAPF;IAQI;;;;AAOJ;EACE;IACE;IACA;;EAEA;IACE;IACA;;EAGF;IACE;IACA;;;AAMN;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EnC1jBE,OmC2jBc;EnC1jBd,QmC0jBc;EACd;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;;AAIJ;EnC1kBE,OmC2kBc;EnC1kBd,QmC0kBc;EACd;EACA;EACA;EACA;EACA;EnCxlBA;EACA;;AmC0lBA;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EnCzmBA,OmC0mBc;EnCzmBd,QmCymBc;EACd;EACA;EnCrhBA,YADgB;EAEhB;EACA;EmCqhBA;EnCtnBA;EACA;EmCunBA;EACA;EACA;;AAEA;EACE;EACA;;AnC/gBF;EAhBA,YAOe;EANf;EACA;EAMA;;AmC8hBA;EACE;;AAEA;EACE;EnCnnBJ;EACA;EmConBI;EACA;EACA;EACA;;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EnC9pBA;EACA;EmC+pBA;;;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;EnC9sBA;EACA;EACA;;AmCgtBA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EnC3yBE;EACA;EAOA,OmCqyBc;EnCpyBd,QmCoyBc;EACd;EACA;EACA;EACA;EACA;;;ACx0BF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;ApCyHF;EoCrHE;EACA;;;AAIJ;EpCbE;EACA,aAFiC;EAGjC,KoCYkB;EAClB;;;AAGF;EACE;;;AAIF;EpC6CE;EACA;EACA;EACA;EACA;EoC/CA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;;;AAKF;EpC1CE;EACA,aAFiC;EAGjC,KoCyCkB;EAClB;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;;AAEA;EACE;;AAGF;EACE;;;AAKN;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EpC9FE;EACA,aAFiC;EAGjC,KoC6FkB;EAClB;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;ApCYF;EoCRE;;;AAIJ;EpCzHE;EACA,aAFiC;EAGjC,KoCwHkB;EAClB;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;ApCrBF;EoCyBE;;;AAIJ;EACE;EACA;EpCrJA;EACA;EACA,KAHoB;EoCwJpB;EACA;;AAEA;EpC3IA,OoC4IgB;EpC3IhB,QoC2IgB;EACd;EACA;EACA;EACA;EpCxJF;EACA;EoCyJE;;AAEA;EACE;EACA;;ApC/CJ;EoCoDE;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;EpCrNE;EACA,aoCqNwB;EpCpNxB,KoCoNkB;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;;;AAUN;EACE;EACA;EACA;EACA;EpChKA;EACA;EACA,eoC+JqB;EACrB;EAGA;;ApC5IA;EoC+IE;EACA;;AAGF;EACE;EACA;EACA;;;AAIJ;EACE;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;;;AAKF;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;AAAA;EAEE;;;AAMF;EACE;EACA;;AAEA;EACE;;;AAMJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAKF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAKJ;EACE;;;AAIF;EACE;EACA;;AAEA;AAAA;EAEE;;AAGF;EACE;;;AAIJ;EACE;;;AAKA;AAAA;AAAA;AAAA;AAAA;EAKE;;AAGF;EACE;;;AAKJ;EACE;EACA;;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;;AAKJ;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;;;AAMF;EACE;AAAA;IAEE;;EAKF;IACE;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EpC3gBA;EACA;EACA;EACA;EACA;EoCygBA;EACA;EACA;;ApC7cA;EoCgdE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;;ApC9eF;EoCifI;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EpCroBA;EACA,aAFiC;EAGjC,KoCooBkB;;;AAMpB;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAKJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EpCrpBA;EACA;EoCspBA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EpCvrBE;EACA,aAFiC;EAGjC,KoCsrBkB;EAClB;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIA;EACE;EACA;EACA;EACA;;AAOF;AAAA;AAAA;EAGE;EACA;;;AAMJ;EACE;EACA;EACA;EACA;;AAEA;EACE;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAIF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;ApC5qBF;EoCgrBE;;;AAIJ;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;ApCjsBA;EoCosBE;EACA;;;AAIJ;EpCt0BE;EACA,aAFiC;EAGjC,KoCq0BkB;EAClB;;;AAGF;EACE;AAAA;IAEE;;EAGF;IACE;;EAMF;IACE;;;AAKJ;EACE;AAAA;IAEE;;EAGF;IACE;;;AAOJ;EACE;IACE;;EAGF;IAGE;IACA,qBACE;IAGF;IACA;IACA;IACA;;EAEA;IACE;;EAGF;IACE;IACA;IACA;;EAIF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;;EAGF;IACE;IACA;IACA;;EAGF;IACE;IACA;;EAEA;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;IACA;;EAMF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;IACA;IACA;;EAEA;IACE;;EAKN;IACE;IACA;;EAGF;IACE;IACA;IACA;;EAGF;IACE;;EAEA;IACE;;;AAMR;EACE;IACE;IACA;IACA;;;AAMJ;EACE;EACA;EpCv+BA;EACA;EACA,KoCs+BkB;EAClB;EACA;;AAEA;EACE;;AAEA;EACE;;AAGF;EACE;;ApC93BJ;EoCm4BE;EACA;;AAGF;EAxBF;IAyBI;IACA;IACA;IACA;IACA;IACA;IACA;;;;AAIJ;EACE;EACA;;;AAGF;EpCphCE;EACA,aAFiC;EAGjC,KoCmhCkB;EAClB;;;AAGF;EpCzhCE;EACA,aoCyhCuB;EpCxhCvB,KoCwhCkB;EAClB;EACA;EACA;EACA;;ApCj6BA;EoCo6BE;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;EpCplCE;EACA,aAFiC;EAGjC,KoCmlCkB;EAClB;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAMJ;EpC7lCE;EACA;EACA,KoC4lCkB;;;AAGpB;EpCpgCE;EACA;EACA,eoCmgCqB;EACrB;EACA;;;AAGF;EpC9mCE;EACA,aAFiC;EAGjC,KoC6mCkB;EAClB;EACA;EACA;EACA;;AAEA;EACE;;ApCz/BF;EoC6/BE;;AAEA;EACE;;;AAKN;EpC3nCE;EACA;EACA,KoC0nCkB;;;AAGpB;EpCtoCE;EACA,aAFiC;EAGjC,KoCqoCkB;EAClB;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;;AAMJ;EACE;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;;ApCxiCA;EoC2iCE;EACA;;;AAIJ;EACE;EACA;EpC/qCA;EACA,aAFiC;EAGjC,KoC8qCkB;EAClB;EACA;EACA;EACA;;ApCvjCA;EoC0jCE;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EpCvtCE;EACA;EACA,KoCstCkB;;;AAIpB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;;;AAIF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAKJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;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;;EAIA;AAAA;AAAA;IAGE;IACA;;EAGF;IACE;;EAMJ;IACE;IACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EAIA;EACA;EACA;;;AAKF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;;;AAGF;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAIF;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;;;AAKF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;;;AAKJ;EACE;EACA;EACA;EACA;EAGA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EAEA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAKF;EACE;IACE;;EAEA;IACE;;;AAMN;EpC/zDE;EACA,aAFiC;EAGjC,KoC8zDkB;EAClB;EACA;;;AAGF;EpC9zDE;EACA;EACA,KoC6zDkB;;;AAGpB;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;;;AAGF;EpC71DE;EACA,aAFiC;EAGjC,KoC41DkB;EAClB;EACA;;;AAIF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EpC5yDA;EACA;EACA;EACA;EACA;;AoC4yDA;EpCp3DA;EACA,aAFiC;EAGjC,KoCm3DoB;EAClB;EACA;EACA;;AAEA;EAAU;;;AAKd;EpC3xDE;EACA;EACA,eAH0B;EoC8xD1B;EACA;EACA;EACA;;;AAGF;EpCv4DE;EACA,aAFiC;EAGjC,KoCs4DkB;EAClB;EACA;EACA;EACA;;;AAGF;EpCx4DE;EACA;EACA,KoCu4DkB;EAClB;;;AAGF;EAIE;EACA;EACA;EACA;EACA;;AAEA;AAAA;EAC8B;;;AAGhC;EpC35DE;EACA;EACA,KoC05DkB;EAClB;;;AAGF;EpCv6DE;EACA,aAFiC;EAGjC,KoCs6DkB;EAClB;EACA;;;AAIF;EpC96DE;EACA,aAFiC;EAGjC,KoC66DkB;EAClB;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAKJ;EACE;;;AAGF;EACE;EAEA;EACA;EACA;;;AAGF;EpC18DE;EACA,aAFiC;EAGjC,KoCy8DkB;EAClB;;AAEA;EAAU;;;AAGZ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EpCx9DE;EACA;EACA,KoCu9DkB;EAClB;EACA;EACA;;;AAGF;EpCt+DE;EACA,aAFiC;EAGjC,KoCq+DkB;EAClB;EACA;EACA;;AAEA;EAAU;;;AAIZ;EpCz+DE;EACA;EACA,KoCw+DkB;EAClB;EACA;EACA;EACA;;;AAGF;EpCp7DE;EACA;EACA;EACA;EACA;EAxEA;EACA,aAFiC;EAGjC,KoCw/DkB;;;AAGpB;EACE;EACA;EACA;;;AAGF;EpCngEE;EACA,aAFiC;EAGjC,KoCkgEkB;EAClB;EACA;EACA;;;AAIF;EpC3gEE;EACA,aAFiC;EAGjC,KoC0gEkB;EAClB;EACA;EACA;EACA;;AAEA;AAAA;EAEE;EACA;;AAGF;EACE;EACA;EACA;;;AAIJ;EpC/hEE;EACA,aAFiC;EAGjC,KoC8hEkB;EAClB;EACA;;;AAIF;EACE;EACA;EACA;EpCliEA;EACA;EACA,KoCiiEkB;;AAElB;EpC5iEA;EACA,aAFiC;EAGjC,KoC2iEoB;EAClB;EACA;EACA;EACA;EACA;;AAEA;EAAc;EAAY;;AAC1B;EpCjgEF;EACA;EACA;EoC+/DoC;EAAgB;;AAClD;EAAO;;;AAIX;EACE;EACA;EACA;EACA;;AAEA;EAAiB;EAAiB;;AAClC;EAAoB;;;AAGtB;EACE;IAAwB;;EACxB;IAAyB;IAAqB;;EAC9C;IAAwB;;EACxB;IAAuC;;EACvC;IAA0B;;;AAG5B;EACE;AAAA;AAAA;IAE+B;;;AAMjC;EpC9kEE;EACA;EACA,KoC6kEkB;EAClB;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EpCzmEA;EACA,aoCymE0B;EpCxmE1B,KoCwmEoB;;AAGpB;EACE;EACA;EACA;EACA;;AAEA;EAAU;EAAa;;AAGzB;EpC/mEA;EACA;EACA,KoC8mEoB;EAClB;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EpC5oEA;EACA;EACA,KoC2oEoB;;AAGpB;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EpCnrEA;EACA,aAFiC;EAGjC,KoCkrEoB;EAClB;EACA;EACA;EACA;;AAGF;EpCprEA;EACA;EACA,KoCmrEoB;EAClB;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AC7tEF;EACE;EACA;;AAEA;ErCSA;EACA,aAFiC;EAGjC,KqCVoB;;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;ErClDE;EACA,aqCkDwB;ErCjDxB,KqCiDkB;EAClB;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;ErCxDF;EACA;EACA,KqCuDoB;;AAKpB;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;;AAGZ;EAAa;EAAuC;EAA2C;;AAC/F;EAAa;EAAuC;EAA2C;;AAC/F;EAAc;EAAsC;EAA0C;;;AAIhG;ErC9FE;EACA;EACA,KqC6FkB;;AAElB;ErCxGA;EACA,aAFiC;EAGjC,KqCuGoB;;AAGpB;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGA;EAAiB;;AACjB;EAAiB;;AACjB;EAAkB;;AAGpB;EACE;EACA;EACA;EACA;;AAGF;ErChGA;EACA;EqCiGE;EACA;EACA;;AAGF;ErCvGA;EACA;EqCwGE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;ErC/IF;EACA;EACA,KqC8IoB;EAClB;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;;AAKJ;EACE;EACA;EACA;ErChLA;EACA;EACA,KqC+KkB;EAClB;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;ErCtME;EACA,aqCsMwB;ErCrMxB,KqCqMkB;EAClB;EACA;;AAEiB;EAAmB;EAAyC;EAA6B;;AACzF;EAAmB;EAAyC;EAA6B;;AACxF;EAAmB;EAAwC;EAA4B;;;AAG3G;EACE;EACA;EACA;ErC7LA,OqC8Lc;ErC7Ld,QqC6Lc;EACd;EACA;EACA;ErCzMA;EACA;EqC0MA;;;AAGF;ErC5NE;EACA,aAFiC;EAGjC,KqC2NkB;EAClB;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;ACzPF;AAAA;EAEE;EACA;EACA;EACA;;AAEA;EAPF;AAAA;IAQI;;;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;EtCJA;EACA,aAFiC;EAGjC,KsCGkB;;;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;;;;AAO7B;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EAVF;IAWI;IACA;IACA;;;;AAMJ;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;;;ACjHJ;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;AvCiIA;AAAA;EuC9HE;EACA;;;AAKJ;EvCLE;EACA,aAFiC;EAGjC,KuCIkB;EAClB;EACA;;;AAGF;EvCyDE;EACA;EACA;EACA;EACA;;;AuCzDF;EvCfE;EACA,aAFiC;EAGjC,KuCckB;;;AAGpB;EACE;;;AAGF;AAAA;EAEE;EACA;EACA;;AAEA;EANF;AAAA;IAOI;;;;AAIJ;AAAA;EvCkCE;EACA;EACA;EACA;EACA;EuCnCA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAKF;EACE;EAGA;EACA;;AAEA;EAPF;IAQI;;;;AAIJ;EACE;EACA;EACA;EACA;;AvC4DA;EuCzDE;EACA;;;AAIJ;EvCLE;EACA;EACA;EACA;EACA;EAxEA;EACA,aAFiC;EAGjC,KuCyEkB;EAClB;EACA;;;AAGF;EACE;EACA;EvC9BA;EACA;EACA;;AuC+BA;EACE;;;AAIJ;EACE;EACA;EACA;;;AAIF;EACE;;AAEA;EAAsB;;;AAGxB;EACE;;AAEA;EAAsB;;;AAIxB;EvCvGE;EACA;EACA,KuCsGkB;;;AAGpB;EvClHE;EACA,aAFiC;EAGjC,KuCiHkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;AvCXF;EuCeE;EACA;;;AAIJ;EvCnIE;EACA;EuCoIA;EACA;;;AAKF;AAAA;EAEE;EACA;EACA;EACA;EACA;;AvClCA;AAAA;EuCqCE;EACA;;;AAIJ;AAAA;EvCnGE;EACA;EACA;EACA;EACA;EAxEA;EACA,aAFiC;EAGjC,KuCwKkB;EAClB;EACA;;;AAKF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;;AvC5DA;AAAA;EuC+DE;EACA;;;AAIJ;AAAA;EvCjME;EACA,aAFiC;EAGjC,KuCiMkB;EAClB;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;AAEA;AAAA;EACE;;;AAIJ;AAAA;EAEE;;AAEA;AAAA;EvCrJA;EACA;EACA;EACA;EACA;EuCmJE;;AAGF;AAAA;EACE;EACA;EACA;EACA;;;AAIJ;AAAA;EvCtOE;EACA,aAFiC;EAGjC,KuCsOkB;EAClB;EACA;EACA;EACA;;AvC/GA;AAAA;EuCkHE;;;AAMJ;EACE;EACA;EACA;;;AAIF;EvCrPE;EACA;EACA,KuCoPkB;EAClB;;;AAGF;EACE;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAKN;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EvC9OE;EACA;EACA;EuC8OA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAEA;EAAU;;AAGZ;EACE;EACA;EACA;EACA;;;AAMJ;EAAqC;EAAoC;;;AACzE;EAAoC;EAAmC;;;AAGvE;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EAEE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;;;ACnXJ;ExCoBE;EACA;EACA,KwCrBkB;EAClB;EACA;;;AAGF;ExCOE;EACA,aAFiC;EAGjC,KwCRkB;EAClB;;;AAGF;ExCEE;EACA,aAFiC;EAGjC,KwCHkB;EAClB;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;ExCtBE;EACA,aAFiC;EAGjC,KwCqBkB;EAClB;;;AAKF;AAAA;ExCtBE;EACA;EACA,KwCsBkB;EAClB;EACA;;;AAGF;AAAA;AAAA;EAGE;;;AAGF;ExC1CE;EACA,aAFiC;EAGjC,KwCyCkB;EAClB;;;AAIF;ExChDE;EACA,aAFiC;EAGjC,KwC+CkB;EAClB;EACA;EACA;;;AAGF;EACE;;;AAGF;ExC3DE;EACA,aAFiC;EAGjC,KwC0DkB;;AAElB;EAAc;;AACd;EAAe;;AACf;EAAe;;;AAGjB;ExCfE;EACA;EACA;;;AwCkBF;ExCxEE;EACA,aAFiC;EAGjC,KwCuEkB;EAClB;;;AAGF;ExC7EE;EACA,aAFiC;EAGjC,KwC4EkB;EAClB;;;AAGF;ExCpEE;EACA;EwCqEA;EACA;;;AAGF;ExCxFE;EACA,aAFiC;EAGjC,KwCuFkB;EAClB;EACA;EACA;;AAEA;EAAU;;AAGV;EACuB;;AAEvB;EACsB;;;AAIxB;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;EAAa;;AAEvB;EAAU;;;AAQZ;EACE;EACA;EACA;;AAIA;EACE;;;AAIJ;ExC9IE;EACA,aAFiC;EAGjC,KwC6IkB;EAClB;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;;AAIJ;AAAA;EAEE;EACA;;;AAGF;ExCtHE;EACA;EACA;EwCsHA;EACA;EACA;;;AAGF;EACE;;;AAIF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;;AAEA;EAAc;;AAEd;EACE;EACA;EACA;;;AAIJ;ExCrPE;EACA,aAFiC;EAGjC,KwCoPkB;EAClB;EACA;EACA;;AAEA;EAAO;;AAGP;EACE;EACA;;;AAKJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;;AAKJ;ExCnQE;EACA;EAOA,OwC6Pc;ExC5Pd,QwC4Pc;EACd;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;AAAA;EAEE;EACA;;AAIJ;EAAe;EAAuC;EAAuC;;AAC7F;EAAe;EAAuC;EAAuC;;AAC7F;EAAc;EAAsC;EAAsC;;AAC1F;EAAe;EAAuC;EAAuC;;AAC7F;EAAY;EAAoC;EAAoC;;AACpF;EAAe;EAAgC;EAAuC;;AAGtF;EACE;;;AAIJ;EACE;;;AAGF;EACE;EACA;;;AAIF;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;AAAA;EAEE;;;AAKF;EACE;IACE;;;AAIJ;EACE;IACE;IACA;;EAGF;IACE;;EAEA;IACE;IACA;IACA;;EAEA;IACE;;;AAMR;EACE;IACE;;EAIF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;;ACvYJ;EzCaE;EACA,aAFiC;EAGjC,KyCdkB;EAClB;;;AAGF;EzCQE;EACA,aAFiC;EAGjC,KyCTkB;EAClB;EACA;EACA;EACA;;AzCgIA;EyC7HE;EACA;;;AAIJ;EACE;EACA;EACA;EzC4CA;EACA;EACA;EyC5CA;;;AAGF;EzCCE;EACA;EyCAA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EzCjCE;EACA,aAFiC;EAGjC,KyCgCkB;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;E1CoBE;EACA;EACA,K0CrBkB;EAClB;EACA;EACA;EACA;;A1CqIA;E0ClIE;EACA;;;AAIJ;E1CAE;EACA,aAFiC;EAGjC,K0CDkB;;;AAGpB;E1CGE;EACA;EACA,K0CJkB;EAClB;;;AAGF;EACE;EACA;EACA;E1CwCA;EACA;EACA;;;A0CtCF;EACE;EACA;E1CkCA;EACA;EACA;;;A0ChCF;E1CtBE;EACA,aAFiC;EAGjC,K0CqBkB;;;AAGpB;E1C1BE;EACA,aAFiC;EAGjC,K0CyBkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;;AAKJ;EACE;EACA;EACA;EACA;;A1CmEA;E0ChEE;;AAGF;EACE;;AAGF;EACE;;;AClFJ;AAAA;E3CaE;EACA,a2CZwB;E3CaxB,K2CbkB;EAClB;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;AAGA;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIJ;AAAA;E3CnBE;EACA,aAFiC;EAGjC,K2CmBkB;EAClB;EACA;;;AAIF;E3C3BE;EACA,aAFiC;EAGjC,K2C0BkB;EAClB;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;E3CjDA;EACA,aAFiC;EAGjC,K2CgDkB;;;AAIpB;EACE;EACA;;;AAGF;E3C3DE;EACA,aAFiC;EAGjC,K2C0DkB;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;E3C5FE;EACA,aAFiC;EAGjC,K2C2FkB;EAClB;EACA;EACA;;;AAGF;EAAwB;EAAiB;;;AChHzC;AAAA;EAEE;EACA;EACA;;AAEA;EANF;AAAA;IAMkC;;;AAChC;EAPF;AAAA;IAOkC;;;;AAGlC;AAAA;E5CGE;EACA,aAFiC;EAGjC,K4CHkB;EAClB;EACA;EACA;EACA;;;AAGF;AAAA;E5CgBE,O4Cdc;E5Ced,Q4Cfc;EACd;E5CKA;EACA;E4CJA;EACA;EACA;;AAEA;AAAA;EACE;EACA;;A5C4GF;AAAA;E4CzGI;EACA;;AAIJ;AAAA;EACE;EACA;;A5CkGF;AAAA;E4C/FI;EACA;;AAIJ;AAAA;EACE;EACA;;A5CwFF;AAAA;E4CrFI;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;E7CYE;EACA,aAFiC;EAGjC,K6CZkB;EAClB;EACA;;AAEA;AAAA;EACE;;;AAIJ;AAAA;E7CuBE,O6CrBc;E7CsBd,Q6CtBc;EACd;EACA;EACA;EACA;;A7CwHA;AAAA;E6CrHE;;;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;E7CzIE;EACA,a6C0IwB;E7CzIxB,K6CyIkB;EAClB;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;E7C9HA,O6C+Hc;E7C9Hd,Q6C8Hc;EACd;EACA;EACA;E7C1IA;EACA;E6C2IA;;A7C7BA;AAAA;E6CgCE;;;AAKJ;AAAA;AAAA;EAGE;;;AAGF;AAAA;EAEE;;;AAIF;EACE;EACA;E7CzKA;EACA;EACA,K6CwKkB;;;AAGpB;E7CpLE;EACA,aAFiC;EAGjC,K6CmLkB;EAClB;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;E7CrME;EACA,aAFiC;EAGjC,K6CoMkB;EAClB;EACA;;;AAGF;E7CvJE;EACA;EACA;E6CuJA;EACA;;;AAGF;E7C7JE;EACA;EACA;E6C6JA;EACA;EACA;;;AAGF;EACE;EACA;;;AAIF;E7C9NE;EACA,aAFiC;EAGjC,K6C6NkB;EAClB;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;;AAKJ;E7C7PE;EACA,aAFiC;EAGjC,K6C4PkB;EAClB;EACA;EACA;EACA;;;AAGF;EACE;;;ACnRF;AAAA;EAEE;;;AAGF;AAAA;E9C4EE;EACA;EACA;EACA;EACA;EAxEA;EACA,aAFiC;EAGjC,K8CPkB;EAClB;EACA;;;AAGF;AAAA;E9CAE;EACA,aAFiC;EAGjC;E8CCA;EACA;;AAEA;AAAA;EACE;;;AAIJ;AAAA;EAEE;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;E9C8BA;EACA;EACA;E8C9BA;;AAEA;AAAA;EACE;EACA;;;AAKJ;E9CjCE;EACA,aAFiC;EAGjC,K8CgCkB;EAClB;EACA;EACA;;;AAGF;EACE;EACA;EACA;E9CrBA,O8CsBc;E9CrBd,Q8CqBc;EACd;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAMF;EAAgB;;AAChB;EAAe;;AACf;EAAa;;AACb;EAAiB;;;AAGnB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EAAY;;AACZ;EAAY;;AACZ;EAAY;;AACZ;EAAY;;AAEZ;EACE;EACA;EACA;;AAMA;EAAU;;AAIZ;EACE;;AAEA;EAAqB;;AAKvB;EACE;EACA;EACA;EACA;;AAGF;EAAM;EAAoB;;;AAK5B;EACE;E9C7HA;EACA,aAFiC;EAGjC,K8C4HkB;EAClB;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAKF;EACE;E9ClJA;EACA,aAFiC;EAGjC,K8CiJkB;EAClB;EACA;EACA;;AAEA;EAAO;;;AAKT;EACE;EACA;EACA;;;AAGF;EACE;E9CpKA;EACA,aAFiC;EAGjC,K8CmKkB;EAClB;EACA;;;AAGF;E9C1KE;EACA,aAFiC;EAGjC,K8CyKkB;EAClB;EACA;;AAEA;E9CnJA,O8CmJyB;E9ClJzB,Q8CkJyB;;;AAG3B;E9ClLE;EACA,aAFiC;EAGjC,K8CiLkB;EAClB;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;E9C/FE;E8CiGA;EACA;EACA;EACA;EACA;;;AAGF;EACE;E9CxMA;EACA,a8CwMuB;E9CvMvB,K8CuMkB;EAClB;EACA;EACA;EACA;;AAEA;E9CnLA,O8CmLyB;E9ClLzB,Q8CkLyB;EAAO;EAAgB;;;AAKlD;EACE;IACE;;EAIA;AAAA;AAAA;AAAA;AAAA;IAIoB;;EAEpB;IAAoB;;;AC7OxB;AAAA;E/CaE;EACA,aAFiC;EAGjC,K+CbkB;EAClB;;;AAGF;AAAA;E/C6BE,O+C3Bc;E/C4Bd,Q+C5Bc;EACd;EACA;E/CiBA;EACA;E+ChBA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACE;EACA;;;AAKJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EAAoB;EAAiB;;;AAGrC;EACE;EACA;EACA;;;AAGF;E/CjCE;EACA,aAFiC;EAGjC,K+CgCkB;EAClB;;;AAGF;EAAe;EAAiB;;;AAEhC;EACE;EACA;;;AAGF;E/C7CE;EACA,aAFiC;EAGjC,K+C4CkB;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;EhDaE;EACA,agDbwB;EhDcxB,KgDdkB;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;EjDoBE;EACA;EACA,KiDrBkB;EAClB;EACA;EACA;EACA;;AAEA;EjD0EA;EACA;EACA;EACA;EACA;EiD5EE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EAAc;;AACd;EAAc;;AACd;EAAc;;;AC5BhB;ElDqBE;EACA;EACA,KkDtBkB;EAClB;EACA;EACA;EACA;;AlDsIA;EkDnIE;EACA;;;AAIJ;ElDCE;EACA,aAFiC;EAGjC,KkDFkB;;;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;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EAEE;;;AAIJ;EACE;;;AAGF;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;;AClJJ;EnDqBE;EACA;EACA,KmDtBkB;;AAElB;EnDWA;EACA,aAFiC;EAGjC,KmDZoB;;AAGpB;EACE;EACA;EACA;EACA;EnDuDF;EACA;EACA;;AmDrDA;EACE;EACA;;AAGF;EACE;EACA;EAEA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;;ACzCJ;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;EpDLA;EACA;EACA,KoDIkB;EAClB;EACA;EACA;EACA;EACA;;ApD2GA;EoDxGE;EACA;;AAGF;EApBF;IAqBI;IACA;;;;AAIJ;EACE;EpDhCA;EACA,aoDgCwB;EpD/BxB,KoD+BkB;EAClB;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EpD5CE;EACA,aAFiC;EAGjC,KoD2CkB;EAClB;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EpDzDA;EACA,aAFiC;EAGjC,KoDwDkB;;ApDmElB;EoDhEE;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;ApDgDF;EoD5CE;;;AAIJ;EACE;EACA;EACA;EpDlEA,OoDmEc;EpDlEd,QoDkEc;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;ErDkFA;EACA;EACA;;AqDlFA;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;;AAKA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAyB;EAAmC;;AAC5D;EAAa;EAAa;;AAG5B;EACE;EACA;EACA;EACA;EACA;;AAGF;EAAa;EAAY;EAAc;EAAe;;AAMxD;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EAAI;;AACJ;EAAS;;AACT;EAAI;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;EACA;;AAEA;EAAI;EAAkB;;AACtB;EAAS;EAAyB;;AAClC;EAAI;;AAEJ;EAAsB;EAAgC;;AAItD;EACE;EACA;EACA;EACA;EACA;EACA;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAY;EAAe;;AAE3B;EAAU;;;AAIZ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;;AAEA;EAAQ;EAAoB;EAAQ;EAAS;EAAY;EAAU;EAAW;;AAC9E;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;EACA;;AAEA;EAAQ;EAAoB;EAAQ;EAAS;EAAY;EAAU;EAAW;;AAE9E;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;EA7eE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAseA;EACA;EACA;EACA;EAEA;EACA;EACA;;AA3eA;EAAU;;AAEV;ErDkFA;EACA;EACA;;AqDlFA;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAkeF;EAAO;EAA4B;EAAiB;EAAuC;;AAC3F;EAAc;;;AAKhB;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAIF;EACE;;;AAKF;EAphBE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EA6gBA;EACA;EACA;EACA;;AA9gBA;EAAU;;AAEV;ErDkFA;EACA;EACA;;AqDlFA;EACE;EACA;EACA;;AAGF;EACE;EACA;;;AAsgBJ;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;;;AAI/D;ErD31BE;EACA;EACA,KqD01BkB;EAClB;;;AAGF;ErDv2BE;EACA,aAFiC;EAGjC,KqDs2BkB;;AAElB;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAEA;ErDz2BA;EACA;EqD02BE;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAyB;;AACzB;EAAa;EAAa;;AAC1B;EAAkB;EAAyC;;AAC3D;EAAW;;AACX;ErDx2BF,OqDw2B+B;ErDv2B/B,QqDu2B+B;;;AAIjC;EACE;EACA;EACA;;;AAGF;ErD/yBE;EqDizBA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;EACA;EACA;;;ACz6BJ;EACE;EACA;EACA;EACA;;AAEA;EANF;IAOI;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EATF;IAS8B;;;;AAG9B;EtD0DE;EACA;EACA;EACA;EACA;EsD5DA;;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;EtDCE;EACA;EACA;EACA;EACA;EsDHA;;;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;EtDlGA;EACA;EACA;EACA;EACA;EsDgGE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EAAiB;;AAEjB;EAAQ;EAAqC;;;AAG/C;EACE;EACA;EACA;EACA;EACA;;;AAIF;EACE;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAGA;EACE;;;ACrNJ;EACE;;;AA0BF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EAGE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AASA;AAAA;EACE;EACA;EACA;;AAGA;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;;AAIJ;AAAA;EACE;EACA;EACA;;AAGF;AAAA;EACE;EACA;;AAGF;AAAA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIF;AAAA;EAEE;;;AAOA;AAAA;EACE;EACA;;AAGF;AAAA;EACE;EACA;;;AASF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAQF;EACE;IACE;;EAGF;IACE;;EAKF;IACE;;;;AAWN;AAAA;EAEE;EACA;EACA;EACA;EACA;;AAIA;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EAEE;;AAGF;AAAA;EACE;;AAGF;AAAA;EACE;;AAGF;AAAA;EACE;EACA;EACA;;AAEA;AAAA;EACE;;AAIJ;AAAA;EACE;;AAIJ;AAAA;EACE;EACA;EACA;;AAIF;AAAA;EACE;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;EAEE;EACA;;AAIJ;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;EACE;EACA;EACA;;AAGF;AAAA;EACE;EACA;;AAGF;AAAA;EACE;EACA;;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAIE;;AAGF;AAAA;EACE;;AAGF;AAAA;AAAA;AAAA;EAEE;;AAIF;AAAA;EACE;EACA;;AAGF;AAAA;EACE;;AAIF;AAAA;EACE;EACA;;;AAIJ;EACE;IACE;;;AAIJ;EAIE;IACE;;;AAMJ;EACE;IApWA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAGE;IAyVA;;EAGF;IACE;IACA;;EAGF;IACE;;;AAOJ;EACE;IAvXA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAKE;IA0WA;;EAGF;IACE;IACA;;EAGF;IACE;;EAQF;IACE;IACA;IACA;IACA;IACA;IACA;;EAGF;AAAA;IAEE;IACA;;EAGF;IACE;;EAGF;IACE;;EAKF;IACE;;EAEA;IACE;IACA;IACA;;EAEA;IACE;;;AAMR;EAGI;AAAA;IACE;;EAKF;AAAA;IACE;IACA;;EAIJ;IACE;;;AAIJ;EACE;AAAA;IAEE;;;ACldJ;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;;;AAMF;EACE;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAIA;EACE;;AAGF;EACE;;AAEA;EACE;;AAGF;EACE;;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAIJ;EACE;IACE;;EAEA;IACE;;EAIJ;AAAA;IAEE;IACA;;;AAOJ;ExDzME;EACA,aAFiC;EAGjC,KwDwMkB;EAClB;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;;AAOJ;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;ExDnPE;EACA,aAFiC;EAGjC,KwDkPkB;ExDhMlB;EACA;EACA;EwDgMA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EAEE;EACA;EACA;;;AAIJ;ExDpQE;EACA,aAFiC;EAGjC,KwDmQkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;;AAEA;EAAU;;;AAKd;EACE;EACA;EACA;;AAEA;AAAA;EAEE;EACA;;AAGF;EAAW;;AACX;EAAU;EAAgC;;;AAI5C;EACE;EACA;EACA;;;AAGF;EACE;IACE;;EAGF;IACE;;;AChVJ;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;;;ACrDJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAIF;EACE;EACA;;AAGF;EACE;;AAEA;EACE;EACA;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;;AAKN;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKF;EACE;IACE;;;AAIJ;EACE;IACE;IACA;;EAEA;IACE;;;AAKN;EACE;IACE;IACA;;;ACvGJ;EACE;EACA;;;AAMF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;EAEE;;AAGF;AAAA;EACE;EACA;;AAGF;AAAA;EACE;EACA;;AAGF;AAAA;EACE;EACA;EACA;;AAEA;AAAA;EACE;;;AAKN;EACE;;AAEA;EACE;EACA;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;AAAA;IAEE;;EAGF;AAAA;IAEE;IACA;IACA;;;AC/HJ;EAAuB;;;AACvB;EAAuB;;;AACvB;EAAuB;;;AACvB;EAAsB;;;AACtB;EAAoB;;;AACpB;EAAyB;;;AACzB;EAAsB;;;AACtB;EAA4B;;;AAC5B;EAAuB;;;AAGvB;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAM;EAAa;EAAc;;;AAIrC;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;AAEA;EAAa;;;AAIf;EACE;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAM;EAAa;EAAc;EAAgC;;;AAInE;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAEA;EAAW;EAA+B;;;AAI9C;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EAAU;;AACV;EAAY;;AACZ;EAAW;;;AAGb;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAM;EAAa;;AAEnB;AAAA;EAEE;EACA;EACA;EACA;;AAGF;EAAS;;AACT;EAAW;;;AAGb;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EAAoB;;;AAGpB;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EAAa;;AAGb;EACE;;AAEA;EAAS;;;AAIb;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAe;EAAiB;;AAChC;EAAgB;;AAEhB;EACE;EACA;;AAEA;EAAU;;AAEV;EACE;EACA;;AAMJ;EAAc;;;AAGhB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAIA;AAAA;EACiB;;AAEjB;EAAiB;;;AAInB;EACE;EACA;EACA;EACA;EACA;;AAEA;EAAO;EAAsB;EAAqB;;AAIlD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;;AAEV;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIA;EAAmD;;AAAnD;EAAmD;;AAAnD;EAAmD;;AAAnD;EAAmD;;AAAnD;EAAmD;;AAAnD;EAAmD;;AAAnD;EAAmD;;AAAnD;EAAmD;;AAAnD;EAAmD;;AAAnD;EAAmD;;AAAnD;EAAmD;;AAAnD;EAAmD;;AAGrD;EAAwC;;AAIxC;EACE;;AAGF;EACE;EACA;;AAGF;EAEE;EACA;EACA;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA,YACE;;AAMF;EAAiC;EAAS;;AAC1C;EAA+B;EAAU;EAAY;;;AAGvD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAO;EAAoB;EAAY;;;AAGzC;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAO;EAAkB;EAAqB;;;AAMhD;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;;AAIJ;AAAA;EAEE;EACA;;;AAGF;EAAsB;;;AAEtB;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EAAO;EAAkB;EAAqB;;AAE9C;EACE;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAEA;EAAgB;;AAChB;EAAe;EAAmB;;AAElC;EAAM;;AAEN;EACE;EACA;EACA;EACA;EACA;;AAEA;EAAU;;;AAId;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAI;EAAkB;;;AAGxB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EAAU;;AACV;EAAY;;AACZ;EAAW;;;AAGb;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAM;EAAa;;AAEnB;EAAe;EAAoC;;AACnD;EAAc;EAAmC;;AACjD;EAAe;EAAoC;;AACnD;EAAY;EAAiC;;AAC7C;EAAe;EAAoC;;AACnD;EAAiB;EAAoC;;AACrD;EAAc;EAAmC;;;AAInD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;;AAGF;EAAqB;;;AACrB;EAAmB;;;AACnB;EAAmB;;;AACnB;EAAmB;;;AACnB;EAAoB;;;AAEpB;EACE;;AAEA;EAAI;EAAkB;;;AAIxB;EACE;EACA;EACA;EACA;;;AAIF;EAA4B;;;AAE5B;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAM;EAAa;;;AAIrB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EAAU;;AACV;EAAW;;;AAKf;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;AAEA;EAAgB;;;AAIlB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAc;;;AAGhB;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EAAkB;;;AAClB;EAAoB;;;AAEpB;EAAmB;;;AACnB;EAAsB;;;AAGtB;EACE;;AAEA;EAAU;;;AAKZ;EACE;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EAA+B;;AAE/B;EACE;EACA;;AAGF;AAAA;EAEE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAM;EAAa;;AAEnB;EAEE;EACA;EACA;;AAGF;EAAa;EAAiB;;AAE9B;EAAkB;;;AAGpB;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EAAc;;AACd;EAAe;;;AAGjB;EACE;EACA;;;AAGF;EACE;IAAW;;EACX;IAAM;;;AAGR;EACE;IAAsB;;;AAGxB;EACE;IAAgB;;EAChB;IAAqB;IAAqB;;;AAG5C;EACE;IAAqB;;EACrB;IAAkB;;EAClB;AAAA;AAAA;IAEoC;;EACpC;IAAoB;;EACpB;IAAmB;;EACnB;AAAA;IACmC;;EACnC;IAAsB;;EACtB;IAA0D;;;AAK5D;EAAmB;EAAmG;;;AACtH;EAAoB;EAAkB;;;AACtC;EAAmB;;;AAEnB;EAAmB;;;AAEnB;EACE;EACA;EACA;;;AAGF;EACE;EACA;;AAEA;EAAc;EAAmB;;;AAInC;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAI;;;AAGN;EACE;IAAmB;;EACnB;IAAuC;;;AAGzC;EACE;IAAmB;;EACnB;IAAqC;;;AAGvC;EACE;IAAmB;;EACnB;AAAA;IACsC;;EACtC;IAAmB;;EACnB;IAAqC;;;AAIvC;EACE;IAAO;;;AAGT;EACE;IAAO;;EACP;IAAK;;;AAGP;EACE;IAAO;;EACP;IAAK;;;AAGP;EACE;IAAO;;EACP;IAAK;;;AAGP;EACE;IAAO;;;AAGT;EACE;AAAA;AAAA;AAAA;AAAA;AAAA;IAME;;EAGF;AAAA;AAAA;IAGE;;EAGF;IACE;IACA;;;AAKJ;EACE;IAAe;;EACf;IAAa;;EACb;IAAuC;;;AAGzC;EACE;AAAA;AAAA;IAEa;;EACb;IAAuC;;;AAGzC;EACE;IAAgB;;EAChB;IAAoB;;EAEpB;IAAqB;;EACrB;IAAkC;;EAClC;IAAiD;;EAGjD;IAAmB;;EACnB;IAAoB;;EACpB;AAAA;IACmC;;EACnC;IAAgB;;;AChoClB;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;;;AAKJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AC3MF;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;;AAI5E;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EhElLE;EACA,aAFiC;EAGjC,KgEiLkB;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;EhE5LA,OgE6LgB;EhE5LhB,QgE4LgB;EhErMhB;EACA;EgEsME;EACA;EACA;EACA;EACA;;AAGF;EAAU;EAAe;EAAwB;EAAU;;AAI3D;EACE;EACA;EACA;EACA;EACA;;AAGF;EAAW;EAAc;EAAkB;EAAmB;;AAC9D;EAAU;EAAmB;EAAgC;;AAG7D;EAAqC;;AAGrC;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;;AAGF;EhE1OA,OgE2OgB;EhE1OhB,QgE0OgB;EhEnPhB;EACA;EgEoPE;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;EAAa;;AAGzB;EACE;EACA;;;AASF;EAAsB;;AAGtB;EACE;IACE;IACA;;EAEA;IAAa;;EACb;IAAK;;EACL;IAAqD;;;;AAM3D;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;EhEvWA;EACA,aAFiC;EAGjC,KgEsWoB;EAClB;EACA;EACA;EAGA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EhErWF,OgEsWkB;EhErWlB,QgEqWkB;EhE9WlB;EACA;EgE+WI;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;EhE3bE;EACA,aAFiC;EAGjC,KgE0bkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;EAAa;EAAc;;;AAIvC;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EhEldA;EACA,aAFiC;EAGjC,KgEidoB;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;EhEznBA;EACA,aAFiC;EAGjC,KgEwnBoB;EAClB;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAIJ;EhE5oBA;EACA,aAFiC;EAGjC,KgE2oBoB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;EAAa;EAAc;;AAErC;EACE;EACA;EACA;EACA;;AAIJ;EhElqBA;EACA,aAFiC;EAGjC,KgEiqBoB;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;EhEzsBA;EACA,aAFiC;EAGjC,KgEwsBoB;EAClB;;AAIF;EhEzrBA,OgE0rBgB;EhEzrBhB,QgEyrBgB;EhElsBhB;EACA;EgEmsBE;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;;AAIpC;EACE;EACA;;AAGF;EACE;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;;;ACvzBvB;EACE;;AAEA;EjESA;EACA,aAFiC;EAGjC,KiEVoB;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;EjENA;EACA;EiEOE;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;EjElDA;EACA,aAFiC;EAGjC,KiEiDoB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EjE9CF;EACA;EiE+CI;;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;EAEA;EAEA;EACA;;AAIJ;EjE5HA;EACA,aAFiC;EAGjC,KiE2HoB;EAClB;EACA;EACA;EACA;;AAEA;EAAU;EAAa;;AAGzB;EjEtIA;EACA,aAFiC;EAGjC,KiEqIoB;EAClB;EACA;EACA;EACA;EACA;EACA;;AAEA;EjE/IF;EACA,aAFiC;EAGjC,KiE6I2B;;AAEzB;EACE;EACA;EACA;EACA;EACA;EACA;;AAKJ;EACE;EACA;EACA;;AAGF;EjElKA;EACA,aAFiC;EAGjC,KiEiKoB;EAClB;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;;AAEA;EAAU;EAAa;EAAc;;AAErC;EACE;;AAMJ;EAAe;EjE5Kf;EACA;;AiE6KA;EjE5LA;EACA,aAFiC;EAGjC,KiE2LoB;EAClB;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;;AAEA;EjE/MF;EACA,aAFiC;EAGjC,KiE8MsB;EAClB;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAU;EAAa;;AAGzB;EACE;EACA;EACA;EACA;EACA;;AAGF;EjEnOF;EACA,aAFiC;EAGjC,KiEkOsB;EAClB;EACA;;AAEA;EAAU;EAAa;EAAc;;AAGvC;EjE3OF;EACA,aAFiC;EAGjC,KiE0OsB;EAClB;EACA;;AAEA;EjEhPJ;EACA,aAFiC;EAGjC,KiE+OwB;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;EAEA;;AAEA;EjEjVA;EACA,aAFiC;EAGjC,KiEgVoB;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;;;AAGnB;EACE;IAAO;IAAY;;EACnB;IAAK;IAAY;;;AAGnB;EACE;AAAA;AAAA;IAE0B;;;AAI1B;EAAiB;;;ACtYnB;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;;AnEkIA;EmE/HE;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;;;AAQJ;AAAA;EAEE;;;AAGF;EACE;IACE;IACA;IACA;;;AAIJ;EACE;IAAO;;EACP;IAAO;;;AAMT;AAAA;EAEE;;;AAOF;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;IACE;IACA;IACA;;EAGF;IACE;IACA;IACA;;;AAMJ;EACE;;;AAMF;AAAA;AAAA;EAhGE;;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;;AAIvB;AAAA;AAAA;EAAgC;;;AAgGlC;EACE;EACA;;;AAGF;EACE;IACE;IACA;IACA;;;AAKJ;EACE;;;AAGF;EACE;IAAO;;;AAMT;EAAkC;;;AAClC;EAAkC;;;AAElC;EACE;IAAO;IAAY;;;AAGrB;EACE;IAAO;IAAY;;;AAOrB;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA,YACE;EAEF;;;AAIJ;EACE;;;AAGF;EACE;IAAO;;EACP;IAAO;;;AAGT;EACE;IAAgB;;;AAMlB;EACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAgBE;;EAGF;AAAA;AAAA;IAGE;;EAEA;AAAA;AAAA;IAAU;;;ACnNd;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IACE;;;AASJ;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;ErEnBA;EACA;EACA,KqEkBkB;EAClB;EACA;;;AAIF;ErEjCE;EACA,aAFiC;EAGjC,KqEgCkB;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;ErEvDA,OqEwDc;ErEvDd,QqEuDc;;;AAGhB;EACE;EACA;EACA;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAMF;EACE;;AAGA;EAJF;IAKI;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;AAIA;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAEA;EACE;EACA;EACA;;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;ErEvJE,OqEwJc;ErEvJd,QqEuJc;EACd;EACA;EACA;EACA;EACA;ErErKA;EACA;EqEsKA;EACA;;AAEA;EACE;EACA;;;ACtMJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EtEfE;EACA,aAFiC;EAGjC,KsEckB;EAClB;EACA;;;AAGF;EACE;EtEAA,OsECc;EtEAd;EsECA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EtE1CE;EACA,aAFiC;EAGjC,KsEyCkB;EAClB;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EtEnCA,OsEoCc;EtEnCd,QsEmCc;EtE5Cd;EACA;EsE6CA;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;EvEnBE;EACA;EACA,KuEkBkB;EAClB;EACA;;;AAGF;EvEhCE;EACA,aAFiC;EAGjC,KuE+BkB;EAClB;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EvE3CE;EACA;EACA,KuE0CkB;EAClB;EACA;EACA;;;AAGF;EvEzDE;EACA,aAFiC;EAGjC,KuEwDkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;;AAIJ;EvExDE,OuEyDc;EvExDd,QuEwDc;EACd;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AvEoCF;EuEhCE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EvEzGA;EACA,aAFiC;EAGjC,KuEwGkB;EvEtDlB;EACA;EACA;;;AuEwDF;EvE9GE;EACA,aAFiC;EAGjC,KuE6GkB;EAClB;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;;;AAGF;EvEvHE;EACA;EACA,KuEsHkB;EAClB;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EvE1IA;EACA,aAFiC;EAGjC,KuEyIkB;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;EvEhME;EACA,aAFiC;EAGjC,KuE+LkB;;;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;EvEhOE;EACA;EACA,KuE+NkB;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;EvExNE;EACA;EACA;EACA;EACA;EuEsNA;;;AAGF;EACE;EACA;EACA;;AAEA;EALF;IAMI;;;;AAKJ;EvE5SE;EACA,aAFiC;EAGjC,KuE2SkB;EAClB;EACA;EACA;EACA;;AvEpLA;EuEuLE;;;AAIJ;EvElSE,OuEmSc;EvElSd,QuEkSc;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;EvEtRA;EACA;EACA;;;AuE0RF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EvE5XE;EACA,aAFiC;EAGjC,KAHoB;EuE+XpB;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EvEvZA;EACA;EACA,KuEsZkB;;;AAGpB;EvElaE;EACA,aAFiC;EAGjC,KuEiakB;EAClB;EACA;EACA;;;AAGF;EvEnZE,OuEoZc;EvEnZd,QuEmZc;EACd;EACA;EvE9ZA;EACA;EuE+ZA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EvEzbE;EACA,aAFiC;EAGjC,KuEwbkB;EAClB;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAEA;EACE;EACA;;;AAKN;EvEtbE,OuEubc;EvEtbd,QuEsbc;EACd;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EvExdE;EACA;EACA,KuEudkB;EAClB;EACA;;;AAGF;EACE;EACA;EvEveA;EACA,aAFiC;EAGjC,KuEsekB;EAClB;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EvE9fA;EACA;EACA,KuE6fkB;;;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;EvEniBA;EACA;EACA,KuEkiBkB;;AAElB;EACE;EACA;EACA;EACA;;;AAIJ;EvErjBE;EACA,aAFiC;EAGjC,KuEojBkB;EAClB;EACA;EACA;EACA;;AAEA;EACE;;;AAKJ;EvExhBE;EACA,QuEwhB6B;EvEvhB7B;EACA;EuEuhBA;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;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AC7JF;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;;A1EiIA;E0E9HE;EACA;;;AAIJ;E1EJE;EACA,aAFiC;EAGjC,K0EGkB;EAClB;EACA;EACA;;A1EqHA;E0ElHE;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;E1E7BE;EACA,a0E6BwB;E1E5BxB,K0E4BkB;EAClB;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;A1EoFF;E0EhFE;;AAEA;EACE;;;AAKN;EACE;;AAEA;EACE;;AAGF;EACE;;A1EgEF;E0E5DE;;AAEA;EACE;;;AAKN;E1E3DE;EACA;EAOA,O0EqDc;E1EpDd,Q0EoDc;EACd;EACA;EACA;EACA;;AAEA;E1ErDA,O0EsDqB;E1ErDrB,Q0EqDqB;;A1E2CrB;E0EvCE;;;AAIJ;E1EnFE;EACA;EACA,K0EkFkB;EAClB;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;E1EhHE;EACA;EACA,K0E+GkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;E1ErGA,O0EsGqB;E1ErGrB,Q0EqGqB;;;AAIvB;EACE;EACA;EACA;EACA;;A1EbA;E0EgBE;;;AAMJ;E1EnJE;EACA,aAFiC;EAGjC,K0EkJkB;EAClB;EACA;;A1EzBA;E0E4BE;;;AAIJ;E1E7JE;EACA,aAFiC;EAGjC,K0E4JkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;;AAIJ;E1ErKE;EACA;E0EsKA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;AAAA;EAEE;EACA;;A1E1EA;AAAA;E0E6EE;EACA;;;AAIJ;E1E/ME;EACA,aAFiC;EAGjC,K0E8MkB;EAClB;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;A1E5FF;E0EgGE;EACA;;;AAMJ;E1EpOE;EACA,a0EoOuB;E1EnOvB,K0EmOkB;;AAElB;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;E1E7NA,O0E8Nc;E1E7Nd,Q0E6Nc;EACd;EACA;EACA;EACA;EACA;EACA;;;AAKF;EACE;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAMA;EACE;EACA;;A1EjKF;E0EoKI;EACA;;;AANJ;EACE;EACA;;A1EjKF;E0EoKI;EACA;;;AANJ;EACE;EACA;;A1EjKF;E0EoKI;EACA;;;AANJ;EACE;EACA;;A1EjKF;E0EoKI;EACA;;;AAON;E1ElSE;EACA;EACA,K0EiSkB;EAClB;;;AAGF;E1E9SE;EACA,a0E8SwB;E1E7SxB,K0E6SkB;EAClB;EACA;EACA;EACA;EACA;;AAEA;EACE;;A1E1LF;E0E8LE;;;AAIJ;EACE;EACA;;AAEA;EACE;;A1EvMF;E0E2ME;;;AAIJ;E1E9TE;EACA;EAOA,O0EwTc;E1EvTd,Q0EuTc;EACd;EACA;EACA;EACA;;AAEA;E1ExTA,O0EyTqB;E1ExTrB,Q0EwTqB;;A1ExNrB;E0E4NE;;;AAIJ;E1EtVE;EACA;EACA,K0EqVkB;EAClB;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;E1ErXE;EACA,aAFiC;EAGjC,K0EoXkB;EAClB;EACA;;;ACrYF;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;;A5EsHF;E4EnHM;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;;A5E0EF;E4EvEM;EACA;;AAGJ;EACI;EACA;EACA;;AAEA;EAAe;;AAGnB;EACI;EACA;;AAGJ;EACI;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;A5EuCF;E4ErCkB;;;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;;A5EVF;E4EaM;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;;A5EpDF;E4EsDkB;;;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;;A5EnGF;E4EsGM;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;;A5E9LF;E4EgMkB;;;AAGpB;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAQ;;AAER;EAAU;;AAEV;EACI;EACA;;A5EpNN;E4EwNM;;AACA;EAAU;;AACV;EAAW;EAAkC;;;AAKrD;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;A5EhPN;E4EkPsB;;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;;A5E/RF;E4EkSM;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;;A5ErVjC;E4EwVM;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKR;EACI;;;AAGJ;EACI;EACA;EACA;EACA;;A5E1XF;E4E4XkB;;;AAIpB;EACI;EACA;EACA;EACA;;A5EpYF;E4EuYM;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;;;ACjiBJ;EACI;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACTR;EACE;EACA;EACA;;;AAGF;EAGE;EACA;;AAGA;AAAA;EAEE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;AAAA;EAEE;EACA;;AAGF;EACE;;AAKF;EACE;IACE;IACA;IACA;;;;ACvCN;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;E/EvCE;EACA,aAFiC;EAGjC,K+EsCkB;EAClB;;AAEA;EAAK;EAAiB;EAAkB;EAAW;;;AAGrD;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAKF;EACE;;;AAIF;E/ExEE;EACA,aAFiC;EAGjC,K+EuEkB;EAClB;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;E/E1FE;EACA,aAFiC;EAGjC,K+EyFkB;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;E/ErIA;EACA,aAFiC;EAGjC,K+EmI4C;;AAC5C;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;AAEF;EAAqB;EAAgC;EAAa;;AAClE;EAAqB;EAAyB;;;AAGhD;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;E/E5JE;EACA,aAFiC;EAGjC,K+E2JkB;EAClB;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAkB;;AAElB;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;E/EpME;EACA,aAFiC;EAGjC,K+EmMkB;EAClB;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;E/ErNE;EACA,aAFiC;EAGjC,K+EoNkB;EAClB;;AAEA;EAAK;EAAiB;EAAkB;EAAW;;;AAGrD;E/E5NE;EACA,aAFiC;EAGjC,K+E2NkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EAAY;EACZ;EACA;;;AAIJ;EACE;EACA;EACA;;;AAGF;E/EpPE;EACA,aAFiC;EAGjC,K+EmPkB;EAClB;;;AAGF;E/EzPE;EACA,aAFiC;EAGjC,K+EwPkB;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;E/ErTE;EACA,aAFiC;EAGjC,K+EoTkB;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;E/ExWE;EACA;EACA,K+EuWkB;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;E/ElbE;EACA;EACA,K+EibkB;;;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;E/E5fE;EACA;EACA,K+E0fgC;;;AAElC;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;;AAKJ;E/E3gBE;EACA;EACA,K+E0gBkB;EAClB;EACA;EACA;EACA;;;AAGF;E/E1hBE;EACA,aAFiC;EAGjC,K+EyhBkB;EAClB;EACA;EACA;;AAEA;EAAgB;EAA6B;;;AAG/C;E/EniBE;EACA,aAFiC;EAGjC,K+EkiBkB;EAClB;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;E/EhjBE;EACA;EACA,K+E+iBkB;EAClB;EACA;EACA;;;AAGF;E/EvjBE;EACA;EACA,K+EsjBkB;EAClB;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EAAwB;EAAoC;;;AAI5D;EACE;EACA;EACA;EACA;;;AAGF;E/EzlBE;EACA,aAFiC;EAGjC,K+EwlBkB;EAClB;EACA;EACA;EACA;EACA;EACA;;;AAGF;E/E5lBE;EACA;EACA,K+E2lBkB;EAClB;EACA;;;AAGF;E/ElmBE;EACA;EACA,K+EimBkB;EAClB;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EAAoB;;;AAEpB;EACE;EAGA;EACA;EACA;;AAEA;EAAgC;;AAChC;EAAK;EAAW;EAAc;;;AAGhC;E/EhoBE;EACA;EACA,K+E8nBsC;;;AAExC;E/EzoBE;EACA,aAFiC;EAGjC,K+EwoBkB;EAClB;EACA;EACA;EACA;;AAEA;E/EhpBA;EACA,aAFiC;EAGjC,K+E+oBoB;EAClB;EACA;EACA;EACA;;;AAIJ;EAAyB;;;AACzB;EAAuB;EAAkB;;;AAEzC;E/ErpBE;EACA;EACA,K+EopBkB;EAClB;EACA;EACA;;AAEA;E/E3pBA;EACA;EACA,K+E0pBoB;EAClB;EACA;EACA;EACA;EACA;;AAKF;EAAc;;AACd;EAAgB;;;AAGlB;E/EjrBE;EACA,aAFiC;EAGjC,K+E+qBsC;EAAM;;;AAC9C;EAAsB;;;AACtB;EAAuB;EAAoC;;;AAC3D;EAAuB;EAAmB;EAA2B;EAAuB;;;AAE5F;EACE;EACA;EACA;EACA;;;AAGF;EAAmB;EAAW;EAAiB;;;AAE/C;E/ExrBE;EACA;EACA,K+EsrBgC;;;AAElC;E/EjsBE;EACA,aAFiC;EAGjC,K+E+rBqC;EAAM;;;AAE7C;E/E5rBE;EACA;EACA,K+E2rBkB;EAClB;;;AAGF;E/ExsBE;EACA,aAFiC;EAGjC,K+EusBkB;EAClB;EACA;EACA;;;AAGF;EAAuB;;;AAEvB;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;E/EztBE;EACA,aAFiC;EAGjC,K+EutByC;EAAM;;;AAEjD;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EAAuB;EAAW;;;AAElC;EACE;EAGA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAKF;EAAuB;;AAEvB;EAA+B;;;AAIjC;EACE;EACA;EACA;EACA;E/ErwBA;EACA;EACA,K+EowBkB;;;AAGpB;EACE;EACA;EACA;EACA;EACA;;;AAGF;E/ExxBE;EACA,aAFiC;EAGjC,K+EuxBkB;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;E/E91BE;EACA;EACA,K+E61BkB;EAClB;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EAAmB;;;AAEnB;EAAoB;EAAiB;EAAkB;;;AACvD;EAAoB;EAAiB;EAAgC;;;AAErE;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;E/E14BE;EACA,aAFiC;EAGjC,K+Ey4BkB;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;E/Eh8BE;EACA,aAFiC;EAGjC,K+E+7BkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EAA2B;EAAY;;;AAI3C;E/Eh9BE;EACA;EACA,K+E+8BkB;EAClB;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;E/El/BE;EACA,aAFiC;EAGjC,K+Ei/BkB;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;E/E9hCE;EACA,aAFiC;EAGjC,K+E6hCkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAqB;EAAa;EAAc;;;AAGlD;EAAgB;EAAmB;EAAkB;EAAkC;;;AACvF;EAAgB;EAAmB;EAAgC;;;AAEnE;E/E9iCE;EACA,aAFiC;EAGjC,K+E6iCkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAqB;EAAa;EAAc;;AAChD;EAAS;EAAmB;EAAkB;;;AAGhD;E/E9jCE;EACA,aAFiC;EAGjC,K+E4jC+B;EAAM;;;AACvC;E/E/jCE;EACA,aAFiC;EAGjC,K+E8jCkB;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;E/EvlCE;EACA,aAFiC;EAGjC,K+EslCkB;EAClB;EACA;;AAEA;EAAQ;EAAgB;;AACxB;EAAS;;;AAEX;EAAgB;EAAiB;EAAkC;EAAiB;;;AAGpF;EACE;IAAe;;EACf;IAAa;;EACb;IAAoB;;;ACnnCtB;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;EAIA;EAIA;;;AAQF;EACE;EACA;EACA;EACA;EACA;;AlF6GA;EkF1GE;;;AAMJ;EACE;EACA;;;AAGF;EACE;EACA,uBACE;EAGF;EACA;;AAEA;EACE;;AAGF;EAEE;;;AAMJ;EACE,uBACE;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;AlF+CA;EkF5CE;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AlFuBF;EkFpBI;;;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;;AlFlCF;EkFqCI;;;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;;AlFlHA;EkFqHE;;AAGF;EACE;;;AAQJ;EACE;;AAEA;EACE;EACA;EACA;;;AAMJ;AAAA;EAEE;;AlF/IA;AAAA;EkFkJE;;;AAIJ;EACE;EACA;EAIA;;;AAIF;EACE;;AlFjKA;EkFoKE;;;AAIJ;EACE;;;AAaF;AAAA;AAAA;EAGE,YACE;;;AAQJ;EACE;EACA;EACA,YACE;;AAIF;EACE;;;AAQJ;EACE;;;AAKF;EACE;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAOF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKF;EACE;;;AAKF;EACE;;AlFrRA;EkFwRE;;;AAMJ;EACE;EACA;EACA;EACA;EACA;;;AAKF;EACE;EACA;;;AAMF;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;;;AAOJ;EACE;EACA;EACA;;AAEA;EACE;;;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;;AAKF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAON;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAIF;EACE;IACE;IACA;IAGA;;EAGF;IACE;;EAIF;IACE;IACA;;EAGF;IACE;;;ACj4BJ;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;;AnF8DA;EmF3DE;;;AAIJ;EACE;;;AAGF;EACE;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;EnF1EF,OmF2EgB;EnF1EhB,QmF0EgB;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;EpFUE;EACA,aAFiC;EAGjC,KoFXkB;EAClB;EACA;EACA;EACA;EACA;EACA;;ApFgIA;EoF7HE;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;EpFhFE;EACA,aAFiC;EAGjC,KoF+EkB;EAClB;;AAGA;EACE;EACA;;;AAMJ;EpF7FE;EACA,aAFiC;EAGjC,KoF4FkB;EAClB;;;AAGF;EpFlGE;EACA,aAFiC;EAGjC,KoFiGkB;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;EpFtKE;EACA,aAFiC;EAGjC,KoFqKkB;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;EpF5ME;EACA,aAFiC;EAGjC,KoF2MkB;EAClB;EACA;EACA;EACA;;;AC/NF;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAMJ;EACE;EACA;EACA;EACA;ErFGA;EACA;EACA,KqFJkB;EAClB;EACA;;;AAGF;ErFVE;EACA,aAFiC;EAGjC,KqFSkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;;AAIJ;ErF5BE;EACA;EACA,KqF2BkB;EAClB;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAKF;ErFpDE;EACA,aAFiC;EAGjC,KqFmDkB;EAClB;EACA;EACA;;;AAGF;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;EACE;EACA;;;AAOJ;ErFpFE;EACA,aAFiC;EAGjC,KqFmFkB;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;ErF/JE;EACA,aAFiC;EAGjC,KqF8JkB;EAClB;EACA;EACA;EACA;EACA;EACA;;AAIE;EACE;;AAGF;EACE;;AAIJ;EACE;;AAEA;EACE;;;AAKN;EACE;;AAEA;EACE;EACA;;;AAIJ;ErF9LE;EACA;EACA,KqF6LkB;EAGlB;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;;AAKJ;ErF5OE;EACA,aAFiC;EAGjC,KqF2OkB;EAClB;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;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;ErF3eE;EACA,aAFiC;EAGjC,KqF0ekB;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;;;ACjvBJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IAAO;;EACP;IAAK;;;AAKP;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;EtFiCA;EACA,YAFqB;;AsF7BrB;EACE;EACA;;AAGF;EACE;EACA;;;AAKJ;EACE;;;AAIF;EACE;AAAA;IAEE;;;ACjFJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;ACvFF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAKF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKF;EACE;;;AAGF;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;EAGE;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAKF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;EACA;EACA;EAGA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;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;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;IACE;IACA;IACA;;EAGF;AAAA;IAEE;IACA;IACA;IACA;;EAGF;IACE;;EAGF;IACE;;;AAKJ;EACE;IACE;IACA;;EAKF;AAAA;AAAA;AAAA;IAIE;IACA;;EAGF;AAAA;IAEE;IACA;;EAGF;IACE;;EAGF;AAAA;IAEE;;EAGF;IACE;IACA;;EAGF;IACE;;;AC3kBJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAKF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAIF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AAAA;AAAA;AAAA;EAIE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAKF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAIF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;EAEE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAIF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAIF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;EAGE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;ACpjBF;E1FoBE;EACA;EACA,K0FrBkB;;;AAGpB;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;E1F8DA;EACA,Y0F9DqB;;AAErB;EAAU;;AAEV;EACE;E1F+DF;EACA;EACA;;;A0F5DF;E1FdE;EACA;EAOA,O0FQc;E1FPd,Q0FOc;EACd;EACA;EACA;;AAEA;AAAA;E1FPA,O0FQyB;E1FPzB,Q0FOyB;;AAEzB;EACE;EACA;;;AAIJ;E1FrCE;EACA;EACA,K0FoCkB;EAClB;;;AAGF;E1FjDE;EACA,aAFiC;EAGjC,K0FgDkB;EAClB;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;E1FdE;EACA;EACA;E0FcA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;E1FvEE;EACA;EACA,K0FsEkB;EAClB;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EAAiB;;AACjB;EAAgB;;AAChB;EAAiB;;AAGnB;EACE;EACA;EACA;;AAEA;EAAgB;;;AAIpB;E1FpGE;EACA;E0FqGA;;AAEA;AAAA;E1F1FA,O0F2FyB;E1F1FzB,Q0F0FyB;;;AAI3B;EACE;;;AAIF;EACE;IACE;;EAGF;IACE;IACA;IACA;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;;ACvJJ;EACE;;;AAGF;EACE;EACA;EACA,gBAVW;EAWX;EACA,KAXU;EAYV;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EAAS;EAAqB;;AAC9B;EAAS;EAAqB;;AAC9B;EAAS;EAAqB;;AAC9B;EAAU;EAAqB;;;AAIjC;EACE;IAAiB;;;AAGnB;EACE;AAAA;AAAA;IAEiB;;;AAGnB;EACE;IAAW;;EACX;IAAiB;;;AAKjB;EAAqC;;AACrC;EAAqC;;AACrC;EAAqC;;AACrC;EAAoC;;AACpC;EAAkC;;;AAGpC;EACE;EACA;EACA;;;AAIF;EACE;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EAAM;EAAa;;AAEnB;AAAA;EAAyB;;AAEzB;AAAA;E3FhCA;EACA;EACA;;A2FgCA;AAAA;EAAa;;;AAGf;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAAM;EAAa;EAAc;;AAEjC;EAAU;;AAEV;E3F5EA;EACA;EACA;;A2F6EA;EAAmC;;AACnC;EAAmC;;AACnC;EAAmC;;AACnC;EAAkC;;AAClC;EAAgC;;;AAGlC;EACE;EACA;E3F1HA;EACA;EACA;;;A2F4HF;EAAuB;;;AAOvB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;IACE;;EAEF;IACE;;;AAGJ;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAGF;EACE;AAAA;IAEE;;;AAIJ;EACE;IACE;;;AAGJ;EACE;IACE;;;AAGJ;EACE;IACE;;;AAGJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;;;AAGF;EACE;AAAA;AAAA;AAAA;AAAA;IAKE;;;AAQJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;IACE;;;AAGJ;AAAA;EAEE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAGF;EACE;;;AAMF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;AAAA;EAEE;;;AAIF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;AAAA;AAAA;AAAA;AAAA;IAKE;;;ACjvCJ;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;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;EAGA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;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;;;ACrLF;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;;;ACzFV;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACE;EACA;;AAIJ;AAAA;EACE;EACA;;AAIF;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;AAEA;AAAA;EACE;;AAGF;AAAA;EACE;EACA;EACA;EACA;;AAIJ;AAAA;EACE;EACA;EACA;EACA;EACA;;AAKF;AAAA;EACE;EACA;;AAGF;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;EACE;EACA;EACA;;AAGF;AAAA;EACE;EACA;EACA;EACA;;AAGF;AAAA;EACE;;AAGF;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;EACE;EACA;EACA;EACA;EACA;;AAGF;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACE;EACA;;AAGF;AAAA;EACE;EACA;;AAGF;AAAA;EACE;EACA;;AAGF;AAAA;EACE;EACA;;;AAKN;EAEI;AAAA;IAEE;;;AClLN;AAAA;EAEE;;;AAGF;EACE;IACE;;;AAIJ;EACE;IACE;;;AAKJ;EACE;EACA;EACA;EACA;;AAIA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAMJ;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAMF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EAEE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;;AAMN;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGA;EAEE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAMN;EACE;EACA;EACA;;AAEA;AAAA;EAEE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;AAGF;AAAA;EAEE;EACA;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;;AAMN;EACE;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AAMJ;EACE;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;EACA;EACA;EACA;;AAKJ;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EAEE;EACA;;AAGF;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAMJ;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;AAKJ;EACE;EACA;EACA;EACA;EACA;;AAIF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACE;;AAGF;AAAA;AAAA;AAAA;EAEE;EACA;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAEA;EACE;;AAKN;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAEA;EACE;;AAKN;EACE;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;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAKN;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EAEE;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIA;EACE;EACA;;AAGF;EACE;EACA;;AAKF;EACE;EACA;;AAGF;EACE;EACA;;AAKF;EACE;EACA;;AAGF;EACE;EACA;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAKF;EACE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;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;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;;AAEA;EACE;EACA;;AAMN;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;AAMN;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAMN;EACE;EACA;EACA;EACA,kBACE;EAEF;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAKN;EAEI;AAAA;AAAA;AAAA;IAIE;;EAGF;IACE;;;AAKN;EACE;IACE;;;AAIJ;EACE;IACE;;;AAIJ;EAEI;IACE;;EAGF;IACE;;;AAMN;EACE;IACE;;EAEA;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;;;AAKN;EAEI;IACE;IACA;;EAGF;IACE;;EAGF;AAAA;AAAA;AAAA;IAIE;;EAGF;IACE;;EAGF;IACE;IACA;IACA;;EAGF;IACE;;EAGF;IACE;IACA;IACA;;EAGF;IACE;;EAGF;IACE;;EAEA;IACE;;EAIJ;IACE;;EAEA;IACE;IACA;;EAIJ;IACE;;;ACr0DN;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACE;EACA;;AAGF;AAAA;EACE;;AAGF;AAAA;EACE;EACA;;AAIJ;EACE;;AAEA;EACE;;AAEA;EACE;;AAIJ;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAKN;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAIJ;AAAA;EAEE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;EACA;;AAGF;AAAA;EAEE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;;;AAKN;EAEI;AAAA;IAEE;;EAGF;IACE;;;AAKN;EAEI;AAAA;AAAA;IAGE;IACA;;EAGF;AAAA;IAEE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;AAAA;IAEE;;EAGF;IACE;IACA;IACA;IACA;IACA;;;AAKN;EAEI;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;AAAA;AAAA;AAAA;IAIE;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;;AC16BL;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 */