@font-face{font-family: 'Inter';font-style: normal;font-weight: 100 900;font-display: swap;src: url('fonts/inter/inter-cyrillic-ext.woff2') format('woff2');unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family: 'Inter';font-style: normal;font-weight: 100 900;font-display: swap;src: url('fonts/inter/inter-cyrillic.woff2') format('woff2');unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family: 'Inter';font-style: normal;font-weight: 100 900;font-display: swap;src: url('fonts/inter/inter-greek-ext.woff2') format('woff2');unicode-range: U+1F00-1FFF}@font-face{font-family: 'Inter';font-style: normal;font-weight: 100 900;font-display: swap;src: url('fonts/inter/inter-greek.woff2') format('woff2');unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family: 'Inter';font-style: normal;font-weight: 100 900;font-display: swap;src: url('fonts/inter/inter-vietnamese.woff2') format('woff2');unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family: 'Inter';font-style: normal;font-weight: 100 900;font-display: swap;src: url('fonts/inter/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/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{--aura-accent-color-dark: #34D399;--aura-accent-color-light: #009966;--aura-app-layout-inset: 0px;--aura-background-color-dark: #18181B;--aura-background-color-light: #FFFFFF;--aura-font-family: 'Inter',var(--aura-font-family-system);--aura-surface-level: -0.5}vaadin-side-nav-item:not([current])>vaadin-icon{color: var(--aura-accent-text-color)}vaadin-side-nav-item[current]::part(content){--vaadin-side-nav-item-background: var(--vaadin-background-container);--vaadin-side-nav-item-border-color: transparent}vaadin-side-nav::part(label){text-transform: uppercase;font-size: var(--aura-font-size-xs);color: var(--vaadin-text-color);letter-spacing: 0.03em}:is(vaadin-button,vaadin-menu-bar-button,vaadin-upload-button):not([theme~="primary"],[theme~="tertiary"]){--aura-accent-color-light: var(--aura-neutral);--aura-accent-color-dark: var(--aura-neutral);--vaadin-button-background: var(--vaadin-background-container);--vaadin-button-border-color: transparent;--vaadin-button-shadow: none}.u-icon{height: 16px;width: 16px}.u-menu-divider hr{display: none}.u-menu-divider span{align-self: stretch;display: flex;align-items: center;gap: 0;padding: 0;white-space: nowrap;color: var(--vaadin-text-color-secondary);font-size: calc(var(--aura-font-size-xs) * 0.85)}.u-menu-divider span::before,.u-menu-divider span::after{content: "";border-top: 1px solid var(--vaadin-border-color)}.u-menu-divider span::before{flex: 0 0 25px}.u-menu-divider span::after{flex: 1 1 auto;margin-left: 8px}.u-form{--vaadin-form-layout-label-width: 15em}.u-field-label{font-weight: var(--aura-font-weight-semibold);text-align: right}.u-badge{display: inline-flex;align-items: center;gap: var(--vaadin-gap-xs);padding: 0.35em 0.6em;border-radius: var(--vaadin-radius-m);background: color-mix(in srgb,var(--vaadin-text-color) 8%,transparent);color: var(--vaadin-text-color);font-size: var(--aura-font-size-xs);font-weight: var(--aura-font-weight-semibold);line-height: 1;white-space: nowrap}.u-badge[theme~="success"]{background: color-mix(in srgb,var(--aura-green) 12%,transparent);color: var(--aura-green-text)}.u-badge[theme~="error"]{background: color-mix(in srgb,var(--aura-red) 12%,transparent);color: var(--aura-red-text)}.u-badge[theme~="warning"]{background: color-mix(in srgb,var(--aura-orange) 12%,transparent);color: var(--aura-orange-text)}.u-badge[theme~="contrast"]{background: color-mix(in srgb,var(--vaadin-text-color) 75%,transparent);color: var(--vaadin-background-color)}.u-badge[theme~="pill"]{border-radius: 1em}.u-badge[theme~="small"]{font-size: calc(var(--aura-font-size-xs) * 0.85);padding: 0.3em 0.5em}.u-code-block{padding: var(--vaadin-padding-s);border: 1px solid var(--vaadin-border-color);margin: 0}.u-grid{border-top: 1px solid var(--vaadin-border-color)}.u-grid-top-panel{padding-bottom: var(--vaadin-padding-s)}.u-level-1{padding: var(--vaadin-padding-s)}.u-layout-side-by-side{width: 100%}.u-layout-side-by-side-left-wrapper,.u-layout-side-by-side-right-wrapper{flex: 1 1 50%;min-width: 0}@media (hover: none) and (pointer: coarse) and (min-width: 1024px){.u-form{--vaadin-form-layout-label-width: 12em}.u-layout-side-by-side{overflow-x: auto;-webkit-overflow-scrolling: touch}}.u-log-viewer{border: 1px solid var(--vaadin-border-color);border-radius: var(--vaadin-radius-m);background: var(--aura-surface-color);overflow: hidden}.u-log-viewer-body{overflow-y: auto;max-height: 34rem;padding: var(--vaadin-padding-xs) 0}.u-log-viewer-empty{padding: var(--vaadin-padding-l) var(--vaadin-padding-m);text-align: center;color: var(--vaadin-text-color-secondary);font-size: var(--aura-font-size-s);font-style: italic}.u-log-row{display: flex;align-items: baseline;gap: var(--vaadin-gap-s);padding: 3px var(--vaadin-padding-m);font-family: "SF Mono","Cascadia Code","JetBrains Mono",ui-monospace,monospace;font-size: var(--aura-font-size-xs);line-height: 1.65;transition: background 0.1s ease}.u-log-row:hover{background: color-mix(in srgb,var(--vaadin-text-color) 5%,transparent)}.u-log-row + .u-log-row{border-top: 1px solid var(--vaadin-border-color)}.u-log-row-error{border-left: 3px solid var(--aura-red);padding-left: calc(var(--vaadin-padding-m) - 3px)}.u-log-row-warn{border-left: 3px solid var(--aura-orange);padding-left: calc(var(--vaadin-padding-m) - 3px)}.u-log-ts{color: var(--vaadin-text-color-secondary);white-space: nowrap;flex-shrink: 0;opacity: 0.7;font-variant-numeric: tabular-nums}.u-log-level{display: inline-block;min-width: 3.2rem;text-align: center;padding: 1px 6px;border-radius: var(--vaadin-radius-s);font-size: calc(var(--aura-font-size-xs) * 0.85);font-weight: var(--aura-font-weight-semibold);letter-spacing: 0.04em;flex-shrink: 0;line-height: 1.6}.u-log-level-error{background: color-mix(in srgb,var(--aura-red) 12%,transparent);color: var(--aura-red-text)}.u-log-level-warn{background: color-mix(in srgb,var(--aura-orange) 12%,transparent);color: var(--aura-orange-text)}.u-log-level-info{background: color-mix(in srgb,var(--aura-accent-color) 12%,transparent);color: var(--aura-accent-text-color)}.u-log-level-debug{background: color-mix(in srgb,var(--vaadin-text-color) 8%,transparent);color: var(--vaadin-text-color-secondary)}.u-log-msg{flex: 1;min-width: 0;word-break: break-word;color: var(--vaadin-text-color)}.u-log-exception{margin: 0 var(--vaadin-padding-m) var(--vaadin-padding-xs);padding: var(--vaadin-padding-xs) var(--vaadin-padding-s);border-left: 3px solid color-mix(in srgb,var(--aura-red) 50%,transparent);background: color-mix(in srgb,var(--aura-red) 12%,transparent);border-radius: 0 var(--vaadin-radius-s) var(--vaadin-radius-s) 0;font-family: "SF Mono","Cascadia Code","JetBrains Mono",ui-monospace,monospace;font-size: calc(var(--aura-font-size-xs) * 0.85);color: var(--aura-red-text);white-space: pre-wrap;word-break: break-all;line-height: 1.5;max-height: 16rem;overflow-y: auto}.zt-page{position: relative;--zt-help-height: 40vh}.zt-page-header{padding: var(--vaadin-padding-m) var(--vaadin-padding-l);gap: var(--vaadin-gap-m);flex-wrap: wrap}.zt-page-heading{gap: var(--vaadin-gap-s);min-width: 0;flex-wrap: wrap}.zt-page-title{font-size: var(--aura-font-size-l);margin: 0}.zt-breadcrumb{display: flex;align-items: baseline;gap: var(--vaadin-gap-s);color: var(--vaadin-text-color-secondary)}.zt-actions{gap: var(--vaadin-gap-s);flex-wrap: wrap}.zt-page-body{padding: 0 var(--vaadin-padding-l) var(--vaadin-padding-l);gap: var(--vaadin-gap-l);box-sizing: border-box}.zt-page--centered{--zt-card-page-width: 72rem}.zt-page--centered .zt-page-body{max-width: var(--zt-card-page-width);margin-inline: auto}.zt-page--full .zt-page-body{max-width: none}.zt-page[help-open] .zt-page-body{padding-bottom: calc(var(--zt-help-height) + var(--vaadin-padding-l))}.zt-help-sheet{position: absolute;inset-inline: 0;bottom: 0;height: var(--zt-help-height);display: flex;flex-direction: column;background: var(--vaadin-background-color);border-top: 1px solid var(--vaadin-border-color);box-shadow: 0 -0.5rem 1.5rem color-mix(in srgb,currentColor 8%,transparent);clip-path: inset(100% 0 0 0);visibility: hidden;transition: clip-path 180ms ease-out,visibility 0s linear 180ms;z-index: 10}.zt-help-sheet[opened]{clip-path: inset(-2rem 0 0 0);visibility: visible;transition: clip-path 180ms ease-out}.zt-help-sheet.zt-resizing{transition: none;user-select: none}.zt-help-grip{flex: none;height: 0.75rem;cursor: ns-resize;display: flex;justify-content: center;align-items: center;touch-action: none}.zt-help-grip::before{content: "";width: 2.5rem;height: 0.25rem;border-radius: 999px;background: var(--vaadin-border-color)}.zt-help-grip:focus-visible{outline: 2px solid var(--aura-accent-color,currentColor);outline-offset: -2px}.zt-help-top{padding: 0 var(--vaadin-padding-l)}.zt-help-top h3{margin: 0;font-size: var(--aura-font-size-m)}.zt-help-body{overflow: auto;padding: 0 var(--vaadin-padding-l) var(--vaadin-padding-l);max-width: 48rem}@media (prefers-reduced-motion: reduce){.zt-help-sheet,.zt-help-sheet[opened]{transition: none}}.zt-banner{--zt-tone: var(--aura-blue,#2563eb);display: flex;gap: var(--vaadin-gap-m);align-items: flex-start;padding: var(--vaadin-padding-m);border: 1px solid color-mix(in srgb,var(--zt-tone) 45%,transparent);border-radius: var(--vaadin-radius-m);background: color-mix(in srgb,var(--zt-tone) 8%,var(--vaadin-background-color));box-sizing: border-box;width: 100%}.zt-banner--success{--zt-tone: var(--aura-green,#059669)}.zt-banner--warning{--zt-tone: var(--aura-orange,#d97706)}.zt-banner--critical{--zt-tone: var(--aura-red,#dc2626)}.zt-banner-icon{flex: none;color: var(--zt-tone);margin-top: 0.1em}.zt-banner-content{display: flex;flex-direction: column;gap: var(--vaadin-gap-xs);min-width: 0}.zt-banner-content p{margin: 0}.zt-banner-list{margin: 0;padding-inline-start: 1.25em;list-style: disc}.zt-banner-title{font-weight: var(--aura-font-weight-semibold)}.zt-banner-actions{gap: var(--vaadin-gap-s);margin-top: var(--vaadin-gap-xs);flex-wrap: wrap}.zt-form-card-messages:empty{display: none}.zt-form-card-messages:not(:empty){margin-block: var(--vaadin-gap-m) calc(2 * var(--vaadin-gap-m))}.zt-empty-state{width: 100%;box-sizing: border-box;padding: var(--vaadin-padding-l);border: 1px dashed var(--vaadin-border-color);border-radius: var(--vaadin-radius-l);text-align: center}.zt-empty-state h3{margin: 0 0 var(--vaadin-gap-s);font-size: var(--aura-font-size-m)}.zt-list-grid{gap: var(--vaadin-gap-s);width: 100%}.zt-grid-search{width: min(24rem,100%)}.zt-no-results{display: flex;align-items: center;gap: var(--vaadin-gap-m);flex-wrap: wrap;padding: var(--vaadin-padding-m) 0}.zt-no-results p{margin: 0}.zt-hub-group{width: 100%}.zt-hub-group h3{font-size: var(--aura-font-size-s);color: var(--vaadin-text-color-secondary);margin: 0 0 var(--vaadin-gap-s)}.zt-hub-rows{display: flex;flex-direction: column;border: 1px solid var(--vaadin-border-color);border-radius: var(--vaadin-radius-l);overflow: hidden}.zt-hub-row{display: flex;align-items: center;gap: var(--vaadin-gap-m);padding: var(--vaadin-padding-m) var(--vaadin-padding-l);color: inherit;text-decoration: none}.zt-hub-row + .zt-hub-row{border-top: 1px solid var(--vaadin-border-color)}.zt-hub-row:hover,.zt-hub-row:focus-visible{background: var(--vaadin-background-container)}.zt-hub-row-text{display: flex;flex-direction: column;flex: 1;min-width: 0}.zt-hub-row-title{font-weight: var(--aura-font-weight-semibold)}.zt-hub-row-description{color: var(--vaadin-text-color-secondary)}vaadin-grid.zt-grid-opens::part(body-cell){cursor: pointer}.zt-readiness-card{display: flex;flex-direction: column;gap: var(--vaadin-gap-m);width: 100%}.zt-readiness-heading{font-size: var(--aura-font-size-m);margin: 0}.zt-readiness-findings{display: flex;flex-direction: column;gap: var(--vaadin-gap-s)}.zt-readiness-findings:empty{display: none}.zt-readiness-tiles{display: grid;grid-template-columns: repeat(auto-fit,minmax(16rem,1fr));gap: var(--vaadin-gap-m)}.zt-readiness-tile{display: flex;align-items: center;justify-content: space-between;gap: var(--vaadin-gap-s);padding: var(--vaadin-padding-m);border: 1px solid var(--vaadin-border-color);border-left: 4px solid var(--vaadin-border-color);border-radius: var(--vaadin-radius-l);background: var(--vaadin-background-container)}.zt-readiness-tile[data-state="ready"]{border-left-color: var(--aura-green,#059669)}.zt-readiness-tile[data-state="needs_attention"],.zt-readiness-tile[data-state="truncated"]{border-left-color: var(--aura-orange,#d97706)}.zt-readiness-tile[data-state="failed"]{border-left-color: var(--aura-red,#dc2626)}.zt-readiness-tile-text{display: flex;flex-direction: column;gap: 0.125rem;min-width: 0}.zt-readiness-tile-title{font-weight: 600}.zt-readiness-tile-line{color: var(--vaadin-text-color-secondary)}.zt-readiness-tile-note,.zt-readiness-note{margin: 0;font-size: var(--aura-font-size-s);color: var(--vaadin-text-color-secondary)}.zt-readiness-tile-action{flex: none;white-space: nowrap}.zt-readiness-summary{display: flex;flex-direction: column;gap: var(--vaadin-gap-s);width: 100%;padding: var(--vaadin-padding-m);box-sizing: border-box;border: 1px solid var(--vaadin-border-color);border-radius: var(--vaadin-radius-l);background: var(--vaadin-background-container)}.zt-readiness-summary-heading{font-weight: 600}.zt-readiness-line{display: flex;align-items: center;gap: var(--vaadin-gap-s)}.zt-readiness-line-icon{flex: none;width: 1rem;height: 1rem}.zt-readiness-line[data-severity="error"] .zt-readiness-line-icon{color: var(--aura-red,#dc2626)}.zt-readiness-line[data-severity="warning"] .zt-readiness-line-icon{color: var(--aura-orange,#d97706)}vaadin-app-layout[drawer-opened] .view-drawer-toggle{display: none}vaadin-app-layout [slot="drawer"] hr{border: 0;border-top: 1px solid var(--vaadin-border-color);margin: var(--vaadin-gap-s) var(--vaadin-gap-m)}.zt-crash{overflow: auto}.zt-crash-panel{display: flex;flex-direction: column;gap: var(--vaadin-gap-m);width: min(100%,44rem)}.zt-crash-reference{display: flex;align-items: center;flex-wrap: wrap;gap: var(--vaadin-gap-s)}.a4-sheet{--a4-width: 280mm;width: var(--a4-width);max-width: 100%;min-height: calc(var(--a4-width) * 297 / 210);box-sizing: border-box;padding: calc(var(--a4-width) * 25 / 210);background: var(--vaadin-background-container);border: 1px solid var(--vaadin-border-color);border-radius: var(--vaadin-radius-l)}@media (max-width: 300mm){.a4-sheet{min-height: 0;padding: var(--vaadin-padding-l)}}.zt-setup-rail{width: 100%;display: flex;flex-direction: column;gap: var(--vaadin-gap-s)}.zt-setup-ticks{display: flex;align-items: center;background: linear-gradient(var(--vaadin-border-color),var(--vaadin-border-color)) center / 100% 2px no-repeat}.zt-setup-tick{flex: 1;display: flex;justify-content: center;padding: var(--vaadin-padding-s) 0}.zt-setup-tick>span{width: 0.875rem;height: 0.875rem;border-radius: 50%;box-sizing: border-box;background: var(--vaadin-background-color);border: 2px solid var(--vaadin-border-color);box-shadow: 0 0 0 4px var(--vaadin-background-color)}.zt-setup-tick--visited>span{background: var(--aura-accent-color);border-color: var(--aura-accent-color)}.zt-setup-tick--current>span{box-shadow: 0 0 0 4px var(--vaadin-background-color),0 0 0 6px var(--aura-accent-color)}.zt-setup-rail-line{display: flex;align-items: baseline;justify-content: space-between;gap: var(--vaadin-gap-m);flex-wrap: wrap}.zt-setup-position{font-weight: var(--aura-font-weight-semibold)}.zt-setup-scent{color: var(--vaadin-text-color-secondary)}.zt-setup-block{display: flex;flex-direction: column;gap: var(--vaadin-gap-m)}.zt-setup-block-group{display: flex;flex-direction: column;gap: var(--vaadin-gap-xs,0.25rem)}.zt-setup-block-label{color: var(--vaadin-text-color-secondary)}.zt-setup-block-row{display: flex;align-items: baseline;gap: var(--vaadin-gap-s);flex-wrap: wrap}.zt-setup-block-count{color: var(--vaadin-text-color-secondary)}