.app-page-header{display: flex;align-items: center;justify-content: space-between;flex-wrap: wrap;gap: 12px 16px;width: 100%;margin: 0;box-sizing: border-box}.app-page-header-text{display: flex;flex-direction: column;gap: 2px;min-width: 0;flex: 1 1 auto}.app-page-title{margin: 0;font-size: 1.45rem;line-height: 1.2;letter-spacing: 0.2px}.app-page-subtitle{color: var(--app-muted);font-size: var(--lumo-font-size-s)}.app-page-header-actions{display: flex;align-items: center;flex-wrap: wrap;gap: 8px}.app-page-header-actions:empty{display: none}.app-empty-state{display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 8px;min-height: 200px;padding: 32px 20px;box-sizing: border-box;border: 1px dashed var(--app-border-strong,var(--app-border));border-radius: 14px;background: var(--app-surface-1);color: var(--app-muted);text-align: center}.app-empty-state-icon{display: inline-flex;align-items: center;justify-content: center;width: 44px;height: 44px;border-radius: 12px;background: rgba(122,176,226,0.12);color: var(--app-accent)}.app-empty-state-icon vaadin-icon{width: 22px;height: 22px}.app-empty-state-title{color: var(--app-text);font-size: 1rem;font-weight: 600}.app-empty-state-text{max-width: 440px;margin: 0;font-size: var(--lumo-font-size-s);line-height: 1.45}.app-empty-state-actions{display: flex;flex-wrap: wrap;justify-content: center;gap: 8px;margin-top: 6px}.app-empty-state-actions:empty{display: none}.app-status-chip{display: inline-flex;align-items: center;gap: 5px;padding: 2px 9px;border-radius: 999px;border: 1px solid rgba(255,255,255,0.12);background: rgba(255,255,255,0.06);color: var(--app-text);font-size: 0.72rem;font-weight: 600;line-height: 1.5;white-space: nowrap}.app-status-chip::before{content: "";width: 6px;height: 6px;border-radius: 50%;background: currentColor;opacity: 0.85}.app-status-chip.draft{color: #b9bbc2}.app-status-chip.review{color: #e8c46a}.app-status-chip.approved{color: #9ecbff}.app-status-chip.scheduled{color: #7ab0e2}.app-status-chip.sending{color: #c49cff}.app-status-chip.sent,.app-status-chip.published{color: #6fd3a4}.app-status-chip.failed{color: #ff8a80;border-color: rgba(255,138,128,0.35)}.app-status-chip.muted{color: var(--app-muted)}.app-banner{display: flex;align-items: center;gap: 12px;padding: 8px 16px;font-size: var(--lumo-font-size-s);border-bottom: 1px solid rgba(255,255,255,0.08)}.app-banner.warning{background: rgba(232,196,106,0.12);color: #f1d58e}.app-banner.error{background: rgba(255,138,128,0.12);color: #ffb3ab}.app-banner a{color: inherit;font-weight: 600}