@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap');:root{--ml-primary: #82022e;--ml-primary-container: #a32344;--ml-on-primary: #ffffff;--ml-secondary: #b52045;--ml-tertiary: #59381a;--ml-error: #ba1a1a;--ml-success: #1f7a3d;--ml-warning: #9a6a00;--ml-surface: #fcf9f8;--ml-surface-container-lowest: #ffffff;--ml-surface-container-low: #f6f3f2;--ml-surface-container: #f0eded;--ml-surface-container-high: #eae7e7;--ml-surface-variant: #e5e2e1;--ml-outline: #8b7073;--ml-outline-variant: #dfbfc2;--ml-on-surface: #1b1c1c;--ml-on-surface-variant: #584143;--ml-font-display: 'Playfair Display',Georgia,serif;--ml-font-body: 'Plus Jakarta Sans',var(--aura-font-family-system);--aura-accent-color-light: var(--ml-primary);--aura-accent-color-dark: var(--ml-primary);--aura-background-color-light: var(--ml-surface);--aura-background-color-dark: var(--ml-surface);--vaadin-text-color: var(--ml-on-surface)}:where(:root),:where(:host),vaadin-app-layout::part(content),vaadin-button,vaadin-text-field,vaadin-password-field,vaadin-email-field,vaadin-text-area,vaadin-select,vaadin-combo-box,vaadin-integer-field,vaadin-number-field,vaadin-date-picker,vaadin-grid,vaadin-dialog,vaadin-notification-card,vaadin-side-nav-item::part(content),vaadin-tabs,vaadin-tab{--aura-accent-color: var(--ml-primary);--aura-accent-text-color: var(--ml-primary);--vaadin-text-color: var(--ml-on-surface);--vaadin-text-color-secondary: var(--ml-on-surface-variant);--vaadin-border-color: color-mix(in srgb,var(--ml-outline) 30%,transparent);--vaadin-border-color-secondary: color-mix(in srgb,var(--ml-outline-variant) 60%,transparent)}:where(:root),:where(:host){font-family: var(--ml-font-body)}:where(h1,h2,h3,h4,h5,h6),vaadin-h1,vaadin-h2,vaadin-h3{font-family: var(--ml-font-display);color: var(--ml-on-surface);letter-spacing: -0.01em}.login-layout{background: var(--ml-surface);background-image: radial-gradient(circle at 50% 0%,#ffd9dd 0%,transparent 55%)}.ml-auth-card{background: var(--ml-surface-container-lowest);border: 1px solid var(--ml-outline-variant);border-radius: 1rem;box-shadow: 0 12px 40px rgba(130,2,46,0.08);padding: 2.5rem 2.25rem;width: min(26rem,92vw);box-sizing: border-box}.ml-auth-brand{font-family: var(--ml-font-display);font-size: 2rem;font-weight: 600;color: var(--ml-primary);letter-spacing: 0.02em;margin: 0;text-align: center}.ml-auth-tagline{display: block;font-size: 0.75rem;letter-spacing: 0.18em;text-transform: uppercase;color: var(--ml-outline);text-align: center;margin-top: 0.35rem}.ml-auth-title{font-family: var(--ml-font-display);font-size: 1.5rem;color: var(--ml-on-surface);margin: 0}.ml-auth-sub{font-size: 0.875rem;color: var(--ml-on-surface-variant);margin: 0}.ml-auth-alt{font-size: 0.875rem;color: var(--ml-on-surface-variant);text-align: center}.ml-auth-alt a{color: var(--ml-primary);font-weight: 600;text-decoration: none}.ml-auth-alt a:hover{text-decoration: underline}vaadin-button[theme~='primary'],vaadin-button[theme~='primary']::part(label){font-weight: 600}vaadin-app-layout::part(navbar){--vaadin-app-layout-navbar-background: var(--ml-primary);color: var(--ml-on-primary);box-shadow: 0 2px 12px rgba(130,2,46,0.18)}vaadin-app-layout::part(drawer){background: var(--ml-surface-container-low)}vaadin-app-layout::part(navbar) .app-name,vaadin-app-layout::part(navbar) h1,vaadin-app-layout::part(navbar) h2,vaadin-app-layout::part(navbar) span,vaadin-app-layout::part(navbar) vaadin-icon{color: var(--ml-on-primary)}.ml-admin-brand{font-family: var(--ml-font-display);font-size: 1.35rem;font-weight: 600;letter-spacing: 0.02em;color: var(--ml-on-primary)}.ml-admin-panel{background: var(--ml-surface);min-height: 100%;box-sizing: border-box;padding: 1.75rem 2rem 3rem}.ml-admin-heading{font-family: var(--ml-font-display);color: var(--ml-primary);margin: 0 0 0.25rem 0}.ml-admin-note{color: var(--ml-on-surface-variant);font-size: 0.875rem;margin: 0 0 1.5rem 0}.ml-kpi{background: var(--ml-surface-container-lowest);border: 1px solid var(--ml-outline-variant);border-top: 3px solid var(--ml-primary);border-radius: 0.75rem;padding: 1rem 1.25rem;min-width: 11rem}.ml-kpi-label{display: block;font-size: 0.7rem;letter-spacing: 0.14em;text-transform: uppercase;color: var(--ml-outline);margin-bottom: 0.35rem}.ml-kpi-value{font-family: var(--ml-font-display);font-size: 1.6rem;color: var(--ml-on-surface)}.ml-badge{display: inline-block;padding: 0.15rem 0.6rem;border-radius: 9999px;font-size: 0.75rem;font-weight: 600;color: #ffffff}vaadin-grid{--vaadin-grid-cell-background: var(--ml-surface-container-lowest);--vaadin-grid-header-cell-background: var(--ml-surface-container);--vaadin-grid-row-stripe-background: var(--ml-surface-container-low)}vaadin-grid::part(header-cell){font-weight: 600;color: var(--ml-tertiary);text-transform: uppercase;letter-spacing: 0.06em;font-size: 0.75rem}vaadin-side-nav-item[active]::part(content){background: color-mix(in srgb,var(--ml-primary) 12%,transparent);color: var(--ml-primary);font-weight: 600;border-radius: 0.5rem}vaadin-card::part(header){font-family: var(--ml-font-display)}vaadin-side-nav:has(vaadin-side-nav-item:only-child)::after{display: none;content: none}