@font-face{font-family: 'Inter';font-style: normal;font-weight: 100 900;font-display: swap;src: url('fonts/Inter-latin-ext.woff2') format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: 'Inter';font-style: normal;font-weight: 100 900;font-display: swap;src: url('fonts/Inter-latin.woff2') format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html{--bg: #f1f1f1;--surface: #ffffff;--surface-2: #f7f7f7;--surface-3: #ebebeb;--border: #e3e3e3;--border-strong: #b5b5b5;--text: #303030;--text-2: #616161;--text-3: #8a8a8a;--accent: #0388e5;--accent-hover: #0277ca;--accent-soft: #d1e9fb;--accent-ink: #0264ad;--vision-navbar-background: #0277ca;--vision-navbar-text: #ffffff;--vision-navbar-border: #026aa8;--critical: #b23130;--critical-soft: #fceeed;--warning: #8a5c14;--warning-soft: #fcf3e3;--success: #1e6b40;--success-soft: #eaf5ee;--neutral-soft: #f1f1f1;--shadow: 0 1px 0 0 rgba(26,26,26,0.07);--shadow-2: 0 3px 1px -1px rgba(26,26,26,0.07);--on-accent: #ffffff;--on-critical: #ffffff;--on-warning: #ffffff;--on-success: #ffffff;--cat-1: #2b86c5;--cat-2: #2fa36b;--cat-3: #e0714a;--cat-4: #7a5bd0;--cat-5: #d4a11e;--cat-6: #2aa0a8;--cat-7: #d1467e;--cat-8: #8b9099;--cat-9: #4f7f3c;--cat-10: #a97d55;--cat-11: #3f6bd8;--cat-12: #5aa06a;--cat-13: #c8543f;--vision-space-xs: 4px;--vision-space-s: 8px;--vision-space-m: 12px;--vision-space-l: 16px;--vision-space-xl: 24px;--vision-radius-s: 4px;--vision-radius-m: 8px;--vision-radius-l: 12px;--vision-font-size-xxs: 10px;--vision-font-size-xs: 11px;--vision-font-size-s: 12px;--vision-font-size-m: 14px;--vision-font-size-l: 16px;--vision-font-size-xl: 18px;--vision-font-size-xxl: 24px;--vision-font-size-xxxl: 30px;--vision-icon-size-l: 2.25em;--vision-control-height: 36px;--vision-row-pad: 4px;--vision-row-pad-x: 12px;--vision-row-font-size: var(--vision-font-size-m);--vision-row-min-height: 36px;color: var(--text);background: var(--bg)}html[data-density='compact']{--vision-row-pad-x: 8px}html[data-density='roomy']{--vision-row-pad: 8px;--vision-row-pad-x: 16px;--vision-row-min-height: 44px}html[theme~='dark']{--bg: #1a1a1a;--surface: #303030;--surface-2: #272727;--surface-3: #3a3a3a;--border: #4a4a4a;--border-strong: #616161;--text: #e3e3e3;--text-2: #b5b5b5;--text-3: #9a9a9a;--accent: #0388e5;--accent-hover: #3aa4ec;--accent-soft: #123f5e;--accent-ink: #7cc4f5;--vision-navbar-background: #0a4d7a;--vision-navbar-border: #0d5f96;--critical: #ef8b87;--critical-soft: #3a1e1d;--warning: #dfb266;--warning-soft: #372b16;--success: #7ac997;--success-soft: #15301f;--neutral-soft: #272727;--shadow: 0 1px 0 0 rgba(0,0,0,0.45);--shadow-2: 0 3px 6px -1px rgba(0,0,0,0.5);--on-accent: #0d1117;--on-critical: #2a0f0e;--on-warning: #241a08;--on-success: #06170d}.vision-mono,.vision-numeric{font-family: var(--vision-font-mono);font-variant-numeric: tabular-nums}html:root,html:root[theme~='dark']{--aura-font-family: 'Inter',system-ui,ui-sans-serif,-apple-system,'Segoe UI',Roboto,sans-serif;--vision-font-mono: ui-monospace,'SF Mono',SFMono-Regular,Menlo,Consolas,'Liberation Mono',monospace;--aura-base-font-size: 14;--aura-font-weight-regular: 450;--aura-font-weight-medium: 550;--aura-font-weight-semibold: 650;--aura-base-size: 16;--vaadin-radius-s: var(--vision-radius-s);--vaadin-radius-m: var(--vision-radius-m);--vaadin-radius-l: var(--vision-radius-l);--vaadin-focus-ring-width: 2px;--vaadin-icon-stroke-width: 1.5;--aura-background-color-light: var(--bg);--aura-background-color-dark: var(--bg);--aura-app-background: var(--bg);--aura-accent-color-light: var(--accent);--aura-accent-color-dark: var(--accent);--aura-red: var(--critical);--aura-red-text: var(--critical);--aura-yellow: var(--warning);--aura-yellow-text: var(--warning);--aura-orange: var(--warning);--aura-orange-text: var(--warning);--aura-green: var(--success);--aura-green-text: var(--success);--aura-blue: var(--accent);--aura-blue-text: var(--accent-ink);--aura-purple: var(--cat-4);--aura-purple-text: var(--cat-4);--vaadin-focus-ring-color: var(--accent);--vaadin-user-color: var(--accent);--vaadin-spinner-color: var(--accent);--aura-shadow-xs: var(--shadow);--aura-shadow-s: var(--shadow);--aura-shadow-m: var(--shadow-2);--aura-overlay-shadow: var(--shadow-2);--aura-overlay-outline-shadow: 0 0 0 1px var(--border);--aura-app-layout-inset: 0px;--aura-app-layout-border-width: 0px;--aura-overlay-surface-opacity: 1;--aura-overlay-backdrop-filter: none;--vaadin-overlay-backdrop-background: rgba(17,20,28,0.32);cursor: auto}:where(vaadin-horizontal-layout:not([theme~='padding']),vaadin-vertical-layout:not([theme~='padding'])){padding: 0}:where(vaadin-horizontal-layout:not([theme~='margin']),vaadin-vertical-layout:not([theme~='margin'])){margin: 0}html:root,html:root[theme~='dark']{--vaadin-horizontal-layout-padding: var(--vision-space-m);--vaadin-horizontal-layout-margin: var(--vision-space-m);--vaadin-horizontal-layout-gap: var(--vision-space-m);--vaadin-vertical-layout-padding: var(--vision-space-m);--vaadin-vertical-layout-margin: var(--vision-space-m);--vaadin-vertical-layout-gap: var(--vision-space-m)}:where(h1,h2,h3,h4,h5,h6){line-height: 1.25}:where(h1){font-size: var(--vision-font-size-xxxl)}:where(h2){font-size: var(--vision-font-size-xxl)}:where(h3){font-size: var(--vision-font-size-xl)}:where(h4){font-size: var(--vision-font-size-l)}:where(h5){font-size: var(--vision-font-size-m)}:where(h6){font-size: var(--vision-font-size-s)}html vaadin-icon[icon^='vaadin:']{--vaadin-icon-visual-size: 100%}html:root,html:root[theme~='dark'],html vaadin-app-layout::part(content),html vaadin-avatar,html vaadin-badge,html vaadin-button,html vaadin-upload-button,html vaadin-context-menu-item,html vaadin-confirm-dialog,html vaadin-crud-edit,html vaadin-drawer-toggle,html vaadin-dialog,html vaadin-menu-bar-button,html vaadin-menu-bar-item,html vaadin-message::part(attachment),html vaadin-notification-container,html vaadin-notification-card,html vaadin-notification-card::part(overlay),html vaadin-checkbox::part(checkbox),html vaadin-radio-button::part(radio),html vaadin-side-nav-item::part(content),html vaadin-tab,html vaadin-upload-file{--vaadin-text-color: var(--text);--vaadin-text-color-secondary: var(--text-2);--vaadin-text-color-disabled: var(--text-3);--vaadin-border-color: var(--border-strong);--vaadin-border-color-secondary: var(--border);--vaadin-background-container: var(--surface-2);--vaadin-background-container-strong: var(--surface-3);--aura-neutral-light: var(--text);--aura-neutral-dark: var(--text);--aura-neutral: var(--text);--aura-accent-contrast-color-light: var(--on-accent);--aura-accent-contrast-color-dark: var(--on-accent);--aura-accent-text-color-light: var(--accent-ink);--aura-accent-text-color-dark: var(--accent-ink);--aura-accent-surface: var(--accent-soft);--aura-accent-border-color: var(--border)}:is(#id,[theme~='danger'],[theme~='error']){--aura-accent-contrast-color-light: var(--on-critical);--aura-accent-contrast-color-dark: var(--on-critical)}:is(#id,[theme~='success']){--aura-accent-contrast-color-light: var(--on-success);--aura-accent-contrast-color-dark: var(--on-success)}:is(#id,[theme~='warning']){--aura-accent-contrast-color-light: var(--on-warning);--aura-accent-contrast-color-dark: var(--on-warning)}html:root,html:root[theme~='dark'],html vaadin-accordion-panel[theme~='filled'],html vaadin-app-layout,html vaadin-app-layout::part(navbar),html vaadin-app-layout::part(drawer),html vaadin-button,html vaadin-upload-button,html vaadin-card,html vaadin-checkbox::part(checkbox),html vaadin-details[theme~='filled'],html vaadin-dashboard-widget,html vaadin-grid,html vaadin-grid-pro,html vaadin-menu-bar-button,html vaadin-message::part(attachment),html vaadin-message-input,html vaadin-radio-button::part(radio),html vaadin-range-slider,html vaadin-rich-text-editor,html vaadin-side-nav-item::part(content),html vaadin-slider,html vaadin-tab,html vaadin-tabs,html vaadin-upload,html vaadin-upload-file,html ::part(input-field),html vaadin-avatar-group::part(overlay),html vaadin-combo-box::part(overlay),html vaadin-confirm-dialog::part(overlay),html vaadin-context-menu::part(overlay),html vaadin-crud::part(overlay),html vaadin-date-picker::part(overlay),html vaadin-dialog::part(overlay),html vaadin-login-overlay::part(overlay),html vaadin-menu-bar-submenu::part(overlay),html vaadin-multi-select-combo-box::part(overlay),html vaadin-notification-card::part(overlay),html vaadin-popover::part(overlay),html vaadin-select::part(overlay),html vaadin-time-picker::part(overlay),html vaadin-tooltip::part(overlay){--aura-surface-opacity: 1;--aura-surface-color: var(--surface);--aura-surface-color-solid: var(--surface);--vaadin-background-color: var(--surface)}html vaadin-master-detail-layout:not([overlay])::part(detail){background: transparent}html vaadin-master-detail-layout[overlay]::part(detail){background: var(--surface)}html vaadin-notification-card[theme~='contrast'],html vaadin-notification-card[theme~='contrast']::part(overlay){--aura-surface-color: var(--text);--aura-surface-color-solid: var(--text);--vaadin-background-color: var(--text);--vaadin-text-color: var(--surface);--vaadin-text-color-secondary: var(--surface);color: var(--surface)}html vaadin-notification-card[theme~='error'],html vaadin-notification-card[theme~='error']::part(overlay){--aura-accent-surface: var(--critical-soft);--aura-accent-color: var(--critical);--aura-accent-text-color-light: var(--critical);--aura-accent-text-color-dark: var(--critical)}html vaadin-notification-card[theme~='warning'],html vaadin-notification-card[theme~='warning']::part(overlay){--aura-accent-surface: var(--warning-soft);--aura-accent-color: var(--warning);--aura-accent-text-color-light: var(--warning);--aura-accent-text-color-dark: var(--warning)}html vaadin-notification-card[theme~='success'],html vaadin-notification-card[theme~='success']::part(overlay){--aura-accent-surface: var(--success-soft);--aura-accent-color: var(--success);--aura-accent-text-color-light: var(--success);--aura-accent-text-color-dark: var(--success)}html:root,html:root[theme~='dark']{--vaadin-input-field-background: var(--border);--vaadin-input-field-border-color: transparent;--vaadin-input-field-border-width: 0;--vaadin-input-field-border-radius: var(--vision-radius-m);--vaadin-input-field-placeholder-color: var(--text-3);--vaadin-input-field-label-font-size: var(--vision-font-size-s);--vaadin-input-field-label-font-weight: var(--aura-font-weight-medium);--vaadin-input-field-label-line-height: 1;--vaadin-input-field-required-indicator: '\2022';--vaadin-field-baseline-input-height: var(--vision-control-height);--vaadin-input-field-label-color: var(--text-2);--vaadin-input-field-error-color: var(--critical);--vaadin-side-nav-child-indent: 0;--vaadin-side-nav-item-border-width: 0;--vaadin-side-nav-items-gap: 2px;--vaadin-side-nav-item-gap: 13px;--vaadin-side-nav-item-border-radius: var(--vision-radius-m);--vaadin-side-nav-item-font-size: var(--vision-font-size-m);--vaadin-side-nav-item-font-weight: var(--aura-font-weight-medium);--vaadin-form-layout-row-spacing: 19px;--vaadin-app-layout-navbar-background: var(--surface);--vaadin-app-layout-drawer-background: var(--surface);--vaadin-app-layout-drawer-width: 288px;--vaadin-app-layout-navbar-offset-top: 56px;--vaadin-app-layout-navbar-padding-top: 0;--vaadin-app-layout-navbar-padding-inline-start: 16px;--vaadin-app-layout-navbar-padding-inline-end: 20px;--vaadin-card-background: var(--surface);--vaadin-card-border-width: 1px;--vaadin-card-border-color: var(--border);--vaadin-card-padding: 18px 20px;--vaadin-button-border-radius: var(--vision-radius-m);--vaadin-button-font-size: var(--vision-font-size-m);--vaadin-button-font-weight: var(--aura-font-weight-medium);--vaadin-button-padding: 0 calc(var(--vision-control-height) / 3 + var(--vision-radius-m) / 2);--vaadin-button-border-width: 0;--vaadin-checkbox-size: 15px;--vaadin-checkbox-border-width: 1px;--vaadin-checkbox-border-color: var(--border-strong);--vaadin-checkbox-border-radius: 3px;--vaadin-checkbox-background: var(--surface);--vaadin-charts-background: transparent}html :is(vaadin-button,vaadin-upload-button,vaadin-menu-bar-button)[theme~='primary']:not([theme~='tertiary']){--vaadin-button-background: var(--accent-hover);--vaadin-button-text-color: var(--on-accent);--vaadin-button-border-color: var(--accent-hover);--vaadin-button-shadow: var(--shadow-2);--vaadin-button-font-weight: var(--aura-font-weight-semibold)}html :is(vaadin-button,vaadin-upload-button,vaadin-menu-bar-button)[theme~='primary'][theme~='tertiary']{--vaadin-button-background: transparent;--vaadin-button-text-color: var(--accent-ink);--vaadin-button-tertiary-text-color: var(--accent);--vaadin-button-border-width: 0;--vaadin-button-border: none;--vaadin-button-shadow: none}html :is(vaadin-button,vaadin-upload-button,vaadin-menu-bar-button):not([theme~='primary'],[theme~='tertiary']){--vaadin-button-background: var(--surface-2);--vaadin-button-border-color: transparent;--vaadin-button-border-width: 0;--vaadin-button-border: none;--vaadin-button-text-color: var(--accent-ink);--vaadin-button-shadow: none}html :is(vaadin-button,vaadin-upload-button,vaadin-menu-bar-button)[theme~='contrast']:not([theme~='primary'],[theme~='tertiary']){--vaadin-button-text-color: var(--text)}html :is(vaadin-button,vaadin-upload-button,vaadin-menu-bar-button)[theme~='primary'][theme~='error']:not([theme~='tertiary']){--vaadin-button-background: var(--critical);--vaadin-button-border-color: var(--critical);--vaadin-button-border: 1px solid var(--critical);--vaadin-button-text-color: var(--on-critical)}html :is(vaadin-button,vaadin-upload-button,vaadin-menu-bar-button)[theme~='primary'][theme~='success']:not([theme~='tertiary']){--vaadin-button-background: var(--success);--vaadin-button-border-color: var(--success);--vaadin-button-border: 1px solid var(--success);--vaadin-button-text-color: var(--on-success)}html :is(vaadin-button,vaadin-upload-button,vaadin-menu-bar-button)[theme~='tertiary'][theme~='error']{--vaadin-button-text-color: var(--critical);--vaadin-button-tertiary-text-color: var(--critical)}html :is(vaadin-button,vaadin-upload-button,vaadin-menu-bar-button)[theme~='tertiary'][theme~='success']{--vaadin-button-text-color: var(--success);--vaadin-button-tertiary-text-color: var(--success)}html :is(vaadin-button,vaadin-upload-button,vaadin-menu-bar-button)[theme~='error']:not([theme~='primary'],[theme~='tertiary']){--vaadin-button-background: var(--surface-2);--vaadin-button-border-color: transparent;--vaadin-button-border: none;--vaadin-button-text-color: var(--critical)}html :is(vaadin-button,vaadin-upload-button,vaadin-menu-bar-button)[theme~='success']:not([theme~='primary'],[theme~='tertiary']){--vaadin-button-background: var(--surface-2);--vaadin-button-border-color: transparent;--vaadin-button-border: none;--vaadin-button-text-color: var(--success)}html :is(vaadin-button,vaadin-upload-button,vaadin-menu-bar-button)[theme~='small']{--vaadin-button-font-size: var(--vision-font-size-s)}html :is(vaadin-button,vaadin-upload-button,vaadin-menu-bar-button)[theme~='small'][theme~='tertiary']{--vaadin-button-padding: 0 var(--vision-space-xs)}:is(#id,vaadin-button,vaadin-upload-button,vaadin-menu-bar-button){--vaadin-button-height: var(--vision-control-height);--vaadin-button-margin: var(--vision-space-xs) 0;padding-inline: calc(var(--vaadin-button-height) / 3 + var(--vaadin-button-border-radius) / 2)}:is(#id,vaadin-button,vaadin-upload-button,vaadin-menu-bar-button)[theme~='tertiary']{padding-inline: calc(var(--vaadin-button-height) / 6)}:is(#id,vaadin-button,vaadin-upload-button,vaadin-menu-bar-button)[theme~='icon']{padding-inline: calc(var(--vaadin-button-height) / 4)}:is(#id,vaadin-button,vaadin-upload-button,vaadin-menu-bar-button)[theme~='small']{--vaadin-button-height: 30px;font-size: var(--vision-font-size-s)}html :not(vaadin-text-area)::part(input-field){height: auto;min-height: var(--vision-control-height);padding-block: 0}html ::part(input-field){padding-inline: 5.625px}.vision-m-0{margin: 0}.vision-mb-m{margin-bottom: var(--vision-space-m)}.vision-mt-l{margin-top: var(--vision-space-l)}.vision-p-m{padding: var(--vision-space-m)}.vision-px-m{padding-left: var(--vision-space-m);padding-right: var(--vision-space-m)}.vision-py-0{padding-top: 0;padding-bottom: 0}.vision-py-s{padding-top: var(--vision-space-s);padding-bottom: var(--vision-space-s)}.vision-pb-xs{padding-bottom: var(--vision-space-xs)}.vision-text-xs{font-size: var(--vision-font-size-xs)}.vision-text-s{font-size: var(--vision-font-size-s)}.vision-text-2xl{font-size: var(--vision-font-size-xxl)}.vision-font-medium{font-weight: var(--aura-font-weight-medium)}.vision-font-bold{font-weight: 700}.vision-leading-none{line-height: 1}.vision-text-primary{color: var(--accent-ink)}.vision-text-secondary{color: var(--text-2)}.vision-text-tertiary{color: var(--text-3)}.vision-text-error{color: var(--critical)}.vision-bg-contrast-5{background-color: var(--surface-2)}.vision-rounded-m{border-radius: var(--vision-radius-m)}.vision-w-full{width: 100%}vaadin-app-layout{--vaadin-app-layout-navbar-offset-top: 56px;background: var(--bg)}vaadin-app-layout::part(navbar){height: 56px;min-height: 56px;padding: 0 20px 0 16px;background: var(--vision-navbar-background);color: var(--vision-navbar-text);border-bottom: 1px solid var(--vision-navbar-border);box-shadow: none;backdrop-filter: none;-webkit-backdrop-filter: none}[slot='navbar']{color: var(--vision-navbar-text)}[slot='navbar'] :is(h1,h2,span,a):not([class*='vision-env']),[slot='navbar'] .vision-text-secondary,[slot='navbar'] .vision-text-tertiary{color: var(--vision-navbar-text)}[slot='navbar'] vaadin-button{--vaadin-button-text-color: var(--vision-navbar-text);--vaadin-button-background: transparent;--vaadin-button-shadow: none;color: var(--vision-navbar-text)}[slot='navbar'] vaadin-button:hover{--vaadin-button-background: rgba(255,255,255,0.16)}[slot='navbar'] :is(vaadin-button,vaadin-drawer-toggle){--vaadin-focus-ring-color: var(--vision-navbar-text)}.vision-logo-chip{display: inline-flex;align-items: center;padding: 5px 10px;background: #ffffff;border-radius: var(--vision-radius-s)}.vision-logo-chip img{height: 20px;mix-blend-mode: multiply}.vision-topbar-divider{width: 1px;height: 22px;background: rgba(255,255,255,0.32)}vaadin-drawer-toggle{--vaadin-button-background: transparent;--vaadin-button-shadow: none;--vaadin-button-text-color: var(--vision-navbar-text);color: var(--vision-navbar-text)}vaadin-drawer-toggle:hover{--vaadin-button-background: rgba(255,255,255,0.16)}.vision-view-title{margin: 0;min-width: 0;align-self: stretch;line-height: 56px;font-size: var(--vision-font-size-l);font-weight: var(--aura-font-weight-semibold);color: var(--vision-navbar-text);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.vision-app-name{font-size: var(--vision-font-size-m);font-weight: var(--aura-font-weight-semibold);letter-spacing: -0.01em;color: var(--vision-navbar-text)}vaadin-app-layout::part(drawer){width: var(--vaadin-app-layout-drawer-width);background: var(--bg);--vaadin-app-layout-drawer-background: var(--bg);border: 0;box-shadow: inset -1px 0 0 0 var(--border)}vaadin-side-nav{padding: 14px 10px;box-sizing: border-box;width: 100%}vaadin-side-nav-item{box-sizing: border-box;max-width: 100%}vaadin-side-nav-item[slot='children']{margin-left: 9px;border-left: 1px solid var(--border)}vaadin-side-nav-item[slot='children'][current]{border-left-color: var(--accent)}vaadin-side-nav-item::part(content){display: flex;align-items: center;padding: 9px 10px;border-radius: var(--vision-radius-m);font-size: var(--vision-font-size-m);font-weight: var(--aura-font-weight-medium);color: var(--text-2);transition: background 140ms ease-out,color 140ms ease-out}vaadin-side-nav-item::part(link){padding: 0;gap: var(--vaadin-side-nav-item-gap)}vaadin-side-nav-item::part(content):hover{background: color-mix(in srgb,var(--text) 7%,transparent);color: var(--text)}vaadin-side-nav-item[current]::part(content),vaadin-side-nav-item[has-children] vaadin-side-nav-item[current]::part(content){background: var(--accent-soft);color: var(--accent-ink);font-weight: var(--aura-font-weight-semibold)}vaadin-side-nav-item vaadin-icon{width: 1.5em;height: 1.5em;padding: 0.1em;box-sizing: border-box;stroke-width: 1.5}vaadin-side-nav-item[has-children]::part(content){padding: 16px 10px 6px;font-size: var(--vision-font-size-xs);font-weight: var(--aura-font-weight-semibold);text-transform: uppercase;letter-spacing: 0.09em;color: var(--text-2)}vaadin-side-nav-item[has-children]::part(content):hover{background: transparent;color: var(--text)}vaadin-side-nav-item[has-children] vaadin-side-nav-item::part(content){padding: 9px 10px;font-size: var(--vision-font-size-m);font-weight: var(--aura-font-weight-medium);text-transform: none;letter-spacing: normal;color: var(--text-2)}.vision-drawer-footer{padding: 12px 16px;border-top: 1px solid var(--border)}.vision-language-active{background: var(--surface-3);border: 1px solid var(--border);font-weight: var(--aura-font-weight-semibold);color: var(--text)}vaadin-app-layout::part(content){background: var(--bg);padding: 0;overflow: auto}.vision-page{display: flex;flex-direction: column;gap: 18px !important}.vision-page-header{display: flex;align-items: flex-end;justify-content: space-between;gap: 24px}.vision-page-header h1,.vision-page-title{margin: 0;font-size: var(--vision-font-size-xxl);font-weight: var(--aura-font-weight-semibold);letter-spacing: -0.015em;color: var(--text)}.vision-page-subtitle{font-size: var(--vision-font-size-m);color: var(--text-2)}.vision-live::before{content: '';display: inline-block;width: 7px;height: 7px;margin-right: 7px;border-radius: 50%;background: var(--success)}.vision-live{display: inline-flex;align-items: center;font-size: var(--vision-font-size-s);color: var(--text-2)}.vision-view:not(:has(.vision-card,vaadin-card,.vision-kpi,.vision-filters,.vision-widget-card,vaadin-grid,vaadin-master-detail-layout)){background: var(--surface);border: 1px solid var(--border);border-radius: var(--vision-radius-l);box-shadow: var(--shadow);box-sizing: border-box;margin: var(--vision-space-l);flex-shrink: 0;width: auto !important}.vision-card{background: var(--surface);border: 1px solid var(--border);border-radius: var(--vision-radius-l);box-shadow: var(--shadow);overflow: hidden;box-sizing: border-box}.vision-card-header{display: flex;align-items: center;justify-content: space-between;gap: 14px;padding: 14px 20px}.vision-card-title{font-size: var(--vision-font-size-m);font-weight: var(--aura-font-weight-semibold);color: var(--text)}.vision-card-footer{display: flex;align-items: center;justify-content: space-between;gap: 14px;padding: 12px 18px;background: var(--surface-2);border-top: 1px solid var(--border);font-size: var(--vision-font-size-s);color: var(--text-2)}.vision-login-page{min-height: 100vh;background: var(--bg)}.vision-login-card{width: 100%;max-width: 360px;box-sizing: border-box;margin: var(--vision-space-l);padding: var(--vision-space-xl);box-shadow: var(--shadow-2)}.vision-login-logo,.vision-login-badge{display: flex;justify-content: center}.vision-login-title{margin: var(--vision-space-m) 0 0 0;font-size: var(--vision-font-size-xl);line-height: 1.25;font-weight: var(--aura-font-weight-semibold);text-align: center;color: var(--text)}.vision-login-badge{margin-top: var(--vision-space-s)}vaadin-login-form::part(form){padding: 0}vaadin-login-form{display: block;width: 100%;margin-top: var(--vision-space-s)}vaadin-login-form vaadin-button[theme~='primary']{margin-top: var(--vision-space-l)}vaadin-login-form::part(footer){display: none}vaadin-login-form vaadin-button[theme~='tertiary']{margin-bottom: 0}.vision-chip{display: inline-flex;align-items: center;gap: 6px;padding: 3px 9px;border: 1px solid transparent;border-radius: var(--vision-radius-s);font-size: var(--vision-font-size-s);font-weight: var(--aura-font-weight-medium);line-height: 1.4;white-space: nowrap}.vision-chip[data-tone='critical']{background: var(--critical-soft);color: var(--critical)}.vision-chip[data-tone='success']{background: var(--success-soft);color: var(--success)}.vision-chip[data-tone='info']{background: var(--accent-soft);color: var(--accent-ink)}.vision-chip[data-tone='warning']{background: var(--warning-soft);color: var(--warning)}.vision-chip[data-tone='neutral']{background: var(--neutral-soft);color: var(--text-2)}html[data-statusstyle='loud'] .vision-chip[data-tone='critical']{background: var(--critical);color: #ffffff}.vision-kpi{display: flex;flex-direction: column;justify-content: center;gap: 8px;min-height: 86px;padding: 18px 20px;background: var(--surface);border: 1px solid var(--border);border-left-width: 3px;border-left-style: solid;border-radius: var(--vision-radius-m);box-shadow: var(--shadow);transition: box-shadow 140ms ease-out,border-color 140ms ease-out}.vision-kpi[data-tone='critical']{border-left-color: var(--critical)}.vision-kpi[data-tone='success']{border-left-color: var(--success)}.vision-kpi[data-tone='info']{border-left-color: var(--accent)}.vision-kpi[data-tone='warning']{border-left-color: var(--warning)}.vision-kpi[data-tone='neutral']{border-left-color: var(--border-strong)}.vision-kpi[role='button']:hover,.vision-kpi.vision-clickable:hover{box-shadow: var(--shadow-2);border-color: var(--border-strong);cursor: pointer}.vision-kpi-top{display: flex;align-items: center;justify-content: space-between;gap: 10px}.vision-kpi-value{min-width: 0;font-family: var(--vision-font-mono);font-variant-numeric: tabular-nums;font-size: var(--vision-font-size-xxxl);font-weight: var(--aura-font-weight-semibold);letter-spacing: -0.02em;color: var(--text);line-height: 1.1}.vision-kpi-label{line-height: 1.3;font-size: var(--vision-font-size-xxs);font-weight: var(--aura-font-weight-semibold);text-transform: uppercase;letter-spacing: 0.09em;color: var(--text-2)}.vision-kpi-grid{display: grid;gap: 14px;grid-template-columns: repeat(var(--vision-kpi-columns,6),minmax(0,1fr))}@media (max-width: 1500px){.vision-kpi-grid{grid-template-columns: repeat(min(var(--vision-kpi-columns,6),4),minmax(0,1fr))}}@media (max-width: 1100px){.vision-kpi-grid{grid-template-columns: repeat(min(var(--vision-kpi-columns,6),3),minmax(0,1fr))}}@media (max-width: 760px){.vision-kpi-grid{grid-template-columns: repeat(min(var(--vision-kpi-columns,6),2),minmax(0,1fr))}}.vision-filters{display: flex;flex-wrap: wrap;align-items: flex-end;gap: 16px;padding: 18px 20px;background: var(--surface);border: 1px solid var(--border);border-radius: var(--vision-radius-l);box-shadow: var(--shadow)}.vision-filters vaadin-text-field[has-value]::part(input-field),.vision-filters vaadin-select[has-value]::part(input-field),.vision-filters vaadin-combo-box[has-value]::part(input-field),.vision-filters vaadin-date-picker[has-value]::part(input-field),.vision-filters vaadin-multi-select-combo-box[has-value]::part(input-field){border-color: var(--accent);background: var(--surface);box-shadow: var(--aura-shadow-xs),0 0 0 3px var(--accent-soft)}.vision-table-header{display: flex;align-items: center;justify-content: space-between;gap: 14px;padding: 14px 20px;border-bottom: 1px solid var(--border)}.vision-bulk-bar{display: flex;align-items: center;justify-content: space-between;gap: 14px;padding: 11px 18px;background: var(--surface-2);border-bottom: 1px solid var(--border)}.vision-bulk-count{font-size: var(--vision-font-size-m);font-weight: var(--aura-font-weight-semibold);color: var(--text)}.vision-id{font-family: var(--vision-font-mono);font-weight: var(--aura-font-weight-medium);color: var(--accent-ink)}[theme~='badge']{display: inline-flex;align-items: center;justify-content: center;box-sizing: border-box;flex-shrink: 0;padding: 3px 9px;border-radius: var(--vision-radius-s);font-size: var(--vision-font-size-s);font-weight: var(--aura-font-weight-medium);line-height: 1.4;white-space: nowrap;color: var(--accent-ink);background-color: var(--accent-soft)}[theme~='badge'][theme~='small']{font-size: var(--vision-font-size-xxs)}[theme~='badge'][theme~='success']{color: var(--success);background-color: var(--success-soft)}[theme~='badge'][theme~='error']{color: var(--critical);background-color: var(--critical-soft)}[theme~='badge'][theme~='warning']{color: var(--warning);background-color: var(--warning-soft)}[theme~='badge'][theme~='contrast']{color: var(--text-2);background-color: var(--neutral-soft)}html vaadin-grid{--vaadin-grid-background: var(--surface);--vaadin-grid-border-color: var(--border);--vaadin-grid-border-width: 0;--vaadin-grid-row-border-width: 1px;--vaadin-grid-header-font-size: var(--vision-font-size-m);--vaadin-grid-header-font-weight: var(--aura-font-weight-semibold);--vaadin-grid-header-text-color: var(--text);--vaadin-grid-row-hover-background-color: color-mix(in srgb,var(--text) 6%,transparent);--vaadin-grid-row-selected-background-color: var(--accent-soft)}html vaadin-grid[theme~='compact']{--vision-row-pad-x: 8px}html vaadin-grid::part(header-cell){--vaadin-grid-cell-padding: var(--vision-row-pad) var(--vision-row-pad-x);height: 40px;border-bottom: 1px solid var(--border)}html vaadin-grid::part(body-cell){--vaadin-grid-cell-padding: var(--vision-row-pad) var(--vision-row-pad-x);min-height: var(--vision-row-min-height);font-size: var(--vision-row-font-size)}.vision-widget-board{display: grid;grid-template-columns: repeat(4,minmax(0,1fr));grid-auto-rows: 2px;column-gap: var(--vision-board-gutter);row-gap: 0;align-items: start;padding-top: var(--vision-space-s);--vision-board-gutter: 24px}.vision-widget-card[data-width="2"]{grid-column: span 2}.vision-widget-card[data-width="3"]{grid-column: span 3}.vision-widget-card[data-width="4"]{grid-column: 1 / -1}@media (max-width: 1500px){.vision-widget-board{grid-template-columns: repeat(2,minmax(0,1fr))}.vision-widget-board>.vision-widget-card[data-width="3"],.vision-widget-board>.vision-widget-card[data-width="4"]{grid-column: 1 / -1}}@media (max-width: 900px){.vision-widget-board{grid-template-columns: minmax(0,1fr)}.vision-widget-board>.vision-widget-card[data-width]{grid-column: 1 / -1}}.vision-widget-card{position: relative;margin-bottom: var(--vision-board-gutter);padding: var(--vision-space-l) var(--vision-space-xl) var(--vision-space-xl);background: var(--surface);border: 1px solid var(--border);border-radius: var(--vision-radius-m);container-type: inline-size}.vision-widget-card-header{display: flex;align-items: center;gap: var(--vision-space-s);padding: 0 0 var(--vision-space-s);border-bottom: 2px solid var(--text-2);cursor: grab}.vision-widget-card-header:active{cursor: grabbing}.vision-widget-card-title{flex: 1;margin: 0;font-size: var(--vision-font-size-xxs);font-weight: var(--aura-font-weight-semibold);text-transform: uppercase;letter-spacing: 0.12em;color: var(--text-2)}.vision-widget-card-body{padding-top: var(--vision-space-l)}.vision-widget-card-header vaadin-button{cursor: pointer}.vision-widget-handle{cursor: grab;color: var(--text-3);width: 1.1em;height: 1.1em;flex: none}.vision-widget-handle:active{cursor: grabbing}.vision-widget-resize{position: absolute;top: 0;right: 0;width: 10px;height: 100%;cursor: col-resize;touch-action: none}.vision-widget-resize::after{content: "";position: absolute;top: 50%;right: 3px;width: 2px;height: 26px;transform: translateY(-50%);border-radius: 1px;background: var(--border)}.vision-widget-resize:hover::after{background: var(--text-3)}.vision-widget-ghost{opacity: 0.35}.vision-metrics{display: flex;align-items: stretch;flex-wrap: wrap;row-gap: var(--vision-space-l)}.vision-metric{flex: 1 1 130px;min-width: 0;padding-left: var(--vision-space-l);border-left: 1px solid var(--border)}.vision-metric:first-child{padding-left: 0;border-left: none}@container (max-width: 420px){.vision-metric{flex-basis: 100%;padding-left: 0;border-left: none}}.vision-metric-value{display: block;font-family: var(--vision-font-mono);font-variant-numeric: tabular-nums;font-size: 30px;font-weight: var(--aura-font-weight-semibold);letter-spacing: -0.02em;line-height: 1;color: var(--text)}.vision-metric.is-alert .vision-metric-value{color: var(--critical)}.vision-metric.is-warn .vision-metric-value{color: var(--warning)}.vision-metric.is-calm .vision-metric-value{color: var(--text-3)}.vision-metric.is-alert,.vision-metric.is-warn{position: relative;padding-top: var(--vision-space-s)}.vision-metric.is-alert::before,.vision-metric.is-warn::before{content: "";position: absolute;top: 0;left: 0;width: 34px;height: 2px}.vision-metric.is-alert::before{background: var(--critical)}.vision-metric.is-warn::before{background: var(--warning)}.vision-metric.is-alert:not(:first-child)::before,.vision-metric.is-warn:not(:first-child)::before{left: var(--vision-space-l)}.vision-metric-caption{display: block;margin-top: var(--vision-space-s);font-size: var(--vision-font-size-xxs);font-weight: var(--aura-font-weight-semibold);text-transform: uppercase;letter-spacing: 0.12em;color: var(--text-2)}.vision-metric-link{display: block;color: inherit;text-decoration: none;cursor: pointer}.vision-metric-link:hover .vision-metric-caption,.vision-metric-link:focus-visible .vision-metric-caption{color: var(--accent);text-decoration: underline;text-underline-offset: 3px}.vision-metric-link:focus-visible{outline: 2px solid var(--accent);outline-offset: 4px;border-radius: var(--vision-radius-s)}.vision-metric-note{display: block;margin-top: var(--vision-space-xs);font-size: var(--vision-font-size-xs);color: var(--text-3)}.vision-hero-head{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr);align-items: end;gap: var(--vision-space-xl)}.vision-hero-figure{display: flex;align-items: baseline;gap: var(--vision-space-m)}.vision-hero-value{font-family: var(--vision-font-mono);font-variant-numeric: tabular-nums;font-size: 46px;font-weight: var(--aura-font-weight-semibold);letter-spacing: -0.025em;line-height: 0.95;color: var(--text)}.vision-hero-delta{font-family: var(--vision-font-mono);font-variant-numeric: tabular-nums;font-size: var(--vision-font-size-m);font-weight: var(--aura-font-weight-medium)}.vision-hero-delta.is-up{color: var(--success)}.vision-hero-delta.is-down{color: var(--critical)}.vision-hero-shape{text-align: right}.vision-spark-holder{display: block}.vision-spark{display: block;width: 100%;height: 74px}.vision-hero .vision-metrics{margin-top: var(--vision-space-l);padding-top: var(--vision-space-l);border-top: 1px solid var(--border)}@container (max-width: 620px){.vision-hero-head{grid-template-columns: minmax(0,1fr)}.vision-hero-shape{display: none}}@container (max-width: 420px){.vision-hero-value{font-size: 34px}}.vision-flush-grid{border: none;--vaadin-grid-cell-padding: var(--vision-space-s) var(--vision-space-m);--vaadin-grid-cell-background-color: transparent;--vaadin-grid-cell-background: transparent}.vision-flush-grid::part(header-cell){font-size: var(--vision-font-size-xxs);font-weight: var(--aura-font-weight-semibold);text-transform: uppercase;letter-spacing: 0.12em;color: var(--text-3)}.vision-flush-grid::part(vision-mono){font-family: var(--vision-font-mono);font-variant-numeric: tabular-nums;color: var(--text)}.vision-flush-grid::part(vision-tag){font-family: var(--vision-font-mono);font-size: var(--vision-font-size-xs);letter-spacing: 0.06em;color: var(--text-2)}.vision-widget-card-section{margin-bottom: var(--vision-space-m);padding: 0;background: none;border: none;border-radius: 0}.vision-widget-card-section .vision-widget-card-header{border-bottom-color: var(--text)}.vision-widget-card-section .vision-widget-card-title{font-size: var(--vision-font-size-l);color: var(--text);letter-spacing: 0.14em}.vision-widget-card-section .vision-widget-card-body{padding-top: 0}.vision-widget-allclear,.vision-widget-failed{display: block;font-size: var(--vision-font-size-s);color: var(--text-3)}.vision-widget-failed{color: var(--critical)}vaadin-connection-indicator .v-loading-indicator{position: fixed;inset: 0;width: 100%;height: 100%;z-index: 10000;pointer-events: all;cursor: progress;background: rgba(17,20,28,0.32);backdrop-filter: blur(6px) saturate(1.1);-webkit-backdrop-filter: blur(6px) saturate(1.1);opacity: 1;visibility: visible;transition: opacity 120ms ease 150ms,visibility 0s}vaadin-connection-indicator .v-loading-indicator[style*="display: none"],vaadin-connection-indicator .v-loading-indicator[style*="display:none"]{display: block !important;pointer-events: none !important;opacity: 0 !important;visibility: hidden;transition: opacity 250ms ease 150ms,visibility 0s linear 400ms}vaadin-connection-indicator[offline] .v-loading-indicator,vaadin-connection-indicator[reconnecting] .v-loading-indicator{display: none !important}vaadin-connection-indicator .vision-loading-brand{position: absolute;left: 50%;top: 50%;display: flex;flex-direction: column;align-items: center;gap: 16px;min-width: 260px;padding: 28px 32px 24px;background: var(--surface);border: 1px solid var(--border);border-radius: var(--vision-radius-l);box-shadow: var(--shadow-2),0 12px 32px rgba(9,14,24,0.18),inset 0 3px 0 var(--vision-env-color,var(--critical));opacity: 1;transform: translate(-50%,-50%) scale(1);transition: opacity 300ms cubic-bezier(0.2,0.9,0.3,1.15) 300ms,transform 300ms cubic-bezier(0.2,0.9,0.3,1.15) 300ms}vaadin-connection-indicator .v-loading-indicator[style*="display: none"] .vision-loading-brand,vaadin-connection-indicator .v-loading-indicator[style*="display:none"] .vision-loading-brand{opacity: 0;transform: translate(-50%,calc(-50% + 14px)) scale(0.96);transition: opacity 200ms ease 150ms,transform 200ms ease 150ms}vaadin-connection-indicator .vision-loading-brand .logo{width: 148px;height: 40px;background: #fff url('vision-logo.png') center / contain no-repeat;border: 1px solid var(--border);border-radius: var(--vision-radius-m)}vaadin-connection-indicator .vision-loading-brand .title{font-family: var(--aura-font-family,sans-serif);font-size: var(--vision-font-size-m);font-weight: var(--aura-font-weight-semibold);letter-spacing: -0.01em;color: var(--text);margin-top: -4px}vaadin-connection-indicator .vision-loading-brand .spinner{width: 34px;height: 34px;border-radius: 50%;background: conic-gradient( from 0.25turn,transparent 0deg 40deg,var(--accent) 360deg );-webkit-mask: radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));mask: radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));animation: vision-loading-spin 0.9s linear infinite}vaadin-connection-indicator .vision-loading-brand .msg{font-family: var(--aura-font-family,sans-serif);font-size: var(--vision-font-size-s);font-weight: var(--aura-font-weight-regular);color: var(--text-2);margin-top: -4px}vaadin-connection-indicator .vision-loading-brand .env{font-family: var(--aura-font-family,sans-serif);font-size: var(--vision-font-size-xxs);font-weight: var(--aura-font-weight-semibold);letter-spacing: 0.08em;line-height: 1.6;color: var(--vision-env-color,var(--critical));background: var(--vision-env-soft-color,var(--critical-soft));border-radius: var(--vision-radius-s);padding: 3px 7px}.vision-hover-lift,.vision-hover-lift-sm{transition: box-shadow 0.14s ease-out,border-color 0.14s ease-out}.vision-hover-lift:hover{box-shadow: var(--shadow-2) !important;border-color: var(--border-strong) !important}.vision-hover-lift-sm:hover{box-shadow: var(--shadow) !important;border-color: var(--border-strong) !important}@keyframes vision-loading-spin{to{transform: rotate(360deg)}}@media (prefers-reduced-motion: reduce){vaadin-connection-indicator .v-loading-indicator,vaadin-connection-indicator .vision-loading-brand{transition-duration: 1ms !important}vaadin-connection-indicator .vision-loading-brand{transform: translate(-50%,-50%) !important}vaadin-connection-indicator .vision-loading-brand .spinner{animation: none !important}}vaadin-connection-indicator .v-status-message{position: fixed;z-index: 251;left: 0;right: auto;top: 0;opacity: 0;width: 100%;max-height: var(--status-height-collapsed,8px);overflow: hidden;background-color: var(--status-bg-color-online,var(--accent,#0388e5));color: var(--status-text-color-online,var(--on-accent,#fff));font-size: var(--vision-font-size-s);font-weight: var(--aura-font-weight-semibold);line-height: 1;transition: all 0.5s;padding: 0 0.5em}vaadin-connection-indicator[offline] .v-status-message,vaadin-connection-indicator[reconnecting] .v-status-message{opacity: 1;background-color: var(--status-bg-color-offline,var(--text,#333));color: var(--status-text-color-offline,var(--on-accent,#fff));background-image: repeating-linear-gradient( 45deg,rgba(255,255,255,0),rgba(255,255,255,0) 10px,rgba(255,255,255,0.1) 10px,rgba(255,255,255,0.1) 20px )}vaadin-connection-indicator[offline] .v-status-message:hover,vaadin-connection-indicator[reconnecting] .v-status-message:hover,vaadin-connection-indicator[expanded] .v-status-message{max-height: var(--status-height,1.75rem)}vaadin-connection-indicator[expanded] .v-status-message{opacity: 1}vaadin-connection-indicator .v-status-message span{display: flex;align-items: center;justify-content: center;height: var(--status-height,1.75rem)}vaadin-connection-indicator[reconnecting] .v-status-message span::before{content: "";width: 1em;height: 1em;border-top: 2px solid var(--status-spinner-color,var(--accent,#0388e5));border-left: 2px solid var(--status-spinner-color,var(--accent,#0388e5));border-right: 2px solid transparent;border-bottom: 2px solid transparent;border-radius: 50%;box-sizing: border-box;animation: vision-loading-spin 0.4s linear infinite;margin: 0 0.5em}.vision-theme-toggle vaadin-icon{display: none}html:not([data-vision-theme-mode]) .vision-theme-toggle .vision-theme-icon-system,html[data-vision-theme-mode="system"] .vision-theme-toggle .vision-theme-icon-system,html[data-vision-theme-mode="light"] .vision-theme-toggle .vision-theme-icon-light,html[data-vision-theme-mode="dark"] .vision-theme-toggle .vision-theme-icon-dark{display: inline-flex}vaadin-grid::part(vision-datetime-cell){white-space: nowrap;font-variant-numeric: tabular-nums}vaadin-grid::part(vision-nowrap-cell){white-space: nowrap;overflow: hidden}