.admin-brand{display: flex;align-items: center;gap: 0.6rem;padding: var(--vaadin-padding-m,1rem) var(--vaadin-padding-l,1.25rem)}.admin-brand img{height: 28px;width: auto}.admin-brand-name{font-weight: var(--aura-font-weight-semibold);line-height: 1.2}.admin-drawer-footer{display: block;padding: 1rem 1.25rem;font-size: var(--aura-font-size-s);color: var(--vaadin-text-color-secondary)}.admin-view-title{font-size: var(--aura-font-size-l);font-weight: var(--aura-font-weight-semibold);margin: 0}.admin-spacer{flex: 1}.admin-view-site{margin-inline-end: 0.5rem;font-size: var(--aura-font-size-s)}.admin-page{max-width: 72rem;padding: var(--vaadin-padding-l,1.5rem);gap: 1.25rem}.admin-page>p{margin: 0;color: var(--vaadin-text-color-secondary);max-width: 60ch}.admin-card{width: 100%;box-sizing: border-box;padding: 1.25rem 1.5rem 1.5rem;border-radius: var(--vaadin-radius-l,12px);background: var(--aura-surface-color,var(--vaadin-background-color));border: 1px solid var(--vaadin-border-color-secondary,rgba(0,0,0,0.08))}.admin-card h2{font-size: var(--aura-font-size-l);margin: 0 0 0.75rem}.admin-card-header{width: 100%;justify-content: space-between;align-items: center;margin-bottom: 0.5rem}.admin-card-header h2{margin: 0}.admin-card-actions{margin-top: 1.25rem}.admin-intro{display: flex;flex-wrap: wrap;align-items: baseline;justify-content: space-between;gap: 0.5rem 2rem;width: 100%}.admin-intro p{margin: 0;color: var(--vaadin-text-color-secondary);max-width: 60ch}.admin-preview-link{display: inline-flex;align-items: center;gap: 0.35rem;font-size: var(--aura-font-size-s)}.admin-preview-link vaadin-icon{width: 0.9em;height: 0.9em}.admin-item-summary{display: flex;flex-direction: column;gap: 0.1rem;white-space: normal;padding: 0.25rem 0}.admin-item-summary>.ph{font-size: 1.25rem;color: var(--vaadin-text-color-secondary)}.admin-item-primary{font-weight: var(--aura-font-weight-semibold)}.admin-item-secondary{font-size: var(--aura-font-size-s);color: var(--vaadin-text-color-secondary);display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden}.admin-badge{font-size: var(--aura-font-size-xs,0.75rem);padding: 0.15rem 0.55rem;border-radius: 999px;background: var(--vaadin-background-container,rgba(0,0,0,0.06));color: var(--vaadin-text-color-secondary)}.admin-thumb{width: 56px;height: 56px;object-fit: cover;border-radius: var(--vaadin-radius-m,6px);display: block}.admin-code{font-family: ui-monospace,SFMono-Regular,Menlo,monospace;font-size: var(--aura-font-size-s);overflow-wrap: anywhere}.admin-image-field{width: 100%}.admin-image-field::part(input-fields){width: 100%}.admin-image-preview{width: 96px;height: 96px;object-fit: contain;flex-shrink: 0;border-radius: var(--vaadin-radius-m,6px);background: var(--vaadin-background-container,rgba(0,0,0,0.06))}.admin-image-upload{padding: 0;border: 0;margin-top: 0.25rem}.admin-stats{display: grid;grid-template-columns: repeat(auto-fit,minmax(12rem,1fr));gap: 1rem;width: 100%}.admin-stat-link{color: inherit;text-decoration: none}.admin-stat{display: flex;flex-direction: column;padding: 1rem 1.25rem;border-radius: var(--vaadin-radius-l,12px);border: 1px solid var(--vaadin-border-color-secondary,rgba(0,0,0,0.08));background: var(--aura-surface-color,var(--vaadin-background-color))}.admin-stat-value{font-size: 2rem;font-weight: var(--aura-font-weight-semibold);letter-spacing: -0.03em}.admin-stat-label{color: var(--vaadin-text-color-secondary);font-size: var(--aura-font-size-s)}.admin-page>h2{font-size: var(--aura-font-size-l);margin: 0.5rem 0 0}.admin-section-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(16rem,1fr));gap: 1rem;width: 100%}.admin-section-card{display: block;padding: 1rem 1.25rem;border-radius: var(--vaadin-radius-l,12px);border: 1px solid var(--vaadin-border-color-secondary,rgba(0,0,0,0.08));background: var(--aura-surface-color,var(--vaadin-background-color));color: inherit;text-decoration: none;transition: border-color 0.2s}.admin-section-card:hover{border-color: var(--aura-accent-color,#c2410c)}.admin-section-card-title{font-weight: var(--aura-font-weight-semibold)}.admin-section-card p{margin: 0.3rem 0 0;font-size: var(--aura-font-size-s);color: var(--vaadin-text-color-secondary)}.admin-login{min-height: 100vh;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 0.5rem;padding: 1.5rem;box-sizing: border-box}.admin-login h1{font-size: var(--aura-font-size-xl,1.5rem);margin: 0.25rem 0 0;text-align: center}.admin-login-logo{height: 48px;width: auto}.admin-login>a{font-size: var(--aura-font-size-s)}.admin-brand>div{display: flex;flex-direction: column}.admin-brand-role{font-size: var(--aura-font-size-xs,0.75rem);color: var(--vaadin-text-color-secondary)}.admin-badges{display: flex;flex-wrap: wrap;align-items: center;gap: 0.5rem 0.75rem;margin: 0.25rem 0 0.75rem}.admin-badge.tone-good{background: color-mix(in srgb,#16a34a 16%,transparent);color: #15803d}.admin-badge.tone-warn{background: color-mix(in srgb,#d97706 18%,transparent);color: #b45309}.admin-badge.tone-bad{background: color-mix(in srgb,#dc2626 16%,transparent);color: #b91c1c}.admin-badge.tone-info{background: color-mix(in srgb,#2563eb 14%,transparent);color: #1d4ed8}.admin-warning{padding: 0.6rem 0.9rem;border-radius: var(--vaadin-radius-m,6px);background: color-mix(in srgb,#d97706 12%,transparent);max-width: 70ch}.admin-note{padding: 0.25rem 1rem;border-radius: var(--vaadin-radius-m,6px);background: var(--vaadin-background-container,rgba(0,0,0,0.04));max-width: 70ch;margin-bottom: 0.75rem}.admin-card>p{color: var(--vaadin-text-color-secondary);max-width: 70ch}.admin-clickable-rows::part(row){cursor: pointer}.admin-signup-card{width: min(26rem,100%);box-sizing: border-box;padding: 1.5rem;border-radius: var(--vaadin-radius-l,12px);background: var(--aura-surface-color,var(--vaadin-background-color));border: 1px solid var(--vaadin-border-color-secondary,rgba(0,0,0,0.08))}.admin-signup-card h2{margin: 0;font-size: var(--aura-font-size-l)}.admin-signup-card>p{margin: 0.25rem 0 0.75rem;color: var(--vaadin-text-color-secondary)}.admin-signup-card vaadin-button{margin-top: 1rem}.admin-color-swatch{width: 2.75rem;height: 2.25rem;padding: 2px;border: 1px solid var(--vaadin-border-color-secondary,rgba(0,0,0,0.15));border-radius: var(--vaadin-radius-m,6px);background: transparent;cursor: pointer}.admin-preset-picker{margin-bottom: 0.75rem}.admin-dns-table{border-collapse: collapse;margin: 0.25rem 0 0.5rem;font-size: var(--aura-font-size-s)}.admin-dns-table th,.admin-dns-table td{text-align: left;padding: 0.35rem 1.25rem 0.35rem 0;border-bottom: 1px solid var(--vaadin-border-color-secondary,rgba(0,0,0,0.08))}.admin-dns-table td{font-family: ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap: anywhere}.editor{position: fixed;inset: 0;overflow: clip;display: flex;flex-direction: column;background: var(--muted);color: var(--foreground)}.editor-topbar{flex: none;height: 60px;display: flex;align-items: center;justify-content: space-between;gap: 1rem;padding: 0 1rem;background: var(--background);border-bottom: 1px solid var(--border)}.editor-topbar-start,.editor-topbar-end{display: flex;align-items: center;gap: 0.375rem;min-width: 0}.editor-logo{height: 26px;width: auto;margin-inline-end: 0.5rem}.editor-icon-link{display: inline-flex;align-items: center;justify-content: center;flex: none;width: 36px;height: 36px;border-radius: var(--radius);color: var(--foreground);font-size: 1.125rem;text-decoration: none}.editor-icon-link:hover{background: var(--muted)}.editor-crumbs{display: flex;align-items: center;gap: 0.5rem;min-width: 0;margin-inline-start: 0.25rem;font-size: var(--aura-font-size-s,0.875rem);color: var(--muted-foreground)}.editor-site-name{max-width: 22rem;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-weight: 600;color: var(--foreground)}.editor-crumb-separator{opacity: 0.5}.editor-publish{display: flex;align-items: center;gap: 0.375rem;margin-inline-start: 0.5rem}.editor-publish vaadin-button{margin: 0}.editor-publish-state{display: inline-flex;align-items: center;gap: 0.4rem;margin-inline-end: 0.25rem;font-size: 0.8125rem;color: var(--muted-foreground);white-space: nowrap}.editor-publish-state.is-pending::before{content: "";width: 0.5rem;height: 0.5rem;border-radius: 50%;background: var(--chart-1,#f59e0b)}.editor-live-link{display: inline-flex;align-items: center;gap: 0.4rem;font-size: var(--aura-font-size-s,0.875rem);font-weight: 500;padding: 0.5rem 0.875rem;border-radius: var(--radius);border: 1px solid var(--border);color: var(--foreground);text-decoration: none}.editor-live-link:hover{background: var(--muted)}.editor-body{position: relative;flex: 1;min-height: 0;display: grid;grid-template-columns: 272px minmax(0,1fr) 384px;overflow: clip}.editor-layers-panel{overflow: auto;padding: 1.25rem 0.75rem;background: var(--background);border-inline-end: 1px solid var(--border)}.editor-panel-title{margin: 0 0.5rem;font-size: 0.9375rem;font-weight: 600}.editor-panel-hint{margin: 0.25rem 0.5rem 1rem;font-size: 0.8125rem;line-height: 1.45;color: var(--muted-foreground)}.editor-layer-group{display: flex;flex-direction: column;gap: 2px;margin-top: 0.5rem;padding-top: 0.5rem;border-top: 1px solid var(--border)}.editor-layer{display: flex;align-items: center;gap: 0.625rem;min-height: 40px;padding: 0 0.25rem 0 0.75rem;border-radius: var(--radius);font-size: 0.875rem;cursor: pointer;user-select: none}.editor-layer>.ph{font-size: 1.05rem;color: var(--muted-foreground)}.editor-layer:hover{background: var(--muted)}.editor-layer:focus-visible{outline: 2px solid var(--ring);outline-offset: -2px}.editor-layer.is-selected{background: var(--primary);color: var(--primary-foreground)}.editor-layer.is-selected>.ph{color: inherit}.editor-layer-label{flex: 1;min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.editor-layer.is-hidden .editor-layer-label,.editor-layer.is-hidden>.ph,.editor-layer.is-hidden .editor-layer-meta{opacity: 0.45}.editor-layer-meta{font-size: 0.75rem;white-space: nowrap;color: var(--muted-foreground)}.editor-layer.is-selected .editor-layer-meta{color: inherit;opacity: 0.75}.editor-layer-eye{margin: 0;color: inherit;opacity: 0}.editor-layer:hover .editor-layer-eye,.editor-layer:focus-within .editor-layer-eye,.editor-layer.is-hidden .editor-layer-eye,.editor-layer.is-selected .editor-layer-eye{opacity: 1}.editor-stage{display: flex;flex-direction: column;min-width: 0;min-height: 0}.editor-stage-toolbar{display: flex;justify-content: center;align-items: center;gap: 0.5rem;padding: 0.75rem 1rem 0}.editor-segmented{display: inline-flex;gap: 2px;padding: 3px;border: 1px solid var(--border);border-radius: calc(var(--radius) + 3px);background: var(--background)}.editor-segmented vaadin-button,.editor-theme-toggle{min-width: 36px;margin: 0}.editor-segmented vaadin-button.is-active{background: var(--muted);color: var(--foreground)}.editor-theme-toggle{border: 1px solid var(--border);background: var(--background)}.editor-frame-area{flex: 1;min-height: 0;display: flex;justify-content: center;padding: 2.25rem 1.5rem 1.5rem;overflow: auto}.editor-frame{position: relative;flex: none;width: 100%;height: 100%;outline: 2px solid var(--primary);box-shadow: var(--shadow-xl);background: #fff;transition: width 0.3s cubic-bezier(0.16,1,0.3,1)}.editor-frame-clip{position: absolute;inset: 0;overflow: hidden}.editor-canvas{position: absolute;top: 0;left: 0;display: block;border: 0;background: #fff;transform-origin: 0 0}.editor-frame[data-zoom]::after{content: attr(data-zoom);position: absolute;bottom: calc(100% + 6px);right: 0;font-size: 0.75rem;font-variant-numeric: tabular-nums;color: var(--muted-foreground)}.editor-canvas-tag{position: absolute;bottom: calc(100% + 2px);left: -2px;padding: 0.25rem 0.625rem;border-radius: 4px 4px 0 0;font-size: 0.75rem;font-weight: 600;background: var(--primary);color: var(--primary-foreground)}.editor-inspector{display: flex;flex-direction: column;gap: 1rem;padding: 1.25rem 1rem 2.5rem;overflow: auto;background: var(--background);border-inline-start: 1px solid var(--border)}.editor-eyebrow{display: block;font-size: 0.6875rem;font-weight: 600;letter-spacing: 0.08em;text-transform: uppercase;color: var(--muted-foreground)}.editor-inspector-title{margin: 0.25rem 0 0;font-size: 1.25rem}.editor-inspector-header .editor-panel-hint{margin: 0.375rem 0 0}.editor-layout-card{display: flex;flex-direction: column;gap: 0.2rem;padding: 1rem;border: 1px solid color-mix(in srgb,var(--primary) 55%,var(--border));border-radius: calc(var(--radius) * 1.5);background: color-mix(in srgb,var(--primary) 12%,var(--background))}.editor-layout-name{margin-top: 0.25rem;font-weight: 600}.editor-layout-description{font-size: 0.8125rem;color: var(--muted-foreground)}.editor-browse{align-self: flex-start;margin-top: 0.75rem}.editor-inline-link{align-self: flex-start;margin: -0.25rem 0}.editor-notice{display: flex;align-items: center;justify-content: space-between;gap: 0.75rem;padding: 0.75rem 1rem;border-radius: var(--radius);background: var(--muted);font-size: 0.875rem}.editor-inspector .admin-card.editor-card{padding: 1rem}.editor-inspector .admin-card.editor-card h2{font-size: 1rem}.editor-drawer{position: absolute;top: 0;right: 0;bottom: 0;z-index: 5;width: 440px;max-width: 100%;box-sizing: border-box;padding: 1.25rem 1.5rem 2rem;overflow: auto;background: var(--background);border-inline-start: 1px solid var(--border);box-shadow: -16px 0 40px rgb(0 0 0 / 0.1);transform: translateX(100%);visibility: hidden;transition: transform 0.28s cubic-bezier(0.16,1,0.3,1),visibility 0s 0.28s}.editor-drawer.is-open{transform: none;visibility: visible;transition: transform 0.28s cubic-bezier(0.16,1,0.3,1)}.editor-drawer-header{display: flex;justify-content: space-between;align-items: flex-start;gap: 1rem}.editor-drawer-header h2{margin: 0.25rem 0 0;font-size: 1.25rem}.editor-drawer-hint{margin: 0.375rem 0 1.25rem;font-size: 0.8125rem;color: var(--muted-foreground)}.editor-variants{display: flex;flex-direction: column;gap: 1rem}.editor-variant{overflow: hidden;border: 1px solid var(--border);border-radius: calc(var(--radius) * 1.5);background: var(--card);cursor: pointer;transition: border-color 0.15s,box-shadow 0.15s}.editor-variant:hover{border-color: var(--muted-foreground)}.editor-variant:focus-visible{outline: 2px solid var(--ring);outline-offset: 2px}.editor-variant.is-current{border-color: var(--primary);box-shadow: 0 0 0 3px color-mix(in srgb,var(--primary) 45%,transparent)}.editor-variant-thumb{position: relative;width: 390px;height: calc(var(--thumb-h) * 0.3046875);overflow: hidden;background: #fff;border-bottom: 1px solid var(--border)}.editor-variant-thumb iframe{display: block;width: 1280px;height: var(--thumb-h);border: 0;transform: scale(0.3046875);transform-origin: 0 0;pointer-events: none}.editor-variant-text{padding: 0.75rem 1rem 0.875rem}.editor-variant-text>div{display: flex;align-items: center;gap: 0.5rem}.editor-variant-name{font-size: 0.9375rem;font-weight: 600}.editor-variant-badge{display: none;padding: 2px 8px;border-radius: 999px;font-size: 0.6875rem;font-weight: 600;background: var(--primary);color: var(--primary-foreground)}.editor-variant.is-current .editor-variant-badge{display: inline-block}.editor-variant-description{display: block;margin-top: 2px;font-size: 0.8125rem;color: var(--muted-foreground)}@media (max-width: 1180px){.editor-body{grid-template-columns: 220px minmax(0,1fr) 340px}.editor-layer-meta{display: none}}.template-grid{display: grid;grid-template-columns: repeat(auto-fill,250px);gap: 1rem;width: 100%}.template-card{overflow: hidden;border: 1px solid var(--border);border-radius: calc(var(--radius) * 1.5);background: var(--card);cursor: pointer;transition: border-color 0.15s,box-shadow 0.15s}.template-card:hover{border-color: var(--muted-foreground)}.template-card:focus-visible{outline: 2px solid var(--ring);outline-offset: 2px}.template-card.is-selected{border-color: var(--primary);box-shadow: 0 0 0 3px color-mix(in srgb,var(--primary) 45%,transparent)}.template-thumb{width: 248px;height: 171px;overflow: hidden;background: #fff;border-bottom: 1px solid var(--border)}.template-thumb iframe{display: block;width: 1280px;height: 880px;border: 0;transform: scale(0.19375);transform-origin: 0 0;pointer-events: none}.template-thumb.is-blank{display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 0.5rem;background: repeating-linear-gradient(45deg,var(--muted),var(--muted) 10px,var(--background) 10px,var(--background) 20px);color: var(--muted-foreground);font-size: 2rem}.template-text{padding: 0.875rem 1rem 1rem}.template-name{display: block;font-weight: 600}.template-title-row{display: flex;align-items: center;justify-content: space-between;gap: 0.5rem}.template-category{flex: none;padding: 1px 8px;border-radius: 999px;font-size: 0.6875rem;font-weight: 500;background: var(--muted);color: var(--muted-foreground)}.template-filters{display: flex;flex-wrap: wrap;gap: 0.5rem}.template-filters vaadin-button{margin: 0;border-radius: 999px}.template-filters vaadin-button.is-active{background: var(--primary);color: var(--primary-foreground)}.template-description{display: block;margin-top: 0.2rem;font-size: 0.8125rem;line-height: 1.45;color: var(--muted-foreground)}.new-site-card{display: flex;flex-direction: column;gap: 2rem}.new-site-step{display: flex;flex-direction: column;gap: 1rem;width: 100%}.new-site-step h2{margin: 0}.new-site-step>p{margin: 0;color: var(--vaadin-text-color-secondary)}.admin-primary-link{display: inline-flex;align-items: center;gap: 0.5rem;align-self: flex-start;margin-bottom: 1.25rem;padding: 0.625rem 1rem;border-radius: var(--radius);background: var(--primary);color: var(--primary-foreground);font-weight: 600;text-decoration: none}.admin-primary-link:hover{background: color-mix(in srgb,var(--primary) 88%,var(--foreground))}.admin-image-buttons{flex-wrap: wrap;gap: 0.25rem 0.5rem}.media-picker{display: grid;grid-template-columns: repeat(auto-fill,minmax(9rem,1fr));gap: 0.75rem}.media-picker-option{display: flex;flex-direction: column;gap: 0.375rem;padding: 0.375rem;border: 1px solid var(--border);border-radius: var(--radius);background: var(--card);color: var(--foreground);font: inherit;font-size: 0.75rem;text-align: start;cursor: pointer}.media-picker-option:hover{border-color: var(--muted-foreground)}.media-picker-option:focus-visible{outline: 2px solid var(--ring);outline-offset: 2px}.media-picker-option.is-current{border-color: var(--primary);box-shadow: 0 0 0 2px color-mix(in srgb,var(--primary) 45%,transparent)}.media-picker-option img{width: 100%;aspect-ratio: 1;object-fit: cover;border-radius: calc(var(--radius) - 2px);background: var(--muted)}.media-picker-option span{overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.editor-layer-group.is-page-sections{gap: 2px}.editor-layer-handle{margin-inline-start: -0.375rem;color: var(--muted-foreground);opacity: 0.5;cursor: grab}.editor-layer:hover .editor-layer-handle{opacity: 1}.editor-layer.v-drag-over-target,.editor-layer[dragover]{box-shadow: inset 0 2px 0 var(--primary)}.editor-add-section{justify-content: flex-start;margin: 0.25rem 0 0;width: 100%;color: var(--muted-foreground)}.editor-section-types{display: grid;grid-template-columns: repeat(auto-fill,minmax(15rem,1fr));gap: 0.5rem;margin-top: 0.75rem}.editor-section-type{display: flex;align-items: flex-start;gap: 0.75rem;padding: 0.75rem;border: 1px solid var(--border);border-radius: var(--radius);background: var(--card);color: var(--foreground);font: inherit;text-align: start;cursor: pointer}.editor-section-type>.ph{flex: none;margin-top: 0.15rem;font-size: 1.25rem;color: var(--muted-foreground)}.editor-section-type:hover:not([disabled]){border-color: var(--primary)}.editor-section-type:focus-visible{outline: 2px solid var(--ring);outline-offset: 2px}.editor-section-type[disabled]{opacity: 0.5;cursor: not-allowed}.editor-section-type-name{display: block;font-weight: 600;font-size: 0.875rem}.editor-section-type-description{display: block;margin-top: 0.15rem;font-size: 0.8125rem;line-height: 1.4;color: var(--muted-foreground)}.editor-menu-card{display: flex;flex-direction: column;gap: 0.25rem}